diff --git a/Common/OpenFile.cpp b/Common/OpenFile.cpp
index 1c4ab96b517516a30ecfde793731820e38fb15a1..ac69c8691e97030118c715ada638d8a79163f48e 100644
--- a/Common/OpenFile.cpp
+++ b/Common/OpenFile.cpp
@@ -701,6 +701,7 @@ void OpenProject(const std::string &fileName)
   for(std::map<std::string, std::string>::iterator it = cls.begin();
       it != cls.end(); it++)
     gmsh_yystringsymbols[it->first] = std::vector<std::string>(1, it->second);
+  nameSpaces.clear();
   FunctionManager::Instance()->clear();
 #endif
 
diff --git a/Parser/Gmsh.output b/Parser/Gmsh.output
new file mode 100644
index 0000000000000000000000000000000000000000..02b2f14a01d2106fdf8e1e9d3e6ac44fa97670dc
--- /dev/null
+++ b/Parser/Gmsh.output
@@ -0,0 +1,62142 @@
+Terminals which are not used
+
+   tDistanceFunction
+   tElliptic
+   tChamfer
+
+
+State 262 conflicts: 2 shift/reduce
+State 383 conflicts: 2 shift/reduce
+State 410 conflicts: 2 shift/reduce
+State 802 conflicts: 2 shift/reduce
+
+
+Grammar
+
+    0 $accept: All $end
+
+    1 All: GeoFormatItems
+    2    | error tEND
+
+    3 GeoFormatItems: /* empty */
+    4               | GeoFormatItems GeoFormatItem
+
+    5 GeoFormatItem: Printf
+    6              | View
+    7              | Affectation
+    8              | tSetFactory '(' StringExprVar ')' tEND
+    9              | Shape
+   10              | Transform
+   11              | Delete
+   12              | Colorify
+   13              | SetPartition
+   14              | Visibility
+   15              | Extrude
+   16              | Boolean
+   17              | BooleanShape
+   18              | Constraints
+   19              | Coherence
+   20              | Loop
+   21              | Slide
+   22              | Command
+   23              | LevelSet
+   24              | Homology
+
+   25 SendToFile: '>'
+   26           | tGREATERGREATER
+
+   27 Printf: tPrintf '(' StringExprVar ')' tEND
+   28       | tError '(' StringExprVar ')' tEND
+   29       | tPrintf '(' StringExprVar ')' SendToFile StringExprVar tEND
+   30       | tPrintf '(' StringExprVar ',' RecursiveListOfDouble ')' tEND
+   31       | tError '(' StringExprVar ',' RecursiveListOfDouble ')' tEND
+   32       | tPrintf '(' StringExprVar ',' RecursiveListOfDouble ')' SendToFile StringExprVar tEND
+
+   33 View: String__Index StringExprVar '{' Views '}' tEND
+   34     | tAlias tSTRING '[' FExpr ']' tEND
+   35     | tAliasWithOptions tSTRING '[' FExpr ']' tEND
+   36     | tCopyOptions tSTRING '[' FExpr ',' FExpr ']' tEND
+
+   37 Views: /* empty */
+   38      | Views Element
+   39      | Views Text2D
+   40      | Views Text3D
+   41      | Views InterpolationMatrix
+   42      | Views Time
+
+   43 ElementCoords: FExpr
+   44              | ElementCoords ',' FExpr
+
+   45 ElementValues: FExpr
+   46              | ElementValues ',' FExpr
+
+   47 @1: /* empty */
+
+   48 @2: /* empty */
+
+   49 Element: tSTRING @1 '(' ElementCoords ')' @2 '{' ElementValues '}' tEND
+
+   50 Text2DValues: StringExprVar
+   51             | Text2DValues ',' StringExprVar
+
+   52 @3: /* empty */
+
+   53 Text2D: tText2D '(' FExpr ',' FExpr ',' FExpr ')' @3 '{' Text2DValues '}' tEND
+
+   54 Text3DValues: StringExprVar
+   55             | Text3DValues ',' StringExprVar
+
+   56 @4: /* empty */
+
+   57 Text3D: tText3D '(' FExpr ',' FExpr ',' FExpr ',' FExpr ')' @4 '{' Text3DValues '}' tEND
+
+   58 InterpolationMatrix: tInterpolationScheme '{' RecursiveListOfListOfDouble '}' '{' RecursiveListOfListOfDouble '}' tEND
+   59                    | tInterpolationScheme '{' RecursiveListOfListOfDouble '}' '{' RecursiveListOfListOfDouble '}' '{' RecursiveListOfListOfDouble '}' '{' RecursiveListOfListOfDouble '}' tEND
+
+   60 @5: /* empty */
+
+   61 Time: tTime @5 '{' ElementValues '}' tEND
+
+   62 NumericAffectation: tAFFECT
+   63                   | tAFFECTPLUS
+   64                   | tAFFECTMINUS
+   65                   | tAFFECTTIMES
+   66                   | tAFFECTDIVIDE
+
+   67 NumericIncrement: tPLUSPLUS
+   68                 | tMINUSMINUS
+
+   69 LP: '('
+   70   | '['
+
+   71 RP: ')'
+   72   | ']'
+
+   73 Affectation: tDefineConstant '[' DefineConstants ']' tEND
+   74            | tUndefineConstant '[' UndefineConstants ']' tEND
+   75            | DefineStruct tEND
+   76            | tSetNumber LP StringExpr ',' FExpr RP tEND
+   77            | tSetString LP String__Index ',' StringExpr RP tEND
+   78            | String__Index NumericAffectation ListOfDouble tEND
+   79            | String__Index NumericIncrement tEND
+   80            | String__Index LP RP NumericAffectation ListOfDouble tEND
+   81            | String__Index LP '{' RecursiveListOfDouble '}' RP NumericAffectation ListOfDouble tEND
+   82            | String__Index '[' FExpr ']' NumericAffectation FExpr tEND
+   83            | String__Index '[' FExpr ']' NumericIncrement tEND
+   84            | String__Index '(' FExpr ')' NumericAffectation FExpr tEND
+   85            | String__Index '(' FExpr ')' NumericIncrement tEND
+   86            | String__Index tAFFECT StringExpr tEND
+   87            | String__Index LP RP tAFFECT tStr LP RP tEND
+   88            | String__Index LP RP tAFFECT tStr LP RecursiveListOfStringExprVar RP tEND
+   89            | String__Index LP RP tAFFECTPLUS tStr LP RecursiveListOfStringExprVar RP tEND
+   90            | String__Index '.' tSTRING tAFFECT StringExpr tEND
+   91            | String__Index '[' FExpr ']' '.' tSTRING tAFFECT StringExpr tEND
+   92            | String__Index '.' tSTRING NumericAffectation FExpr tEND
+   93            | String__Index '[' FExpr ']' '.' tSTRING NumericAffectation FExpr tEND
+   94            | String__Index '.' tSTRING NumericIncrement tEND
+   95            | String__Index '[' FExpr ']' '.' tSTRING NumericIncrement tEND
+   96            | String__Index '.' tColor '.' tSTRING tAFFECT ColorExpr tEND
+   97            | String__Index '[' FExpr ']' '.' tColor '.' tSTRING tAFFECT ColorExpr tEND
+   98            | String__Index '.' tColorTable tAFFECT ListOfColor tEND
+   99            | String__Index '[' FExpr ']' '.' tColorTable tAFFECT ListOfColor tEND
+  100            | String__Index tField tAFFECT FExpr tEND
+  101            | tField '[' FExpr ']' tAFFECT tSTRING tEND
+  102            | tField '[' FExpr ']' '.' tSTRING tAFFECT FExpr tEND
+  103            | tField '[' FExpr ']' '.' tSTRING tAFFECT StringExpr tEND
+  104            | tField '[' FExpr ']' '.' tSTRING tAFFECT '{' RecursiveListOfDouble '}' tEND
+  105            | tField '[' FExpr ']' '.' tSTRING tEND
+  106            | tPlugin '(' tSTRING ')' '.' tSTRING tAFFECT FExpr tEND
+  107            | tPlugin '(' tSTRING ')' '.' tSTRING tAFFECT StringExpr tEND
+
+  108 Comma: /* empty */
+  109      | ','
+
+  110 DefineConstants: /* empty */
+  111                | DefineConstants Comma String__Index
+  112                | DefineConstants Comma String__Index tAFFECT FExpr
+
+  113 @6: /* empty */
+
+  114 DefineConstants: DefineConstants Comma String__Index tAFFECT '{' ListOfDouble @6 FloatParameterOptionsOrNone '}'
+
+  115 @7: /* empty */
+
+  116 DefineConstants: DefineConstants Comma String__Index LP RP tAFFECT '{' ListOfDouble @7 FloatParameterOptionsOrNone '}'
+  117                | DefineConstants Comma String__Index tAFFECT StringExpr
+
+  118 @8: /* empty */
+
+  119 DefineConstants: DefineConstants Comma String__Index tAFFECT '{' StringExpr @8 CharParameterOptionsOrNone '}'
+
+  120 UndefineConstants: /* empty */
+  121                  | UndefineConstants Comma StringExprVar
+
+  122 Enumeration: FExpr tAFFECT StringExpr
+  123            | Enumeration ',' FExpr tAFFECT StringExpr
+  124            | FExpr_Multi tAFFECT String__Index '(' ')'
+
+  125 FloatParameterOptionsOrNone: /* empty */
+  126                            | ',' FloatParameterOptions
+
+  127 FloatParameterOptionsOrNone_NoComma: /* empty */
+  128                                    | FloatParameterOptions
+
+  129 FloatParameterOptions: FloatParameterOption
+  130                      | FloatParameterOptions ',' FloatParameterOption
+
+  131 FloatParameterOption: tSTRING ListOfDouble
+  132                     | tSTRING
+  133                     | tSTRING '{' Enumeration '}'
+  134                     | tSTRING StringExpr
+
+  135 CharParameterOptionsOrNone: /* empty */
+  136                           | ',' CharParameterOptions
+
+  137 CharParameterOptions: CharParameterOption
+  138                     | CharParameterOptions ',' CharParameterOption
+
+  139 CharParameterOption: tSTRING FExpr
+  140                    | tSTRING StringExpr
+  141                    | tMacro StringExpr
+  142                    | tSTRING '{' RecursiveListOfStringExprVar '}'
+
+  143 PhysicalId0: FExpr
+  144            | StringExpr
+  145            | StringExpr ',' FExpr
+
+  146 PhysicalId1: FExpr
+  147            | StringExpr
+  148            | StringExpr ',' FExpr
+
+  149 PhysicalId2: FExpr
+  150            | StringExpr
+  151            | StringExpr ',' FExpr
+
+  152 PhysicalId3: FExpr
+  153            | StringExpr
+  154            | StringExpr ',' FExpr
+
+  155 InSphereCenter: /* empty */
+  156               | tIn tSphere '{' FExpr '}'
+
+  157 CircleOptions: /* empty */
+  158              | tPlane VExpr
+
+  159 Shape: tPoint '(' FExpr ')' tAFFECT VExpr tEND
+  160      | tLine '(' FExpr ')' tAFFECT ListOfDouble tEND
+  161      | tSpline '(' FExpr ')' tAFFECT ListOfDouble tEND
+  162      | tCircle '(' FExpr ')' tAFFECT ListOfDouble CircleOptions tEND
+  163      | tEllipse '(' FExpr ')' tAFFECT ListOfDouble CircleOptions tEND
+  164      | tBSpline '(' FExpr ')' tAFFECT ListOfDouble tEND
+  165      | tBezier '(' FExpr ')' tAFFECT ListOfDouble tEND
+  166      | tNurbs '(' FExpr ')' tAFFECT ListOfDouble tNurbsKnots ListOfDouble tNurbsOrder FExpr tEND
+  167      | tCompound tLine '(' FExpr ')' tAFFECT ListOfDouble tEND
+  168      | tWire '(' FExpr ')' tAFFECT ListOfDouble tEND
+  169      | tLine tSTRING '(' FExpr ')' tAFFECT ListOfDouble tEND
+  170      | tPlane tSurface '(' FExpr ')' tAFFECT ListOfDouble tEND
+  171      | tSurface '(' FExpr ')' tAFFECT ListOfDouble InSphereCenter tEND
+  172      | tRuled tSurface '(' FExpr ')' tAFFECT ListOfDouble InSphereCenter tEND
+  173      | tEuclidian tCoordinates tEND
+  174      | tCoordinates tSurface FExpr tEND
+  175      | tParametric tSurface '(' FExpr ')' tAFFECT tBIGSTR tBIGSTR tBIGSTR tEND
+  176      | tSphere '(' FExpr ')' tAFFECT ListOfDouble tEND
+  177      | tPolarSphere '(' FExpr ')' tAFFECT ListOfDouble tEND
+  178      | tBlock '(' FExpr ')' tAFFECT ListOfDouble tEND
+  179      | tTorus '(' FExpr ')' tAFFECT ListOfDouble tEND
+  180      | tRectangle '(' FExpr ')' tAFFECT ListOfDouble tEND
+  181      | tDisk '(' FExpr ')' tAFFECT ListOfDouble tEND
+  182      | tCylinder '(' FExpr ')' tAFFECT ListOfDouble tEND
+  183      | tCone '(' FExpr ')' tAFFECT ListOfDouble tEND
+  184      | tWedge '(' FExpr ')' tAFFECT ListOfDouble tEND
+  185      | tThickSolid '(' FExpr ')' tAFFECT ListOfDouble tEND
+  186      | tCompound tSurface '(' FExpr ')' tAFFECT ListOfDouble tEND
+  187      | tCompound tSurface '(' FExpr ')' tAFFECT ListOfDouble tSTRING '{' RecursiveListOfListOfDouble '}' tEND
+  188      | tSurface tSTRING '(' FExpr ')' tAFFECT ListOfDouble tEND
+  189      | tVolume '(' FExpr ')' tAFFECT ListOfDouble tEND
+  190      | tThruSections '(' FExpr ')' tAFFECT ListOfDouble tEND
+  191      | tRuled tThruSections '(' FExpr ')' tAFFECT ListOfDouble tEND
+  192      | tCompound tVolume '(' FExpr ')' tAFFECT ListOfDouble tEND
+  193      | tPhysical tPoint '(' PhysicalId0 ')' NumericAffectation ListOfDouble tEND
+  194      | tPhysical tLine '(' PhysicalId1 ')' NumericAffectation ListOfDouble tEND
+  195      | tPhysical tSurface '(' PhysicalId2 ')' NumericAffectation ListOfDouble tEND
+  196      | tPhysical tVolume '(' PhysicalId3 ')' NumericAffectation ListOfDouble tEND
+
+  197 Transform: tTranslate VExpr '{' MultipleShape '}'
+  198          | tRotate '{' VExpr ',' VExpr ',' FExpr '}' '{' MultipleShape '}'
+  199          | tSymmetry VExpr '{' MultipleShape '}'
+  200          | tDilate '{' VExpr ',' FExpr '}' '{' MultipleShape '}'
+  201          | tDilate '{' VExpr ',' VExpr '}' '{' MultipleShape '}'
+  202          | tSTRING '{' MultipleShape '}'
+  203          | tIntersect tLine '{' RecursiveListOfDouble '}' tSurface '{' FExpr '}'
+  204          | tSplit tLine '(' FExpr ')' '{' RecursiveListOfDouble '}' tEND
+
+  205 MultipleShape: ListOfShapes
+  206              | Transform
+
+  207 ListOfShapes: /* empty */
+  208             | ListOfShapes Shape
+  209             | ListOfShapes tPoint '{' RecursiveListOfDouble '}' tEND
+  210             | ListOfShapes tLine '{' RecursiveListOfDouble '}' tEND
+  211             | ListOfShapes tSurface '{' RecursiveListOfDouble '}' tEND
+  212             | ListOfShapes tVolume '{' RecursiveListOfDouble '}' tEND
+
+  213 LevelSet: tLevelset tPlane '(' FExpr ')' tAFFECT ListOfDouble tEND
+  214         | tLevelset tPoint '(' FExpr ')' tAFFECT '{' RecursiveListOfListOfDouble '}' tEND
+  215         | tLevelset tPlane '(' FExpr ')' tAFFECT '{' VExpr ',' VExpr ',' RecursiveListOfDouble '}' tEND
+  216         | tLevelset tPlane '(' FExpr ')' tAFFECT '{' VExpr ',' VExpr ',' VExpr ',' RecursiveListOfDouble '}' tEND
+  217         | tLevelset tSphere '(' FExpr ')' tAFFECT '{' VExpr ',' RecursiveListOfDouble '}' tEND
+  218         | tLevelset tCylinder '(' FExpr ')' tAFFECT '{' VExpr ',' VExpr ',' RecursiveListOfDouble '}' tEND
+  219         | tLevelset tCone '(' FExpr ')' tAFFECT '{' VExpr ',' VExpr ',' RecursiveListOfDouble '}' tEND
+  220         | tLevelset tEllipsoid '(' FExpr ')' tAFFECT '{' VExpr ',' VExpr ',' RecursiveListOfDouble '}' tEND
+  221         | tLevelset tQuadric '(' FExpr ')' tAFFECT '{' VExpr ',' VExpr ',' RecursiveListOfDouble '}' tEND
+  222         | tLevelset tSTRING '(' FExpr ')' tAFFECT ListOfDouble tEND
+  223         | tLevelset tSTRING '(' FExpr ')' tAFFECT tBIGSTR tEND
+  224         | tLevelset tSTRING '{' FExpr '}' tEND
+
+  225 Delete: tDelete '{' ListOfShapes '}'
+  226       | tRecursive tDelete '{' ListOfShapes '}'
+  227       | tDelete tField '[' FExpr ']' tEND
+  228       | tDelete tSTRING '[' FExpr ']' tEND
+  229       | tDelete String__Index tEND
+  230       | tDelete tSTRING tSTRING tEND
+  231       | tDelete tDefineStruct tEND
+
+  232 Colorify: tColor ColorExpr '{' ListOfShapes '}'
+  233         | tRecursive tColor ColorExpr '{' ListOfShapes '}'
+
+  234 SetPartition: tSetPartition FExpr '{' ListOfShapes '}'
+
+  235 Visibility: tShow tBIGSTR tEND
+  236           | tHide tBIGSTR tEND
+  237           | tShow '{' ListOfShapes '}'
+  238           | tRecursive tShow '{' ListOfShapes '}'
+  239           | tHide '{' ListOfShapes '}'
+  240           | tRecursive tHide '{' ListOfShapes '}'
+
+  241 Command: String__Index StringExpr tEND
+  242        | tOnelabRun '(' RecursiveListOfStringExprVar ')' tEND
+  243        | String__Index String__Index '[' FExpr ']' StringExprVar tEND
+  244        | String__Index String__Index String__Index '[' FExpr ']' tEND
+  245        | String__Index FExpr tEND
+  246        | tPlugin '(' tSTRING ')' '.' tSTRING tEND
+  247        | tCombine tSTRING tEND
+  248        | tExit tEND
+  249        | tAbort tEND
+  250        | tSyncModel tEND
+  251        | tNewModel tEND
+  252        | tBoundingBox tEND
+  253        | tBoundingBox '{' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr '}' tEND
+  254        | tDraw tEND
+  255        | tSetChanged tEND
+  256        | tCreateTopology tEND
+  257        | tCreateTopologyNoHoles tEND
+  258        | tRefineMesh tEND
+  259        | tAdaptMesh '{' RecursiveListOfDouble '}' '{' RecursiveListOfDouble '}' '{' RecursiveListOfListOfDouble '}' '{' FExpr ',' FExpr '}' tEND
+
+  260 Slide: tSlide '(' '{' RecursiveListOfDouble '}' ',' StringExpr ',' StringExpr ')' tEND
+
+  261 Loop: tFor '(' FExpr tDOTS FExpr ')'
+  262     | tFor '(' FExpr tDOTS FExpr tDOTS FExpr ')'
+  263     | tFor tSTRING tIn '{' FExpr tDOTS FExpr '}'
+  264     | tFor tSTRING tIn '{' FExpr tDOTS FExpr tDOTS FExpr '}'
+  265     | tEndFor
+  266     | tMacro tSTRING
+  267     | tMacro StringExpr
+  268     | tReturn
+  269     | tCall String__Index tEND
+  270     | tCall StringExpr tEND
+  271     | tIf '(' FExpr ')'
+  272     | tElseIf '(' FExpr ')'
+  273     | tElse
+  274     | tEndIf
+
+  275 Extrude: tExtrude VExpr '{' ListOfShapes '}'
+  276        | tExtrude '{' VExpr ',' VExpr ',' FExpr '}' '{' ListOfShapes '}'
+  277        | tExtrude '{' VExpr ',' VExpr ',' VExpr ',' FExpr '}' '{' ListOfShapes '}'
+
+  278 @9: /* empty */
+
+  279 Extrude: tExtrude VExpr '{' ListOfShapes @9 ExtrudeParameters '}'
+
+  280 @10: /* empty */
+
+  281 Extrude: tExtrude '{' VExpr ',' VExpr ',' FExpr '}' '{' ListOfShapes @10 ExtrudeParameters '}'
+
+  282 @11: /* empty */
+
+  283 Extrude: tExtrude '{' VExpr ',' VExpr ',' VExpr ',' FExpr '}' '{' ListOfShapes @11 ExtrudeParameters '}'
+
+  284 @12: /* empty */
+
+  285 Extrude: tExtrude '{' ListOfShapes @12 ExtrudeParameters '}'
+  286        | tExtrude '{' ListOfShapes '}' tUsing tWire '{' FExpr '}'
+  287        | tThruSections ListOfDouble
+  288        | tRuled tThruSections ListOfDouble
+  289        | tFillet '{' RecursiveListOfDouble '}' '{' RecursiveListOfDouble '}' '{' FExpr '}'
+
+  290 ExtrudeParameters: ExtrudeParameter
+  291                  | ExtrudeParameters ExtrudeParameter
+
+  292 ExtrudeParameter: tLayers '{' FExpr '}' tEND
+  293                 | tLayers '{' ListOfDouble ',' ListOfDouble '}' tEND
+  294                 | tScaleLast tEND
+  295                 | tRecombine tEND
+  296                 | tRecombine FExpr tEND
+  297                 | tQuadTriAddVerts tEND
+  298                 | tQuadTriAddVerts tRecombLaterals tEND
+  299                 | tQuadTriNoNewVerts tEND
+  300                 | tQuadTriNoNewVerts tRecombLaterals tEND
+  301                 | tHole '(' FExpr ')' tAFFECT ListOfDouble tUsing FExpr tEND
+  302                 | tUsing tSTRING '[' FExpr ']' tEND
+
+  303 BooleanOperator: tBooleanUnion
+  304                | tBooleanIntersection
+  305                | tBooleanDifference
+  306                | tBooleanSection
+  307                | tBooleanFragments
+
+  308 BooleanOption: /* empty */
+  309              | tDelete tEND
+  310              | tRecursive tDelete tEND
+  311              | tDelete FExpr tEND
+  312              | tRecursive tDelete FExpr tEND
+
+  313 Boolean: BooleanOperator '{' ListOfShapes BooleanOption '}' '{' ListOfShapes BooleanOption '}'
+  314        | tShapeFromFile '(' StringExprVar ')'
+
+  315 BooleanShape: BooleanOperator '(' FExpr ')' tAFFECT '{' ListOfShapes BooleanOption '}' '{' ListOfShapes BooleanOption '}' tEND
+
+  316 TransfiniteType: /* empty */
+  317                | tUsing tSTRING FExpr
+
+  318 TransfiniteArrangement: /* empty */
+  319                       | tSTRING
+
+  320 TransfiniteCorners: /* empty */
+  321                   | tAFFECT ListOfDouble
+
+  322 RecombineAngle: /* empty */
+  323               | tAFFECT FExpr
+
+  324 PeriodicTransform: /* empty */
+  325                  | tAffine ListOfDouble
+
+  326 Constraints: tCharacteristic tLength ListOfDouble tAFFECT FExpr tEND
+  327            | tTransfinite tLine ListOfDoubleOrAll tAFFECT FExpr TransfiniteType tEND
+  328            | tTransfinite tSurface ListOfDoubleOrAll TransfiniteCorners TransfiniteArrangement tEND
+  329            | tTransfinite tVolume ListOfDoubleOrAll TransfiniteCorners tEND
+  330            | tTransfQuadTri ListOfDoubleOrAll tEND
+  331            | tMeshAlgorithm tSurface '{' RecursiveListOfDouble '}' tAFFECT FExpr tEND
+  332            | tRecombine tSurface ListOfDoubleOrAll RecombineAngle tEND
+  333            | tRecombine tVolume ListOfDoubleOrAll tEND
+  334            | tSmoother tSurface ListOfDoubleOrAll tAFFECT FExpr tEND
+  335            | tPeriodic tLine '{' RecursiveListOfDouble '}' tAFFECT '{' RecursiveListOfDouble '}' PeriodicTransform tEND
+  336            | tPeriodic tSurface '{' RecursiveListOfDouble '}' tAFFECT '{' RecursiveListOfDouble '}' PeriodicTransform tEND
+  337            | tPeriodic tLine '{' RecursiveListOfDouble '}' tAFFECT '{' RecursiveListOfDouble '}' tRotate '{' VExpr ',' VExpr ',' FExpr '}' tEND
+  338            | tPeriodic tSurface '{' RecursiveListOfDouble '}' tAFFECT '{' RecursiveListOfDouble '}' tRotate '{' VExpr ',' VExpr ',' FExpr '}' tEND
+  339            | tPeriodic tLine '{' RecursiveListOfDouble '}' tAFFECT '{' RecursiveListOfDouble '}' tTranslate VExpr tEND
+  340            | tPeriodic tSurface '{' RecursiveListOfDouble '}' tAFFECT '{' RecursiveListOfDouble '}' tTranslate VExpr tEND
+  341            | tPeriodic tSurface FExpr '{' RecursiveListOfDouble '}' tAFFECT FExpr '{' RecursiveListOfDouble '}' tEND
+  342            | tPoint '{' RecursiveListOfDouble '}' tIn tSurface '{' FExpr '}' tEND
+  343            | tLine '{' RecursiveListOfDouble '}' tIn tSurface '{' FExpr '}' tEND
+  344            | tPoint '{' RecursiveListOfDouble '}' tIn tVolume '{' FExpr '}' tEND
+  345            | tLine '{' RecursiveListOfDouble '}' tIn tVolume '{' FExpr '}' tEND
+  346            | tSurface '{' RecursiveListOfDouble '}' tIn tVolume '{' FExpr '}' tEND
+  347            | tReverse tSurface ListOfDoubleOrAll tEND
+  348            | tReverse tLine ListOfDoubleOrAll tEND
+  349            | tRelocateMesh tPoint ListOfDoubleOrAll tEND
+  350            | tRelocateMesh tLine ListOfDoubleOrAll tEND
+  351            | tRelocateMesh tSurface ListOfDoubleOrAll tEND
+  352            | tDegenerated tLine ListOfDouble tEND
+  353            | tCompound tLine ListOfDouble tEND
+  354            | tCompound tSurface ListOfDouble tEND
+  355            | tCompound tVolume ListOfDouble tEND
+
+  356 Coherence: tCoherence tEND
+  357          | tCoherence tSTRING tEND
+  358          | tCoherence tPoint '{' RecursiveListOfDouble '}' tEND
+
+  359 HomologyCommand: tHomology
+  360                | tCohomology
+  361                | tBetti
+
+  362 Homology: HomologyCommand tEND
+  363         | HomologyCommand '{' ListOfDouble '}' tEND
+  364         | HomologyCommand '{' ListOfDouble ',' ListOfDouble '}' tEND
+  365         | HomologyCommand '(' ListOfDouble ')' '{' ListOfDouble ',' ListOfDouble '}' tEND
+
+  366 FExpr: FExpr_Single
+  367      | '(' FExpr ')'
+  368      | '-' FExpr
+  369      | '+' FExpr
+  370      | '!' FExpr
+  371      | FExpr '-' FExpr
+  372      | FExpr '+' FExpr
+  373      | FExpr '*' FExpr
+  374      | FExpr '/' FExpr
+  375      | FExpr '|' FExpr
+  376      | FExpr '&' FExpr
+  377      | FExpr '%' FExpr
+  378      | FExpr '^' FExpr
+  379      | FExpr '<' FExpr
+  380      | FExpr '>' FExpr
+  381      | FExpr tLESSOREQUAL FExpr
+  382      | FExpr tGREATEROREQUAL FExpr
+  383      | FExpr tEQUAL FExpr
+  384      | FExpr tNOTEQUAL FExpr
+  385      | FExpr tAND FExpr
+  386      | FExpr tOR FExpr
+  387      | FExpr tGREATERGREATER FExpr
+  388      | FExpr tLESSLESS FExpr
+  389      | FExpr '?' FExpr tDOTS FExpr
+  390      | tExp LP FExpr RP
+  391      | tLog LP FExpr RP
+  392      | tLog10 LP FExpr RP
+  393      | tSqrt LP FExpr RP
+  394      | tSin LP FExpr RP
+  395      | tAsin LP FExpr RP
+  396      | tCos LP FExpr RP
+  397      | tAcos LP FExpr RP
+  398      | tTan LP FExpr RP
+  399      | tAtan LP FExpr RP
+  400      | tAtan2 LP FExpr ',' FExpr RP
+  401      | tSinh LP FExpr RP
+  402      | tCosh LP FExpr RP
+  403      | tTanh LP FExpr RP
+  404      | tFabs LP FExpr RP
+  405      | tAbs LP FExpr RP
+  406      | tFloor LP FExpr RP
+  407      | tCeil LP FExpr RP
+  408      | tRound LP FExpr RP
+  409      | tFmod LP FExpr ',' FExpr RP
+  410      | tModulo LP FExpr ',' FExpr RP
+  411      | tHypot LP FExpr ',' FExpr RP
+  412      | tRand LP FExpr RP
+
+  413 FExpr_Single: tDOUBLE
+  414             | tPi
+  415             | tTestLevel
+  416             | tMPI_Rank
+  417             | tMPI_Size
+  418             | tGMSH_MAJOR_VERSION
+  419             | tGMSH_MINOR_VERSION
+  420             | tGMSH_PATCH_VERSION
+  421             | tCpu
+  422             | tMemory
+  423             | tTotalMemory
+
+  424 @13: /* empty */
+
+  425 FExpr_Single: tDefineNumber LP FExpr @13 FloatParameterOptionsOrNone RP
+  426             | DefineStruct
+  427             | tGetNumber LP StringExprVar RP
+  428             | tGetNumber LP StringExprVar ',' FExpr RP
+  429             | Struct_FullName
+  430             | Struct_FullName '[' FExpr ']'
+  431             | Struct_FullName '(' FExpr ')'
+  432             | tExists '(' Struct_FullName ')'
+  433             | tExists '(' Struct_FullName '.' tSTRING_Member_Float ')'
+  434             | tGetForced '(' Struct_FullName GetForced_Default ')'
+  435             | tGetForced '(' Struct_FullName '.' tSTRING_Member_Float GetForced_Default ')'
+  436             | tFileExists '(' StringExpr ')'
+  437             | '#' String__Index LP RP
+  438             | '#' Struct_FullName '.' tSTRING_Member_Float '(' ')'
+  439             | tDimNameSpace LP String__Index RP
+  440             | tDimNameSpace LP RP
+  441             | String__Index NumericIncrement
+  442             | String__Index '[' FExpr ']' NumericIncrement
+  443             | String__Index '(' FExpr ')' NumericIncrement
+  444             | String__Index '.' tSTRING_Member_Float
+  445             | String__Index tSCOPE String__Index '.' tSTRING_Member_Float
+  446             | String__Index '.' tSTRING_Member_Float '(' FExpr ')'
+  447             | String__Index tSCOPE String__Index '.' tSTRING_Member_Float '(' FExpr ')'
+  448             | String__Index '[' FExpr ']' '.' tSTRING
+  449             | String__Index '.' tSTRING NumericIncrement
+  450             | String__Index '[' FExpr ']' '.' tSTRING NumericIncrement
+  451             | tGetValue '(' StringExprVar ',' FExpr ')'
+  452             | tFind '(' ListOfDouble ',' ListOfDouble ')'
+  453             | tStrFind LP StringExprVar ',' StringExprVar RP
+  454             | tStrLen LP StringExprVar RP
+  455             | tStrCmp LP StringExprVar ',' StringExprVar RP
+  456             | tTextAttributes '(' RecursiveListOfStringExprVar ')'
+
+  457 GetForced_Default: /* empty */
+  458                  | ',' FExpr
+
+  459 GetForcedStr_Default: /* empty */
+  460                     | ',' StringExprVar
+
+  461 @14: /* empty */
+
+  462 DefineStruct: tDefineStruct Struct_FullName AppendOrNot @14 '[' FloatParameterOptionsOrNone_NoComma ']'
+
+  463 Struct_FullName: String__Index
+  464                | String__Index tSCOPE String__Index
+
+  465 tSTRING_Member_Float: tSTRING
+
+  466 Append: tAppend
+  467       | tAppend FExpr
+
+  468 AppendOrNot: /* empty */
+  469            | '(' Append ')'
+
+  470 VExpr: VExpr_Single
+  471      | '-' VExpr
+  472      | '+' VExpr
+  473      | VExpr '-' VExpr
+  474      | VExpr '+' VExpr
+
+  475 VExpr_Single: '{' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr '}'
+  476             | '{' FExpr ',' FExpr ',' FExpr ',' FExpr '}'
+  477             | '{' FExpr ',' FExpr ',' FExpr '}'
+  478             | '(' FExpr ',' FExpr ',' FExpr ')'
+
+  479 RecursiveListOfListOfDouble: ListOfDouble
+  480                            | RecursiveListOfListOfDouble ',' ListOfDouble
+
+  481 ListOfDouble: FExpr
+  482             | FExpr_Multi
+  483             | '{' '}'
+  484             | '{' RecursiveListOfDouble '}'
+  485             | '-' '{' RecursiveListOfDouble '}'
+  486             | FExpr '*' '{' RecursiveListOfDouble '}'
+
+  487 ListOfDoubleOrAll: ListOfDouble
+  488                  | tBIGSTR
+
+  489 FExpr_Multi: '-' FExpr_Multi
+  490            | FExpr '*' FExpr_Multi
+  491            | FExpr tDOTS FExpr
+  492            | FExpr tDOTS FExpr tDOTS FExpr
+  493            | tPoint '{' FExpr '}'
+  494            | tPoint tBIGSTR
+  495            | tLine tBIGSTR
+  496            | tSurface tBIGSTR
+  497            | tVolume tBIGSTR
+  498            | tPhysical tPoint ListOfDoubleOrAll
+  499            | tPhysical tLine ListOfDoubleOrAll
+  500            | tPhysical tSurface ListOfDoubleOrAll
+  501            | tPhysical tVolume ListOfDoubleOrAll
+  502            | tPoint tIn tBoundingBox '{' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr '}'
+  503            | tLine tIn tBoundingBox '{' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr '}'
+  504            | tSurface tIn tBoundingBox '{' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr '}'
+  505            | tVolume tIn tBoundingBox '{' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr '}'
+  506            | Transform
+  507            | Extrude
+  508            | Boolean
+  509            | String__Index LP RP
+  510            | tList '[' String__Index ']'
+  511            | tList '[' FExpr_Multi ']'
+  512            | tList '(' FExpr_Multi ')'
+  513            | tList LP '{' RecursiveListOfDouble '}' RP
+  514            | String__Index LP '{' RecursiveListOfDouble '}' RP
+  515            | tLinSpace LP FExpr ',' FExpr ',' FExpr RP
+  516            | tLogSpace LP FExpr ',' FExpr ',' FExpr RP
+  517            | tListFromFile LP StringExprVar RP
+  518            | tCatenary LP FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr RP
+  519            | tUnique LP FExpr_Multi RP
+  520            | tAbs LP FExpr_Multi RP
+
+  521 RecursiveListOfDouble: FExpr
+  522                      | FExpr_Multi
+  523                      | RecursiveListOfDouble ',' FExpr
+  524                      | RecursiveListOfDouble ',' FExpr_Multi
+
+  525 ColorExpr: '{' FExpr ',' FExpr ',' FExpr ',' FExpr '}'
+  526          | '{' FExpr ',' FExpr ',' FExpr '}'
+  527          | String__Index
+  528          | tSTRING '.' tColor '.' tSTRING
+
+  529 ListOfColor: '{' RecursiveListOfColor '}'
+  530            | String__Index '[' FExpr ']' '.' tColorTable
+
+  531 RecursiveListOfColor: ColorExpr
+  532                     | RecursiveListOfColor ',' ColorExpr
+
+  533 StringExprVar: StringExpr
+  534              | String__Index
+  535              | String__Index '[' FExpr ']'
+  536              | String__Index '(' FExpr ')'
+  537              | String__Index '.' tSTRING_Member_Float
+  538              | String__Index tSCOPE String__Index '.' tSTRING_Member_Float
+  539              | String__Index '.' tSTRING_Member_Float '(' FExpr ')'
+  540              | String__Index tSCOPE String__Index '.' tSTRING_Member_Float '(' FExpr ')'
+  541              | String__Index '[' FExpr ']' '.' tSTRING
+  542              | tPhysical tPoint '{' FExpr '}'
+  543              | tPhysical tLine '{' FExpr '}'
+  544              | tPhysical tSurface '{' FExpr '}'
+  545              | tPhysical tVolume '{' FExpr '}'
+
+  546 StringExpr: tBIGSTR
+  547           | tNameToString '[' String__Index ']'
+  548           | tToday
+  549           | tGmshExecutableName
+  550           | tOnelabAction
+  551           | tCodeName
+  552           | tGetEnv '(' StringExprVar ')'
+  553           | tGetStringValue '(' StringExprVar ',' StringExprVar ')'
+  554           | tGetString LP StringExprVar RP
+  555           | tGetString LP StringExprVar ',' StringExprVar RP
+  556           | tGetForcedStr '(' Struct_FullName GetForcedStr_Default ')'
+  557           | tGetForcedStr '(' Struct_FullName '.' tSTRING_Member_Float GetForcedStr_Default ')'
+  558           | tStrCat LP RecursiveListOfStringExprVar RP
+  559           | tStrPrefix '(' StringExprVar ')'
+  560           | tStrRelative '(' StringExprVar ')'
+  561           | tStrReplace '(' StringExprVar ',' StringExprVar ',' StringExprVar ')'
+  562           | tStr LP RecursiveListOfStringExprVar RP
+  563           | tUpperCase LP StringExprVar RP
+  564           | tLowerCase LP StringExprVar RP
+  565           | tLowerCaseIn LP StringExprVar RP
+  566           | tStrChoice LP FExpr ',' StringExprVar ',' StringExprVar RP
+  567           | tStrSub LP StringExprVar ',' FExpr ',' FExpr RP
+  568           | tStrSub LP StringExprVar ',' FExpr RP
+  569           | tSprintf LP StringExprVar RP
+  570           | tSprintf LP StringExprVar ',' RecursiveListOfDouble RP
+  571           | tFixRelativePath LP StringExprVar RP
+  572           | tCurrentDirectory
+  573           | tDirName LP StringExprVar RP
+  574           | tAbsolutePath LP StringExprVar RP
+
+  575 @15: /* empty */
+
+  576 StringExpr: tDefineString LP StringExpr @15 CharParameterOptionsOrNone RP
+  577           | tNameStruct LP NameStruct_Arg RP
+
+  578 NameStruct_Arg: '#' FExpr
+  579               | String__Index tSCOPE '#' FExpr
+
+  580 RecursiveListOfStringExprVar: StringExprVar
+  581                             | RecursiveListOfStringExprVar ',' StringExprVar
+
+  582 StringIndex: tSTRING '~' '{' FExpr '}'
+  583            | StringIndex '~' '{' FExpr '}'
+  584            | tStringToName '[' StringExprVar ']' '~' '{' FExpr '}'
+
+  585 String__Index: tSTRING
+  586              | StringIndex
+  587              | tStringToName '[' StringExprVar ']'
+
+
+Terminals, with rules where they appear
+
+$end (0) 0
+'!' (33) 370
+'#' (35) 437 438 578 579
+'%' (37) 377
+'&' (38) 376
+'(' (40) 8 27 28 29 30 31 32 49 53 57 69 84 85 106 107 124 159 160
+    161 162 163 164 165 166 167 168 169 170 171 172 175 176 177 178
+    179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194
+    195 196 204 213 214 215 216 217 218 219 220 221 222 223 242 246
+    260 261 262 271 272 301 314 315 365 367 431 432 433 434 435 436
+    438 443 446 447 451 452 456 469 478 512 536 539 540 552 553 556
+    557 559 560 561
+')' (41) 8 27 28 29 30 31 32 49 53 57 71 84 85 106 107 124 159 160
+    161 162 163 164 165 166 167 168 169 170 171 172 175 176 177 178
+    179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194
+    195 196 204 213 214 215 216 217 218 219 220 221 222 223 242 246
+    260 261 262 271 272 301 314 315 365 367 431 432 433 434 435 436
+    438 443 446 447 451 452 456 469 478 512 536 539 540 552 553 556
+    557 559 560 561
+'*' (42) 373 486 490
+'+' (43) 369 372 472 474
+',' (44) 30 31 32 36 44 46 51 53 55 57 76 77 109 123 126 130 136 138
+    145 148 151 154 198 200 201 215 216 217 218 219 220 221 253 259
+    260 276 277 281 283 293 337 338 364 365 400 409 410 411 428 451
+    452 453 455 458 460 475 476 477 478 480 502 503 504 505 515 516
+    518 523 524 525 526 532 553 555 561 566 567 568 570 581
+'-' (45) 368 371 471 473 485 489
+'.' (46) 90 91 92 93 94 95 96 97 98 99 102 103 104 105 106 107 246
+    433 435 438 444 445 446 447 448 449 450 528 530 537 538 539 540
+    541 557
+'/' (47) 374
+'<' (60) 379
+'>' (62) 25 380
+'?' (63) 389
+'[' (91) 34 35 36 70 73 74 82 83 91 93 95 97 99 101 102 103 104 105
+    227 228 243 244 302 430 442 448 450 462 510 511 530 535 541 547
+    584 587
+']' (93) 34 35 36 72 73 74 82 83 91 93 95 97 99 101 102 103 104 105
+    227 228 243 244 302 430 442 448 450 462 510 511 530 535 541 547
+    584 587
+'^' (94) 378
+'{' (123) 33 49 53 57 58 59 61 81 104 114 116 119 133 142 156 187 197
+    198 199 200 201 202 203 204 209 210 211 212 214 215 216 217 218
+    219 220 221 224 225 226 232 233 234 237 238 239 240 253 259 260
+    263 264 275 276 277 279 281 283 285 286 289 292 293 313 315 331
+    335 336 337 338 339 340 341 342 343 344 345 346 358 363 364 365
+    475 476 477 483 484 485 486 493 502 503 504 505 513 514 525 526
+    529 542 543 544 545 582 583 584
+'|' (124) 375
+'}' (125) 33 49 53 57 58 59 61 81 104 114 116 119 133 142 156 187 197
+    198 199 200 201 202 203 204 209 210 211 212 214 215 216 217 218
+    219 220 221 224 225 226 232 233 234 237 238 239 240 253 259 260
+    263 264 275 276 277 279 281 283 285 286 289 292 293 313 315 331
+    335 336 337 338 339 340 341 342 343 344 345 346 358 363 364 365
+    475 476 477 483 484 485 486 493 502 503 504 505 513 514 525 526
+    529 542 543 544 545 582 583 584
+'~' (126) 582 583 584
+error (256) 2
+tDOUBLE (258) 413
+tSTRING (259) 34 35 36 49 90 91 92 93 94 95 96 97 101 102 103 104 105
+    106 107 131 132 133 134 139 140 142 169 187 188 202 222 223 224
+    228 230 246 247 263 264 266 302 317 319 357 448 449 450 465 528
+    541 582 585
+tBIGSTR (260) 175 223 235 236 488 494 495 496 497 546
+tEND (261) 2 8 27 28 29 30 31 32 33 34 35 36 49 53 57 58 59 61 73 74
+    75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
+    96 97 98 99 100 101 102 103 104 105 106 107 159 160 161 162 163
+    164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179
+    180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195
+    196 204 209 210 211 212 213 214 215 216 217 218 219 220 221 222
+    223 224 227 228 229 230 231 235 236 241 242 243 244 245 246 247
+    248 249 250 251 252 253 254 255 256 257 258 259 260 269 270 292
+    293 294 295 296 297 298 299 300 301 302 309 310 311 312 315 326
+    327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342
+    343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358
+    362 363 364 365
+tAFFECT (262) 62 86 87 88 90 91 96 97 98 99 100 101 102 103 104 106
+    107 112 114 116 117 119 122 123 124 159 160 161 162 163 164 165
+    166 167 168 169 170 171 172 175 176 177 178 179 180 181 182 183
+    184 185 186 187 188 189 190 191 192 213 214 215 216 217 218 219
+    220 221 222 223 301 315 321 323 326 327 331 334 335 336 337 338
+    339 340 341
+tDOTS (263) 261 262 263 264 389 491 492
+tSCOPE (264) 445 447 464 538 540 579
+tPi (265) 414
+tMPI_Rank (266) 416
+tMPI_Size (267) 417
+tEuclidian (268) 173
+tCoordinates (269) 173 174
+tTestLevel (270) 415
+tExp (271) 390
+tLog (272) 391
+tLog10 (273) 392
+tSqrt (274) 393
+tSin (275) 394
+tAsin (276) 395
+tCos (277) 396
+tAcos (278) 397
+tTan (279) 398
+tRand (280) 412
+tAtan (281) 399
+tAtan2 (282) 400
+tSinh (283) 401
+tCosh (284) 402
+tTanh (285) 403
+tFabs (286) 404
+tAbs (287) 405 520
+tFloor (288) 406
+tCeil (289) 407
+tRound (290) 408
+tFmod (291) 409
+tModulo (292) 410
+tHypot (293) 411
+tList (294) 510 511 512 513
+tLinSpace (295) 515
+tLogSpace (296) 516
+tListFromFile (297) 517
+tCatenary (298) 518
+tPrintf (299) 27 29 30 32
+tError (300) 28 31
+tStr (301) 87 88 89 562
+tSprintf (302) 569 570
+tStrCat (303) 558
+tStrPrefix (304) 559
+tStrRelative (305) 560
+tStrReplace (306) 561
+tAbsolutePath (307) 574
+tDirName (308) 573
+tStrSub (309) 567 568
+tStrLen (310) 454
+tFind (311) 452
+tStrFind (312) 453
+tStrCmp (313) 455
+tStrChoice (314) 566
+tUpperCase (315) 563
+tLowerCase (316) 564
+tLowerCaseIn (317) 565
+tTextAttributes (318) 456
+tBoundingBox (319) 252 253 502 503 504 505
+tDraw (320) 254
+tSetChanged (321) 255
+tToday (322) 548
+tFixRelativePath (323) 571
+tCurrentDirectory (324) 572
+tSyncModel (325) 250
+tNewModel (326) 251
+tOnelabAction (327) 550
+tOnelabRun (328) 242
+tCodeName (329) 551
+tCpu (330) 421
+tMemory (331) 422
+tTotalMemory (332) 423
+tCreateTopology (333) 256
+tCreateTopologyNoHoles (334) 257
+tDistanceFunction (335)
+tDefineConstant (336) 73
+tUndefineConstant (337) 74
+tDefineNumber (338) 425
+tDefineStruct (339) 231 462
+tNameStruct (340) 577
+tDimNameSpace (341) 439 440
+tAppend (342) 466 467
+tDefineString (343) 576
+tSetNumber (344) 76
+tSetString (345) 77
+tPoint (346) 159 193 209 214 342 344 349 358 493 494 498 502 542
+tCircle (347) 162
+tEllipse (348) 163
+tLine (349) 160 167 169 194 203 204 210 327 335 337 339 343 345 348
+    350 352 353 495 499 503 543
+tSphere (350) 156 176 217
+tPolarSphere (351) 177
+tSurface (352) 170 171 172 174 175 186 187 188 195 203 211 328 331
+    332 334 336 338 340 341 342 343 346 347 351 354 496 500 504 544
+tSpline (353) 161
+tVolume (354) 189 192 196 212 329 333 344 345 346 355 497 501 505 545
+tBlock (355) 178
+tCylinder (356) 182 218
+tCone (357) 183 219
+tTorus (358) 179
+tEllipsoid (359) 220
+tQuadric (360) 221
+tShapeFromFile (361) 314
+tRectangle (362) 180
+tDisk (363) 181
+tWire (364) 168 286
+tCharacteristic (365) 326
+tLength (366) 326
+tParametric (367) 175
+tElliptic (368)
+tRefineMesh (369) 258
+tAdaptMesh (370) 259
+tRelocateMesh (371) 349 350 351
+tSetFactory (372) 8
+tThruSections (373) 190 191 287 288
+tWedge (374) 184
+tFillet (375) 289
+tChamfer (376)
+tPlane (377) 158 170 213 215 216
+tRuled (378) 172 191 288
+tTransfinite (379) 327 328 329
+tPhysical (380) 193 194 195 196 498 499 500 501 542 543 544 545
+tCompound (381) 167 186 187 192 353 354 355
+tPeriodic (382) 335 336 337 338 339 340 341
+tUsing (383) 286 301 302 317
+tPlugin (384) 106 107 246
+tDegenerated (385) 352
+tRecursive (386) 226 233 238 240 310 312
+tRotate (387) 198 337 338
+tTranslate (388) 197 339 340
+tSymmetry (389) 199
+tDilate (390) 200 201
+tExtrude (391) 275 276 277 279 281 283 285 286
+tLevelset (392) 213 214 215 216 217 218 219 220 221 222 223 224
+tAffine (393) 325
+tBooleanUnion (394) 303
+tBooleanIntersection (395) 304
+tBooleanDifference (396) 305
+tBooleanSection (397) 306
+tBooleanFragments (398) 307
+tThickSolid (399) 185
+tRecombine (400) 295 296 332 333
+tSmoother (401) 334
+tSplit (402) 204
+tDelete (403) 225 226 227 228 229 230 231 309 310 311 312
+tCoherence (404) 356 357 358
+tIntersect (405) 203
+tMeshAlgorithm (406) 331
+tReverse (407) 347 348
+tLayers (408) 292 293
+tScaleLast (409) 294
+tHole (410) 301
+tAlias (411) 34
+tAliasWithOptions (412) 35
+tCopyOptions (413) 36
+tQuadTriAddVerts (414) 297 298
+tQuadTriNoNewVerts (415) 299 300
+tRecombLaterals (416) 298 300
+tTransfQuadTri (417) 330
+tText2D (418) 53
+tText3D (419) 57
+tInterpolationScheme (420) 58 59
+tTime (421) 61
+tCombine (422) 247
+tBSpline (423) 164
+tBezier (424) 165
+tNurbs (425) 166
+tNurbsOrder (426) 166
+tNurbsKnots (427) 166
+tColor (428) 96 97 232 233 528
+tColorTable (429) 98 99 530
+tFor (430) 261 262 263 264
+tIn (431) 156 263 264 342 343 344 345 346 502 503 504 505
+tEndFor (432) 265
+tIf (433) 271
+tElseIf (434) 272
+tElse (435) 273
+tEndIf (436) 274
+tExit (437) 248
+tAbort (438) 249
+tField (439) 100 101 102 103 104 105 227
+tReturn (440) 268
+tCall (441) 269 270
+tSlide (442) 260
+tMacro (443) 141 266 267
+tShow (444) 235 237 238
+tHide (445) 236 239 240
+tGetValue (446) 451
+tGetStringValue (447) 553
+tGetEnv (448) 552
+tGetString (449) 554 555
+tGetNumber (450) 427 428
+tUnique (451) 519
+tHomology (452) 359
+tCohomology (453) 360
+tBetti (454) 361
+tExists (455) 432 433
+tFileExists (456) 436
+tGetForced (457) 434 435
+tGetForcedStr (458) 556 557
+tGMSH_MAJOR_VERSION (459) 418
+tGMSH_MINOR_VERSION (460) 419
+tGMSH_PATCH_VERSION (461) 420
+tGmshExecutableName (462) 549
+tSetPartition (463) 234
+tNameToString (464) 547
+tStringToName (465) 584 587
+tAFFECTDIVIDE (466) 66
+tAFFECTTIMES (467) 65
+tAFFECTMINUS (468) 64
+tAFFECTPLUS (469) 63 89
+tOR (470) 386
+tAND (471) 385
+tNOTEQUAL (472) 384
+tEQUAL (473) 383
+tGREATERGREATER (474) 26 387
+tLESSLESS (475) 388
+tGREATEROREQUAL (476) 382
+tLESSOREQUAL (477) 381
+UNARYPREC (478)
+tMINUSMINUS (479) 68
+tPLUSPLUS (480) 67
+
+
+Nonterminals, with rules where they appear
+
+$accept (248)
+    on left: 0
+All (249)
+    on left: 1 2, on right: 0
+GeoFormatItems (250)
+    on left: 3 4, on right: 1 4
+GeoFormatItem (251)
+    on left: 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
+   , on right: 4
+SendToFile (252)
+    on left: 25 26, on right: 29 32
+Printf (253)
+    on left: 27 28 29 30 31 32, on right: 5
+View (254)
+    on left: 33 34 35 36, on right: 6
+Views (255)
+    on left: 37 38 39 40 41 42, on right: 33 38 39 40 41 42
+ElementCoords (256)
+    on left: 43 44, on right: 44 49
+ElementValues (257)
+    on left: 45 46, on right: 46 49 61
+Element (258)
+    on left: 49, on right: 38
+@1 (259)
+    on left: 47, on right: 49
+@2 (260)
+    on left: 48, on right: 49
+Text2DValues (261)
+    on left: 50 51, on right: 51 53
+Text2D (262)
+    on left: 53, on right: 39
+@3 (263)
+    on left: 52, on right: 53
+Text3DValues (264)
+    on left: 54 55, on right: 55 57
+Text3D (265)
+    on left: 57, on right: 40
+@4 (266)
+    on left: 56, on right: 57
+InterpolationMatrix (267)
+    on left: 58 59, on right: 41
+Time (268)
+    on left: 61, on right: 42
+@5 (269)
+    on left: 60, on right: 61
+NumericAffectation (270)
+    on left: 62 63 64 65 66, on right: 78 80 81 82 84 92 93 193 194
+    195 196
+NumericIncrement (271)
+    on left: 67 68, on right: 79 83 85 94 95 441 442 443 449 450
+LP (272)
+    on left: 69 70, on right: 76 77 80 81 87 88 89 116 390 391 392
+    393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408
+    409 410 411 412 425 427 428 437 439 440 453 454 455 509 513 514
+    515 516 517 518 519 520 554 555 558 562 563 564 565 566 567 568
+    569 570 571 573 574 576 577
+RP (273)
+    on left: 71 72, on right: 76 77 80 81 87 88 89 116 390 391 392
+    393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408
+    409 410 411 412 425 427 428 437 439 440 453 454 455 509 513 514
+    515 516 517 518 519 520 554 555 558 562 563 564 565 566 567 568
+    569 570 571 573 574 576 577
+Affectation (274)
+    on left: 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
+    91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107,
+    on right: 7
+Comma (275)
+    on left: 108 109, on right: 111 112 114 116 117 119 121
+DefineConstants (276)
+    on left: 110 111 112 114 116 117 119, on right: 73 111 112 114
+    116 117 119
+@6 (277)
+    on left: 113, on right: 114
+@7 (278)
+    on left: 115, on right: 116
+@8 (279)
+    on left: 118, on right: 119
+UndefineConstants (280)
+    on left: 120 121, on right: 74 121
+Enumeration (281)
+    on left: 122 123 124, on right: 123 133
+FloatParameterOptionsOrNone (282)
+    on left: 125 126, on right: 114 116 425
+FloatParameterOptionsOrNone_NoComma (283)
+    on left: 127 128, on right: 462
+FloatParameterOptions (284)
+    on left: 129 130, on right: 126 128 130
+FloatParameterOption (285)
+    on left: 131 132 133 134, on right: 129 130
+CharParameterOptionsOrNone (286)
+    on left: 135 136, on right: 119 576
+CharParameterOptions (287)
+    on left: 137 138, on right: 136 138
+CharParameterOption (288)
+    on left: 139 140 141 142, on right: 137 138
+PhysicalId0 (289)
+    on left: 143 144 145, on right: 193
+PhysicalId1 (290)
+    on left: 146 147 148, on right: 194
+PhysicalId2 (291)
+    on left: 149 150 151, on right: 195
+PhysicalId3 (292)
+    on left: 152 153 154, on right: 196
+InSphereCenter (293)
+    on left: 155 156, on right: 171 172
+CircleOptions (294)
+    on left: 157 158, on right: 162 163
+Shape (295)
+    on left: 159 160 161 162 163 164 165 166 167 168 169 170 171 172
+    173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188
+    189 190 191 192 193 194 195 196, on right: 9 208
+Transform (296)
+    on left: 197 198 199 200 201 202 203 204, on right: 10 206 506
+MultipleShape (297)
+    on left: 205 206, on right: 197 198 199 200 201 202
+ListOfShapes (298)
+    on left: 207 208 209 210 211 212, on right: 205 208 209 210 211
+    212 225 226 232 233 234 237 238 239 240 275 276 277 279 281 283
+    285 286 313 315
+LevelSet (299)
+    on left: 213 214 215 216 217 218 219 220 221 222 223 224,
+    on right: 23
+Delete (300)
+    on left: 225 226 227 228 229 230 231, on right: 11
+Colorify (301)
+    on left: 232 233, on right: 12
+SetPartition (302)
+    on left: 234, on right: 13
+Visibility (303)
+    on left: 235 236 237 238 239 240, on right: 14
+Command (304)
+    on left: 241 242 243 244 245 246 247 248 249 250 251 252 253 254
+    255 256 257 258 259, on right: 22
+Slide (305)
+    on left: 260, on right: 21
+Loop (306)
+    on left: 261 262 263 264 265 266 267 268 269 270 271 272 273 274
+   , on right: 20
+Extrude (307)
+    on left: 275 276 277 279 281 283 285 286 287 288 289,
+    on right: 15 507
+@9 (308)
+    on left: 278, on right: 279
+@10 (309)
+    on left: 280, on right: 281
+@11 (310)
+    on left: 282, on right: 283
+@12 (311)
+    on left: 284, on right: 285
+ExtrudeParameters (312)
+    on left: 290 291, on right: 279 281 283 285 291
+ExtrudeParameter (313)
+    on left: 292 293 294 295 296 297 298 299 300 301 302,
+    on right: 290 291
+BooleanOperator (314)
+    on left: 303 304 305 306 307, on right: 313 315
+BooleanOption (315)
+    on left: 308 309 310 311 312, on right: 313 315
+Boolean (316)
+    on left: 313 314, on right: 16 508
+BooleanShape (317)
+    on left: 315, on right: 17
+TransfiniteType (318)
+    on left: 316 317, on right: 327
+TransfiniteArrangement (319)
+    on left: 318 319, on right: 328
+TransfiniteCorners (320)
+    on left: 320 321, on right: 328 329
+RecombineAngle (321)
+    on left: 322 323, on right: 332
+PeriodicTransform (322)
+    on left: 324 325, on right: 335 336
+Constraints (323)
+    on left: 326 327 328 329 330 331 332 333 334 335 336 337 338 339
+    340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355
+   , on right: 18
+Coherence (324)
+    on left: 356 357 358, on right: 19
+HomologyCommand (325)
+    on left: 359 360 361, on right: 362 363 364 365
+Homology (326)
+    on left: 362 363 364 365, on right: 24
+FExpr (327)
+    on left: 366 367 368 369 370 371 372 373 374 375 376 377 378 379
+    380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395
+    396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411
+    412, on right: 34 35 36 43 44 45 46 53 57 76 82 83 84 85 91 92
+    93 95 97 99 100 101 102 103 104 105 106 112 122 123 139 143 145
+    146 148 149 151 152 154 156 159 160 161 162 163 164 165 166 167
+    168 169 170 171 172 174 175 176 177 178 179 180 181 182 183 184
+    185 186 187 188 189 190 191 192 198 200 203 204 213 214 215 216
+    217 218 219 220 221 222 223 224 227 228 234 243 244 245 253 259
+    261 262 263 264 271 272 276 277 281 283 286 289 292 296 301 302
+    311 312 315 317 323 326 327 331 334 337 338 341 342 343 344 345
+    346 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381
+    382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397
+    398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 425
+    428 430 431 442 443 446 447 448 450 451 458 467 475 476 477 478
+    481 486 490 491 492 493 502 503 504 505 515 516 518 521 523 525
+    526 530 535 536 539 540 541 542 543 544 545 566 567 568 578 579
+    582 583 584
+FExpr_Single (328)
+    on left: 413 414 415 416 417 418 419 420 421 422 423 425 426 427
+    428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443
+    444 445 446 447 448 449 450 451 452 453 454 455 456,
+    on right: 366
+@13 (329)
+    on left: 424, on right: 425
+GetForced_Default (330)
+    on left: 457 458, on right: 434 435
+GetForcedStr_Default (331)
+    on left: 459 460, on right: 556 557
+DefineStruct (332)
+    on left: 462, on right: 75 426
+@14 (333)
+    on left: 461, on right: 462
+Struct_FullName (334)
+    on left: 463 464, on right: 429 430 431 432 433 434 435 438 462
+    556 557
+tSTRING_Member_Float (335)
+    on left: 465, on right: 433 435 438 444 445 446 447 537 538 539
+    540 557
+Append (336)
+    on left: 466 467, on right: 469
+AppendOrNot (337)
+    on left: 468 469, on right: 462
+VExpr (338)
+    on left: 470 471 472 473 474, on right: 158 159 197 198 199 200
+    201 215 216 217 218 219 220 221 275 276 277 279 281 283 337 338
+    339 340 471 472 473 474
+VExpr_Single (339)
+    on left: 475 476 477 478, on right: 470
+RecursiveListOfListOfDouble (340)
+    on left: 479 480, on right: 58 59 187 214 259 480
+ListOfDouble (341)
+    on left: 481 482 483 484 485 486, on right: 78 80 81 114 116 131
+    160 161 162 163 164 165 166 167 168 169 170 171 172 176 177 178
+    179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194
+    195 196 213 222 287 288 293 301 321 325 326 352 353 354 355 363
+    364 365 452 479 480 487
+ListOfDoubleOrAll (342)
+    on left: 487 488, on right: 327 328 329 330 332 333 334 347 348
+    349 350 351 498 499 500 501
+FExpr_Multi (343)
+    on left: 489 490 491 492 493 494 495 496 497 498 499 500 501 502
+    503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518
+    519 520, on right: 124 482 489 490 511 512 519 520 522 524
+RecursiveListOfDouble (344)
+    on left: 521 522 523 524, on right: 30 31 32 81 104 203 204 209
+    210 211 212 215 216 217 218 219 220 221 259 260 289 331 335 336
+    337 338 339 340 341 342 343 344 345 346 358 484 485 486 513 514
+    523 524 570
+ColorExpr (345)
+    on left: 525 526 527 528, on right: 96 97 232 233 531 532
+ListOfColor (346)
+    on left: 529 530, on right: 98 99
+RecursiveListOfColor (347)
+    on left: 531 532, on right: 529 532
+StringExprVar (348)
+    on left: 533 534 535 536 537 538 539 540 541 542 543 544 545,
+    on right: 8 27 28 29 30 31 32 33 50 51 54 55 121 243 314 427 428
+    451 453 454 455 460 517 552 553 554 555 559 560 561 563 564 565
+    566 567 568 569 570 571 573 574 580 581 584 587
+StringExpr (349)
+    on left: 546 547 548 549 550 551 552 553 554 555 556 557 558 559
+    560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 576
+    577, on right: 76 77 86 90 91 103 107 117 119 122 123 134 140 141
+    144 145 147 148 150 151 153 154 241 260 267 270 436 533 576
+@15 (350)
+    on left: 575, on right: 576
+NameStruct_Arg (351)
+    on left: 578 579, on right: 577
+RecursiveListOfStringExprVar (352)
+    on left: 580 581, on right: 88 89 142 242 456 558 562 581
+StringIndex (353)
+    on left: 582 583 584, on right: 583 586
+String__Index (354)
+    on left: 585 586 587, on right: 33 77 78 79 80 81 82 83 84 85 86
+    87 88 89 90 91 92 93 94 95 96 97 98 99 100 111 112 114 116 117
+    119 124 229 241 243 244 245 269 437 439 441 442 443 444 445 446
+    447 448 449 450 463 464 509 510 514 527 530 534 535 536 537 538
+    539 540 541 547 579
+
+
+state 0
+
+    0 $accept: . All $end
+
+    error  shift, and go to state 1
+
+    $end                    reduce using rule 3 (GeoFormatItems)
+    tSTRING                 reduce using rule 3 (GeoFormatItems)
+    tEuclidian              reduce using rule 3 (GeoFormatItems)
+    tCoordinates            reduce using rule 3 (GeoFormatItems)
+    tPrintf                 reduce using rule 3 (GeoFormatItems)
+    tError                  reduce using rule 3 (GeoFormatItems)
+    tBoundingBox            reduce using rule 3 (GeoFormatItems)
+    tDraw                   reduce using rule 3 (GeoFormatItems)
+    tSetChanged             reduce using rule 3 (GeoFormatItems)
+    tSyncModel              reduce using rule 3 (GeoFormatItems)
+    tNewModel               reduce using rule 3 (GeoFormatItems)
+    tOnelabRun              reduce using rule 3 (GeoFormatItems)
+    tCreateTopology         reduce using rule 3 (GeoFormatItems)
+    tCreateTopologyNoHoles  reduce using rule 3 (GeoFormatItems)
+    tDefineConstant         reduce using rule 3 (GeoFormatItems)
+    tUndefineConstant       reduce using rule 3 (GeoFormatItems)
+    tDefineStruct           reduce using rule 3 (GeoFormatItems)
+    tSetNumber              reduce using rule 3 (GeoFormatItems)
+    tSetString              reduce using rule 3 (GeoFormatItems)
+    tPoint                  reduce using rule 3 (GeoFormatItems)
+    tCircle                 reduce using rule 3 (GeoFormatItems)
+    tEllipse                reduce using rule 3 (GeoFormatItems)
+    tLine                   reduce using rule 3 (GeoFormatItems)
+    tSphere                 reduce using rule 3 (GeoFormatItems)
+    tPolarSphere            reduce using rule 3 (GeoFormatItems)
+    tSurface                reduce using rule 3 (GeoFormatItems)
+    tSpline                 reduce using rule 3 (GeoFormatItems)
+    tVolume                 reduce using rule 3 (GeoFormatItems)
+    tBlock                  reduce using rule 3 (GeoFormatItems)
+    tCylinder               reduce using rule 3 (GeoFormatItems)
+    tCone                   reduce using rule 3 (GeoFormatItems)
+    tTorus                  reduce using rule 3 (GeoFormatItems)
+    tShapeFromFile          reduce using rule 3 (GeoFormatItems)
+    tRectangle              reduce using rule 3 (GeoFormatItems)
+    tDisk                   reduce using rule 3 (GeoFormatItems)
+    tWire                   reduce using rule 3 (GeoFormatItems)
+    tCharacteristic         reduce using rule 3 (GeoFormatItems)
+    tParametric             reduce using rule 3 (GeoFormatItems)
+    tRefineMesh             reduce using rule 3 (GeoFormatItems)
+    tAdaptMesh              reduce using rule 3 (GeoFormatItems)
+    tRelocateMesh           reduce using rule 3 (GeoFormatItems)
+    tSetFactory             reduce using rule 3 (GeoFormatItems)
+    tThruSections           reduce using rule 3 (GeoFormatItems)
+    tWedge                  reduce using rule 3 (GeoFormatItems)
+    tFillet                 reduce using rule 3 (GeoFormatItems)
+    tPlane                  reduce using rule 3 (GeoFormatItems)
+    tRuled                  reduce using rule 3 (GeoFormatItems)
+    tTransfinite            reduce using rule 3 (GeoFormatItems)
+    tPhysical               reduce using rule 3 (GeoFormatItems)
+    tCompound               reduce using rule 3 (GeoFormatItems)
+    tPeriodic               reduce using rule 3 (GeoFormatItems)
+    tPlugin                 reduce using rule 3 (GeoFormatItems)
+    tDegenerated            reduce using rule 3 (GeoFormatItems)
+    tRecursive              reduce using rule 3 (GeoFormatItems)
+    tRotate                 reduce using rule 3 (GeoFormatItems)
+    tTranslate              reduce using rule 3 (GeoFormatItems)
+    tSymmetry               reduce using rule 3 (GeoFormatItems)
+    tDilate                 reduce using rule 3 (GeoFormatItems)
+    tExtrude                reduce using rule 3 (GeoFormatItems)
+    tLevelset               reduce using rule 3 (GeoFormatItems)
+    tBooleanUnion           reduce using rule 3 (GeoFormatItems)
+    tBooleanIntersection    reduce using rule 3 (GeoFormatItems)
+    tBooleanDifference      reduce using rule 3 (GeoFormatItems)
+    tBooleanSection         reduce using rule 3 (GeoFormatItems)
+    tBooleanFragments       reduce using rule 3 (GeoFormatItems)
+    tThickSolid             reduce using rule 3 (GeoFormatItems)
+    tRecombine              reduce using rule 3 (GeoFormatItems)
+    tSmoother               reduce using rule 3 (GeoFormatItems)
+    tSplit                  reduce using rule 3 (GeoFormatItems)
+    tDelete                 reduce using rule 3 (GeoFormatItems)
+    tCoherence              reduce using rule 3 (GeoFormatItems)
+    tIntersect              reduce using rule 3 (GeoFormatItems)
+    tMeshAlgorithm          reduce using rule 3 (GeoFormatItems)
+    tReverse                reduce using rule 3 (GeoFormatItems)
+    tAlias                  reduce using rule 3 (GeoFormatItems)
+    tAliasWithOptions       reduce using rule 3 (GeoFormatItems)
+    tCopyOptions            reduce using rule 3 (GeoFormatItems)
+    tTransfQuadTri          reduce using rule 3 (GeoFormatItems)
+    tCombine                reduce using rule 3 (GeoFormatItems)
+    tBSpline                reduce using rule 3 (GeoFormatItems)
+    tBezier                 reduce using rule 3 (GeoFormatItems)
+    tNurbs                  reduce using rule 3 (GeoFormatItems)
+    tColor                  reduce using rule 3 (GeoFormatItems)
+    tFor                    reduce using rule 3 (GeoFormatItems)
+    tEndFor                 reduce using rule 3 (GeoFormatItems)
+    tIf                     reduce using rule 3 (GeoFormatItems)
+    tElseIf                 reduce using rule 3 (GeoFormatItems)
+    tElse                   reduce using rule 3 (GeoFormatItems)
+    tEndIf                  reduce using rule 3 (GeoFormatItems)
+    tExit                   reduce using rule 3 (GeoFormatItems)
+    tAbort                  reduce using rule 3 (GeoFormatItems)
+    tField                  reduce using rule 3 (GeoFormatItems)
+    tReturn                 reduce using rule 3 (GeoFormatItems)
+    tCall                   reduce using rule 3 (GeoFormatItems)
+    tSlide                  reduce using rule 3 (GeoFormatItems)
+    tMacro                  reduce using rule 3 (GeoFormatItems)
+    tShow                   reduce using rule 3 (GeoFormatItems)
+    tHide                   reduce using rule 3 (GeoFormatItems)
+    tHomology               reduce using rule 3 (GeoFormatItems)
+    tCohomology             reduce using rule 3 (GeoFormatItems)
+    tBetti                  reduce using rule 3 (GeoFormatItems)
+    tSetPartition           reduce using rule 3 (GeoFormatItems)
+    tStringToName           reduce using rule 3 (GeoFormatItems)
+
+    All             go to state 2
+    GeoFormatItems  go to state 3
+
+
+state 1
+
+    2 All: error . tEND
+
+    tEND  shift, and go to state 4
+
+
+state 2
+
+    0 $accept: All . $end
+
+    $end  shift, and go to state 5
+
+
+state 3
+
+    1 All: GeoFormatItems .
+    4 GeoFormatItems: GeoFormatItems . GeoFormatItem
+
+    tSTRING                 shift, and go to state 6
+    tEuclidian              shift, and go to state 7
+    tCoordinates            shift, and go to state 8
+    tPrintf                 shift, and go to state 9
+    tError                  shift, and go to state 10
+    tBoundingBox            shift, and go to state 11
+    tDraw                   shift, and go to state 12
+    tSetChanged             shift, and go to state 13
+    tSyncModel              shift, and go to state 14
+    tNewModel               shift, and go to state 15
+    tOnelabRun              shift, and go to state 16
+    tCreateTopology         shift, and go to state 17
+    tCreateTopologyNoHoles  shift, and go to state 18
+    tDefineConstant         shift, and go to state 19
+    tUndefineConstant       shift, and go to state 20
+    tDefineStruct           shift, and go to state 21
+    tSetNumber              shift, and go to state 22
+    tSetString              shift, and go to state 23
+    tPoint                  shift, and go to state 24
+    tCircle                 shift, and go to state 25
+    tEllipse                shift, and go to state 26
+    tLine                   shift, and go to state 27
+    tSphere                 shift, and go to state 28
+    tPolarSphere            shift, and go to state 29
+    tSurface                shift, and go to state 30
+    tSpline                 shift, and go to state 31
+    tVolume                 shift, and go to state 32
+    tBlock                  shift, and go to state 33
+    tCylinder               shift, and go to state 34
+    tCone                   shift, and go to state 35
+    tTorus                  shift, and go to state 36
+    tShapeFromFile          shift, and go to state 37
+    tRectangle              shift, and go to state 38
+    tDisk                   shift, and go to state 39
+    tWire                   shift, and go to state 40
+    tCharacteristic         shift, and go to state 41
+    tParametric             shift, and go to state 42
+    tRefineMesh             shift, and go to state 43
+    tAdaptMesh              shift, and go to state 44
+    tRelocateMesh           shift, and go to state 45
+    tSetFactory             shift, and go to state 46
+    tThruSections           shift, and go to state 47
+    tWedge                  shift, and go to state 48
+    tFillet                 shift, and go to state 49
+    tPlane                  shift, and go to state 50
+    tRuled                  shift, and go to state 51
+    tTransfinite            shift, and go to state 52
+    tPhysical               shift, and go to state 53
+    tCompound               shift, and go to state 54
+    tPeriodic               shift, and go to state 55
+    tPlugin                 shift, and go to state 56
+    tDegenerated            shift, and go to state 57
+    tRecursive              shift, and go to state 58
+    tRotate                 shift, and go to state 59
+    tTranslate              shift, and go to state 60
+    tSymmetry               shift, and go to state 61
+    tDilate                 shift, and go to state 62
+    tExtrude                shift, and go to state 63
+    tLevelset               shift, and go to state 64
+    tBooleanUnion           shift, and go to state 65
+    tBooleanIntersection    shift, and go to state 66
+    tBooleanDifference      shift, and go to state 67
+    tBooleanSection         shift, and go to state 68
+    tBooleanFragments       shift, and go to state 69
+    tThickSolid             shift, and go to state 70
+    tRecombine              shift, and go to state 71
+    tSmoother               shift, and go to state 72
+    tSplit                  shift, and go to state 73
+    tDelete                 shift, and go to state 74
+    tCoherence              shift, and go to state 75
+    tIntersect              shift, and go to state 76
+    tMeshAlgorithm          shift, and go to state 77
+    tReverse                shift, and go to state 78
+    tAlias                  shift, and go to state 79
+    tAliasWithOptions       shift, and go to state 80
+    tCopyOptions            shift, and go to state 81
+    tTransfQuadTri          shift, and go to state 82
+    tCombine                shift, and go to state 83
+    tBSpline                shift, and go to state 84
+    tBezier                 shift, and go to state 85
+    tNurbs                  shift, and go to state 86
+    tColor                  shift, and go to state 87
+    tFor                    shift, and go to state 88
+    tEndFor                 shift, and go to state 89
+    tIf                     shift, and go to state 90
+    tElseIf                 shift, and go to state 91
+    tElse                   shift, and go to state 92
+    tEndIf                  shift, and go to state 93
+    tExit                   shift, and go to state 94
+    tAbort                  shift, and go to state 95
+    tField                  shift, and go to state 96
+    tReturn                 shift, and go to state 97
+    tCall                   shift, and go to state 98
+    tSlide                  shift, and go to state 99
+    tMacro                  shift, and go to state 100
+    tShow                   shift, and go to state 101
+    tHide                   shift, and go to state 102
+    tHomology               shift, and go to state 103
+    tCohomology             shift, and go to state 104
+    tBetti                  shift, and go to state 105
+    tSetPartition           shift, and go to state 106
+    tStringToName           shift, and go to state 107
+
+    $default  reduce using rule 1 (All)
+
+    GeoFormatItem    go to state 108
+    Printf           go to state 109
+    View             go to state 110
+    Affectation      go to state 111
+    Shape            go to state 112
+    Transform        go to state 113
+    LevelSet         go to state 114
+    Delete           go to state 115
+    Colorify         go to state 116
+    SetPartition     go to state 117
+    Visibility       go to state 118
+    Command          go to state 119
+    Slide            go to state 120
+    Loop             go to state 121
+    Extrude          go to state 122
+    BooleanOperator  go to state 123
+    Boolean          go to state 124
+    BooleanShape     go to state 125
+    Constraints      go to state 126
+    Coherence        go to state 127
+    HomologyCommand  go to state 128
+    Homology         go to state 129
+    DefineStruct     go to state 130
+    StringIndex      go to state 131
+    String__Index    go to state 132
+
+
+state 4
+
+    2 All: error tEND .
+
+    $default  reduce using rule 2 (All)
+
+
+state 5
+
+    0 $accept: All $end .
+
+    $default  accept
+
+
+state 6
+
+  202 Transform: tSTRING . '{' MultipleShape '}'
+  582 StringIndex: tSTRING . '~' '{' FExpr '}'
+  585 String__Index: tSTRING .
+
+    '{'  shift, and go to state 133
+    '~'  shift, and go to state 134
+
+    $default  reduce using rule 585 (String__Index)
+
+
+state 7
+
+  173 Shape: tEuclidian . tCoordinates tEND
+
+    tCoordinates  shift, and go to state 135
+
+
+state 8
+
+  174 Shape: tCoordinates . tSurface FExpr tEND
+
+    tSurface  shift, and go to state 136
+
+
+state 9
+
+   27 Printf: tPrintf . '(' StringExprVar ')' tEND
+   29       | tPrintf . '(' StringExprVar ')' SendToFile StringExprVar tEND
+   30       | tPrintf . '(' StringExprVar ',' RecursiveListOfDouble ')' tEND
+   32       | tPrintf . '(' StringExprVar ',' RecursiveListOfDouble ')' SendToFile StringExprVar tEND
+
+    '('  shift, and go to state 137
+
+
+state 10
+
+   28 Printf: tError . '(' StringExprVar ')' tEND
+   31       | tError . '(' StringExprVar ',' RecursiveListOfDouble ')' tEND
+
+    '('  shift, and go to state 138
+
+
+state 11
+
+  252 Command: tBoundingBox . tEND
+  253        | tBoundingBox . '{' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr '}' tEND
+
+    tEND  shift, and go to state 139
+    '{'   shift, and go to state 140
+
+
+state 12
+
+  254 Command: tDraw . tEND
+
+    tEND  shift, and go to state 141
+
+
+state 13
+
+  255 Command: tSetChanged . tEND
+
+    tEND  shift, and go to state 142
+
+
+state 14
+
+  250 Command: tSyncModel . tEND
+
+    tEND  shift, and go to state 143
+
+
+state 15
+
+  251 Command: tNewModel . tEND
+
+    tEND  shift, and go to state 144
+
+
+state 16
+
+  242 Command: tOnelabRun . '(' RecursiveListOfStringExprVar ')' tEND
+
+    '('  shift, and go to state 145
+
+
+state 17
+
+  256 Command: tCreateTopology . tEND
+
+    tEND  shift, and go to state 146
+
+
+state 18
+
+  257 Command: tCreateTopologyNoHoles . tEND
+
+    tEND  shift, and go to state 147
+
+
+state 19
+
+   73 Affectation: tDefineConstant . '[' DefineConstants ']' tEND
+
+    '['  shift, and go to state 148
+
+
+state 20
+
+   74 Affectation: tUndefineConstant . '[' UndefineConstants ']' tEND
+
+    '['  shift, and go to state 149
+
+
+state 21
+
+  462 DefineStruct: tDefineStruct . Struct_FullName AppendOrNot @14 '[' FloatParameterOptionsOrNone_NoComma ']'
+
+    tSTRING        shift, and go to state 150
+    tStringToName  shift, and go to state 107
+
+    Struct_FullName  go to state 151
+    StringIndex      go to state 131
+    String__Index    go to state 152
+
+
+state 22
+
+   76 Affectation: tSetNumber . LP StringExpr ',' FExpr RP tEND
+
+    '('  shift, and go to state 153
+    '['  shift, and go to state 154
+
+    LP  go to state 155
+
+
+state 23
+
+   77 Affectation: tSetString . LP String__Index ',' StringExpr RP tEND
+
+    '('  shift, and go to state 153
+    '['  shift, and go to state 154
+
+    LP  go to state 156
+
+
+state 24
+
+  159 Shape: tPoint . '(' FExpr ')' tAFFECT VExpr tEND
+  342 Constraints: tPoint . '{' RecursiveListOfDouble '}' tIn tSurface '{' FExpr '}' tEND
+  344            | tPoint . '{' RecursiveListOfDouble '}' tIn tVolume '{' FExpr '}' tEND
+
+    '('  shift, and go to state 157
+    '{'  shift, and go to state 158
+
+
+state 25
+
+  162 Shape: tCircle . '(' FExpr ')' tAFFECT ListOfDouble CircleOptions tEND
+
+    '('  shift, and go to state 159
+
+
+state 26
+
+  163 Shape: tEllipse . '(' FExpr ')' tAFFECT ListOfDouble CircleOptions tEND
+
+    '('  shift, and go to state 160
+
+
+state 27
+
+  160 Shape: tLine . '(' FExpr ')' tAFFECT ListOfDouble tEND
+  169      | tLine . tSTRING '(' FExpr ')' tAFFECT ListOfDouble tEND
+  343 Constraints: tLine . '{' RecursiveListOfDouble '}' tIn tSurface '{' FExpr '}' tEND
+  345            | tLine . '{' RecursiveListOfDouble '}' tIn tVolume '{' FExpr '}' tEND
+
+    tSTRING  shift, and go to state 161
+    '('      shift, and go to state 162
+    '{'      shift, and go to state 163
+
+
+state 28
+
+  176 Shape: tSphere . '(' FExpr ')' tAFFECT ListOfDouble tEND
+
+    '('  shift, and go to state 164
+
+
+state 29
+
+  177 Shape: tPolarSphere . '(' FExpr ')' tAFFECT ListOfDouble tEND
+
+    '('  shift, and go to state 165
+
+
+state 30
+
+  171 Shape: tSurface . '(' FExpr ')' tAFFECT ListOfDouble InSphereCenter tEND
+  188      | tSurface . tSTRING '(' FExpr ')' tAFFECT ListOfDouble tEND
+  346 Constraints: tSurface . '{' RecursiveListOfDouble '}' tIn tVolume '{' FExpr '}' tEND
+
+    tSTRING  shift, and go to state 166
+    '('      shift, and go to state 167
+    '{'      shift, and go to state 168
+
+
+state 31
+
+  161 Shape: tSpline . '(' FExpr ')' tAFFECT ListOfDouble tEND
+
+    '('  shift, and go to state 169
+
+
+state 32
+
+  189 Shape: tVolume . '(' FExpr ')' tAFFECT ListOfDouble tEND
+
+    '('  shift, and go to state 170
+
+
+state 33
+
+  178 Shape: tBlock . '(' FExpr ')' tAFFECT ListOfDouble tEND
+
+    '('  shift, and go to state 171
+
+
+state 34
+
+  182 Shape: tCylinder . '(' FExpr ')' tAFFECT ListOfDouble tEND
+
+    '('  shift, and go to state 172
+
+
+state 35
+
+  183 Shape: tCone . '(' FExpr ')' tAFFECT ListOfDouble tEND
+
+    '('  shift, and go to state 173
+
+
+state 36
+
+  179 Shape: tTorus . '(' FExpr ')' tAFFECT ListOfDouble tEND
+
+    '('  shift, and go to state 174
+
+
+state 37
+
+  314 Boolean: tShapeFromFile . '(' StringExprVar ')'
+
+    '('  shift, and go to state 175
+
+
+state 38
+
+  180 Shape: tRectangle . '(' FExpr ')' tAFFECT ListOfDouble tEND
+
+    '('  shift, and go to state 176
+
+
+state 39
+
+  181 Shape: tDisk . '(' FExpr ')' tAFFECT ListOfDouble tEND
+
+    '('  shift, and go to state 177
+
+
+state 40
+
+  168 Shape: tWire . '(' FExpr ')' tAFFECT ListOfDouble tEND
+
+    '('  shift, and go to state 178
+
+
+state 41
+
+  326 Constraints: tCharacteristic . tLength ListOfDouble tAFFECT FExpr tEND
+
+    tLength  shift, and go to state 179
+
+
+state 42
+
+  175 Shape: tParametric . tSurface '(' FExpr ')' tAFFECT tBIGSTR tBIGSTR tBIGSTR tEND
+
+    tSurface  shift, and go to state 180
+
+
+state 43
+
+  258 Command: tRefineMesh . tEND
+
+    tEND  shift, and go to state 181
+
+
+state 44
+
+  259 Command: tAdaptMesh . '{' RecursiveListOfDouble '}' '{' RecursiveListOfDouble '}' '{' RecursiveListOfListOfDouble '}' '{' FExpr ',' FExpr '}' tEND
+
+    '{'  shift, and go to state 182
+
+
+state 45
+
+  349 Constraints: tRelocateMesh . tPoint ListOfDoubleOrAll tEND
+  350            | tRelocateMesh . tLine ListOfDoubleOrAll tEND
+  351            | tRelocateMesh . tSurface ListOfDoubleOrAll tEND
+
+    tPoint    shift, and go to state 183
+    tLine     shift, and go to state 184
+    tSurface  shift, and go to state 185
+
+
+state 46
+
+    8 GeoFormatItem: tSetFactory . '(' StringExprVar ')' tEND
+
+    '('  shift, and go to state 186
+
+
+state 47
+
+  190 Shape: tThruSections . '(' FExpr ')' tAFFECT ListOfDouble tEND
+  287 Extrude: tThruSections . ListOfDouble
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 247
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 249
+    '{'                   shift, and go to state 250
+    '#'                   shift, and go to state 251
+
+    Transform        go to state 252
+    Extrude          go to state 253
+    BooleanOperator  go to state 254
+    Boolean          go to state 255
+    FExpr            go to state 256
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    ListOfDouble     go to state 260
+    FExpr_Multi      go to state 261
+    StringIndex      go to state 131
+    String__Index    go to state 262
+
+
+state 48
+
+  184 Shape: tWedge . '(' FExpr ')' tAFFECT ListOfDouble tEND
+
+    '('  shift, and go to state 263
+
+
+state 49
+
+  289 Extrude: tFillet . '{' RecursiveListOfDouble '}' '{' RecursiveListOfDouble '}' '{' FExpr '}'
+
+    '{'  shift, and go to state 264
+
+
+state 50
+
+  170 Shape: tPlane . tSurface '(' FExpr ')' tAFFECT ListOfDouble tEND
+
+    tSurface  shift, and go to state 265
+
+
+state 51
+
+  172 Shape: tRuled . tSurface '(' FExpr ')' tAFFECT ListOfDouble InSphereCenter tEND
+  191      | tRuled . tThruSections '(' FExpr ')' tAFFECT ListOfDouble tEND
+  288 Extrude: tRuled . tThruSections ListOfDouble
+
+    tSurface       shift, and go to state 266
+    tThruSections  shift, and go to state 267
+
+
+state 52
+
+  327 Constraints: tTransfinite . tLine ListOfDoubleOrAll tAFFECT FExpr TransfiniteType tEND
+  328            | tTransfinite . tSurface ListOfDoubleOrAll TransfiniteCorners TransfiniteArrangement tEND
+  329            | tTransfinite . tVolume ListOfDoubleOrAll TransfiniteCorners tEND
+
+    tLine     shift, and go to state 268
+    tSurface  shift, and go to state 269
+    tVolume   shift, and go to state 270
+
+
+state 53
+
+  193 Shape: tPhysical . tPoint '(' PhysicalId0 ')' NumericAffectation ListOfDouble tEND
+  194      | tPhysical . tLine '(' PhysicalId1 ')' NumericAffectation ListOfDouble tEND
+  195      | tPhysical . tSurface '(' PhysicalId2 ')' NumericAffectation ListOfDouble tEND
+  196      | tPhysical . tVolume '(' PhysicalId3 ')' NumericAffectation ListOfDouble tEND
+
+    tPoint    shift, and go to state 271
+    tLine     shift, and go to state 272
+    tSurface  shift, and go to state 273
+    tVolume   shift, and go to state 274
+
+
+state 54
+
+  167 Shape: tCompound . tLine '(' FExpr ')' tAFFECT ListOfDouble tEND
+  186      | tCompound . tSurface '(' FExpr ')' tAFFECT ListOfDouble tEND
+  187      | tCompound . tSurface '(' FExpr ')' tAFFECT ListOfDouble tSTRING '{' RecursiveListOfListOfDouble '}' tEND
+  192      | tCompound . tVolume '(' FExpr ')' tAFFECT ListOfDouble tEND
+  353 Constraints: tCompound . tLine ListOfDouble tEND
+  354            | tCompound . tSurface ListOfDouble tEND
+  355            | tCompound . tVolume ListOfDouble tEND
+
+    tLine     shift, and go to state 275
+    tSurface  shift, and go to state 276
+    tVolume   shift, and go to state 277
+
+
+state 55
+
+  335 Constraints: tPeriodic . tLine '{' RecursiveListOfDouble '}' tAFFECT '{' RecursiveListOfDouble '}' PeriodicTransform tEND
+  336            | tPeriodic . tSurface '{' RecursiveListOfDouble '}' tAFFECT '{' RecursiveListOfDouble '}' PeriodicTransform tEND
+  337            | tPeriodic . tLine '{' RecursiveListOfDouble '}' tAFFECT '{' RecursiveListOfDouble '}' tRotate '{' VExpr ',' VExpr ',' FExpr '}' tEND
+  338            | tPeriodic . tSurface '{' RecursiveListOfDouble '}' tAFFECT '{' RecursiveListOfDouble '}' tRotate '{' VExpr ',' VExpr ',' FExpr '}' tEND
+  339            | tPeriodic . tLine '{' RecursiveListOfDouble '}' tAFFECT '{' RecursiveListOfDouble '}' tTranslate VExpr tEND
+  340            | tPeriodic . tSurface '{' RecursiveListOfDouble '}' tAFFECT '{' RecursiveListOfDouble '}' tTranslate VExpr tEND
+  341            | tPeriodic . tSurface FExpr '{' RecursiveListOfDouble '}' tAFFECT FExpr '{' RecursiveListOfDouble '}' tEND
+
+    tLine     shift, and go to state 278
+    tSurface  shift, and go to state 279
+
+
+state 56
+
+  106 Affectation: tPlugin . '(' tSTRING ')' '.' tSTRING tAFFECT FExpr tEND
+  107            | tPlugin . '(' tSTRING ')' '.' tSTRING tAFFECT StringExpr tEND
+  246 Command: tPlugin . '(' tSTRING ')' '.' tSTRING tEND
+
+    '('  shift, and go to state 280
+
+
+state 57
+
+  352 Constraints: tDegenerated . tLine ListOfDouble tEND
+
+    tLine  shift, and go to state 281
+
+
+state 58
+
+  226 Delete: tRecursive . tDelete '{' ListOfShapes '}'
+  233 Colorify: tRecursive . tColor ColorExpr '{' ListOfShapes '}'
+  238 Visibility: tRecursive . tShow '{' ListOfShapes '}'
+  240           | tRecursive . tHide '{' ListOfShapes '}'
+
+    tDelete  shift, and go to state 282
+    tColor   shift, and go to state 283
+    tShow    shift, and go to state 284
+    tHide    shift, and go to state 285
+
+
+state 59
+
+  198 Transform: tRotate . '{' VExpr ',' VExpr ',' FExpr '}' '{' MultipleShape '}'
+
+    '{'  shift, and go to state 286
+
+
+state 60
+
+  197 Transform: tTranslate . VExpr '{' MultipleShape '}'
+
+    '+'  shift, and go to state 287
+    '-'  shift, and go to state 288
+    '('  shift, and go to state 289
+    '{'  shift, and go to state 290
+
+    VExpr         go to state 291
+    VExpr_Single  go to state 292
+
+
+state 61
+
+  199 Transform: tSymmetry . VExpr '{' MultipleShape '}'
+
+    '+'  shift, and go to state 287
+    '-'  shift, and go to state 288
+    '('  shift, and go to state 289
+    '{'  shift, and go to state 290
+
+    VExpr         go to state 293
+    VExpr_Single  go to state 292
+
+
+state 62
+
+  200 Transform: tDilate . '{' VExpr ',' FExpr '}' '{' MultipleShape '}'
+  201          | tDilate . '{' VExpr ',' VExpr '}' '{' MultipleShape '}'
+
+    '{'  shift, and go to state 294
+
+
+state 63
+
+  275 Extrude: tExtrude . VExpr '{' ListOfShapes '}'
+  276        | tExtrude . '{' VExpr ',' VExpr ',' FExpr '}' '{' ListOfShapes '}'
+  277        | tExtrude . '{' VExpr ',' VExpr ',' VExpr ',' FExpr '}' '{' ListOfShapes '}'
+  279        | tExtrude . VExpr '{' ListOfShapes @9 ExtrudeParameters '}'
+  281        | tExtrude . '{' VExpr ',' VExpr ',' FExpr '}' '{' ListOfShapes @10 ExtrudeParameters '}'
+  283        | tExtrude . '{' VExpr ',' VExpr ',' VExpr ',' FExpr '}' '{' ListOfShapes @11 ExtrudeParameters '}'
+  285        | tExtrude . '{' ListOfShapes @12 ExtrudeParameters '}'
+  286        | tExtrude . '{' ListOfShapes '}' tUsing tWire '{' FExpr '}'
+
+    '+'  shift, and go to state 287
+    '-'  shift, and go to state 288
+    '('  shift, and go to state 289
+    '{'  shift, and go to state 295
+
+    VExpr         go to state 296
+    VExpr_Single  go to state 292
+
+
+state 64
+
+  213 LevelSet: tLevelset . tPlane '(' FExpr ')' tAFFECT ListOfDouble tEND
+  214         | tLevelset . tPoint '(' FExpr ')' tAFFECT '{' RecursiveListOfListOfDouble '}' tEND
+  215         | tLevelset . tPlane '(' FExpr ')' tAFFECT '{' VExpr ',' VExpr ',' RecursiveListOfDouble '}' tEND
+  216         | tLevelset . tPlane '(' FExpr ')' tAFFECT '{' VExpr ',' VExpr ',' VExpr ',' RecursiveListOfDouble '}' tEND
+  217         | tLevelset . tSphere '(' FExpr ')' tAFFECT '{' VExpr ',' RecursiveListOfDouble '}' tEND
+  218         | tLevelset . tCylinder '(' FExpr ')' tAFFECT '{' VExpr ',' VExpr ',' RecursiveListOfDouble '}' tEND
+  219         | tLevelset . tCone '(' FExpr ')' tAFFECT '{' VExpr ',' VExpr ',' RecursiveListOfDouble '}' tEND
+  220         | tLevelset . tEllipsoid '(' FExpr ')' tAFFECT '{' VExpr ',' VExpr ',' RecursiveListOfDouble '}' tEND
+  221         | tLevelset . tQuadric '(' FExpr ')' tAFFECT '{' VExpr ',' VExpr ',' RecursiveListOfDouble '}' tEND
+  222         | tLevelset . tSTRING '(' FExpr ')' tAFFECT ListOfDouble tEND
+  223         | tLevelset . tSTRING '(' FExpr ')' tAFFECT tBIGSTR tEND
+  224         | tLevelset . tSTRING '{' FExpr '}' tEND
+
+    tSTRING     shift, and go to state 297
+    tPoint      shift, and go to state 298
+    tSphere     shift, and go to state 299
+    tCylinder   shift, and go to state 300
+    tCone       shift, and go to state 301
+    tEllipsoid  shift, and go to state 302
+    tQuadric    shift, and go to state 303
+    tPlane      shift, and go to state 304
+
+
+state 65
+
+  303 BooleanOperator: tBooleanUnion .
+
+    $default  reduce using rule 303 (BooleanOperator)
+
+
+state 66
+
+  304 BooleanOperator: tBooleanIntersection .
+
+    $default  reduce using rule 304 (BooleanOperator)
+
+
+state 67
+
+  305 BooleanOperator: tBooleanDifference .
+
+    $default  reduce using rule 305 (BooleanOperator)
+
+
+state 68
+
+  306 BooleanOperator: tBooleanSection .
+
+    $default  reduce using rule 306 (BooleanOperator)
+
+
+state 69
+
+  307 BooleanOperator: tBooleanFragments .
+
+    $default  reduce using rule 307 (BooleanOperator)
+
+
+state 70
+
+  185 Shape: tThickSolid . '(' FExpr ')' tAFFECT ListOfDouble tEND
+
+    '('  shift, and go to state 305
+
+
+state 71
+
+  332 Constraints: tRecombine . tSurface ListOfDoubleOrAll RecombineAngle tEND
+  333            | tRecombine . tVolume ListOfDoubleOrAll tEND
+
+    tSurface  shift, and go to state 306
+    tVolume   shift, and go to state 307
+
+
+state 72
+
+  334 Constraints: tSmoother . tSurface ListOfDoubleOrAll tAFFECT FExpr tEND
+
+    tSurface  shift, and go to state 308
+
+
+state 73
+
+  204 Transform: tSplit . tLine '(' FExpr ')' '{' RecursiveListOfDouble '}' tEND
+
+    tLine  shift, and go to state 309
+
+
+state 74
+
+  225 Delete: tDelete . '{' ListOfShapes '}'
+  227       | tDelete . tField '[' FExpr ']' tEND
+  228       | tDelete . tSTRING '[' FExpr ']' tEND
+  229       | tDelete . String__Index tEND
+  230       | tDelete . tSTRING tSTRING tEND
+  231       | tDelete . tDefineStruct tEND
+
+    tSTRING        shift, and go to state 310
+    tDefineStruct  shift, and go to state 311
+    tField         shift, and go to state 312
+    tStringToName  shift, and go to state 107
+    '{'            shift, and go to state 313
+
+    StringIndex    go to state 131
+    String__Index  go to state 314
+
+
+state 75
+
+  356 Coherence: tCoherence . tEND
+  357          | tCoherence . tSTRING tEND
+  358          | tCoherence . tPoint '{' RecursiveListOfDouble '}' tEND
+
+    tSTRING  shift, and go to state 315
+    tEND     shift, and go to state 316
+    tPoint   shift, and go to state 317
+
+
+state 76
+
+  203 Transform: tIntersect . tLine '{' RecursiveListOfDouble '}' tSurface '{' FExpr '}'
+
+    tLine  shift, and go to state 318
+
+
+state 77
+
+  331 Constraints: tMeshAlgorithm . tSurface '{' RecursiveListOfDouble '}' tAFFECT FExpr tEND
+
+    tSurface  shift, and go to state 319
+
+
+state 78
+
+  347 Constraints: tReverse . tSurface ListOfDoubleOrAll tEND
+  348            | tReverse . tLine ListOfDoubleOrAll tEND
+
+    tLine     shift, and go to state 320
+    tSurface  shift, and go to state 321
+
+
+state 79
+
+   34 View: tAlias . tSTRING '[' FExpr ']' tEND
+
+    tSTRING  shift, and go to state 322
+
+
+state 80
+
+   35 View: tAliasWithOptions . tSTRING '[' FExpr ']' tEND
+
+    tSTRING  shift, and go to state 323
+
+
+state 81
+
+   36 View: tCopyOptions . tSTRING '[' FExpr ',' FExpr ']' tEND
+
+    tSTRING  shift, and go to state 324
+
+
+state 82
+
+  330 Constraints: tTransfQuadTri . ListOfDoubleOrAll tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tBIGSTR               shift, and go to state 325
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 247
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '{'                   shift, and go to state 250
+    '#'                   shift, and go to state 251
+
+    Transform          go to state 252
+    Extrude            go to state 253
+    BooleanOperator    go to state 254
+    Boolean            go to state 255
+    FExpr              go to state 256
+    FExpr_Single       go to state 257
+    DefineStruct       go to state 258
+    Struct_FullName    go to state 259
+    ListOfDouble       go to state 327
+    ListOfDoubleOrAll  go to state 328
+    FExpr_Multi        go to state 261
+    StringIndex        go to state 131
+    String__Index      go to state 262
+
+
+state 83
+
+  247 Command: tCombine . tSTRING tEND
+
+    tSTRING  shift, and go to state 329
+
+
+state 84
+
+  164 Shape: tBSpline . '(' FExpr ')' tAFFECT ListOfDouble tEND
+
+    '('  shift, and go to state 330
+
+
+state 85
+
+  165 Shape: tBezier . '(' FExpr ')' tAFFECT ListOfDouble tEND
+
+    '('  shift, and go to state 331
+
+
+state 86
+
+  166 Shape: tNurbs . '(' FExpr ')' tAFFECT ListOfDouble tNurbsKnots ListOfDouble tNurbsOrder FExpr tEND
+
+    '('  shift, and go to state 332
+
+
+state 87
+
+  232 Colorify: tColor . ColorExpr '{' ListOfShapes '}'
+
+    tSTRING        shift, and go to state 333
+    tStringToName  shift, and go to state 107
+    '{'            shift, and go to state 334
+
+    ColorExpr      go to state 335
+    StringIndex    go to state 131
+    String__Index  go to state 336
+
+
+state 88
+
+  261 Loop: tFor . '(' FExpr tDOTS FExpr ')'
+  262     | tFor . '(' FExpr tDOTS FExpr tDOTS FExpr ')'
+  263     | tFor . tSTRING tIn '{' FExpr tDOTS FExpr '}'
+  264     | tFor . tSTRING tIn '{' FExpr tDOTS FExpr tDOTS FExpr '}'
+
+    tSTRING  shift, and go to state 337
+    '('      shift, and go to state 338
+
+
+state 89
+
+  265 Loop: tEndFor .
+
+    $default  reduce using rule 265 (Loop)
+
+
+state 90
+
+  271 Loop: tIf . '(' FExpr ')'
+
+    '('  shift, and go to state 339
+
+
+state 91
+
+  272 Loop: tElseIf . '(' FExpr ')'
+
+    '('  shift, and go to state 340
+
+
+state 92
+
+  273 Loop: tElse .
+
+    $default  reduce using rule 273 (Loop)
+
+
+state 93
+
+  274 Loop: tEndIf .
+
+    $default  reduce using rule 274 (Loop)
+
+
+state 94
+
+  248 Command: tExit . tEND
+
+    tEND  shift, and go to state 341
+
+
+state 95
+
+  249 Command: tAbort . tEND
+
+    tEND  shift, and go to state 342
+
+
+state 96
+
+  101 Affectation: tField . '[' FExpr ']' tAFFECT tSTRING tEND
+  102            | tField . '[' FExpr ']' '.' tSTRING tAFFECT FExpr tEND
+  103            | tField . '[' FExpr ']' '.' tSTRING tAFFECT StringExpr tEND
+  104            | tField . '[' FExpr ']' '.' tSTRING tAFFECT '{' RecursiveListOfDouble '}' tEND
+  105            | tField . '[' FExpr ']' '.' tSTRING tEND
+
+    '['  shift, and go to state 343
+
+
+state 97
+
+  268 Loop: tReturn .
+
+    $default  reduce using rule 268 (Loop)
+
+
+state 98
+
+  269 Loop: tCall . String__Index tEND
+  270     | tCall . StringExpr tEND
+
+    tSTRING              shift, and go to state 150
+    tBIGSTR              shift, and go to state 344
+    tStr                 shift, and go to state 345
+    tSprintf             shift, and go to state 346
+    tStrCat              shift, and go to state 347
+    tStrPrefix           shift, and go to state 348
+    tStrRelative         shift, and go to state 349
+    tStrReplace          shift, and go to state 350
+    tAbsolutePath        shift, and go to state 351
+    tDirName             shift, and go to state 352
+    tStrSub              shift, and go to state 353
+    tStrChoice           shift, and go to state 354
+    tUpperCase           shift, and go to state 355
+    tLowerCase           shift, and go to state 356
+    tLowerCaseIn         shift, and go to state 357
+    tToday               shift, and go to state 358
+    tFixRelativePath     shift, and go to state 359
+    tCurrentDirectory    shift, and go to state 360
+    tOnelabAction        shift, and go to state 361
+    tCodeName            shift, and go to state 362
+    tNameStruct          shift, and go to state 363
+    tDefineString        shift, and go to state 364
+    tGetStringValue      shift, and go to state 365
+    tGetEnv              shift, and go to state 366
+    tGetString           shift, and go to state 367
+    tGetForcedStr        shift, and go to state 368
+    tGmshExecutableName  shift, and go to state 369
+    tNameToString        shift, and go to state 370
+    tStringToName        shift, and go to state 107
+
+    StringExpr     go to state 371
+    StringIndex    go to state 131
+    String__Index  go to state 372
+
+
+state 99
+
+  260 Slide: tSlide . '(' '{' RecursiveListOfDouble '}' ',' StringExpr ',' StringExpr ')' tEND
+
+    '('  shift, and go to state 373
+
+
+state 100
+
+  266 Loop: tMacro . tSTRING
+  267     | tMacro . StringExpr
+
+    tSTRING              shift, and go to state 374
+    tBIGSTR              shift, and go to state 344
+    tStr                 shift, and go to state 345
+    tSprintf             shift, and go to state 346
+    tStrCat              shift, and go to state 347
+    tStrPrefix           shift, and go to state 348
+    tStrRelative         shift, and go to state 349
+    tStrReplace          shift, and go to state 350
+    tAbsolutePath        shift, and go to state 351
+    tDirName             shift, and go to state 352
+    tStrSub              shift, and go to state 353
+    tStrChoice           shift, and go to state 354
+    tUpperCase           shift, and go to state 355
+    tLowerCase           shift, and go to state 356
+    tLowerCaseIn         shift, and go to state 357
+    tToday               shift, and go to state 358
+    tFixRelativePath     shift, and go to state 359
+    tCurrentDirectory    shift, and go to state 360
+    tOnelabAction        shift, and go to state 361
+    tCodeName            shift, and go to state 362
+    tNameStruct          shift, and go to state 363
+    tDefineString        shift, and go to state 364
+    tGetStringValue      shift, and go to state 365
+    tGetEnv              shift, and go to state 366
+    tGetString           shift, and go to state 367
+    tGetForcedStr        shift, and go to state 368
+    tGmshExecutableName  shift, and go to state 369
+    tNameToString        shift, and go to state 370
+
+    StringExpr  go to state 375
+
+
+state 101
+
+  235 Visibility: tShow . tBIGSTR tEND
+  237           | tShow . '{' ListOfShapes '}'
+
+    tBIGSTR  shift, and go to state 376
+    '{'      shift, and go to state 377
+
+
+state 102
+
+  236 Visibility: tHide . tBIGSTR tEND
+  239           | tHide . '{' ListOfShapes '}'
+
+    tBIGSTR  shift, and go to state 378
+    '{'      shift, and go to state 379
+
+
+state 103
+
+  359 HomologyCommand: tHomology .
+
+    $default  reduce using rule 359 (HomologyCommand)
+
+
+state 104
+
+  360 HomologyCommand: tCohomology .
+
+    $default  reduce using rule 360 (HomologyCommand)
+
+
+state 105
+
+  361 HomologyCommand: tBetti .
+
+    $default  reduce using rule 361 (HomologyCommand)
+
+
+state 106
+
+  234 SetPartition: tSetPartition . FExpr '{' ListOfShapes '}'
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 382
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 107
+
+  584 StringIndex: tStringToName . '[' StringExprVar ']' '~' '{' FExpr '}'
+  587 String__Index: tStringToName . '[' StringExprVar ']'
+
+    '['  shift, and go to state 384
+
+
+state 108
+
+    4 GeoFormatItems: GeoFormatItems GeoFormatItem .
+
+    $default  reduce using rule 4 (GeoFormatItems)
+
+
+state 109
+
+    5 GeoFormatItem: Printf .
+
+    $default  reduce using rule 5 (GeoFormatItem)
+
+
+state 110
+
+    6 GeoFormatItem: View .
+
+    $default  reduce using rule 6 (GeoFormatItem)
+
+
+state 111
+
+    7 GeoFormatItem: Affectation .
+
+    $default  reduce using rule 7 (GeoFormatItem)
+
+
+state 112
+
+    9 GeoFormatItem: Shape .
+
+    $default  reduce using rule 9 (GeoFormatItem)
+
+
+state 113
+
+   10 GeoFormatItem: Transform .
+
+    $default  reduce using rule 10 (GeoFormatItem)
+
+
+state 114
+
+   23 GeoFormatItem: LevelSet .
+
+    $default  reduce using rule 23 (GeoFormatItem)
+
+
+state 115
+
+   11 GeoFormatItem: Delete .
+
+    $default  reduce using rule 11 (GeoFormatItem)
+
+
+state 116
+
+   12 GeoFormatItem: Colorify .
+
+    $default  reduce using rule 12 (GeoFormatItem)
+
+
+state 117
+
+   13 GeoFormatItem: SetPartition .
+
+    $default  reduce using rule 13 (GeoFormatItem)
+
+
+state 118
+
+   14 GeoFormatItem: Visibility .
+
+    $default  reduce using rule 14 (GeoFormatItem)
+
+
+state 119
+
+   22 GeoFormatItem: Command .
+
+    $default  reduce using rule 22 (GeoFormatItem)
+
+
+state 120
+
+   21 GeoFormatItem: Slide .
+
+    $default  reduce using rule 21 (GeoFormatItem)
+
+
+state 121
+
+   20 GeoFormatItem: Loop .
+
+    $default  reduce using rule 20 (GeoFormatItem)
+
+
+state 122
+
+   15 GeoFormatItem: Extrude .
+
+    $default  reduce using rule 15 (GeoFormatItem)
+
+
+state 123
+
+  313 Boolean: BooleanOperator . '{' ListOfShapes BooleanOption '}' '{' ListOfShapes BooleanOption '}'
+  315 BooleanShape: BooleanOperator . '(' FExpr ')' tAFFECT '{' ListOfShapes BooleanOption '}' '{' ListOfShapes BooleanOption '}' tEND
+
+    '('  shift, and go to state 385
+    '{'  shift, and go to state 386
+
+
+state 124
+
+   16 GeoFormatItem: Boolean .
+
+    $default  reduce using rule 16 (GeoFormatItem)
+
+
+state 125
+
+   17 GeoFormatItem: BooleanShape .
+
+    $default  reduce using rule 17 (GeoFormatItem)
+
+
+state 126
+
+   18 GeoFormatItem: Constraints .
+
+    $default  reduce using rule 18 (GeoFormatItem)
+
+
+state 127
+
+   19 GeoFormatItem: Coherence .
+
+    $default  reduce using rule 19 (GeoFormatItem)
+
+
+state 128
+
+  362 Homology: HomologyCommand . tEND
+  363         | HomologyCommand . '{' ListOfDouble '}' tEND
+  364         | HomologyCommand . '{' ListOfDouble ',' ListOfDouble '}' tEND
+  365         | HomologyCommand . '(' ListOfDouble ')' '{' ListOfDouble ',' ListOfDouble '}' tEND
+
+    tEND  shift, and go to state 387
+    '('   shift, and go to state 388
+    '{'   shift, and go to state 389
+
+
+state 129
+
+   24 GeoFormatItem: Homology .
+
+    $default  reduce using rule 24 (GeoFormatItem)
+
+
+state 130
+
+   75 Affectation: DefineStruct . tEND
+
+    tEND  shift, and go to state 390
+
+
+state 131
+
+  583 StringIndex: StringIndex . '~' '{' FExpr '}'
+  586 String__Index: StringIndex .
+
+    '~'  shift, and go to state 391
+
+    $default  reduce using rule 586 (String__Index)
+
+
+state 132
+
+   33 View: String__Index . StringExprVar '{' Views '}' tEND
+   78 Affectation: String__Index . NumericAffectation ListOfDouble tEND
+   79            | String__Index . NumericIncrement tEND
+   80            | String__Index . LP RP NumericAffectation ListOfDouble tEND
+   81            | String__Index . LP '{' RecursiveListOfDouble '}' RP NumericAffectation ListOfDouble tEND
+   82            | String__Index . '[' FExpr ']' NumericAffectation FExpr tEND
+   83            | String__Index . '[' FExpr ']' NumericIncrement tEND
+   84            | String__Index . '(' FExpr ')' NumericAffectation FExpr tEND
+   85            | String__Index . '(' FExpr ')' NumericIncrement tEND
+   86            | String__Index . tAFFECT StringExpr tEND
+   87            | String__Index . LP RP tAFFECT tStr LP RP tEND
+   88            | String__Index . LP RP tAFFECT tStr LP RecursiveListOfStringExprVar RP tEND
+   89            | String__Index . LP RP tAFFECTPLUS tStr LP RecursiveListOfStringExprVar RP tEND
+   90            | String__Index . '.' tSTRING tAFFECT StringExpr tEND
+   91            | String__Index . '[' FExpr ']' '.' tSTRING tAFFECT StringExpr tEND
+   92            | String__Index . '.' tSTRING NumericAffectation FExpr tEND
+   93            | String__Index . '[' FExpr ']' '.' tSTRING NumericAffectation FExpr tEND
+   94            | String__Index . '.' tSTRING NumericIncrement tEND
+   95            | String__Index . '[' FExpr ']' '.' tSTRING NumericIncrement tEND
+   96            | String__Index . '.' tColor '.' tSTRING tAFFECT ColorExpr tEND
+   97            | String__Index . '[' FExpr ']' '.' tColor '.' tSTRING tAFFECT ColorExpr tEND
+   98            | String__Index . '.' tColorTable tAFFECT ListOfColor tEND
+   99            | String__Index . '[' FExpr ']' '.' tColorTable tAFFECT ListOfColor tEND
+  100            | String__Index . tField tAFFECT FExpr tEND
+  241 Command: String__Index . StringExpr tEND
+  243        | String__Index . String__Index '[' FExpr ']' StringExprVar tEND
+  244        | String__Index . String__Index String__Index '[' FExpr ']' tEND
+  245        | String__Index . FExpr tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tBIGSTR              shift, and go to state 344
+    tAFFECT              shift, and go to state 392
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStr                 shift, and go to state 345
+    tSprintf             shift, and go to state 346
+    tStrCat              shift, and go to state 347
+    tStrPrefix           shift, and go to state 348
+    tStrRelative         shift, and go to state 349
+    tStrReplace          shift, and go to state 350
+    tAbsolutePath        shift, and go to state 351
+    tDirName             shift, and go to state 352
+    tStrSub              shift, and go to state 353
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tStrChoice           shift, and go to state 354
+    tUpperCase           shift, and go to state 355
+    tLowerCase           shift, and go to state 356
+    tLowerCaseIn         shift, and go to state 357
+    tTextAttributes      shift, and go to state 224
+    tToday               shift, and go to state 358
+    tFixRelativePath     shift, and go to state 359
+    tCurrentDirectory    shift, and go to state 360
+    tOnelabAction        shift, and go to state 361
+    tCodeName            shift, and go to state 362
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tNameStruct          shift, and go to state 363
+    tDimNameSpace        shift, and go to state 229
+    tDefineString        shift, and go to state 364
+    tPhysical            shift, and go to state 393
+    tField               shift, and go to state 394
+    tGetValue            shift, and go to state 237
+    tGetStringValue      shift, and go to state 365
+    tGetEnv              shift, and go to state 366
+    tGetString           shift, and go to state 367
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGetForcedStr        shift, and go to state 368
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tGmshExecutableName  shift, and go to state 369
+    tNameToString        shift, and go to state 370
+    tStringToName        shift, and go to state 107
+    tAFFECTDIVIDE        shift, and go to state 395
+    tAFFECTTIMES         shift, and go to state 396
+    tAFFECTMINUS         shift, and go to state 397
+    tAFFECTPLUS          shift, and go to state 398
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    tMINUSMINUS          shift, and go to state 399
+    tPLUSPLUS            shift, and go to state 400
+    '('                  shift, and go to state 401
+    '['                  shift, and go to state 402
+    '.'                  shift, and go to state 403
+    '#'                  shift, and go to state 251
+
+    NumericAffectation  go to state 404
+    NumericIncrement    go to state 405
+    LP                  go to state 406
+    FExpr               go to state 407
+    FExpr_Single        go to state 257
+    DefineStruct        go to state 258
+    Struct_FullName     go to state 259
+    StringExprVar       go to state 408
+    StringExpr          go to state 409
+    StringIndex         go to state 131
+    String__Index       go to state 410
+
+
+state 133
+
+  202 Transform: tSTRING '{' . MultipleShape '}'
+
+    tSTRING     shift, and go to state 411
+    tRotate     shift, and go to state 59
+    tTranslate  shift, and go to state 60
+    tSymmetry   shift, and go to state 61
+    tDilate     shift, and go to state 62
+    tSplit      shift, and go to state 73
+    tIntersect  shift, and go to state 76
+
+    $default  reduce using rule 207 (ListOfShapes)
+
+    Transform      go to state 412
+    MultipleShape  go to state 413
+    ListOfShapes   go to state 414
+
+
+state 134
+
+  582 StringIndex: tSTRING '~' . '{' FExpr '}'
+
+    '{'  shift, and go to state 415
+
+
+state 135
+
+  173 Shape: tEuclidian tCoordinates . tEND
+
+    tEND  shift, and go to state 416
+
+
+state 136
+
+  174 Shape: tCoordinates tSurface . FExpr tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 417
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 137
+
+   27 Printf: tPrintf '(' . StringExprVar ')' tEND
+   29       | tPrintf '(' . StringExprVar ')' SendToFile StringExprVar tEND
+   30       | tPrintf '(' . StringExprVar ',' RecursiveListOfDouble ')' tEND
+   32       | tPrintf '(' . StringExprVar ',' RecursiveListOfDouble ')' SendToFile StringExprVar tEND
+
+    tSTRING              shift, and go to state 150
+    tBIGSTR              shift, and go to state 344
+    tStr                 shift, and go to state 345
+    tSprintf             shift, and go to state 346
+    tStrCat              shift, and go to state 347
+    tStrPrefix           shift, and go to state 348
+    tStrRelative         shift, and go to state 349
+    tStrReplace          shift, and go to state 350
+    tAbsolutePath        shift, and go to state 351
+    tDirName             shift, and go to state 352
+    tStrSub              shift, and go to state 353
+    tStrChoice           shift, and go to state 354
+    tUpperCase           shift, and go to state 355
+    tLowerCase           shift, and go to state 356
+    tLowerCaseIn         shift, and go to state 357
+    tToday               shift, and go to state 358
+    tFixRelativePath     shift, and go to state 359
+    tCurrentDirectory    shift, and go to state 360
+    tOnelabAction        shift, and go to state 361
+    tCodeName            shift, and go to state 362
+    tNameStruct          shift, and go to state 363
+    tDefineString        shift, and go to state 364
+    tPhysical            shift, and go to state 393
+    tGetStringValue      shift, and go to state 365
+    tGetEnv              shift, and go to state 366
+    tGetString           shift, and go to state 367
+    tGetForcedStr        shift, and go to state 368
+    tGmshExecutableName  shift, and go to state 369
+    tNameToString        shift, and go to state 370
+    tStringToName        shift, and go to state 107
+
+    StringExprVar  go to state 418
+    StringExpr     go to state 419
+    StringIndex    go to state 131
+    String__Index  go to state 420
+
+
+state 138
+
+   28 Printf: tError '(' . StringExprVar ')' tEND
+   31       | tError '(' . StringExprVar ',' RecursiveListOfDouble ')' tEND
+
+    tSTRING              shift, and go to state 150
+    tBIGSTR              shift, and go to state 344
+    tStr                 shift, and go to state 345
+    tSprintf             shift, and go to state 346
+    tStrCat              shift, and go to state 347
+    tStrPrefix           shift, and go to state 348
+    tStrRelative         shift, and go to state 349
+    tStrReplace          shift, and go to state 350
+    tAbsolutePath        shift, and go to state 351
+    tDirName             shift, and go to state 352
+    tStrSub              shift, and go to state 353
+    tStrChoice           shift, and go to state 354
+    tUpperCase           shift, and go to state 355
+    tLowerCase           shift, and go to state 356
+    tLowerCaseIn         shift, and go to state 357
+    tToday               shift, and go to state 358
+    tFixRelativePath     shift, and go to state 359
+    tCurrentDirectory    shift, and go to state 360
+    tOnelabAction        shift, and go to state 361
+    tCodeName            shift, and go to state 362
+    tNameStruct          shift, and go to state 363
+    tDefineString        shift, and go to state 364
+    tPhysical            shift, and go to state 393
+    tGetStringValue      shift, and go to state 365
+    tGetEnv              shift, and go to state 366
+    tGetString           shift, and go to state 367
+    tGetForcedStr        shift, and go to state 368
+    tGmshExecutableName  shift, and go to state 369
+    tNameToString        shift, and go to state 370
+    tStringToName        shift, and go to state 107
+
+    StringExprVar  go to state 421
+    StringExpr     go to state 419
+    StringIndex    go to state 131
+    String__Index  go to state 420
+
+
+state 139
+
+  252 Command: tBoundingBox tEND .
+
+    $default  reduce using rule 252 (Command)
+
+
+state 140
+
+  253 Command: tBoundingBox '{' . FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr '}' tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 422
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 141
+
+  254 Command: tDraw tEND .
+
+    $default  reduce using rule 254 (Command)
+
+
+state 142
+
+  255 Command: tSetChanged tEND .
+
+    $default  reduce using rule 255 (Command)
+
+
+state 143
+
+  250 Command: tSyncModel tEND .
+
+    $default  reduce using rule 250 (Command)
+
+
+state 144
+
+  251 Command: tNewModel tEND .
+
+    $default  reduce using rule 251 (Command)
+
+
+state 145
+
+  242 Command: tOnelabRun '(' . RecursiveListOfStringExprVar ')' tEND
+
+    tSTRING              shift, and go to state 150
+    tBIGSTR              shift, and go to state 344
+    tStr                 shift, and go to state 345
+    tSprintf             shift, and go to state 346
+    tStrCat              shift, and go to state 347
+    tStrPrefix           shift, and go to state 348
+    tStrRelative         shift, and go to state 349
+    tStrReplace          shift, and go to state 350
+    tAbsolutePath        shift, and go to state 351
+    tDirName             shift, and go to state 352
+    tStrSub              shift, and go to state 353
+    tStrChoice           shift, and go to state 354
+    tUpperCase           shift, and go to state 355
+    tLowerCase           shift, and go to state 356
+    tLowerCaseIn         shift, and go to state 357
+    tToday               shift, and go to state 358
+    tFixRelativePath     shift, and go to state 359
+    tCurrentDirectory    shift, and go to state 360
+    tOnelabAction        shift, and go to state 361
+    tCodeName            shift, and go to state 362
+    tNameStruct          shift, and go to state 363
+    tDefineString        shift, and go to state 364
+    tPhysical            shift, and go to state 393
+    tGetStringValue      shift, and go to state 365
+    tGetEnv              shift, and go to state 366
+    tGetString           shift, and go to state 367
+    tGetForcedStr        shift, and go to state 368
+    tGmshExecutableName  shift, and go to state 369
+    tNameToString        shift, and go to state 370
+    tStringToName        shift, and go to state 107
+
+    StringExprVar                 go to state 423
+    StringExpr                    go to state 419
+    RecursiveListOfStringExprVar  go to state 424
+    StringIndex                   go to state 131
+    String__Index                 go to state 420
+
+
+state 146
+
+  256 Command: tCreateTopology tEND .
+
+    $default  reduce using rule 256 (Command)
+
+
+state 147
+
+  257 Command: tCreateTopologyNoHoles tEND .
+
+    $default  reduce using rule 257 (Command)
+
+
+state 148
+
+   73 Affectation: tDefineConstant '[' . DefineConstants ']' tEND
+
+    $default  reduce using rule 110 (DefineConstants)
+
+    DefineConstants  go to state 425
+
+
+state 149
+
+   74 Affectation: tUndefineConstant '[' . UndefineConstants ']' tEND
+
+    $default  reduce using rule 120 (UndefineConstants)
+
+    UndefineConstants  go to state 426
+
+
+state 150
+
+  582 StringIndex: tSTRING . '~' '{' FExpr '}'
+  585 String__Index: tSTRING .
+
+    '~'  shift, and go to state 134
+
+    $default  reduce using rule 585 (String__Index)
+
+
+state 151
+
+  462 DefineStruct: tDefineStruct Struct_FullName . AppendOrNot @14 '[' FloatParameterOptionsOrNone_NoComma ']'
+
+    '('  shift, and go to state 427
+
+    $default  reduce using rule 468 (AppendOrNot)
+
+    AppendOrNot  go to state 428
+
+
+state 152
+
+  463 Struct_FullName: String__Index .
+  464                | String__Index . tSCOPE String__Index
+
+    tSCOPE  shift, and go to state 429
+
+    $default  reduce using rule 463 (Struct_FullName)
+
+
+state 153
+
+   69 LP: '(' .
+
+    $default  reduce using rule 69 (LP)
+
+
+state 154
+
+   70 LP: '[' .
+
+    $default  reduce using rule 70 (LP)
+
+
+state 155
+
+   76 Affectation: tSetNumber LP . StringExpr ',' FExpr RP tEND
+
+    tBIGSTR              shift, and go to state 344
+    tStr                 shift, and go to state 345
+    tSprintf             shift, and go to state 346
+    tStrCat              shift, and go to state 347
+    tStrPrefix           shift, and go to state 348
+    tStrRelative         shift, and go to state 349
+    tStrReplace          shift, and go to state 350
+    tAbsolutePath        shift, and go to state 351
+    tDirName             shift, and go to state 352
+    tStrSub              shift, and go to state 353
+    tStrChoice           shift, and go to state 354
+    tUpperCase           shift, and go to state 355
+    tLowerCase           shift, and go to state 356
+    tLowerCaseIn         shift, and go to state 357
+    tToday               shift, and go to state 358
+    tFixRelativePath     shift, and go to state 359
+    tCurrentDirectory    shift, and go to state 360
+    tOnelabAction        shift, and go to state 361
+    tCodeName            shift, and go to state 362
+    tNameStruct          shift, and go to state 363
+    tDefineString        shift, and go to state 364
+    tGetStringValue      shift, and go to state 365
+    tGetEnv              shift, and go to state 366
+    tGetString           shift, and go to state 367
+    tGetForcedStr        shift, and go to state 368
+    tGmshExecutableName  shift, and go to state 369
+    tNameToString        shift, and go to state 370
+
+    StringExpr  go to state 430
+
+
+state 156
+
+   77 Affectation: tSetString LP . String__Index ',' StringExpr RP tEND
+
+    tSTRING        shift, and go to state 150
+    tStringToName  shift, and go to state 107
+
+    StringIndex    go to state 131
+    String__Index  go to state 431
+
+
+state 157
+
+  159 Shape: tPoint '(' . FExpr ')' tAFFECT VExpr tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 432
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 158
+
+  342 Constraints: tPoint '{' . RecursiveListOfDouble '}' tIn tSurface '{' FExpr '}' tEND
+  344            | tPoint '{' . RecursiveListOfDouble '}' tIn tVolume '{' FExpr '}' tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 433
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '#'                   shift, and go to state 251
+
+    Transform              go to state 252
+    Extrude                go to state 253
+    BooleanOperator        go to state 254
+    Boolean                go to state 255
+    FExpr                  go to state 434
+    FExpr_Single           go to state 257
+    DefineStruct           go to state 258
+    Struct_FullName        go to state 259
+    FExpr_Multi            go to state 435
+    RecursiveListOfDouble  go to state 436
+    StringIndex            go to state 131
+    String__Index          go to state 262
+
+
+state 159
+
+  162 Shape: tCircle '(' . FExpr ')' tAFFECT ListOfDouble CircleOptions tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 437
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 160
+
+  163 Shape: tEllipse '(' . FExpr ')' tAFFECT ListOfDouble CircleOptions tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 438
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 161
+
+  169 Shape: tLine tSTRING . '(' FExpr ')' tAFFECT ListOfDouble tEND
+
+    '('  shift, and go to state 439
+
+
+state 162
+
+  160 Shape: tLine '(' . FExpr ')' tAFFECT ListOfDouble tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 440
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 163
+
+  343 Constraints: tLine '{' . RecursiveListOfDouble '}' tIn tSurface '{' FExpr '}' tEND
+  345            | tLine '{' . RecursiveListOfDouble '}' tIn tVolume '{' FExpr '}' tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 433
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '#'                   shift, and go to state 251
+
+    Transform              go to state 252
+    Extrude                go to state 253
+    BooleanOperator        go to state 254
+    Boolean                go to state 255
+    FExpr                  go to state 434
+    FExpr_Single           go to state 257
+    DefineStruct           go to state 258
+    Struct_FullName        go to state 259
+    FExpr_Multi            go to state 435
+    RecursiveListOfDouble  go to state 441
+    StringIndex            go to state 131
+    String__Index          go to state 262
+
+
+state 164
+
+  176 Shape: tSphere '(' . FExpr ')' tAFFECT ListOfDouble tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 442
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 165
+
+  177 Shape: tPolarSphere '(' . FExpr ')' tAFFECT ListOfDouble tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 443
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 166
+
+  188 Shape: tSurface tSTRING . '(' FExpr ')' tAFFECT ListOfDouble tEND
+
+    '('  shift, and go to state 444
+
+
+state 167
+
+  171 Shape: tSurface '(' . FExpr ')' tAFFECT ListOfDouble InSphereCenter tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 445
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 168
+
+  346 Constraints: tSurface '{' . RecursiveListOfDouble '}' tIn tVolume '{' FExpr '}' tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 433
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '#'                   shift, and go to state 251
+
+    Transform              go to state 252
+    Extrude                go to state 253
+    BooleanOperator        go to state 254
+    Boolean                go to state 255
+    FExpr                  go to state 434
+    FExpr_Single           go to state 257
+    DefineStruct           go to state 258
+    Struct_FullName        go to state 259
+    FExpr_Multi            go to state 435
+    RecursiveListOfDouble  go to state 446
+    StringIndex            go to state 131
+    String__Index          go to state 262
+
+
+state 169
+
+  161 Shape: tSpline '(' . FExpr ')' tAFFECT ListOfDouble tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 447
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 170
+
+  189 Shape: tVolume '(' . FExpr ')' tAFFECT ListOfDouble tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 448
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 171
+
+  178 Shape: tBlock '(' . FExpr ')' tAFFECT ListOfDouble tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 449
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 172
+
+  182 Shape: tCylinder '(' . FExpr ')' tAFFECT ListOfDouble tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 450
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 173
+
+  183 Shape: tCone '(' . FExpr ')' tAFFECT ListOfDouble tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 451
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 174
+
+  179 Shape: tTorus '(' . FExpr ')' tAFFECT ListOfDouble tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 452
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 175
+
+  314 Boolean: tShapeFromFile '(' . StringExprVar ')'
+
+    tSTRING              shift, and go to state 150
+    tBIGSTR              shift, and go to state 344
+    tStr                 shift, and go to state 345
+    tSprintf             shift, and go to state 346
+    tStrCat              shift, and go to state 347
+    tStrPrefix           shift, and go to state 348
+    tStrRelative         shift, and go to state 349
+    tStrReplace          shift, and go to state 350
+    tAbsolutePath        shift, and go to state 351
+    tDirName             shift, and go to state 352
+    tStrSub              shift, and go to state 353
+    tStrChoice           shift, and go to state 354
+    tUpperCase           shift, and go to state 355
+    tLowerCase           shift, and go to state 356
+    tLowerCaseIn         shift, and go to state 357
+    tToday               shift, and go to state 358
+    tFixRelativePath     shift, and go to state 359
+    tCurrentDirectory    shift, and go to state 360
+    tOnelabAction        shift, and go to state 361
+    tCodeName            shift, and go to state 362
+    tNameStruct          shift, and go to state 363
+    tDefineString        shift, and go to state 364
+    tPhysical            shift, and go to state 393
+    tGetStringValue      shift, and go to state 365
+    tGetEnv              shift, and go to state 366
+    tGetString           shift, and go to state 367
+    tGetForcedStr        shift, and go to state 368
+    tGmshExecutableName  shift, and go to state 369
+    tNameToString        shift, and go to state 370
+    tStringToName        shift, and go to state 107
+
+    StringExprVar  go to state 453
+    StringExpr     go to state 419
+    StringIndex    go to state 131
+    String__Index  go to state 420
+
+
+state 176
+
+  180 Shape: tRectangle '(' . FExpr ')' tAFFECT ListOfDouble tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 454
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 177
+
+  181 Shape: tDisk '(' . FExpr ')' tAFFECT ListOfDouble tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 455
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 178
+
+  168 Shape: tWire '(' . FExpr ')' tAFFECT ListOfDouble tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 456
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 179
+
+  326 Constraints: tCharacteristic tLength . ListOfDouble tAFFECT FExpr tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 247
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '{'                   shift, and go to state 250
+    '#'                   shift, and go to state 251
+
+    Transform        go to state 252
+    Extrude          go to state 253
+    BooleanOperator  go to state 254
+    Boolean          go to state 255
+    FExpr            go to state 256
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    ListOfDouble     go to state 457
+    FExpr_Multi      go to state 261
+    StringIndex      go to state 131
+    String__Index    go to state 262
+
+
+state 180
+
+  175 Shape: tParametric tSurface . '(' FExpr ')' tAFFECT tBIGSTR tBIGSTR tBIGSTR tEND
+
+    '('  shift, and go to state 458
+
+
+state 181
+
+  258 Command: tRefineMesh tEND .
+
+    $default  reduce using rule 258 (Command)
+
+
+state 182
+
+  259 Command: tAdaptMesh '{' . RecursiveListOfDouble '}' '{' RecursiveListOfDouble '}' '{' RecursiveListOfListOfDouble '}' '{' FExpr ',' FExpr '}' tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 433
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '#'                   shift, and go to state 251
+
+    Transform              go to state 252
+    Extrude                go to state 253
+    BooleanOperator        go to state 254
+    Boolean                go to state 255
+    FExpr                  go to state 434
+    FExpr_Single           go to state 257
+    DefineStruct           go to state 258
+    Struct_FullName        go to state 259
+    FExpr_Multi            go to state 435
+    RecursiveListOfDouble  go to state 459
+    StringIndex            go to state 131
+    String__Index          go to state 262
+
+
+state 183
+
+  349 Constraints: tRelocateMesh tPoint . ListOfDoubleOrAll tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tBIGSTR               shift, and go to state 325
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 247
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '{'                   shift, and go to state 250
+    '#'                   shift, and go to state 251
+
+    Transform          go to state 252
+    Extrude            go to state 253
+    BooleanOperator    go to state 254
+    Boolean            go to state 255
+    FExpr              go to state 256
+    FExpr_Single       go to state 257
+    DefineStruct       go to state 258
+    Struct_FullName    go to state 259
+    ListOfDouble       go to state 327
+    ListOfDoubleOrAll  go to state 460
+    FExpr_Multi        go to state 261
+    StringIndex        go to state 131
+    String__Index      go to state 262
+
+
+state 184
+
+  350 Constraints: tRelocateMesh tLine . ListOfDoubleOrAll tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tBIGSTR               shift, and go to state 325
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 247
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '{'                   shift, and go to state 250
+    '#'                   shift, and go to state 251
+
+    Transform          go to state 252
+    Extrude            go to state 253
+    BooleanOperator    go to state 254
+    Boolean            go to state 255
+    FExpr              go to state 256
+    FExpr_Single       go to state 257
+    DefineStruct       go to state 258
+    Struct_FullName    go to state 259
+    ListOfDouble       go to state 327
+    ListOfDoubleOrAll  go to state 461
+    FExpr_Multi        go to state 261
+    StringIndex        go to state 131
+    String__Index      go to state 262
+
+
+state 185
+
+  351 Constraints: tRelocateMesh tSurface . ListOfDoubleOrAll tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tBIGSTR               shift, and go to state 325
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 247
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '{'                   shift, and go to state 250
+    '#'                   shift, and go to state 251
+
+    Transform          go to state 252
+    Extrude            go to state 253
+    BooleanOperator    go to state 254
+    Boolean            go to state 255
+    FExpr              go to state 256
+    FExpr_Single       go to state 257
+    DefineStruct       go to state 258
+    Struct_FullName    go to state 259
+    ListOfDouble       go to state 327
+    ListOfDoubleOrAll  go to state 462
+    FExpr_Multi        go to state 261
+    StringIndex        go to state 131
+    String__Index      go to state 262
+
+
+state 186
+
+    8 GeoFormatItem: tSetFactory '(' . StringExprVar ')' tEND
+
+    tSTRING              shift, and go to state 150
+    tBIGSTR              shift, and go to state 344
+    tStr                 shift, and go to state 345
+    tSprintf             shift, and go to state 346
+    tStrCat              shift, and go to state 347
+    tStrPrefix           shift, and go to state 348
+    tStrRelative         shift, and go to state 349
+    tStrReplace          shift, and go to state 350
+    tAbsolutePath        shift, and go to state 351
+    tDirName             shift, and go to state 352
+    tStrSub              shift, and go to state 353
+    tStrChoice           shift, and go to state 354
+    tUpperCase           shift, and go to state 355
+    tLowerCase           shift, and go to state 356
+    tLowerCaseIn         shift, and go to state 357
+    tToday               shift, and go to state 358
+    tFixRelativePath     shift, and go to state 359
+    tCurrentDirectory    shift, and go to state 360
+    tOnelabAction        shift, and go to state 361
+    tCodeName            shift, and go to state 362
+    tNameStruct          shift, and go to state 363
+    tDefineString        shift, and go to state 364
+    tPhysical            shift, and go to state 393
+    tGetStringValue      shift, and go to state 365
+    tGetEnv              shift, and go to state 366
+    tGetString           shift, and go to state 367
+    tGetForcedStr        shift, and go to state 368
+    tGmshExecutableName  shift, and go to state 369
+    tNameToString        shift, and go to state 370
+    tStringToName        shift, and go to state 107
+
+    StringExprVar  go to state 463
+    StringExpr     go to state 419
+    StringIndex    go to state 131
+    String__Index  go to state 420
+
+
+state 187
+
+  413 FExpr_Single: tDOUBLE .
+
+    $default  reduce using rule 413 (FExpr_Single)
+
+
+state 188
+
+  414 FExpr_Single: tPi .
+
+    $default  reduce using rule 414 (FExpr_Single)
+
+
+state 189
+
+  416 FExpr_Single: tMPI_Rank .
+
+    $default  reduce using rule 416 (FExpr_Single)
+
+
+state 190
+
+  417 FExpr_Single: tMPI_Size .
+
+    $default  reduce using rule 417 (FExpr_Single)
+
+
+state 191
+
+  415 FExpr_Single: tTestLevel .
+
+    $default  reduce using rule 415 (FExpr_Single)
+
+
+state 192
+
+  390 FExpr: tExp . LP FExpr RP
+
+    '('  shift, and go to state 153
+    '['  shift, and go to state 154
+
+    LP  go to state 464
+
+
+state 193
+
+  391 FExpr: tLog . LP FExpr RP
+
+    '('  shift, and go to state 153
+    '['  shift, and go to state 154
+
+    LP  go to state 465
+
+
+state 194
+
+  392 FExpr: tLog10 . LP FExpr RP
+
+    '('  shift, and go to state 153
+    '['  shift, and go to state 154
+
+    LP  go to state 466
+
+
+state 195
+
+  393 FExpr: tSqrt . LP FExpr RP
+
+    '('  shift, and go to state 153
+    '['  shift, and go to state 154
+
+    LP  go to state 467
+
+
+state 196
+
+  394 FExpr: tSin . LP FExpr RP
+
+    '('  shift, and go to state 153
+    '['  shift, and go to state 154
+
+    LP  go to state 468
+
+
+state 197
+
+  395 FExpr: tAsin . LP FExpr RP
+
+    '('  shift, and go to state 153
+    '['  shift, and go to state 154
+
+    LP  go to state 469
+
+
+state 198
+
+  396 FExpr: tCos . LP FExpr RP
+
+    '('  shift, and go to state 153
+    '['  shift, and go to state 154
+
+    LP  go to state 470
+
+
+state 199
+
+  397 FExpr: tAcos . LP FExpr RP
+
+    '('  shift, and go to state 153
+    '['  shift, and go to state 154
+
+    LP  go to state 471
+
+
+state 200
+
+  398 FExpr: tTan . LP FExpr RP
+
+    '('  shift, and go to state 153
+    '['  shift, and go to state 154
+
+    LP  go to state 472
+
+
+state 201
+
+  412 FExpr: tRand . LP FExpr RP
+
+    '('  shift, and go to state 153
+    '['  shift, and go to state 154
+
+    LP  go to state 473
+
+
+state 202
+
+  399 FExpr: tAtan . LP FExpr RP
+
+    '('  shift, and go to state 153
+    '['  shift, and go to state 154
+
+    LP  go to state 474
+
+
+state 203
+
+  400 FExpr: tAtan2 . LP FExpr ',' FExpr RP
+
+    '('  shift, and go to state 153
+    '['  shift, and go to state 154
+
+    LP  go to state 475
+
+
+state 204
+
+  401 FExpr: tSinh . LP FExpr RP
+
+    '('  shift, and go to state 153
+    '['  shift, and go to state 154
+
+    LP  go to state 476
+
+
+state 205
+
+  402 FExpr: tCosh . LP FExpr RP
+
+    '('  shift, and go to state 153
+    '['  shift, and go to state 154
+
+    LP  go to state 477
+
+
+state 206
+
+  403 FExpr: tTanh . LP FExpr RP
+
+    '('  shift, and go to state 153
+    '['  shift, and go to state 154
+
+    LP  go to state 478
+
+
+state 207
+
+  404 FExpr: tFabs . LP FExpr RP
+
+    '('  shift, and go to state 153
+    '['  shift, and go to state 154
+
+    LP  go to state 479
+
+
+state 208
+
+  405 FExpr: tAbs . LP FExpr RP
+  520 FExpr_Multi: tAbs . LP FExpr_Multi RP
+
+    '('  shift, and go to state 153
+    '['  shift, and go to state 154
+
+    LP  go to state 480
+
+
+state 209
+
+  406 FExpr: tFloor . LP FExpr RP
+
+    '('  shift, and go to state 153
+    '['  shift, and go to state 154
+
+    LP  go to state 481
+
+
+state 210
+
+  407 FExpr: tCeil . LP FExpr RP
+
+    '('  shift, and go to state 153
+    '['  shift, and go to state 154
+
+    LP  go to state 482
+
+
+state 211
+
+  408 FExpr: tRound . LP FExpr RP
+
+    '('  shift, and go to state 153
+    '['  shift, and go to state 154
+
+    LP  go to state 483
+
+
+state 212
+
+  409 FExpr: tFmod . LP FExpr ',' FExpr RP
+
+    '('  shift, and go to state 153
+    '['  shift, and go to state 154
+
+    LP  go to state 484
+
+
+state 213
+
+  410 FExpr: tModulo . LP FExpr ',' FExpr RP
+
+    '('  shift, and go to state 153
+    '['  shift, and go to state 154
+
+    LP  go to state 485
+
+
+state 214
+
+  411 FExpr: tHypot . LP FExpr ',' FExpr RP
+
+    '('  shift, and go to state 153
+    '['  shift, and go to state 154
+
+    LP  go to state 486
+
+
+state 215
+
+  510 FExpr_Multi: tList . '[' String__Index ']'
+  511            | tList . '[' FExpr_Multi ']'
+  512            | tList . '(' FExpr_Multi ')'
+  513            | tList . LP '{' RecursiveListOfDouble '}' RP
+
+    '('  shift, and go to state 487
+    '['  shift, and go to state 488
+
+    LP  go to state 489
+
+
+state 216
+
+  515 FExpr_Multi: tLinSpace . LP FExpr ',' FExpr ',' FExpr RP
+
+    '('  shift, and go to state 153
+    '['  shift, and go to state 154
+
+    LP  go to state 490
+
+
+state 217
+
+  516 FExpr_Multi: tLogSpace . LP FExpr ',' FExpr ',' FExpr RP
+
+    '('  shift, and go to state 153
+    '['  shift, and go to state 154
+
+    LP  go to state 491
+
+
+state 218
+
+  517 FExpr_Multi: tListFromFile . LP StringExprVar RP
+
+    '('  shift, and go to state 153
+    '['  shift, and go to state 154
+
+    LP  go to state 492
+
+
+state 219
+
+  518 FExpr_Multi: tCatenary . LP FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr RP
+
+    '('  shift, and go to state 153
+    '['  shift, and go to state 154
+
+    LP  go to state 493
+
+
+state 220
+
+  454 FExpr_Single: tStrLen . LP StringExprVar RP
+
+    '('  shift, and go to state 153
+    '['  shift, and go to state 154
+
+    LP  go to state 494
+
+
+state 221
+
+  452 FExpr_Single: tFind . '(' ListOfDouble ',' ListOfDouble ')'
+
+    '('  shift, and go to state 495
+
+
+state 222
+
+  453 FExpr_Single: tStrFind . LP StringExprVar ',' StringExprVar RP
+
+    '('  shift, and go to state 153
+    '['  shift, and go to state 154
+
+    LP  go to state 496
+
+
+state 223
+
+  455 FExpr_Single: tStrCmp . LP StringExprVar ',' StringExprVar RP
+
+    '('  shift, and go to state 153
+    '['  shift, and go to state 154
+
+    LP  go to state 497
+
+
+state 224
+
+  456 FExpr_Single: tTextAttributes . '(' RecursiveListOfStringExprVar ')'
+
+    '('  shift, and go to state 498
+
+
+state 225
+
+  421 FExpr_Single: tCpu .
+
+    $default  reduce using rule 421 (FExpr_Single)
+
+
+state 226
+
+  422 FExpr_Single: tMemory .
+
+    $default  reduce using rule 422 (FExpr_Single)
+
+
+state 227
+
+  423 FExpr_Single: tTotalMemory .
+
+    $default  reduce using rule 423 (FExpr_Single)
+
+
+state 228
+
+  425 FExpr_Single: tDefineNumber . LP FExpr @13 FloatParameterOptionsOrNone RP
+
+    '('  shift, and go to state 153
+    '['  shift, and go to state 154
+
+    LP  go to state 499
+
+
+state 229
+
+  439 FExpr_Single: tDimNameSpace . LP String__Index RP
+  440             | tDimNameSpace . LP RP
+
+    '('  shift, and go to state 153
+    '['  shift, and go to state 154
+
+    LP  go to state 500
+
+
+state 230
+
+  493 FExpr_Multi: tPoint . '{' FExpr '}'
+  494            | tPoint . tBIGSTR
+  502            | tPoint . tIn tBoundingBox '{' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr '}'
+
+    tBIGSTR  shift, and go to state 501
+    tIn      shift, and go to state 502
+    '{'      shift, and go to state 503
+
+
+state 231
+
+  495 FExpr_Multi: tLine . tBIGSTR
+  503            | tLine . tIn tBoundingBox '{' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr '}'
+
+    tBIGSTR  shift, and go to state 504
+    tIn      shift, and go to state 505
+
+
+state 232
+
+  496 FExpr_Multi: tSurface . tBIGSTR
+  504            | tSurface . tIn tBoundingBox '{' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr '}'
+
+    tBIGSTR  shift, and go to state 506
+    tIn      shift, and go to state 507
+
+
+state 233
+
+  497 FExpr_Multi: tVolume . tBIGSTR
+  505            | tVolume . tIn tBoundingBox '{' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr '}'
+
+    tBIGSTR  shift, and go to state 508
+    tIn      shift, and go to state 509
+
+
+state 234
+
+  287 Extrude: tThruSections . ListOfDouble
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 247
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '{'                   shift, and go to state 250
+    '#'                   shift, and go to state 251
+
+    Transform        go to state 252
+    Extrude          go to state 253
+    BooleanOperator  go to state 254
+    Boolean          go to state 255
+    FExpr            go to state 256
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    ListOfDouble     go to state 260
+    FExpr_Multi      go to state 261
+    StringIndex      go to state 131
+    String__Index    go to state 262
+
+
+state 235
+
+  288 Extrude: tRuled . tThruSections ListOfDouble
+
+    tThruSections  shift, and go to state 510
+
+
+state 236
+
+  498 FExpr_Multi: tPhysical . tPoint ListOfDoubleOrAll
+  499            | tPhysical . tLine ListOfDoubleOrAll
+  500            | tPhysical . tSurface ListOfDoubleOrAll
+  501            | tPhysical . tVolume ListOfDoubleOrAll
+
+    tPoint    shift, and go to state 511
+    tLine     shift, and go to state 512
+    tSurface  shift, and go to state 513
+    tVolume   shift, and go to state 514
+
+
+state 237
+
+  451 FExpr_Single: tGetValue . '(' StringExprVar ',' FExpr ')'
+
+    '('  shift, and go to state 515
+
+
+state 238
+
+  427 FExpr_Single: tGetNumber . LP StringExprVar RP
+  428             | tGetNumber . LP StringExprVar ',' FExpr RP
+
+    '('  shift, and go to state 153
+    '['  shift, and go to state 154
+
+    LP  go to state 516
+
+
+state 239
+
+  519 FExpr_Multi: tUnique . LP FExpr_Multi RP
+
+    '('  shift, and go to state 153
+    '['  shift, and go to state 154
+
+    LP  go to state 517
+
+
+state 240
+
+  432 FExpr_Single: tExists . '(' Struct_FullName ')'
+  433             | tExists . '(' Struct_FullName '.' tSTRING_Member_Float ')'
+
+    '('  shift, and go to state 518
+
+
+state 241
+
+  436 FExpr_Single: tFileExists . '(' StringExpr ')'
+
+    '('  shift, and go to state 519
+
+
+state 242
+
+  434 FExpr_Single: tGetForced . '(' Struct_FullName GetForced_Default ')'
+  435             | tGetForced . '(' Struct_FullName '.' tSTRING_Member_Float GetForced_Default ')'
+
+    '('  shift, and go to state 520
+
+
+state 243
+
+  418 FExpr_Single: tGMSH_MAJOR_VERSION .
+
+    $default  reduce using rule 418 (FExpr_Single)
+
+
+state 244
+
+  419 FExpr_Single: tGMSH_MINOR_VERSION .
+
+    $default  reduce using rule 419 (FExpr_Single)
+
+
+state 245
+
+  420 FExpr_Single: tGMSH_PATCH_VERSION .
+
+    $default  reduce using rule 420 (FExpr_Single)
+
+
+state 246
+
+  369 FExpr: '+' . FExpr
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 521
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 247
+
+  368 FExpr: '-' . FExpr
+  485 ListOfDouble: '-' . '{' RecursiveListOfDouble '}'
+  489 FExpr_Multi: '-' . FExpr_Multi
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 433
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '{'                   shift, and go to state 522
+    '#'                   shift, and go to state 251
+
+    Transform        go to state 252
+    Extrude          go to state 253
+    BooleanOperator  go to state 254
+    Boolean          go to state 255
+    FExpr            go to state 523
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    FExpr_Multi      go to state 524
+    StringIndex      go to state 131
+    String__Index    go to state 262
+
+
+state 248
+
+  370 FExpr: '!' . FExpr
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 525
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 249
+
+  190 Shape: tThruSections '(' . FExpr ')' tAFFECT ListOfDouble tEND
+  367 FExpr: '(' . FExpr ')'
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 526
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 250
+
+  483 ListOfDouble: '{' . '}'
+  484             | '{' . RecursiveListOfDouble '}'
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 433
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '}'                   shift, and go to state 527
+    '#'                   shift, and go to state 251
+
+    Transform              go to state 252
+    Extrude                go to state 253
+    BooleanOperator        go to state 254
+    Boolean                go to state 255
+    FExpr                  go to state 434
+    FExpr_Single           go to state 257
+    DefineStruct           go to state 258
+    Struct_FullName        go to state 259
+    FExpr_Multi            go to state 435
+    RecursiveListOfDouble  go to state 528
+    StringIndex            go to state 131
+    String__Index          go to state 262
+
+
+state 251
+
+  437 FExpr_Single: '#' . String__Index LP RP
+  438             | '#' . Struct_FullName '.' tSTRING_Member_Float '(' ')'
+
+    tSTRING        shift, and go to state 150
+    tStringToName  shift, and go to state 107
+
+    Struct_FullName  go to state 529
+    StringIndex      go to state 131
+    String__Index    go to state 530
+
+
+state 252
+
+  506 FExpr_Multi: Transform .
+
+    $default  reduce using rule 506 (FExpr_Multi)
+
+
+state 253
+
+  507 FExpr_Multi: Extrude .
+
+    $default  reduce using rule 507 (FExpr_Multi)
+
+
+state 254
+
+  313 Boolean: BooleanOperator . '{' ListOfShapes BooleanOption '}' '{' ListOfShapes BooleanOption '}'
+
+    '{'  shift, and go to state 386
+
+
+state 255
+
+  508 FExpr_Multi: Boolean .
+
+    $default  reduce using rule 508 (FExpr_Multi)
+
+
+state 256
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  481 ListOfDouble: FExpr .
+  486             | FExpr . '*' '{' RecursiveListOfDouble '}'
+  490 FExpr_Multi: FExpr . '*' FExpr_Multi
+  491            | FExpr . tDOTS FExpr
+  492            | FExpr . tDOTS FExpr tDOTS FExpr
+
+    tDOTS            shift, and go to state 531
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 545
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+
+    $default  reduce using rule 481 (ListOfDouble)
+
+
+state 257
+
+  366 FExpr: FExpr_Single .
+
+    $default  reduce using rule 366 (FExpr)
+
+
+state 258
+
+  426 FExpr_Single: DefineStruct .
+
+    $default  reduce using rule 426 (FExpr_Single)
+
+
+state 259
+
+  429 FExpr_Single: Struct_FullName .
+  430             | Struct_FullName . '[' FExpr ']'
+  431             | Struct_FullName . '(' FExpr ')'
+
+    '('  shift, and go to state 551
+    '['  shift, and go to state 552
+
+    $default  reduce using rule 429 (FExpr_Single)
+
+
+state 260
+
+  287 Extrude: tThruSections ListOfDouble .
+
+    $default  reduce using rule 287 (Extrude)
+
+
+state 261
+
+  482 ListOfDouble: FExpr_Multi .
+
+    $default  reduce using rule 482 (ListOfDouble)
+
+
+state 262
+
+  441 FExpr_Single: String__Index . NumericIncrement
+  442             | String__Index . '[' FExpr ']' NumericIncrement
+  443             | String__Index . '(' FExpr ')' NumericIncrement
+  444             | String__Index . '.' tSTRING_Member_Float
+  445             | String__Index . tSCOPE String__Index '.' tSTRING_Member_Float
+  446             | String__Index . '.' tSTRING_Member_Float '(' FExpr ')'
+  447             | String__Index . tSCOPE String__Index '.' tSTRING_Member_Float '(' FExpr ')'
+  448             | String__Index . '[' FExpr ']' '.' tSTRING
+  449             | String__Index . '.' tSTRING NumericIncrement
+  450             | String__Index . '[' FExpr ']' '.' tSTRING NumericIncrement
+  463 Struct_FullName: String__Index .
+  464                | String__Index . tSCOPE String__Index
+  509 FExpr_Multi: String__Index . LP RP
+  514            | String__Index . LP '{' RecursiveListOfDouble '}' RP
+
+    tSCOPE       shift, and go to state 553
+    tMINUSMINUS  shift, and go to state 399
+    tPLUSPLUS    shift, and go to state 400
+    '('          shift, and go to state 554
+    '['          shift, and go to state 555
+    '.'          shift, and go to state 556
+
+    '('       [reduce using rule 463 (Struct_FullName)]
+    '['       [reduce using rule 463 (Struct_FullName)]
+    $default  reduce using rule 463 (Struct_FullName)
+
+    NumericIncrement  go to state 557
+    LP                go to state 558
+
+
+state 263
+
+  184 Shape: tWedge '(' . FExpr ')' tAFFECT ListOfDouble tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 559
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 264
+
+  289 Extrude: tFillet '{' . RecursiveListOfDouble '}' '{' RecursiveListOfDouble '}' '{' FExpr '}'
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 433
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '#'                   shift, and go to state 251
+
+    Transform              go to state 252
+    Extrude                go to state 253
+    BooleanOperator        go to state 254
+    Boolean                go to state 255
+    FExpr                  go to state 434
+    FExpr_Single           go to state 257
+    DefineStruct           go to state 258
+    Struct_FullName        go to state 259
+    FExpr_Multi            go to state 435
+    RecursiveListOfDouble  go to state 560
+    StringIndex            go to state 131
+    String__Index          go to state 262
+
+
+state 265
+
+  170 Shape: tPlane tSurface . '(' FExpr ')' tAFFECT ListOfDouble tEND
+
+    '('  shift, and go to state 561
+
+
+state 266
+
+  172 Shape: tRuled tSurface . '(' FExpr ')' tAFFECT ListOfDouble InSphereCenter tEND
+
+    '('  shift, and go to state 562
+
+
+state 267
+
+  191 Shape: tRuled tThruSections . '(' FExpr ')' tAFFECT ListOfDouble tEND
+  288 Extrude: tRuled tThruSections . ListOfDouble
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 247
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 563
+    '{'                   shift, and go to state 250
+    '#'                   shift, and go to state 251
+
+    Transform        go to state 252
+    Extrude          go to state 253
+    BooleanOperator  go to state 254
+    Boolean          go to state 255
+    FExpr            go to state 256
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    ListOfDouble     go to state 564
+    FExpr_Multi      go to state 261
+    StringIndex      go to state 131
+    String__Index    go to state 262
+
+
+state 268
+
+  327 Constraints: tTransfinite tLine . ListOfDoubleOrAll tAFFECT FExpr TransfiniteType tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tBIGSTR               shift, and go to state 325
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 247
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '{'                   shift, and go to state 250
+    '#'                   shift, and go to state 251
+
+    Transform          go to state 252
+    Extrude            go to state 253
+    BooleanOperator    go to state 254
+    Boolean            go to state 255
+    FExpr              go to state 256
+    FExpr_Single       go to state 257
+    DefineStruct       go to state 258
+    Struct_FullName    go to state 259
+    ListOfDouble       go to state 327
+    ListOfDoubleOrAll  go to state 565
+    FExpr_Multi        go to state 261
+    StringIndex        go to state 131
+    String__Index      go to state 262
+
+
+state 269
+
+  328 Constraints: tTransfinite tSurface . ListOfDoubleOrAll TransfiniteCorners TransfiniteArrangement tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tBIGSTR               shift, and go to state 325
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 247
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '{'                   shift, and go to state 250
+    '#'                   shift, and go to state 251
+
+    Transform          go to state 252
+    Extrude            go to state 253
+    BooleanOperator    go to state 254
+    Boolean            go to state 255
+    FExpr              go to state 256
+    FExpr_Single       go to state 257
+    DefineStruct       go to state 258
+    Struct_FullName    go to state 259
+    ListOfDouble       go to state 327
+    ListOfDoubleOrAll  go to state 566
+    FExpr_Multi        go to state 261
+    StringIndex        go to state 131
+    String__Index      go to state 262
+
+
+state 270
+
+  329 Constraints: tTransfinite tVolume . ListOfDoubleOrAll TransfiniteCorners tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tBIGSTR               shift, and go to state 325
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 247
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '{'                   shift, and go to state 250
+    '#'                   shift, and go to state 251
+
+    Transform          go to state 252
+    Extrude            go to state 253
+    BooleanOperator    go to state 254
+    Boolean            go to state 255
+    FExpr              go to state 256
+    FExpr_Single       go to state 257
+    DefineStruct       go to state 258
+    Struct_FullName    go to state 259
+    ListOfDouble       go to state 327
+    ListOfDoubleOrAll  go to state 567
+    FExpr_Multi        go to state 261
+    StringIndex        go to state 131
+    String__Index      go to state 262
+
+
+state 271
+
+  193 Shape: tPhysical tPoint . '(' PhysicalId0 ')' NumericAffectation ListOfDouble tEND
+
+    '('  shift, and go to state 568
+
+
+state 272
+
+  194 Shape: tPhysical tLine . '(' PhysicalId1 ')' NumericAffectation ListOfDouble tEND
+
+    '('  shift, and go to state 569
+
+
+state 273
+
+  195 Shape: tPhysical tSurface . '(' PhysicalId2 ')' NumericAffectation ListOfDouble tEND
+
+    '('  shift, and go to state 570
+
+
+state 274
+
+  196 Shape: tPhysical tVolume . '(' PhysicalId3 ')' NumericAffectation ListOfDouble tEND
+
+    '('  shift, and go to state 571
+
+
+state 275
+
+  167 Shape: tCompound tLine . '(' FExpr ')' tAFFECT ListOfDouble tEND
+  353 Constraints: tCompound tLine . ListOfDouble tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 247
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 572
+    '{'                   shift, and go to state 250
+    '#'                   shift, and go to state 251
+
+    Transform        go to state 252
+    Extrude          go to state 253
+    BooleanOperator  go to state 254
+    Boolean          go to state 255
+    FExpr            go to state 256
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    ListOfDouble     go to state 573
+    FExpr_Multi      go to state 261
+    StringIndex      go to state 131
+    String__Index    go to state 262
+
+
+state 276
+
+  186 Shape: tCompound tSurface . '(' FExpr ')' tAFFECT ListOfDouble tEND
+  187      | tCompound tSurface . '(' FExpr ')' tAFFECT ListOfDouble tSTRING '{' RecursiveListOfListOfDouble '}' tEND
+  354 Constraints: tCompound tSurface . ListOfDouble tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 247
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 574
+    '{'                   shift, and go to state 250
+    '#'                   shift, and go to state 251
+
+    Transform        go to state 252
+    Extrude          go to state 253
+    BooleanOperator  go to state 254
+    Boolean          go to state 255
+    FExpr            go to state 256
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    ListOfDouble     go to state 575
+    FExpr_Multi      go to state 261
+    StringIndex      go to state 131
+    String__Index    go to state 262
+
+
+state 277
+
+  192 Shape: tCompound tVolume . '(' FExpr ')' tAFFECT ListOfDouble tEND
+  355 Constraints: tCompound tVolume . ListOfDouble tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 247
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 576
+    '{'                   shift, and go to state 250
+    '#'                   shift, and go to state 251
+
+    Transform        go to state 252
+    Extrude          go to state 253
+    BooleanOperator  go to state 254
+    Boolean          go to state 255
+    FExpr            go to state 256
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    ListOfDouble     go to state 577
+    FExpr_Multi      go to state 261
+    StringIndex      go to state 131
+    String__Index    go to state 262
+
+
+state 278
+
+  335 Constraints: tPeriodic tLine . '{' RecursiveListOfDouble '}' tAFFECT '{' RecursiveListOfDouble '}' PeriodicTransform tEND
+  337            | tPeriodic tLine . '{' RecursiveListOfDouble '}' tAFFECT '{' RecursiveListOfDouble '}' tRotate '{' VExpr ',' VExpr ',' FExpr '}' tEND
+  339            | tPeriodic tLine . '{' RecursiveListOfDouble '}' tAFFECT '{' RecursiveListOfDouble '}' tTranslate VExpr tEND
+
+    '{'  shift, and go to state 578
+
+
+state 279
+
+  336 Constraints: tPeriodic tSurface . '{' RecursiveListOfDouble '}' tAFFECT '{' RecursiveListOfDouble '}' PeriodicTransform tEND
+  338            | tPeriodic tSurface . '{' RecursiveListOfDouble '}' tAFFECT '{' RecursiveListOfDouble '}' tRotate '{' VExpr ',' VExpr ',' FExpr '}' tEND
+  340            | tPeriodic tSurface . '{' RecursiveListOfDouble '}' tAFFECT '{' RecursiveListOfDouble '}' tTranslate VExpr tEND
+  341            | tPeriodic tSurface . FExpr '{' RecursiveListOfDouble '}' tAFFECT FExpr '{' RecursiveListOfDouble '}' tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '{'                  shift, and go to state 579
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 580
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 280
+
+  106 Affectation: tPlugin '(' . tSTRING ')' '.' tSTRING tAFFECT FExpr tEND
+  107            | tPlugin '(' . tSTRING ')' '.' tSTRING tAFFECT StringExpr tEND
+  246 Command: tPlugin '(' . tSTRING ')' '.' tSTRING tEND
+
+    tSTRING  shift, and go to state 581
+
+
+state 281
+
+  352 Constraints: tDegenerated tLine . ListOfDouble tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 247
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '{'                   shift, and go to state 250
+    '#'                   shift, and go to state 251
+
+    Transform        go to state 252
+    Extrude          go to state 253
+    BooleanOperator  go to state 254
+    Boolean          go to state 255
+    FExpr            go to state 256
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    ListOfDouble     go to state 582
+    FExpr_Multi      go to state 261
+    StringIndex      go to state 131
+    String__Index    go to state 262
+
+
+state 282
+
+  226 Delete: tRecursive tDelete . '{' ListOfShapes '}'
+
+    '{'  shift, and go to state 583
+
+
+state 283
+
+  233 Colorify: tRecursive tColor . ColorExpr '{' ListOfShapes '}'
+
+    tSTRING        shift, and go to state 333
+    tStringToName  shift, and go to state 107
+    '{'            shift, and go to state 334
+
+    ColorExpr      go to state 584
+    StringIndex    go to state 131
+    String__Index  go to state 336
+
+
+state 284
+
+  238 Visibility: tRecursive tShow . '{' ListOfShapes '}'
+
+    '{'  shift, and go to state 585
+
+
+state 285
+
+  240 Visibility: tRecursive tHide . '{' ListOfShapes '}'
+
+    '{'  shift, and go to state 586
+
+
+state 286
+
+  198 Transform: tRotate '{' . VExpr ',' VExpr ',' FExpr '}' '{' MultipleShape '}'
+
+    '+'  shift, and go to state 287
+    '-'  shift, and go to state 288
+    '('  shift, and go to state 289
+    '{'  shift, and go to state 290
+
+    VExpr         go to state 587
+    VExpr_Single  go to state 292
+
+
+state 287
+
+  472 VExpr: '+' . VExpr
+
+    '+'  shift, and go to state 287
+    '-'  shift, and go to state 288
+    '('  shift, and go to state 289
+    '{'  shift, and go to state 290
+
+    VExpr         go to state 588
+    VExpr_Single  go to state 292
+
+
+state 288
+
+  471 VExpr: '-' . VExpr
+
+    '+'  shift, and go to state 287
+    '-'  shift, and go to state 288
+    '('  shift, and go to state 289
+    '{'  shift, and go to state 290
+
+    VExpr         go to state 589
+    VExpr_Single  go to state 292
+
+
+state 289
+
+  478 VExpr_Single: '(' . FExpr ',' FExpr ',' FExpr ')'
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 590
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 290
+
+  475 VExpr_Single: '{' . FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr '}'
+  476             | '{' . FExpr ',' FExpr ',' FExpr ',' FExpr '}'
+  477             | '{' . FExpr ',' FExpr ',' FExpr '}'
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 591
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 291
+
+  197 Transform: tTranslate VExpr . '{' MultipleShape '}'
+  473 VExpr: VExpr . '-' VExpr
+  474      | VExpr . '+' VExpr
+
+    '+'  shift, and go to state 592
+    '-'  shift, and go to state 593
+    '{'  shift, and go to state 594
+
+
+state 292
+
+  470 VExpr: VExpr_Single .
+
+    $default  reduce using rule 470 (VExpr)
+
+
+state 293
+
+  199 Transform: tSymmetry VExpr . '{' MultipleShape '}'
+  473 VExpr: VExpr . '-' VExpr
+  474      | VExpr . '+' VExpr
+
+    '+'  shift, and go to state 592
+    '-'  shift, and go to state 593
+    '{'  shift, and go to state 595
+
+
+state 294
+
+  200 Transform: tDilate '{' . VExpr ',' FExpr '}' '{' MultipleShape '}'
+  201          | tDilate '{' . VExpr ',' VExpr '}' '{' MultipleShape '}'
+
+    '+'  shift, and go to state 287
+    '-'  shift, and go to state 288
+    '('  shift, and go to state 289
+    '{'  shift, and go to state 290
+
+    VExpr         go to state 596
+    VExpr_Single  go to state 292
+
+
+state 295
+
+  276 Extrude: tExtrude '{' . VExpr ',' VExpr ',' FExpr '}' '{' ListOfShapes '}'
+  277        | tExtrude '{' . VExpr ',' VExpr ',' VExpr ',' FExpr '}' '{' ListOfShapes '}'
+  281        | tExtrude '{' . VExpr ',' VExpr ',' FExpr '}' '{' ListOfShapes @10 ExtrudeParameters '}'
+  283        | tExtrude '{' . VExpr ',' VExpr ',' VExpr ',' FExpr '}' '{' ListOfShapes @11 ExtrudeParameters '}'
+  285        | tExtrude '{' . ListOfShapes @12 ExtrudeParameters '}'
+  286        | tExtrude '{' . ListOfShapes '}' tUsing tWire '{' FExpr '}'
+  475 VExpr_Single: '{' . FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr '}'
+  476             | '{' . FExpr ',' FExpr ',' FExpr ',' FExpr '}'
+  477             | '{' . FExpr ',' FExpr ',' FExpr '}'
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 597
+    '-'                  shift, and go to state 598
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 599
+    '{'                  shift, and go to state 290
+    '#'                  shift, and go to state 251
+
+    $default  reduce using rule 207 (ListOfShapes)
+
+    ListOfShapes     go to state 600
+    FExpr            go to state 591
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    VExpr            go to state 601
+    VExpr_Single     go to state 292
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 296
+
+  275 Extrude: tExtrude VExpr . '{' ListOfShapes '}'
+  279        | tExtrude VExpr . '{' ListOfShapes @9 ExtrudeParameters '}'
+  473 VExpr: VExpr . '-' VExpr
+  474      | VExpr . '+' VExpr
+
+    '+'  shift, and go to state 592
+    '-'  shift, and go to state 593
+    '{'  shift, and go to state 602
+
+
+state 297
+
+  222 LevelSet: tLevelset tSTRING . '(' FExpr ')' tAFFECT ListOfDouble tEND
+  223         | tLevelset tSTRING . '(' FExpr ')' tAFFECT tBIGSTR tEND
+  224         | tLevelset tSTRING . '{' FExpr '}' tEND
+
+    '('  shift, and go to state 603
+    '{'  shift, and go to state 604
+
+
+state 298
+
+  214 LevelSet: tLevelset tPoint . '(' FExpr ')' tAFFECT '{' RecursiveListOfListOfDouble '}' tEND
+
+    '('  shift, and go to state 605
+
+
+state 299
+
+  217 LevelSet: tLevelset tSphere . '(' FExpr ')' tAFFECT '{' VExpr ',' RecursiveListOfDouble '}' tEND
+
+    '('  shift, and go to state 606
+
+
+state 300
+
+  218 LevelSet: tLevelset tCylinder . '(' FExpr ')' tAFFECT '{' VExpr ',' VExpr ',' RecursiveListOfDouble '}' tEND
+
+    '('  shift, and go to state 607
+
+
+state 301
+
+  219 LevelSet: tLevelset tCone . '(' FExpr ')' tAFFECT '{' VExpr ',' VExpr ',' RecursiveListOfDouble '}' tEND
+
+    '('  shift, and go to state 608
+
+
+state 302
+
+  220 LevelSet: tLevelset tEllipsoid . '(' FExpr ')' tAFFECT '{' VExpr ',' VExpr ',' RecursiveListOfDouble '}' tEND
+
+    '('  shift, and go to state 609
+
+
+state 303
+
+  221 LevelSet: tLevelset tQuadric . '(' FExpr ')' tAFFECT '{' VExpr ',' VExpr ',' RecursiveListOfDouble '}' tEND
+
+    '('  shift, and go to state 610
+
+
+state 304
+
+  213 LevelSet: tLevelset tPlane . '(' FExpr ')' tAFFECT ListOfDouble tEND
+  215         | tLevelset tPlane . '(' FExpr ')' tAFFECT '{' VExpr ',' VExpr ',' RecursiveListOfDouble '}' tEND
+  216         | tLevelset tPlane . '(' FExpr ')' tAFFECT '{' VExpr ',' VExpr ',' VExpr ',' RecursiveListOfDouble '}' tEND
+
+    '('  shift, and go to state 611
+
+
+state 305
+
+  185 Shape: tThickSolid '(' . FExpr ')' tAFFECT ListOfDouble tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 612
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 306
+
+  332 Constraints: tRecombine tSurface . ListOfDoubleOrAll RecombineAngle tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tBIGSTR               shift, and go to state 325
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 247
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '{'                   shift, and go to state 250
+    '#'                   shift, and go to state 251
+
+    Transform          go to state 252
+    Extrude            go to state 253
+    BooleanOperator    go to state 254
+    Boolean            go to state 255
+    FExpr              go to state 256
+    FExpr_Single       go to state 257
+    DefineStruct       go to state 258
+    Struct_FullName    go to state 259
+    ListOfDouble       go to state 327
+    ListOfDoubleOrAll  go to state 613
+    FExpr_Multi        go to state 261
+    StringIndex        go to state 131
+    String__Index      go to state 262
+
+
+state 307
+
+  333 Constraints: tRecombine tVolume . ListOfDoubleOrAll tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tBIGSTR               shift, and go to state 325
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 247
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '{'                   shift, and go to state 250
+    '#'                   shift, and go to state 251
+
+    Transform          go to state 252
+    Extrude            go to state 253
+    BooleanOperator    go to state 254
+    Boolean            go to state 255
+    FExpr              go to state 256
+    FExpr_Single       go to state 257
+    DefineStruct       go to state 258
+    Struct_FullName    go to state 259
+    ListOfDouble       go to state 327
+    ListOfDoubleOrAll  go to state 614
+    FExpr_Multi        go to state 261
+    StringIndex        go to state 131
+    String__Index      go to state 262
+
+
+state 308
+
+  334 Constraints: tSmoother tSurface . ListOfDoubleOrAll tAFFECT FExpr tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tBIGSTR               shift, and go to state 325
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 247
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '{'                   shift, and go to state 250
+    '#'                   shift, and go to state 251
+
+    Transform          go to state 252
+    Extrude            go to state 253
+    BooleanOperator    go to state 254
+    Boolean            go to state 255
+    FExpr              go to state 256
+    FExpr_Single       go to state 257
+    DefineStruct       go to state 258
+    Struct_FullName    go to state 259
+    ListOfDouble       go to state 327
+    ListOfDoubleOrAll  go to state 615
+    FExpr_Multi        go to state 261
+    StringIndex        go to state 131
+    String__Index      go to state 262
+
+
+state 309
+
+  204 Transform: tSplit tLine . '(' FExpr ')' '{' RecursiveListOfDouble '}' tEND
+
+    '('  shift, and go to state 616
+
+
+state 310
+
+  228 Delete: tDelete tSTRING . '[' FExpr ']' tEND
+  230       | tDelete tSTRING . tSTRING tEND
+  582 StringIndex: tSTRING . '~' '{' FExpr '}'
+  585 String__Index: tSTRING .
+
+    tSTRING  shift, and go to state 617
+    '['      shift, and go to state 618
+    '~'      shift, and go to state 134
+
+    $default  reduce using rule 585 (String__Index)
+
+
+state 311
+
+  231 Delete: tDelete tDefineStruct . tEND
+
+    tEND  shift, and go to state 619
+
+
+state 312
+
+  227 Delete: tDelete tField . '[' FExpr ']' tEND
+
+    '['  shift, and go to state 620
+
+
+state 313
+
+  225 Delete: tDelete '{' . ListOfShapes '}'
+
+    $default  reduce using rule 207 (ListOfShapes)
+
+    ListOfShapes  go to state 621
+
+
+state 314
+
+  229 Delete: tDelete String__Index . tEND
+
+    tEND  shift, and go to state 622
+
+
+state 315
+
+  357 Coherence: tCoherence tSTRING . tEND
+
+    tEND  shift, and go to state 623
+
+
+state 316
+
+  356 Coherence: tCoherence tEND .
+
+    $default  reduce using rule 356 (Coherence)
+
+
+state 317
+
+  358 Coherence: tCoherence tPoint . '{' RecursiveListOfDouble '}' tEND
+
+    '{'  shift, and go to state 624
+
+
+state 318
+
+  203 Transform: tIntersect tLine . '{' RecursiveListOfDouble '}' tSurface '{' FExpr '}'
+
+    '{'  shift, and go to state 625
+
+
+state 319
+
+  331 Constraints: tMeshAlgorithm tSurface . '{' RecursiveListOfDouble '}' tAFFECT FExpr tEND
+
+    '{'  shift, and go to state 626
+
+
+state 320
+
+  348 Constraints: tReverse tLine . ListOfDoubleOrAll tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tBIGSTR               shift, and go to state 325
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 247
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '{'                   shift, and go to state 250
+    '#'                   shift, and go to state 251
+
+    Transform          go to state 252
+    Extrude            go to state 253
+    BooleanOperator    go to state 254
+    Boolean            go to state 255
+    FExpr              go to state 256
+    FExpr_Single       go to state 257
+    DefineStruct       go to state 258
+    Struct_FullName    go to state 259
+    ListOfDouble       go to state 327
+    ListOfDoubleOrAll  go to state 627
+    FExpr_Multi        go to state 261
+    StringIndex        go to state 131
+    String__Index      go to state 262
+
+
+state 321
+
+  347 Constraints: tReverse tSurface . ListOfDoubleOrAll tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tBIGSTR               shift, and go to state 325
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 247
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '{'                   shift, and go to state 250
+    '#'                   shift, and go to state 251
+
+    Transform          go to state 252
+    Extrude            go to state 253
+    BooleanOperator    go to state 254
+    Boolean            go to state 255
+    FExpr              go to state 256
+    FExpr_Single       go to state 257
+    DefineStruct       go to state 258
+    Struct_FullName    go to state 259
+    ListOfDouble       go to state 327
+    ListOfDoubleOrAll  go to state 628
+    FExpr_Multi        go to state 261
+    StringIndex        go to state 131
+    String__Index      go to state 262
+
+
+state 322
+
+   34 View: tAlias tSTRING . '[' FExpr ']' tEND
+
+    '['  shift, and go to state 629
+
+
+state 323
+
+   35 View: tAliasWithOptions tSTRING . '[' FExpr ']' tEND
+
+    '['  shift, and go to state 630
+
+
+state 324
+
+   36 View: tCopyOptions tSTRING . '[' FExpr ',' FExpr ']' tEND
+
+    '['  shift, and go to state 631
+
+
+state 325
+
+  488 ListOfDoubleOrAll: tBIGSTR .
+
+    $default  reduce using rule 488 (ListOfDoubleOrAll)
+
+
+state 326
+
+  367 FExpr: '(' . FExpr ')'
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 632
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 327
+
+  487 ListOfDoubleOrAll: ListOfDouble .
+
+    $default  reduce using rule 487 (ListOfDoubleOrAll)
+
+
+state 328
+
+  330 Constraints: tTransfQuadTri ListOfDoubleOrAll . tEND
+
+    tEND  shift, and go to state 633
+
+
+state 329
+
+  247 Command: tCombine tSTRING . tEND
+
+    tEND  shift, and go to state 634
+
+
+state 330
+
+  164 Shape: tBSpline '(' . FExpr ')' tAFFECT ListOfDouble tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 635
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 331
+
+  165 Shape: tBezier '(' . FExpr ')' tAFFECT ListOfDouble tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 636
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 332
+
+  166 Shape: tNurbs '(' . FExpr ')' tAFFECT ListOfDouble tNurbsKnots ListOfDouble tNurbsOrder FExpr tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 637
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 333
+
+  528 ColorExpr: tSTRING . '.' tColor '.' tSTRING
+  582 StringIndex: tSTRING . '~' '{' FExpr '}'
+  585 String__Index: tSTRING .
+
+    '.'  shift, and go to state 638
+    '~'  shift, and go to state 134
+
+    $default  reduce using rule 585 (String__Index)
+
+
+state 334
+
+  525 ColorExpr: '{' . FExpr ',' FExpr ',' FExpr ',' FExpr '}'
+  526          | '{' . FExpr ',' FExpr ',' FExpr '}'
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 639
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 335
+
+  232 Colorify: tColor ColorExpr . '{' ListOfShapes '}'
+
+    '{'  shift, and go to state 640
+
+
+state 336
+
+  527 ColorExpr: String__Index .
+
+    $default  reduce using rule 527 (ColorExpr)
+
+
+state 337
+
+  263 Loop: tFor tSTRING . tIn '{' FExpr tDOTS FExpr '}'
+  264     | tFor tSTRING . tIn '{' FExpr tDOTS FExpr tDOTS FExpr '}'
+
+    tIn  shift, and go to state 641
+
+
+state 338
+
+  261 Loop: tFor '(' . FExpr tDOTS FExpr ')'
+  262     | tFor '(' . FExpr tDOTS FExpr tDOTS FExpr ')'
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 642
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 339
+
+  271 Loop: tIf '(' . FExpr ')'
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 643
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 340
+
+  272 Loop: tElseIf '(' . FExpr ')'
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 644
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 341
+
+  248 Command: tExit tEND .
+
+    $default  reduce using rule 248 (Command)
+
+
+state 342
+
+  249 Command: tAbort tEND .
+
+    $default  reduce using rule 249 (Command)
+
+
+state 343
+
+  101 Affectation: tField '[' . FExpr ']' tAFFECT tSTRING tEND
+  102            | tField '[' . FExpr ']' '.' tSTRING tAFFECT FExpr tEND
+  103            | tField '[' . FExpr ']' '.' tSTRING tAFFECT StringExpr tEND
+  104            | tField '[' . FExpr ']' '.' tSTRING tAFFECT '{' RecursiveListOfDouble '}' tEND
+  105            | tField '[' . FExpr ']' '.' tSTRING tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 645
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 344
+
+  546 StringExpr: tBIGSTR .
+
+    $default  reduce using rule 546 (StringExpr)
+
+
+state 345
+
+  562 StringExpr: tStr . LP RecursiveListOfStringExprVar RP
+
+    '('  shift, and go to state 153
+    '['  shift, and go to state 154
+
+    LP  go to state 646
+
+
+state 346
+
+  569 StringExpr: tSprintf . LP StringExprVar RP
+  570           | tSprintf . LP StringExprVar ',' RecursiveListOfDouble RP
+
+    '('  shift, and go to state 153
+    '['  shift, and go to state 154
+
+    LP  go to state 647
+
+
+state 347
+
+  558 StringExpr: tStrCat . LP RecursiveListOfStringExprVar RP
+
+    '('  shift, and go to state 153
+    '['  shift, and go to state 154
+
+    LP  go to state 648
+
+
+state 348
+
+  559 StringExpr: tStrPrefix . '(' StringExprVar ')'
+
+    '('  shift, and go to state 649
+
+
+state 349
+
+  560 StringExpr: tStrRelative . '(' StringExprVar ')'
+
+    '('  shift, and go to state 650
+
+
+state 350
+
+  561 StringExpr: tStrReplace . '(' StringExprVar ',' StringExprVar ',' StringExprVar ')'
+
+    '('  shift, and go to state 651
+
+
+state 351
+
+  574 StringExpr: tAbsolutePath . LP StringExprVar RP
+
+    '('  shift, and go to state 153
+    '['  shift, and go to state 154
+
+    LP  go to state 652
+
+
+state 352
+
+  573 StringExpr: tDirName . LP StringExprVar RP
+
+    '('  shift, and go to state 153
+    '['  shift, and go to state 154
+
+    LP  go to state 653
+
+
+state 353
+
+  567 StringExpr: tStrSub . LP StringExprVar ',' FExpr ',' FExpr RP
+  568           | tStrSub . LP StringExprVar ',' FExpr RP
+
+    '('  shift, and go to state 153
+    '['  shift, and go to state 154
+
+    LP  go to state 654
+
+
+state 354
+
+  566 StringExpr: tStrChoice . LP FExpr ',' StringExprVar ',' StringExprVar RP
+
+    '('  shift, and go to state 153
+    '['  shift, and go to state 154
+
+    LP  go to state 655
+
+
+state 355
+
+  563 StringExpr: tUpperCase . LP StringExprVar RP
+
+    '('  shift, and go to state 153
+    '['  shift, and go to state 154
+
+    LP  go to state 656
+
+
+state 356
+
+  564 StringExpr: tLowerCase . LP StringExprVar RP
+
+    '('  shift, and go to state 153
+    '['  shift, and go to state 154
+
+    LP  go to state 657
+
+
+state 357
+
+  565 StringExpr: tLowerCaseIn . LP StringExprVar RP
+
+    '('  shift, and go to state 153
+    '['  shift, and go to state 154
+
+    LP  go to state 658
+
+
+state 358
+
+  548 StringExpr: tToday .
+
+    $default  reduce using rule 548 (StringExpr)
+
+
+state 359
+
+  571 StringExpr: tFixRelativePath . LP StringExprVar RP
+
+    '('  shift, and go to state 153
+    '['  shift, and go to state 154
+
+    LP  go to state 659
+
+
+state 360
+
+  572 StringExpr: tCurrentDirectory .
+
+    $default  reduce using rule 572 (StringExpr)
+
+
+state 361
+
+  550 StringExpr: tOnelabAction .
+
+    $default  reduce using rule 550 (StringExpr)
+
+
+state 362
+
+  551 StringExpr: tCodeName .
+
+    $default  reduce using rule 551 (StringExpr)
+
+
+state 363
+
+  577 StringExpr: tNameStruct . LP NameStruct_Arg RP
+
+    '('  shift, and go to state 153
+    '['  shift, and go to state 154
+
+    LP  go to state 660
+
+
+state 364
+
+  576 StringExpr: tDefineString . LP StringExpr @15 CharParameterOptionsOrNone RP
+
+    '('  shift, and go to state 153
+    '['  shift, and go to state 154
+
+    LP  go to state 661
+
+
+state 365
+
+  553 StringExpr: tGetStringValue . '(' StringExprVar ',' StringExprVar ')'
+
+    '('  shift, and go to state 662
+
+
+state 366
+
+  552 StringExpr: tGetEnv . '(' StringExprVar ')'
+
+    '('  shift, and go to state 663
+
+
+state 367
+
+  554 StringExpr: tGetString . LP StringExprVar RP
+  555           | tGetString . LP StringExprVar ',' StringExprVar RP
+
+    '('  shift, and go to state 153
+    '['  shift, and go to state 154
+
+    LP  go to state 664
+
+
+state 368
+
+  556 StringExpr: tGetForcedStr . '(' Struct_FullName GetForcedStr_Default ')'
+  557           | tGetForcedStr . '(' Struct_FullName '.' tSTRING_Member_Float GetForcedStr_Default ')'
+
+    '('  shift, and go to state 665
+
+
+state 369
+
+  549 StringExpr: tGmshExecutableName .
+
+    $default  reduce using rule 549 (StringExpr)
+
+
+state 370
+
+  547 StringExpr: tNameToString . '[' String__Index ']'
+
+    '['  shift, and go to state 666
+
+
+state 371
+
+  270 Loop: tCall StringExpr . tEND
+
+    tEND  shift, and go to state 667
+
+
+state 372
+
+  269 Loop: tCall String__Index . tEND
+
+    tEND  shift, and go to state 668
+
+
+state 373
+
+  260 Slide: tSlide '(' . '{' RecursiveListOfDouble '}' ',' StringExpr ',' StringExpr ')' tEND
+
+    '{'  shift, and go to state 669
+
+
+state 374
+
+  266 Loop: tMacro tSTRING .
+
+    $default  reduce using rule 266 (Loop)
+
+
+state 375
+
+  267 Loop: tMacro StringExpr .
+
+    $default  reduce using rule 267 (Loop)
+
+
+state 376
+
+  235 Visibility: tShow tBIGSTR . tEND
+
+    tEND  shift, and go to state 670
+
+
+state 377
+
+  237 Visibility: tShow '{' . ListOfShapes '}'
+
+    $default  reduce using rule 207 (ListOfShapes)
+
+    ListOfShapes  go to state 671
+
+
+state 378
+
+  236 Visibility: tHide tBIGSTR . tEND
+
+    tEND  shift, and go to state 672
+
+
+state 379
+
+  239 Visibility: tHide '{' . ListOfShapes '}'
+
+    $default  reduce using rule 207 (ListOfShapes)
+
+    ListOfShapes  go to state 673
+
+
+state 380
+
+  405 FExpr: tAbs . LP FExpr RP
+
+    '('  shift, and go to state 153
+    '['  shift, and go to state 154
+
+    LP  go to state 674
+
+
+state 381
+
+  368 FExpr: '-' . FExpr
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 675
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 382
+
+  234 SetPartition: tSetPartition FExpr . '{' ListOfShapes '}'
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    '{'              shift, and go to state 677
+
+
+state 383
+
+  441 FExpr_Single: String__Index . NumericIncrement
+  442             | String__Index . '[' FExpr ']' NumericIncrement
+  443             | String__Index . '(' FExpr ')' NumericIncrement
+  444             | String__Index . '.' tSTRING_Member_Float
+  445             | String__Index . tSCOPE String__Index '.' tSTRING_Member_Float
+  446             | String__Index . '.' tSTRING_Member_Float '(' FExpr ')'
+  447             | String__Index . tSCOPE String__Index '.' tSTRING_Member_Float '(' FExpr ')'
+  448             | String__Index . '[' FExpr ']' '.' tSTRING
+  449             | String__Index . '.' tSTRING NumericIncrement
+  450             | String__Index . '[' FExpr ']' '.' tSTRING NumericIncrement
+  463 Struct_FullName: String__Index .
+  464                | String__Index . tSCOPE String__Index
+
+    tSCOPE       shift, and go to state 553
+    tMINUSMINUS  shift, and go to state 399
+    tPLUSPLUS    shift, and go to state 400
+    '('          shift, and go to state 678
+    '['          shift, and go to state 679
+    '.'          shift, and go to state 556
+
+    '('       [reduce using rule 463 (Struct_FullName)]
+    '['       [reduce using rule 463 (Struct_FullName)]
+    $default  reduce using rule 463 (Struct_FullName)
+
+    NumericIncrement  go to state 557
+
+
+state 384
+
+  584 StringIndex: tStringToName '[' . StringExprVar ']' '~' '{' FExpr '}'
+  587 String__Index: tStringToName '[' . StringExprVar ']'
+
+    tSTRING              shift, and go to state 150
+    tBIGSTR              shift, and go to state 344
+    tStr                 shift, and go to state 345
+    tSprintf             shift, and go to state 346
+    tStrCat              shift, and go to state 347
+    tStrPrefix           shift, and go to state 348
+    tStrRelative         shift, and go to state 349
+    tStrReplace          shift, and go to state 350
+    tAbsolutePath        shift, and go to state 351
+    tDirName             shift, and go to state 352
+    tStrSub              shift, and go to state 353
+    tStrChoice           shift, and go to state 354
+    tUpperCase           shift, and go to state 355
+    tLowerCase           shift, and go to state 356
+    tLowerCaseIn         shift, and go to state 357
+    tToday               shift, and go to state 358
+    tFixRelativePath     shift, and go to state 359
+    tCurrentDirectory    shift, and go to state 360
+    tOnelabAction        shift, and go to state 361
+    tCodeName            shift, and go to state 362
+    tNameStruct          shift, and go to state 363
+    tDefineString        shift, and go to state 364
+    tPhysical            shift, and go to state 393
+    tGetStringValue      shift, and go to state 365
+    tGetEnv              shift, and go to state 366
+    tGetString           shift, and go to state 367
+    tGetForcedStr        shift, and go to state 368
+    tGmshExecutableName  shift, and go to state 369
+    tNameToString        shift, and go to state 370
+    tStringToName        shift, and go to state 107
+
+    StringExprVar  go to state 680
+    StringExpr     go to state 419
+    StringIndex    go to state 131
+    String__Index  go to state 420
+
+
+state 385
+
+  315 BooleanShape: BooleanOperator '(' . FExpr ')' tAFFECT '{' ListOfShapes BooleanOption '}' '{' ListOfShapes BooleanOption '}' tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 681
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 386
+
+  313 Boolean: BooleanOperator '{' . ListOfShapes BooleanOption '}' '{' ListOfShapes BooleanOption '}'
+
+    $default  reduce using rule 207 (ListOfShapes)
+
+    ListOfShapes  go to state 682
+
+
+state 387
+
+  362 Homology: HomologyCommand tEND .
+
+    $default  reduce using rule 362 (Homology)
+
+
+state 388
+
+  365 Homology: HomologyCommand '(' . ListOfDouble ')' '{' ListOfDouble ',' ListOfDouble '}' tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 247
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '{'                   shift, and go to state 250
+    '#'                   shift, and go to state 251
+
+    Transform        go to state 252
+    Extrude          go to state 253
+    BooleanOperator  go to state 254
+    Boolean          go to state 255
+    FExpr            go to state 256
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    ListOfDouble     go to state 683
+    FExpr_Multi      go to state 261
+    StringIndex      go to state 131
+    String__Index    go to state 262
+
+
+state 389
+
+  363 Homology: HomologyCommand '{' . ListOfDouble '}' tEND
+  364         | HomologyCommand '{' . ListOfDouble ',' ListOfDouble '}' tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 247
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '{'                   shift, and go to state 250
+    '#'                   shift, and go to state 251
+
+    Transform        go to state 252
+    Extrude          go to state 253
+    BooleanOperator  go to state 254
+    Boolean          go to state 255
+    FExpr            go to state 256
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    ListOfDouble     go to state 684
+    FExpr_Multi      go to state 261
+    StringIndex      go to state 131
+    String__Index    go to state 262
+
+
+state 390
+
+   75 Affectation: DefineStruct tEND .
+
+    $default  reduce using rule 75 (Affectation)
+
+
+state 391
+
+  583 StringIndex: StringIndex '~' . '{' FExpr '}'
+
+    '{'  shift, and go to state 685
+
+
+state 392
+
+   62 NumericAffectation: tAFFECT .
+   86 Affectation: String__Index tAFFECT . StringExpr tEND
+
+    tBIGSTR              shift, and go to state 344
+    tStr                 shift, and go to state 345
+    tSprintf             shift, and go to state 346
+    tStrCat              shift, and go to state 347
+    tStrPrefix           shift, and go to state 348
+    tStrRelative         shift, and go to state 349
+    tStrReplace          shift, and go to state 350
+    tAbsolutePath        shift, and go to state 351
+    tDirName             shift, and go to state 352
+    tStrSub              shift, and go to state 353
+    tStrChoice           shift, and go to state 354
+    tUpperCase           shift, and go to state 355
+    tLowerCase           shift, and go to state 356
+    tLowerCaseIn         shift, and go to state 357
+    tToday               shift, and go to state 358
+    tFixRelativePath     shift, and go to state 359
+    tCurrentDirectory    shift, and go to state 360
+    tOnelabAction        shift, and go to state 361
+    tCodeName            shift, and go to state 362
+    tNameStruct          shift, and go to state 363
+    tDefineString        shift, and go to state 364
+    tGetStringValue      shift, and go to state 365
+    tGetEnv              shift, and go to state 366
+    tGetString           shift, and go to state 367
+    tGetForcedStr        shift, and go to state 368
+    tGmshExecutableName  shift, and go to state 369
+    tNameToString        shift, and go to state 370
+
+    $default  reduce using rule 62 (NumericAffectation)
+
+    StringExpr  go to state 686
+
+
+state 393
+
+  542 StringExprVar: tPhysical . tPoint '{' FExpr '}'
+  543              | tPhysical . tLine '{' FExpr '}'
+  544              | tPhysical . tSurface '{' FExpr '}'
+  545              | tPhysical . tVolume '{' FExpr '}'
+
+    tPoint    shift, and go to state 687
+    tLine     shift, and go to state 688
+    tSurface  shift, and go to state 689
+    tVolume   shift, and go to state 690
+
+
+state 394
+
+  100 Affectation: String__Index tField . tAFFECT FExpr tEND
+
+    tAFFECT  shift, and go to state 691
+
+
+state 395
+
+   66 NumericAffectation: tAFFECTDIVIDE .
+
+    $default  reduce using rule 66 (NumericAffectation)
+
+
+state 396
+
+   65 NumericAffectation: tAFFECTTIMES .
+
+    $default  reduce using rule 65 (NumericAffectation)
+
+
+state 397
+
+   64 NumericAffectation: tAFFECTMINUS .
+
+    $default  reduce using rule 64 (NumericAffectation)
+
+
+state 398
+
+   63 NumericAffectation: tAFFECTPLUS .
+
+    $default  reduce using rule 63 (NumericAffectation)
+
+
+state 399
+
+   68 NumericIncrement: tMINUSMINUS .
+
+    $default  reduce using rule 68 (NumericIncrement)
+
+
+state 400
+
+   67 NumericIncrement: tPLUSPLUS .
+
+    $default  reduce using rule 67 (NumericIncrement)
+
+
+state 401
+
+   69 LP: '(' .
+   84 Affectation: String__Index '(' . FExpr ')' NumericAffectation FExpr tEND
+   85            | String__Index '(' . FExpr ')' NumericIncrement tEND
+  367 FExpr: '(' . FExpr ')'
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    $default  reduce using rule 69 (LP)
+
+    FExpr            go to state 692
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 402
+
+   70 LP: '[' .
+   82 Affectation: String__Index '[' . FExpr ']' NumericAffectation FExpr tEND
+   83            | String__Index '[' . FExpr ']' NumericIncrement tEND
+   91            | String__Index '[' . FExpr ']' '.' tSTRING tAFFECT StringExpr tEND
+   93            | String__Index '[' . FExpr ']' '.' tSTRING NumericAffectation FExpr tEND
+   95            | String__Index '[' . FExpr ']' '.' tSTRING NumericIncrement tEND
+   97            | String__Index '[' . FExpr ']' '.' tColor '.' tSTRING tAFFECT ColorExpr tEND
+   99            | String__Index '[' . FExpr ']' '.' tColorTable tAFFECT ListOfColor tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    $default  reduce using rule 70 (LP)
+
+    FExpr            go to state 693
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 403
+
+   90 Affectation: String__Index '.' . tSTRING tAFFECT StringExpr tEND
+   92            | String__Index '.' . tSTRING NumericAffectation FExpr tEND
+   94            | String__Index '.' . tSTRING NumericIncrement tEND
+   96            | String__Index '.' . tColor '.' tSTRING tAFFECT ColorExpr tEND
+   98            | String__Index '.' . tColorTable tAFFECT ListOfColor tEND
+
+    tSTRING      shift, and go to state 694
+    tColor       shift, and go to state 695
+    tColorTable  shift, and go to state 696
+
+
+state 404
+
+   78 Affectation: String__Index NumericAffectation . ListOfDouble tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 247
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '{'                   shift, and go to state 250
+    '#'                   shift, and go to state 251
+
+    Transform        go to state 252
+    Extrude          go to state 253
+    BooleanOperator  go to state 254
+    Boolean          go to state 255
+    FExpr            go to state 256
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    ListOfDouble     go to state 697
+    FExpr_Multi      go to state 261
+    StringIndex      go to state 131
+    String__Index    go to state 262
+
+
+state 405
+
+   79 Affectation: String__Index NumericIncrement . tEND
+
+    tEND  shift, and go to state 698
+
+
+state 406
+
+   80 Affectation: String__Index LP . RP NumericAffectation ListOfDouble tEND
+   81            | String__Index LP . '{' RecursiveListOfDouble '}' RP NumericAffectation ListOfDouble tEND
+   87            | String__Index LP . RP tAFFECT tStr LP RP tEND
+   88            | String__Index LP . RP tAFFECT tStr LP RecursiveListOfStringExprVar RP tEND
+   89            | String__Index LP . RP tAFFECTPLUS tStr LP RecursiveListOfStringExprVar RP tEND
+
+    ')'  shift, and go to state 699
+    ']'  shift, and go to state 700
+    '{'  shift, and go to state 701
+
+    RP  go to state 702
+
+
+state 407
+
+  245 Command: String__Index FExpr . tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    tEND             shift, and go to state 703
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+
+
+state 408
+
+   33 View: String__Index StringExprVar . '{' Views '}' tEND
+
+    '{'  shift, and go to state 704
+
+
+state 409
+
+  241 Command: String__Index StringExpr . tEND
+  533 StringExprVar: StringExpr .
+
+    tEND  shift, and go to state 705
+
+    $default  reduce using rule 533 (StringExprVar)
+
+
+state 410
+
+  243 Command: String__Index String__Index . '[' FExpr ']' StringExprVar tEND
+  244        | String__Index String__Index . String__Index '[' FExpr ']' tEND
+  441 FExpr_Single: String__Index . NumericIncrement
+  442             | String__Index . '[' FExpr ']' NumericIncrement
+  443             | String__Index . '(' FExpr ')' NumericIncrement
+  444             | String__Index . '.' tSTRING_Member_Float
+  445             | String__Index . tSCOPE String__Index '.' tSTRING_Member_Float
+  446             | String__Index . '.' tSTRING_Member_Float '(' FExpr ')'
+  447             | String__Index . tSCOPE String__Index '.' tSTRING_Member_Float '(' FExpr ')'
+  448             | String__Index . '[' FExpr ']' '.' tSTRING
+  449             | String__Index . '.' tSTRING NumericIncrement
+  450             | String__Index . '[' FExpr ']' '.' tSTRING NumericIncrement
+  463 Struct_FullName: String__Index .
+  464                | String__Index . tSCOPE String__Index
+  534 StringExprVar: String__Index .
+  535              | String__Index . '[' FExpr ']'
+  536              | String__Index . '(' FExpr ')'
+  537              | String__Index . '.' tSTRING_Member_Float
+  538              | String__Index . tSCOPE String__Index '.' tSTRING_Member_Float
+  539              | String__Index . '.' tSTRING_Member_Float '(' FExpr ')'
+  540              | String__Index . tSCOPE String__Index '.' tSTRING_Member_Float '(' FExpr ')'
+  541              | String__Index . '[' FExpr ']' '.' tSTRING
+
+    tSTRING        shift, and go to state 150
+    tSCOPE         shift, and go to state 706
+    tStringToName  shift, and go to state 107
+    tMINUSMINUS    shift, and go to state 399
+    tPLUSPLUS      shift, and go to state 400
+    '('            shift, and go to state 707
+    '['            shift, and go to state 708
+    '.'            shift, and go to state 709
+
+    '('       [reduce using rule 463 (Struct_FullName)]
+    '['       [reduce using rule 463 (Struct_FullName)]
+    '{'       reduce using rule 534 (StringExprVar)
+    $default  reduce using rule 463 (Struct_FullName)
+
+    NumericIncrement  go to state 557
+    StringIndex       go to state 131
+    String__Index     go to state 710
+
+
+state 411
+
+  202 Transform: tSTRING . '{' MultipleShape '}'
+
+    '{'  shift, and go to state 133
+
+
+state 412
+
+  206 MultipleShape: Transform .
+
+    $default  reduce using rule 206 (MultipleShape)
+
+
+state 413
+
+  202 Transform: tSTRING '{' MultipleShape . '}'
+
+    '}'  shift, and go to state 711
+
+
+state 414
+
+  205 MultipleShape: ListOfShapes .
+  208 ListOfShapes: ListOfShapes . Shape
+  209             | ListOfShapes . tPoint '{' RecursiveListOfDouble '}' tEND
+  210             | ListOfShapes . tLine '{' RecursiveListOfDouble '}' tEND
+  211             | ListOfShapes . tSurface '{' RecursiveListOfDouble '}' tEND
+  212             | ListOfShapes . tVolume '{' RecursiveListOfDouble '}' tEND
+
+    tEuclidian     shift, and go to state 7
+    tCoordinates   shift, and go to state 8
+    tPoint         shift, and go to state 712
+    tCircle        shift, and go to state 25
+    tEllipse       shift, and go to state 26
+    tLine          shift, and go to state 713
+    tSphere        shift, and go to state 28
+    tPolarSphere   shift, and go to state 29
+    tSurface       shift, and go to state 714
+    tSpline        shift, and go to state 31
+    tVolume        shift, and go to state 715
+    tBlock         shift, and go to state 33
+    tCylinder      shift, and go to state 34
+    tCone          shift, and go to state 35
+    tTorus         shift, and go to state 36
+    tRectangle     shift, and go to state 38
+    tDisk          shift, and go to state 39
+    tWire          shift, and go to state 40
+    tParametric    shift, and go to state 42
+    tThruSections  shift, and go to state 716
+    tWedge         shift, and go to state 48
+    tPlane         shift, and go to state 50
+    tRuled         shift, and go to state 717
+    tPhysical      shift, and go to state 53
+    tCompound      shift, and go to state 718
+    tThickSolid    shift, and go to state 70
+    tBSpline       shift, and go to state 84
+    tBezier        shift, and go to state 85
+    tNurbs         shift, and go to state 86
+
+    $default  reduce using rule 205 (MultipleShape)
+
+    Shape  go to state 719
+
+
+state 415
+
+  582 StringIndex: tSTRING '~' '{' . FExpr '}'
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 720
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 416
+
+  173 Shape: tEuclidian tCoordinates tEND .
+
+    $default  reduce using rule 173 (Shape)
+
+
+state 417
+
+  174 Shape: tCoordinates tSurface FExpr . tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    tEND             shift, and go to state 721
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+
+
+state 418
+
+   27 Printf: tPrintf '(' StringExprVar . ')' tEND
+   29       | tPrintf '(' StringExprVar . ')' SendToFile StringExprVar tEND
+   30       | tPrintf '(' StringExprVar . ',' RecursiveListOfDouble ')' tEND
+   32       | tPrintf '(' StringExprVar . ',' RecursiveListOfDouble ')' SendToFile StringExprVar tEND
+
+    ')'  shift, and go to state 722
+    ','  shift, and go to state 723
+
+
+state 419
+
+  533 StringExprVar: StringExpr .
+
+    $default  reduce using rule 533 (StringExprVar)
+
+
+state 420
+
+  534 StringExprVar: String__Index .
+  535              | String__Index . '[' FExpr ']'
+  536              | String__Index . '(' FExpr ')'
+  537              | String__Index . '.' tSTRING_Member_Float
+  538              | String__Index . tSCOPE String__Index '.' tSTRING_Member_Float
+  539              | String__Index . '.' tSTRING_Member_Float '(' FExpr ')'
+  540              | String__Index . tSCOPE String__Index '.' tSTRING_Member_Float '(' FExpr ')'
+  541              | String__Index . '[' FExpr ']' '.' tSTRING
+
+    tSCOPE  shift, and go to state 724
+    '('     shift, and go to state 725
+    '['     shift, and go to state 726
+    '.'     shift, and go to state 727
+
+    $default  reduce using rule 534 (StringExprVar)
+
+
+state 421
+
+   28 Printf: tError '(' StringExprVar . ')' tEND
+   31       | tError '(' StringExprVar . ',' RecursiveListOfDouble ')' tEND
+
+    ')'  shift, and go to state 728
+    ','  shift, and go to state 729
+
+
+state 422
+
+  253 Command: tBoundingBox '{' FExpr . ',' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr '}' tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ','              shift, and go to state 730
+
+
+state 423
+
+  580 RecursiveListOfStringExprVar: StringExprVar .
+
+    $default  reduce using rule 580 (RecursiveListOfStringExprVar)
+
+
+state 424
+
+  242 Command: tOnelabRun '(' RecursiveListOfStringExprVar . ')' tEND
+  581 RecursiveListOfStringExprVar: RecursiveListOfStringExprVar . ',' StringExprVar
+
+    ')'  shift, and go to state 731
+    ','  shift, and go to state 732
+
+
+state 425
+
+   73 Affectation: tDefineConstant '[' DefineConstants . ']' tEND
+  111 DefineConstants: DefineConstants . Comma String__Index
+  112                | DefineConstants . Comma String__Index tAFFECT FExpr
+  114                | DefineConstants . Comma String__Index tAFFECT '{' ListOfDouble @6 FloatParameterOptionsOrNone '}'
+  116                | DefineConstants . Comma String__Index LP RP tAFFECT '{' ListOfDouble @7 FloatParameterOptionsOrNone '}'
+  117                | DefineConstants . Comma String__Index tAFFECT StringExpr
+  119                | DefineConstants . Comma String__Index tAFFECT '{' StringExpr @8 CharParameterOptionsOrNone '}'
+
+    ']'  shift, and go to state 733
+    ','  shift, and go to state 734
+
+    $default  reduce using rule 108 (Comma)
+
+    Comma  go to state 735
+
+
+state 426
+
+   74 Affectation: tUndefineConstant '[' UndefineConstants . ']' tEND
+  121 UndefineConstants: UndefineConstants . Comma StringExprVar
+
+    ']'  shift, and go to state 736
+    ','  shift, and go to state 734
+
+    $default  reduce using rule 108 (Comma)
+
+    Comma  go to state 737
+
+
+state 427
+
+  469 AppendOrNot: '(' . Append ')'
+
+    tAppend  shift, and go to state 738
+
+    Append  go to state 739
+
+
+state 428
+
+  462 DefineStruct: tDefineStruct Struct_FullName AppendOrNot . @14 '[' FloatParameterOptionsOrNone_NoComma ']'
+
+    $default  reduce using rule 461 (@14)
+
+    @14  go to state 740
+
+
+state 429
+
+  464 Struct_FullName: String__Index tSCOPE . String__Index
+
+    tSTRING        shift, and go to state 150
+    tStringToName  shift, and go to state 107
+
+    StringIndex    go to state 131
+    String__Index  go to state 741
+
+
+state 430
+
+   76 Affectation: tSetNumber LP StringExpr . ',' FExpr RP tEND
+
+    ','  shift, and go to state 742
+
+
+state 431
+
+   77 Affectation: tSetString LP String__Index . ',' StringExpr RP tEND
+
+    ','  shift, and go to state 743
+
+
+state 432
+
+  159 Shape: tPoint '(' FExpr . ')' tAFFECT VExpr tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 744
+
+
+state 433
+
+  368 FExpr: '-' . FExpr
+  489 FExpr_Multi: '-' . FExpr_Multi
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 433
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '#'                   shift, and go to state 251
+
+    Transform        go to state 252
+    Extrude          go to state 253
+    BooleanOperator  go to state 254
+    Boolean          go to state 255
+    FExpr            go to state 523
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    FExpr_Multi      go to state 524
+    StringIndex      go to state 131
+    String__Index    go to state 262
+
+
+state 434
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  490 FExpr_Multi: FExpr . '*' FExpr_Multi
+  491            | FExpr . tDOTS FExpr
+  492            | FExpr . tDOTS FExpr tDOTS FExpr
+  521 RecursiveListOfDouble: FExpr .
+
+    tDOTS            shift, and go to state 531
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 745
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+
+    $default  reduce using rule 521 (RecursiveListOfDouble)
+
+
+state 435
+
+  522 RecursiveListOfDouble: FExpr_Multi .
+
+    $default  reduce using rule 522 (RecursiveListOfDouble)
+
+
+state 436
+
+  342 Constraints: tPoint '{' RecursiveListOfDouble . '}' tIn tSurface '{' FExpr '}' tEND
+  344            | tPoint '{' RecursiveListOfDouble . '}' tIn tVolume '{' FExpr '}' tEND
+  523 RecursiveListOfDouble: RecursiveListOfDouble . ',' FExpr
+  524                      | RecursiveListOfDouble . ',' FExpr_Multi
+
+    '}'  shift, and go to state 746
+    ','  shift, and go to state 747
+
+
+state 437
+
+  162 Shape: tCircle '(' FExpr . ')' tAFFECT ListOfDouble CircleOptions tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 748
+
+
+state 438
+
+  163 Shape: tEllipse '(' FExpr . ')' tAFFECT ListOfDouble CircleOptions tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 749
+
+
+state 439
+
+  169 Shape: tLine tSTRING '(' . FExpr ')' tAFFECT ListOfDouble tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 750
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 440
+
+  160 Shape: tLine '(' FExpr . ')' tAFFECT ListOfDouble tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 751
+
+
+state 441
+
+  343 Constraints: tLine '{' RecursiveListOfDouble . '}' tIn tSurface '{' FExpr '}' tEND
+  345            | tLine '{' RecursiveListOfDouble . '}' tIn tVolume '{' FExpr '}' tEND
+  523 RecursiveListOfDouble: RecursiveListOfDouble . ',' FExpr
+  524                      | RecursiveListOfDouble . ',' FExpr_Multi
+
+    '}'  shift, and go to state 752
+    ','  shift, and go to state 747
+
+
+state 442
+
+  176 Shape: tSphere '(' FExpr . ')' tAFFECT ListOfDouble tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 753
+
+
+state 443
+
+  177 Shape: tPolarSphere '(' FExpr . ')' tAFFECT ListOfDouble tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 754
+
+
+state 444
+
+  188 Shape: tSurface tSTRING '(' . FExpr ')' tAFFECT ListOfDouble tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 755
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 445
+
+  171 Shape: tSurface '(' FExpr . ')' tAFFECT ListOfDouble InSphereCenter tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 756
+
+
+state 446
+
+  346 Constraints: tSurface '{' RecursiveListOfDouble . '}' tIn tVolume '{' FExpr '}' tEND
+  523 RecursiveListOfDouble: RecursiveListOfDouble . ',' FExpr
+  524                      | RecursiveListOfDouble . ',' FExpr_Multi
+
+    '}'  shift, and go to state 757
+    ','  shift, and go to state 747
+
+
+state 447
+
+  161 Shape: tSpline '(' FExpr . ')' tAFFECT ListOfDouble tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 758
+
+
+state 448
+
+  189 Shape: tVolume '(' FExpr . ')' tAFFECT ListOfDouble tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 759
+
+
+state 449
+
+  178 Shape: tBlock '(' FExpr . ')' tAFFECT ListOfDouble tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 760
+
+
+state 450
+
+  182 Shape: tCylinder '(' FExpr . ')' tAFFECT ListOfDouble tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 761
+
+
+state 451
+
+  183 Shape: tCone '(' FExpr . ')' tAFFECT ListOfDouble tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 762
+
+
+state 452
+
+  179 Shape: tTorus '(' FExpr . ')' tAFFECT ListOfDouble tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 763
+
+
+state 453
+
+  314 Boolean: tShapeFromFile '(' StringExprVar . ')'
+
+    ')'  shift, and go to state 764
+
+
+state 454
+
+  180 Shape: tRectangle '(' FExpr . ')' tAFFECT ListOfDouble tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 765
+
+
+state 455
+
+  181 Shape: tDisk '(' FExpr . ')' tAFFECT ListOfDouble tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 766
+
+
+state 456
+
+  168 Shape: tWire '(' FExpr . ')' tAFFECT ListOfDouble tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 767
+
+
+state 457
+
+  326 Constraints: tCharacteristic tLength ListOfDouble . tAFFECT FExpr tEND
+
+    tAFFECT  shift, and go to state 768
+
+
+state 458
+
+  175 Shape: tParametric tSurface '(' . FExpr ')' tAFFECT tBIGSTR tBIGSTR tBIGSTR tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 769
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 459
+
+  259 Command: tAdaptMesh '{' RecursiveListOfDouble . '}' '{' RecursiveListOfDouble '}' '{' RecursiveListOfListOfDouble '}' '{' FExpr ',' FExpr '}' tEND
+  523 RecursiveListOfDouble: RecursiveListOfDouble . ',' FExpr
+  524                      | RecursiveListOfDouble . ',' FExpr_Multi
+
+    '}'  shift, and go to state 770
+    ','  shift, and go to state 747
+
+
+state 460
+
+  349 Constraints: tRelocateMesh tPoint ListOfDoubleOrAll . tEND
+
+    tEND  shift, and go to state 771
+
+
+state 461
+
+  350 Constraints: tRelocateMesh tLine ListOfDoubleOrAll . tEND
+
+    tEND  shift, and go to state 772
+
+
+state 462
+
+  351 Constraints: tRelocateMesh tSurface ListOfDoubleOrAll . tEND
+
+    tEND  shift, and go to state 773
+
+
+state 463
+
+    8 GeoFormatItem: tSetFactory '(' StringExprVar . ')' tEND
+
+    ')'  shift, and go to state 774
+
+
+state 464
+
+  390 FExpr: tExp LP . FExpr RP
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 775
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 465
+
+  391 FExpr: tLog LP . FExpr RP
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 776
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 466
+
+  392 FExpr: tLog10 LP . FExpr RP
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 777
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 467
+
+  393 FExpr: tSqrt LP . FExpr RP
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 778
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 468
+
+  394 FExpr: tSin LP . FExpr RP
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 779
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 469
+
+  395 FExpr: tAsin LP . FExpr RP
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 780
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 470
+
+  396 FExpr: tCos LP . FExpr RP
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 781
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 471
+
+  397 FExpr: tAcos LP . FExpr RP
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 782
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 472
+
+  398 FExpr: tTan LP . FExpr RP
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 783
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 473
+
+  412 FExpr: tRand LP . FExpr RP
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 784
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 474
+
+  399 FExpr: tAtan LP . FExpr RP
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 785
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 475
+
+  400 FExpr: tAtan2 LP . FExpr ',' FExpr RP
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 786
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 476
+
+  401 FExpr: tSinh LP . FExpr RP
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 787
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 477
+
+  402 FExpr: tCosh LP . FExpr RP
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 788
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 478
+
+  403 FExpr: tTanh LP . FExpr RP
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 789
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 479
+
+  404 FExpr: tFabs LP . FExpr RP
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 790
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 480
+
+  405 FExpr: tAbs LP . FExpr RP
+  520 FExpr_Multi: tAbs LP . FExpr_Multi RP
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 433
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '#'                   shift, and go to state 251
+
+    Transform        go to state 252
+    Extrude          go to state 253
+    BooleanOperator  go to state 254
+    Boolean          go to state 255
+    FExpr            go to state 791
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    FExpr_Multi      go to state 792
+    StringIndex      go to state 131
+    String__Index    go to state 262
+
+
+state 481
+
+  406 FExpr: tFloor LP . FExpr RP
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 793
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 482
+
+  407 FExpr: tCeil LP . FExpr RP
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 794
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 483
+
+  408 FExpr: tRound LP . FExpr RP
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 795
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 484
+
+  409 FExpr: tFmod LP . FExpr ',' FExpr RP
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 796
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 485
+
+  410 FExpr: tModulo LP . FExpr ',' FExpr RP
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 797
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 486
+
+  411 FExpr: tHypot LP . FExpr ',' FExpr RP
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 798
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 487
+
+   69 LP: '(' .
+  512 FExpr_Multi: tList '(' . FExpr_Multi ')'
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 433
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '#'                   shift, and go to state 251
+
+    $default  reduce using rule 69 (LP)
+
+    Transform        go to state 252
+    Extrude          go to state 253
+    BooleanOperator  go to state 254
+    Boolean          go to state 255
+    FExpr            go to state 799
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    FExpr_Multi      go to state 800
+    StringIndex      go to state 131
+    String__Index    go to state 262
+
+
+state 488
+
+   70 LP: '[' .
+  510 FExpr_Multi: tList '[' . String__Index ']'
+  511            | tList '[' . FExpr_Multi ']'
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 433
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '#'                   shift, and go to state 251
+
+    $default  reduce using rule 70 (LP)
+
+    Transform        go to state 252
+    Extrude          go to state 253
+    BooleanOperator  go to state 254
+    Boolean          go to state 255
+    FExpr            go to state 799
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    FExpr_Multi      go to state 801
+    StringIndex      go to state 131
+    String__Index    go to state 802
+
+
+state 489
+
+  513 FExpr_Multi: tList LP . '{' RecursiveListOfDouble '}' RP
+
+    '{'  shift, and go to state 803
+
+
+state 490
+
+  515 FExpr_Multi: tLinSpace LP . FExpr ',' FExpr ',' FExpr RP
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 804
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 491
+
+  516 FExpr_Multi: tLogSpace LP . FExpr ',' FExpr ',' FExpr RP
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 805
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 492
+
+  517 FExpr_Multi: tListFromFile LP . StringExprVar RP
+
+    tSTRING              shift, and go to state 150
+    tBIGSTR              shift, and go to state 344
+    tStr                 shift, and go to state 345
+    tSprintf             shift, and go to state 346
+    tStrCat              shift, and go to state 347
+    tStrPrefix           shift, and go to state 348
+    tStrRelative         shift, and go to state 349
+    tStrReplace          shift, and go to state 350
+    tAbsolutePath        shift, and go to state 351
+    tDirName             shift, and go to state 352
+    tStrSub              shift, and go to state 353
+    tStrChoice           shift, and go to state 354
+    tUpperCase           shift, and go to state 355
+    tLowerCase           shift, and go to state 356
+    tLowerCaseIn         shift, and go to state 357
+    tToday               shift, and go to state 358
+    tFixRelativePath     shift, and go to state 359
+    tCurrentDirectory    shift, and go to state 360
+    tOnelabAction        shift, and go to state 361
+    tCodeName            shift, and go to state 362
+    tNameStruct          shift, and go to state 363
+    tDefineString        shift, and go to state 364
+    tPhysical            shift, and go to state 393
+    tGetStringValue      shift, and go to state 365
+    tGetEnv              shift, and go to state 366
+    tGetString           shift, and go to state 367
+    tGetForcedStr        shift, and go to state 368
+    tGmshExecutableName  shift, and go to state 369
+    tNameToString        shift, and go to state 370
+    tStringToName        shift, and go to state 107
+
+    StringExprVar  go to state 806
+    StringExpr     go to state 419
+    StringIndex    go to state 131
+    String__Index  go to state 420
+
+
+state 493
+
+  518 FExpr_Multi: tCatenary LP . FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr RP
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 807
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 494
+
+  454 FExpr_Single: tStrLen LP . StringExprVar RP
+
+    tSTRING              shift, and go to state 150
+    tBIGSTR              shift, and go to state 344
+    tStr                 shift, and go to state 345
+    tSprintf             shift, and go to state 346
+    tStrCat              shift, and go to state 347
+    tStrPrefix           shift, and go to state 348
+    tStrRelative         shift, and go to state 349
+    tStrReplace          shift, and go to state 350
+    tAbsolutePath        shift, and go to state 351
+    tDirName             shift, and go to state 352
+    tStrSub              shift, and go to state 353
+    tStrChoice           shift, and go to state 354
+    tUpperCase           shift, and go to state 355
+    tLowerCase           shift, and go to state 356
+    tLowerCaseIn         shift, and go to state 357
+    tToday               shift, and go to state 358
+    tFixRelativePath     shift, and go to state 359
+    tCurrentDirectory    shift, and go to state 360
+    tOnelabAction        shift, and go to state 361
+    tCodeName            shift, and go to state 362
+    tNameStruct          shift, and go to state 363
+    tDefineString        shift, and go to state 364
+    tPhysical            shift, and go to state 393
+    tGetStringValue      shift, and go to state 365
+    tGetEnv              shift, and go to state 366
+    tGetString           shift, and go to state 367
+    tGetForcedStr        shift, and go to state 368
+    tGmshExecutableName  shift, and go to state 369
+    tNameToString        shift, and go to state 370
+    tStringToName        shift, and go to state 107
+
+    StringExprVar  go to state 808
+    StringExpr     go to state 419
+    StringIndex    go to state 131
+    String__Index  go to state 420
+
+
+state 495
+
+  452 FExpr_Single: tFind '(' . ListOfDouble ',' ListOfDouble ')'
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 247
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '{'                   shift, and go to state 250
+    '#'                   shift, and go to state 251
+
+    Transform        go to state 252
+    Extrude          go to state 253
+    BooleanOperator  go to state 254
+    Boolean          go to state 255
+    FExpr            go to state 256
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    ListOfDouble     go to state 809
+    FExpr_Multi      go to state 261
+    StringIndex      go to state 131
+    String__Index    go to state 262
+
+
+state 496
+
+  453 FExpr_Single: tStrFind LP . StringExprVar ',' StringExprVar RP
+
+    tSTRING              shift, and go to state 150
+    tBIGSTR              shift, and go to state 344
+    tStr                 shift, and go to state 345
+    tSprintf             shift, and go to state 346
+    tStrCat              shift, and go to state 347
+    tStrPrefix           shift, and go to state 348
+    tStrRelative         shift, and go to state 349
+    tStrReplace          shift, and go to state 350
+    tAbsolutePath        shift, and go to state 351
+    tDirName             shift, and go to state 352
+    tStrSub              shift, and go to state 353
+    tStrChoice           shift, and go to state 354
+    tUpperCase           shift, and go to state 355
+    tLowerCase           shift, and go to state 356
+    tLowerCaseIn         shift, and go to state 357
+    tToday               shift, and go to state 358
+    tFixRelativePath     shift, and go to state 359
+    tCurrentDirectory    shift, and go to state 360
+    tOnelabAction        shift, and go to state 361
+    tCodeName            shift, and go to state 362
+    tNameStruct          shift, and go to state 363
+    tDefineString        shift, and go to state 364
+    tPhysical            shift, and go to state 393
+    tGetStringValue      shift, and go to state 365
+    tGetEnv              shift, and go to state 366
+    tGetString           shift, and go to state 367
+    tGetForcedStr        shift, and go to state 368
+    tGmshExecutableName  shift, and go to state 369
+    tNameToString        shift, and go to state 370
+    tStringToName        shift, and go to state 107
+
+    StringExprVar  go to state 810
+    StringExpr     go to state 419
+    StringIndex    go to state 131
+    String__Index  go to state 420
+
+
+state 497
+
+  455 FExpr_Single: tStrCmp LP . StringExprVar ',' StringExprVar RP
+
+    tSTRING              shift, and go to state 150
+    tBIGSTR              shift, and go to state 344
+    tStr                 shift, and go to state 345
+    tSprintf             shift, and go to state 346
+    tStrCat              shift, and go to state 347
+    tStrPrefix           shift, and go to state 348
+    tStrRelative         shift, and go to state 349
+    tStrReplace          shift, and go to state 350
+    tAbsolutePath        shift, and go to state 351
+    tDirName             shift, and go to state 352
+    tStrSub              shift, and go to state 353
+    tStrChoice           shift, and go to state 354
+    tUpperCase           shift, and go to state 355
+    tLowerCase           shift, and go to state 356
+    tLowerCaseIn         shift, and go to state 357
+    tToday               shift, and go to state 358
+    tFixRelativePath     shift, and go to state 359
+    tCurrentDirectory    shift, and go to state 360
+    tOnelabAction        shift, and go to state 361
+    tCodeName            shift, and go to state 362
+    tNameStruct          shift, and go to state 363
+    tDefineString        shift, and go to state 364
+    tPhysical            shift, and go to state 393
+    tGetStringValue      shift, and go to state 365
+    tGetEnv              shift, and go to state 366
+    tGetString           shift, and go to state 367
+    tGetForcedStr        shift, and go to state 368
+    tGmshExecutableName  shift, and go to state 369
+    tNameToString        shift, and go to state 370
+    tStringToName        shift, and go to state 107
+
+    StringExprVar  go to state 811
+    StringExpr     go to state 419
+    StringIndex    go to state 131
+    String__Index  go to state 420
+
+
+state 498
+
+  456 FExpr_Single: tTextAttributes '(' . RecursiveListOfStringExprVar ')'
+
+    tSTRING              shift, and go to state 150
+    tBIGSTR              shift, and go to state 344
+    tStr                 shift, and go to state 345
+    tSprintf             shift, and go to state 346
+    tStrCat              shift, and go to state 347
+    tStrPrefix           shift, and go to state 348
+    tStrRelative         shift, and go to state 349
+    tStrReplace          shift, and go to state 350
+    tAbsolutePath        shift, and go to state 351
+    tDirName             shift, and go to state 352
+    tStrSub              shift, and go to state 353
+    tStrChoice           shift, and go to state 354
+    tUpperCase           shift, and go to state 355
+    tLowerCase           shift, and go to state 356
+    tLowerCaseIn         shift, and go to state 357
+    tToday               shift, and go to state 358
+    tFixRelativePath     shift, and go to state 359
+    tCurrentDirectory    shift, and go to state 360
+    tOnelabAction        shift, and go to state 361
+    tCodeName            shift, and go to state 362
+    tNameStruct          shift, and go to state 363
+    tDefineString        shift, and go to state 364
+    tPhysical            shift, and go to state 393
+    tGetStringValue      shift, and go to state 365
+    tGetEnv              shift, and go to state 366
+    tGetString           shift, and go to state 367
+    tGetForcedStr        shift, and go to state 368
+    tGmshExecutableName  shift, and go to state 369
+    tNameToString        shift, and go to state 370
+    tStringToName        shift, and go to state 107
+
+    StringExprVar                 go to state 423
+    StringExpr                    go to state 419
+    RecursiveListOfStringExprVar  go to state 812
+    StringIndex                   go to state 131
+    String__Index                 go to state 420
+
+
+state 499
+
+  425 FExpr_Single: tDefineNumber LP . FExpr @13 FloatParameterOptionsOrNone RP
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 813
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 500
+
+  439 FExpr_Single: tDimNameSpace LP . String__Index RP
+  440             | tDimNameSpace LP . RP
+
+    tSTRING        shift, and go to state 150
+    tStringToName  shift, and go to state 107
+    ')'            shift, and go to state 699
+    ']'            shift, and go to state 700
+
+    RP             go to state 814
+    StringIndex    go to state 131
+    String__Index  go to state 815
+
+
+state 501
+
+  494 FExpr_Multi: tPoint tBIGSTR .
+
+    $default  reduce using rule 494 (FExpr_Multi)
+
+
+state 502
+
+  502 FExpr_Multi: tPoint tIn . tBoundingBox '{' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr '}'
+
+    tBoundingBox  shift, and go to state 816
+
+
+state 503
+
+  493 FExpr_Multi: tPoint '{' . FExpr '}'
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 817
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 504
+
+  495 FExpr_Multi: tLine tBIGSTR .
+
+    $default  reduce using rule 495 (FExpr_Multi)
+
+
+state 505
+
+  503 FExpr_Multi: tLine tIn . tBoundingBox '{' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr '}'
+
+    tBoundingBox  shift, and go to state 818
+
+
+state 506
+
+  496 FExpr_Multi: tSurface tBIGSTR .
+
+    $default  reduce using rule 496 (FExpr_Multi)
+
+
+state 507
+
+  504 FExpr_Multi: tSurface tIn . tBoundingBox '{' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr '}'
+
+    tBoundingBox  shift, and go to state 819
+
+
+state 508
+
+  497 FExpr_Multi: tVolume tBIGSTR .
+
+    $default  reduce using rule 497 (FExpr_Multi)
+
+
+state 509
+
+  505 FExpr_Multi: tVolume tIn . tBoundingBox '{' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr '}'
+
+    tBoundingBox  shift, and go to state 820
+
+
+state 510
+
+  288 Extrude: tRuled tThruSections . ListOfDouble
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 247
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '{'                   shift, and go to state 250
+    '#'                   shift, and go to state 251
+
+    Transform        go to state 252
+    Extrude          go to state 253
+    BooleanOperator  go to state 254
+    Boolean          go to state 255
+    FExpr            go to state 256
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    ListOfDouble     go to state 564
+    FExpr_Multi      go to state 261
+    StringIndex      go to state 131
+    String__Index    go to state 262
+
+
+state 511
+
+  498 FExpr_Multi: tPhysical tPoint . ListOfDoubleOrAll
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tBIGSTR               shift, and go to state 325
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 247
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '{'                   shift, and go to state 250
+    '#'                   shift, and go to state 251
+
+    Transform          go to state 252
+    Extrude            go to state 253
+    BooleanOperator    go to state 254
+    Boolean            go to state 255
+    FExpr              go to state 256
+    FExpr_Single       go to state 257
+    DefineStruct       go to state 258
+    Struct_FullName    go to state 259
+    ListOfDouble       go to state 327
+    ListOfDoubleOrAll  go to state 821
+    FExpr_Multi        go to state 261
+    StringIndex        go to state 131
+    String__Index      go to state 262
+
+
+state 512
+
+  499 FExpr_Multi: tPhysical tLine . ListOfDoubleOrAll
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tBIGSTR               shift, and go to state 325
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 247
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '{'                   shift, and go to state 250
+    '#'                   shift, and go to state 251
+
+    Transform          go to state 252
+    Extrude            go to state 253
+    BooleanOperator    go to state 254
+    Boolean            go to state 255
+    FExpr              go to state 256
+    FExpr_Single       go to state 257
+    DefineStruct       go to state 258
+    Struct_FullName    go to state 259
+    ListOfDouble       go to state 327
+    ListOfDoubleOrAll  go to state 822
+    FExpr_Multi        go to state 261
+    StringIndex        go to state 131
+    String__Index      go to state 262
+
+
+state 513
+
+  500 FExpr_Multi: tPhysical tSurface . ListOfDoubleOrAll
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tBIGSTR               shift, and go to state 325
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 247
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '{'                   shift, and go to state 250
+    '#'                   shift, and go to state 251
+
+    Transform          go to state 252
+    Extrude            go to state 253
+    BooleanOperator    go to state 254
+    Boolean            go to state 255
+    FExpr              go to state 256
+    FExpr_Single       go to state 257
+    DefineStruct       go to state 258
+    Struct_FullName    go to state 259
+    ListOfDouble       go to state 327
+    ListOfDoubleOrAll  go to state 823
+    FExpr_Multi        go to state 261
+    StringIndex        go to state 131
+    String__Index      go to state 262
+
+
+state 514
+
+  501 FExpr_Multi: tPhysical tVolume . ListOfDoubleOrAll
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tBIGSTR               shift, and go to state 325
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 247
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '{'                   shift, and go to state 250
+    '#'                   shift, and go to state 251
+
+    Transform          go to state 252
+    Extrude            go to state 253
+    BooleanOperator    go to state 254
+    Boolean            go to state 255
+    FExpr              go to state 256
+    FExpr_Single       go to state 257
+    DefineStruct       go to state 258
+    Struct_FullName    go to state 259
+    ListOfDouble       go to state 327
+    ListOfDoubleOrAll  go to state 824
+    FExpr_Multi        go to state 261
+    StringIndex        go to state 131
+    String__Index      go to state 262
+
+
+state 515
+
+  451 FExpr_Single: tGetValue '(' . StringExprVar ',' FExpr ')'
+
+    tSTRING              shift, and go to state 150
+    tBIGSTR              shift, and go to state 344
+    tStr                 shift, and go to state 345
+    tSprintf             shift, and go to state 346
+    tStrCat              shift, and go to state 347
+    tStrPrefix           shift, and go to state 348
+    tStrRelative         shift, and go to state 349
+    tStrReplace          shift, and go to state 350
+    tAbsolutePath        shift, and go to state 351
+    tDirName             shift, and go to state 352
+    tStrSub              shift, and go to state 353
+    tStrChoice           shift, and go to state 354
+    tUpperCase           shift, and go to state 355
+    tLowerCase           shift, and go to state 356
+    tLowerCaseIn         shift, and go to state 357
+    tToday               shift, and go to state 358
+    tFixRelativePath     shift, and go to state 359
+    tCurrentDirectory    shift, and go to state 360
+    tOnelabAction        shift, and go to state 361
+    tCodeName            shift, and go to state 362
+    tNameStruct          shift, and go to state 363
+    tDefineString        shift, and go to state 364
+    tPhysical            shift, and go to state 393
+    tGetStringValue      shift, and go to state 365
+    tGetEnv              shift, and go to state 366
+    tGetString           shift, and go to state 367
+    tGetForcedStr        shift, and go to state 368
+    tGmshExecutableName  shift, and go to state 369
+    tNameToString        shift, and go to state 370
+    tStringToName        shift, and go to state 107
+
+    StringExprVar  go to state 825
+    StringExpr     go to state 419
+    StringIndex    go to state 131
+    String__Index  go to state 420
+
+
+state 516
+
+  427 FExpr_Single: tGetNumber LP . StringExprVar RP
+  428             | tGetNumber LP . StringExprVar ',' FExpr RP
+
+    tSTRING              shift, and go to state 150
+    tBIGSTR              shift, and go to state 344
+    tStr                 shift, and go to state 345
+    tSprintf             shift, and go to state 346
+    tStrCat              shift, and go to state 347
+    tStrPrefix           shift, and go to state 348
+    tStrRelative         shift, and go to state 349
+    tStrReplace          shift, and go to state 350
+    tAbsolutePath        shift, and go to state 351
+    tDirName             shift, and go to state 352
+    tStrSub              shift, and go to state 353
+    tStrChoice           shift, and go to state 354
+    tUpperCase           shift, and go to state 355
+    tLowerCase           shift, and go to state 356
+    tLowerCaseIn         shift, and go to state 357
+    tToday               shift, and go to state 358
+    tFixRelativePath     shift, and go to state 359
+    tCurrentDirectory    shift, and go to state 360
+    tOnelabAction        shift, and go to state 361
+    tCodeName            shift, and go to state 362
+    tNameStruct          shift, and go to state 363
+    tDefineString        shift, and go to state 364
+    tPhysical            shift, and go to state 393
+    tGetStringValue      shift, and go to state 365
+    tGetEnv              shift, and go to state 366
+    tGetString           shift, and go to state 367
+    tGetForcedStr        shift, and go to state 368
+    tGmshExecutableName  shift, and go to state 369
+    tNameToString        shift, and go to state 370
+    tStringToName        shift, and go to state 107
+
+    StringExprVar  go to state 826
+    StringExpr     go to state 419
+    StringIndex    go to state 131
+    String__Index  go to state 420
+
+
+state 517
+
+  519 FExpr_Multi: tUnique LP . FExpr_Multi RP
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 433
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '#'                   shift, and go to state 251
+
+    Transform        go to state 252
+    Extrude          go to state 253
+    BooleanOperator  go to state 254
+    Boolean          go to state 255
+    FExpr            go to state 799
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    FExpr_Multi      go to state 827
+    StringIndex      go to state 131
+    String__Index    go to state 262
+
+
+state 518
+
+  432 FExpr_Single: tExists '(' . Struct_FullName ')'
+  433             | tExists '(' . Struct_FullName '.' tSTRING_Member_Float ')'
+
+    tSTRING        shift, and go to state 150
+    tStringToName  shift, and go to state 107
+
+    Struct_FullName  go to state 828
+    StringIndex      go to state 131
+    String__Index    go to state 152
+
+
+state 519
+
+  436 FExpr_Single: tFileExists '(' . StringExpr ')'
+
+    tBIGSTR              shift, and go to state 344
+    tStr                 shift, and go to state 345
+    tSprintf             shift, and go to state 346
+    tStrCat              shift, and go to state 347
+    tStrPrefix           shift, and go to state 348
+    tStrRelative         shift, and go to state 349
+    tStrReplace          shift, and go to state 350
+    tAbsolutePath        shift, and go to state 351
+    tDirName             shift, and go to state 352
+    tStrSub              shift, and go to state 353
+    tStrChoice           shift, and go to state 354
+    tUpperCase           shift, and go to state 355
+    tLowerCase           shift, and go to state 356
+    tLowerCaseIn         shift, and go to state 357
+    tToday               shift, and go to state 358
+    tFixRelativePath     shift, and go to state 359
+    tCurrentDirectory    shift, and go to state 360
+    tOnelabAction        shift, and go to state 361
+    tCodeName            shift, and go to state 362
+    tNameStruct          shift, and go to state 363
+    tDefineString        shift, and go to state 364
+    tGetStringValue      shift, and go to state 365
+    tGetEnv              shift, and go to state 366
+    tGetString           shift, and go to state 367
+    tGetForcedStr        shift, and go to state 368
+    tGmshExecutableName  shift, and go to state 369
+    tNameToString        shift, and go to state 370
+
+    StringExpr  go to state 829
+
+
+state 520
+
+  434 FExpr_Single: tGetForced '(' . Struct_FullName GetForced_Default ')'
+  435             | tGetForced '(' . Struct_FullName '.' tSTRING_Member_Float GetForced_Default ')'
+
+    tSTRING        shift, and go to state 150
+    tStringToName  shift, and go to state 107
+
+    Struct_FullName  go to state 830
+    StringIndex      go to state 131
+    String__Index    go to state 152
+
+
+state 521
+
+  369 FExpr: '+' FExpr .
+  371      | FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '^'  shift, and go to state 550
+
+    $default  reduce using rule 369 (FExpr)
+
+
+state 522
+
+  485 ListOfDouble: '-' '{' . RecursiveListOfDouble '}'
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 433
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '#'                   shift, and go to state 251
+
+    Transform              go to state 252
+    Extrude                go to state 253
+    BooleanOperator        go to state 254
+    Boolean                go to state 255
+    FExpr                  go to state 434
+    FExpr_Single           go to state 257
+    DefineStruct           go to state 258
+    Struct_FullName        go to state 259
+    FExpr_Multi            go to state 435
+    RecursiveListOfDouble  go to state 831
+    StringIndex            go to state 131
+    String__Index          go to state 262
+
+
+state 523
+
+  368 FExpr: '-' FExpr .
+  371      | FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  490 FExpr_Multi: FExpr . '*' FExpr_Multi
+  491            | FExpr . tDOTS FExpr
+  492            | FExpr . tDOTS FExpr tDOTS FExpr
+
+    '^'  shift, and go to state 550
+
+    $default  reduce using rule 368 (FExpr)
+
+
+state 524
+
+  489 FExpr_Multi: '-' FExpr_Multi .
+
+    $default  reduce using rule 489 (FExpr_Multi)
+
+
+state 525
+
+  370 FExpr: '!' FExpr .
+  371      | FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '^'  shift, and go to state 550
+
+    $default  reduce using rule 370 (FExpr)
+
+
+state 526
+
+  190 Shape: tThruSections '(' FExpr . ')' tAFFECT ListOfDouble tEND
+  367 FExpr: '(' FExpr . ')'
+  371      | FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 832
+
+
+state 527
+
+  483 ListOfDouble: '{' '}' .
+
+    $default  reduce using rule 483 (ListOfDouble)
+
+
+state 528
+
+  484 ListOfDouble: '{' RecursiveListOfDouble . '}'
+  523 RecursiveListOfDouble: RecursiveListOfDouble . ',' FExpr
+  524                      | RecursiveListOfDouble . ',' FExpr_Multi
+
+    '}'  shift, and go to state 833
+    ','  shift, and go to state 747
+
+
+state 529
+
+  438 FExpr_Single: '#' Struct_FullName . '.' tSTRING_Member_Float '(' ')'
+
+    '.'  shift, and go to state 834
+
+
+state 530
+
+  437 FExpr_Single: '#' String__Index . LP RP
+  463 Struct_FullName: String__Index .
+  464                | String__Index . tSCOPE String__Index
+
+    tSCOPE  shift, and go to state 429
+    '('     shift, and go to state 153
+    '['     shift, and go to state 154
+
+    $default  reduce using rule 463 (Struct_FullName)
+
+    LP  go to state 835
+
+
+state 531
+
+  491 FExpr_Multi: FExpr tDOTS . FExpr
+  492            | FExpr tDOTS . FExpr tDOTS FExpr
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 836
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 532
+
+  389 FExpr: FExpr '?' . FExpr tDOTS FExpr
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 837
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 533
+
+  386 FExpr: FExpr tOR . FExpr
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 838
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 534
+
+  385 FExpr: FExpr tAND . FExpr
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 839
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 535
+
+  384 FExpr: FExpr tNOTEQUAL . FExpr
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 840
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 536
+
+  383 FExpr: FExpr tEQUAL . FExpr
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 841
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 537
+
+  379 FExpr: FExpr '<' . FExpr
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 842
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 538
+
+  380 FExpr: FExpr '>' . FExpr
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 843
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 539
+
+  387 FExpr: FExpr tGREATERGREATER . FExpr
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 844
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 540
+
+  388 FExpr: FExpr tLESSLESS . FExpr
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 845
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 541
+
+  382 FExpr: FExpr tGREATEROREQUAL . FExpr
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 846
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 542
+
+  381 FExpr: FExpr tLESSOREQUAL . FExpr
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 847
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 543
+
+  372 FExpr: FExpr '+' . FExpr
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 848
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 544
+
+  371 FExpr: FExpr '-' . FExpr
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 849
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 545
+
+  373 FExpr: FExpr '*' . FExpr
+  486 ListOfDouble: FExpr '*' . '{' RecursiveListOfDouble '}'
+  490 FExpr_Multi: FExpr '*' . FExpr_Multi
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 433
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '{'                   shift, and go to state 850
+    '#'                   shift, and go to state 251
+
+    Transform        go to state 252
+    Extrude          go to state 253
+    BooleanOperator  go to state 254
+    Boolean          go to state 255
+    FExpr            go to state 851
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    FExpr_Multi      go to state 852
+    StringIndex      go to state 131
+    String__Index    go to state 262
+
+
+state 546
+
+  374 FExpr: FExpr '/' . FExpr
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 853
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 547
+
+  377 FExpr: FExpr '%' . FExpr
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 854
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 548
+
+  375 FExpr: FExpr '|' . FExpr
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 855
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 549
+
+  376 FExpr: FExpr '&' . FExpr
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 856
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 550
+
+  378 FExpr: FExpr '^' . FExpr
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 857
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 551
+
+  431 FExpr_Single: Struct_FullName '(' . FExpr ')'
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 858
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 552
+
+  430 FExpr_Single: Struct_FullName '[' . FExpr ']'
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 859
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 553
+
+  445 FExpr_Single: String__Index tSCOPE . String__Index '.' tSTRING_Member_Float
+  447             | String__Index tSCOPE . String__Index '.' tSTRING_Member_Float '(' FExpr ')'
+  464 Struct_FullName: String__Index tSCOPE . String__Index
+
+    tSTRING        shift, and go to state 150
+    tStringToName  shift, and go to state 107
+
+    StringIndex    go to state 131
+    String__Index  go to state 860
+
+
+state 554
+
+   69 LP: '(' .
+  443 FExpr_Single: String__Index '(' . FExpr ')' NumericIncrement
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    $default  reduce using rule 69 (LP)
+
+    FExpr            go to state 861
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 555
+
+   70 LP: '[' .
+  442 FExpr_Single: String__Index '[' . FExpr ']' NumericIncrement
+  448             | String__Index '[' . FExpr ']' '.' tSTRING
+  450             | String__Index '[' . FExpr ']' '.' tSTRING NumericIncrement
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    $default  reduce using rule 70 (LP)
+
+    FExpr            go to state 862
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 556
+
+  444 FExpr_Single: String__Index '.' . tSTRING_Member_Float
+  446             | String__Index '.' . tSTRING_Member_Float '(' FExpr ')'
+  449             | String__Index '.' . tSTRING NumericIncrement
+
+    tSTRING  shift, and go to state 863
+
+    tSTRING_Member_Float  go to state 864
+
+
+state 557
+
+  441 FExpr_Single: String__Index NumericIncrement .
+
+    $default  reduce using rule 441 (FExpr_Single)
+
+
+state 558
+
+  509 FExpr_Multi: String__Index LP . RP
+  514            | String__Index LP . '{' RecursiveListOfDouble '}' RP
+
+    ')'  shift, and go to state 699
+    ']'  shift, and go to state 700
+    '{'  shift, and go to state 865
+
+    RP  go to state 866
+
+
+state 559
+
+  184 Shape: tWedge '(' FExpr . ')' tAFFECT ListOfDouble tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 867
+
+
+state 560
+
+  289 Extrude: tFillet '{' RecursiveListOfDouble . '}' '{' RecursiveListOfDouble '}' '{' FExpr '}'
+  523 RecursiveListOfDouble: RecursiveListOfDouble . ',' FExpr
+  524                      | RecursiveListOfDouble . ',' FExpr_Multi
+
+    '}'  shift, and go to state 868
+    ','  shift, and go to state 747
+
+
+state 561
+
+  170 Shape: tPlane tSurface '(' . FExpr ')' tAFFECT ListOfDouble tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 869
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 562
+
+  172 Shape: tRuled tSurface '(' . FExpr ')' tAFFECT ListOfDouble InSphereCenter tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 870
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 563
+
+  191 Shape: tRuled tThruSections '(' . FExpr ')' tAFFECT ListOfDouble tEND
+  367 FExpr: '(' . FExpr ')'
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 871
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 564
+
+  288 Extrude: tRuled tThruSections ListOfDouble .
+
+    $default  reduce using rule 288 (Extrude)
+
+
+state 565
+
+  327 Constraints: tTransfinite tLine ListOfDoubleOrAll . tAFFECT FExpr TransfiniteType tEND
+
+    tAFFECT  shift, and go to state 872
+
+
+state 566
+
+  328 Constraints: tTransfinite tSurface ListOfDoubleOrAll . TransfiniteCorners TransfiniteArrangement tEND
+
+    tAFFECT  shift, and go to state 873
+
+    $default  reduce using rule 320 (TransfiniteCorners)
+
+    TransfiniteCorners  go to state 874
+
+
+state 567
+
+  329 Constraints: tTransfinite tVolume ListOfDoubleOrAll . TransfiniteCorners tEND
+
+    tAFFECT  shift, and go to state 873
+
+    $default  reduce using rule 320 (TransfiniteCorners)
+
+    TransfiniteCorners  go to state 875
+
+
+state 568
+
+  193 Shape: tPhysical tPoint '(' . PhysicalId0 ')' NumericAffectation ListOfDouble tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tBIGSTR              shift, and go to state 344
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStr                 shift, and go to state 345
+    tSprintf             shift, and go to state 346
+    tStrCat              shift, and go to state 347
+    tStrPrefix           shift, and go to state 348
+    tStrRelative         shift, and go to state 349
+    tStrReplace          shift, and go to state 350
+    tAbsolutePath        shift, and go to state 351
+    tDirName             shift, and go to state 352
+    tStrSub              shift, and go to state 353
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tStrChoice           shift, and go to state 354
+    tUpperCase           shift, and go to state 355
+    tLowerCase           shift, and go to state 356
+    tLowerCaseIn         shift, and go to state 357
+    tTextAttributes      shift, and go to state 224
+    tToday               shift, and go to state 358
+    tFixRelativePath     shift, and go to state 359
+    tCurrentDirectory    shift, and go to state 360
+    tOnelabAction        shift, and go to state 361
+    tCodeName            shift, and go to state 362
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tNameStruct          shift, and go to state 363
+    tDimNameSpace        shift, and go to state 229
+    tDefineString        shift, and go to state 364
+    tGetValue            shift, and go to state 237
+    tGetStringValue      shift, and go to state 365
+    tGetEnv              shift, and go to state 366
+    tGetString           shift, and go to state 367
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGetForcedStr        shift, and go to state 368
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tGmshExecutableName  shift, and go to state 369
+    tNameToString        shift, and go to state 370
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    PhysicalId0      go to state 876
+    FExpr            go to state 877
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringExpr       go to state 878
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 569
+
+  194 Shape: tPhysical tLine '(' . PhysicalId1 ')' NumericAffectation ListOfDouble tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tBIGSTR              shift, and go to state 344
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStr                 shift, and go to state 345
+    tSprintf             shift, and go to state 346
+    tStrCat              shift, and go to state 347
+    tStrPrefix           shift, and go to state 348
+    tStrRelative         shift, and go to state 349
+    tStrReplace          shift, and go to state 350
+    tAbsolutePath        shift, and go to state 351
+    tDirName             shift, and go to state 352
+    tStrSub              shift, and go to state 353
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tStrChoice           shift, and go to state 354
+    tUpperCase           shift, and go to state 355
+    tLowerCase           shift, and go to state 356
+    tLowerCaseIn         shift, and go to state 357
+    tTextAttributes      shift, and go to state 224
+    tToday               shift, and go to state 358
+    tFixRelativePath     shift, and go to state 359
+    tCurrentDirectory    shift, and go to state 360
+    tOnelabAction        shift, and go to state 361
+    tCodeName            shift, and go to state 362
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tNameStruct          shift, and go to state 363
+    tDimNameSpace        shift, and go to state 229
+    tDefineString        shift, and go to state 364
+    tGetValue            shift, and go to state 237
+    tGetStringValue      shift, and go to state 365
+    tGetEnv              shift, and go to state 366
+    tGetString           shift, and go to state 367
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGetForcedStr        shift, and go to state 368
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tGmshExecutableName  shift, and go to state 369
+    tNameToString        shift, and go to state 370
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    PhysicalId1      go to state 879
+    FExpr            go to state 880
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringExpr       go to state 881
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 570
+
+  195 Shape: tPhysical tSurface '(' . PhysicalId2 ')' NumericAffectation ListOfDouble tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tBIGSTR              shift, and go to state 344
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStr                 shift, and go to state 345
+    tSprintf             shift, and go to state 346
+    tStrCat              shift, and go to state 347
+    tStrPrefix           shift, and go to state 348
+    tStrRelative         shift, and go to state 349
+    tStrReplace          shift, and go to state 350
+    tAbsolutePath        shift, and go to state 351
+    tDirName             shift, and go to state 352
+    tStrSub              shift, and go to state 353
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tStrChoice           shift, and go to state 354
+    tUpperCase           shift, and go to state 355
+    tLowerCase           shift, and go to state 356
+    tLowerCaseIn         shift, and go to state 357
+    tTextAttributes      shift, and go to state 224
+    tToday               shift, and go to state 358
+    tFixRelativePath     shift, and go to state 359
+    tCurrentDirectory    shift, and go to state 360
+    tOnelabAction        shift, and go to state 361
+    tCodeName            shift, and go to state 362
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tNameStruct          shift, and go to state 363
+    tDimNameSpace        shift, and go to state 229
+    tDefineString        shift, and go to state 364
+    tGetValue            shift, and go to state 237
+    tGetStringValue      shift, and go to state 365
+    tGetEnv              shift, and go to state 366
+    tGetString           shift, and go to state 367
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGetForcedStr        shift, and go to state 368
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tGmshExecutableName  shift, and go to state 369
+    tNameToString        shift, and go to state 370
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    PhysicalId2      go to state 882
+    FExpr            go to state 883
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringExpr       go to state 884
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 571
+
+  196 Shape: tPhysical tVolume '(' . PhysicalId3 ')' NumericAffectation ListOfDouble tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tBIGSTR              shift, and go to state 344
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStr                 shift, and go to state 345
+    tSprintf             shift, and go to state 346
+    tStrCat              shift, and go to state 347
+    tStrPrefix           shift, and go to state 348
+    tStrRelative         shift, and go to state 349
+    tStrReplace          shift, and go to state 350
+    tAbsolutePath        shift, and go to state 351
+    tDirName             shift, and go to state 352
+    tStrSub              shift, and go to state 353
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tStrChoice           shift, and go to state 354
+    tUpperCase           shift, and go to state 355
+    tLowerCase           shift, and go to state 356
+    tLowerCaseIn         shift, and go to state 357
+    tTextAttributes      shift, and go to state 224
+    tToday               shift, and go to state 358
+    tFixRelativePath     shift, and go to state 359
+    tCurrentDirectory    shift, and go to state 360
+    tOnelabAction        shift, and go to state 361
+    tCodeName            shift, and go to state 362
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tNameStruct          shift, and go to state 363
+    tDimNameSpace        shift, and go to state 229
+    tDefineString        shift, and go to state 364
+    tGetValue            shift, and go to state 237
+    tGetStringValue      shift, and go to state 365
+    tGetEnv              shift, and go to state 366
+    tGetString           shift, and go to state 367
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGetForcedStr        shift, and go to state 368
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tGmshExecutableName  shift, and go to state 369
+    tNameToString        shift, and go to state 370
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    PhysicalId3      go to state 885
+    FExpr            go to state 886
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringExpr       go to state 887
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 572
+
+  167 Shape: tCompound tLine '(' . FExpr ')' tAFFECT ListOfDouble tEND
+  367 FExpr: '(' . FExpr ')'
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 888
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 573
+
+  353 Constraints: tCompound tLine ListOfDouble . tEND
+
+    tEND  shift, and go to state 889
+
+
+state 574
+
+  186 Shape: tCompound tSurface '(' . FExpr ')' tAFFECT ListOfDouble tEND
+  187      | tCompound tSurface '(' . FExpr ')' tAFFECT ListOfDouble tSTRING '{' RecursiveListOfListOfDouble '}' tEND
+  367 FExpr: '(' . FExpr ')'
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 890
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 575
+
+  354 Constraints: tCompound tSurface ListOfDouble . tEND
+
+    tEND  shift, and go to state 891
+
+
+state 576
+
+  192 Shape: tCompound tVolume '(' . FExpr ')' tAFFECT ListOfDouble tEND
+  367 FExpr: '(' . FExpr ')'
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 892
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 577
+
+  355 Constraints: tCompound tVolume ListOfDouble . tEND
+
+    tEND  shift, and go to state 893
+
+
+state 578
+
+  335 Constraints: tPeriodic tLine '{' . RecursiveListOfDouble '}' tAFFECT '{' RecursiveListOfDouble '}' PeriodicTransform tEND
+  337            | tPeriodic tLine '{' . RecursiveListOfDouble '}' tAFFECT '{' RecursiveListOfDouble '}' tRotate '{' VExpr ',' VExpr ',' FExpr '}' tEND
+  339            | tPeriodic tLine '{' . RecursiveListOfDouble '}' tAFFECT '{' RecursiveListOfDouble '}' tTranslate VExpr tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 433
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '#'                   shift, and go to state 251
+
+    Transform              go to state 252
+    Extrude                go to state 253
+    BooleanOperator        go to state 254
+    Boolean                go to state 255
+    FExpr                  go to state 434
+    FExpr_Single           go to state 257
+    DefineStruct           go to state 258
+    Struct_FullName        go to state 259
+    FExpr_Multi            go to state 435
+    RecursiveListOfDouble  go to state 894
+    StringIndex            go to state 131
+    String__Index          go to state 262
+
+
+state 579
+
+  336 Constraints: tPeriodic tSurface '{' . RecursiveListOfDouble '}' tAFFECT '{' RecursiveListOfDouble '}' PeriodicTransform tEND
+  338            | tPeriodic tSurface '{' . RecursiveListOfDouble '}' tAFFECT '{' RecursiveListOfDouble '}' tRotate '{' VExpr ',' VExpr ',' FExpr '}' tEND
+  340            | tPeriodic tSurface '{' . RecursiveListOfDouble '}' tAFFECT '{' RecursiveListOfDouble '}' tTranslate VExpr tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 433
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '#'                   shift, and go to state 251
+
+    Transform              go to state 252
+    Extrude                go to state 253
+    BooleanOperator        go to state 254
+    Boolean                go to state 255
+    FExpr                  go to state 434
+    FExpr_Single           go to state 257
+    DefineStruct           go to state 258
+    Struct_FullName        go to state 259
+    FExpr_Multi            go to state 435
+    RecursiveListOfDouble  go to state 895
+    StringIndex            go to state 131
+    String__Index          go to state 262
+
+
+state 580
+
+  341 Constraints: tPeriodic tSurface FExpr . '{' RecursiveListOfDouble '}' tAFFECT FExpr '{' RecursiveListOfDouble '}' tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    '{'              shift, and go to state 896
+
+
+state 581
+
+  106 Affectation: tPlugin '(' tSTRING . ')' '.' tSTRING tAFFECT FExpr tEND
+  107            | tPlugin '(' tSTRING . ')' '.' tSTRING tAFFECT StringExpr tEND
+  246 Command: tPlugin '(' tSTRING . ')' '.' tSTRING tEND
+
+    ')'  shift, and go to state 897
+
+
+state 582
+
+  352 Constraints: tDegenerated tLine ListOfDouble . tEND
+
+    tEND  shift, and go to state 898
+
+
+state 583
+
+  226 Delete: tRecursive tDelete '{' . ListOfShapes '}'
+
+    $default  reduce using rule 207 (ListOfShapes)
+
+    ListOfShapes  go to state 899
+
+
+state 584
+
+  233 Colorify: tRecursive tColor ColorExpr . '{' ListOfShapes '}'
+
+    '{'  shift, and go to state 900
+
+
+state 585
+
+  238 Visibility: tRecursive tShow '{' . ListOfShapes '}'
+
+    $default  reduce using rule 207 (ListOfShapes)
+
+    ListOfShapes  go to state 901
+
+
+state 586
+
+  240 Visibility: tRecursive tHide '{' . ListOfShapes '}'
+
+    $default  reduce using rule 207 (ListOfShapes)
+
+    ListOfShapes  go to state 902
+
+
+state 587
+
+  198 Transform: tRotate '{' VExpr . ',' VExpr ',' FExpr '}' '{' MultipleShape '}'
+  473 VExpr: VExpr . '-' VExpr
+  474      | VExpr . '+' VExpr
+
+    '+'  shift, and go to state 592
+    '-'  shift, and go to state 593
+    ','  shift, and go to state 903
+
+
+state 588
+
+  472 VExpr: '+' VExpr .
+  473      | VExpr . '-' VExpr
+  474      | VExpr . '+' VExpr
+
+    $default  reduce using rule 472 (VExpr)
+
+
+state 589
+
+  471 VExpr: '-' VExpr .
+  473      | VExpr . '-' VExpr
+  474      | VExpr . '+' VExpr
+
+    $default  reduce using rule 471 (VExpr)
+
+
+state 590
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  478 VExpr_Single: '(' FExpr . ',' FExpr ',' FExpr ')'
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ','              shift, and go to state 904
+
+
+state 591
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  475 VExpr_Single: '{' FExpr . ',' FExpr ',' FExpr ',' FExpr ',' FExpr '}'
+  476             | '{' FExpr . ',' FExpr ',' FExpr ',' FExpr '}'
+  477             | '{' FExpr . ',' FExpr ',' FExpr '}'
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ','              shift, and go to state 905
+
+
+state 592
+
+  474 VExpr: VExpr '+' . VExpr
+
+    '+'  shift, and go to state 287
+    '-'  shift, and go to state 288
+    '('  shift, and go to state 289
+    '{'  shift, and go to state 290
+
+    VExpr         go to state 906
+    VExpr_Single  go to state 292
+
+
+state 593
+
+  473 VExpr: VExpr '-' . VExpr
+
+    '+'  shift, and go to state 287
+    '-'  shift, and go to state 288
+    '('  shift, and go to state 289
+    '{'  shift, and go to state 290
+
+    VExpr         go to state 907
+    VExpr_Single  go to state 292
+
+
+state 594
+
+  197 Transform: tTranslate VExpr '{' . MultipleShape '}'
+
+    tSTRING     shift, and go to state 411
+    tRotate     shift, and go to state 59
+    tTranslate  shift, and go to state 60
+    tSymmetry   shift, and go to state 61
+    tDilate     shift, and go to state 62
+    tSplit      shift, and go to state 73
+    tIntersect  shift, and go to state 76
+
+    $default  reduce using rule 207 (ListOfShapes)
+
+    Transform      go to state 412
+    MultipleShape  go to state 908
+    ListOfShapes   go to state 414
+
+
+state 595
+
+  199 Transform: tSymmetry VExpr '{' . MultipleShape '}'
+
+    tSTRING     shift, and go to state 411
+    tRotate     shift, and go to state 59
+    tTranslate  shift, and go to state 60
+    tSymmetry   shift, and go to state 61
+    tDilate     shift, and go to state 62
+    tSplit      shift, and go to state 73
+    tIntersect  shift, and go to state 76
+
+    $default  reduce using rule 207 (ListOfShapes)
+
+    Transform      go to state 412
+    MultipleShape  go to state 909
+    ListOfShapes   go to state 414
+
+
+state 596
+
+  200 Transform: tDilate '{' VExpr . ',' FExpr '}' '{' MultipleShape '}'
+  201          | tDilate '{' VExpr . ',' VExpr '}' '{' MultipleShape '}'
+  473 VExpr: VExpr . '-' VExpr
+  474      | VExpr . '+' VExpr
+
+    '+'  shift, and go to state 592
+    '-'  shift, and go to state 593
+    ','  shift, and go to state 910
+
+
+state 597
+
+  369 FExpr: '+' . FExpr
+  472 VExpr: '+' . VExpr
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 597
+    '-'                  shift, and go to state 598
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 599
+    '{'                  shift, and go to state 290
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 521
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    VExpr            go to state 588
+    VExpr_Single     go to state 292
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 598
+
+  368 FExpr: '-' . FExpr
+  471 VExpr: '-' . VExpr
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 597
+    '-'                  shift, and go to state 598
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 599
+    '{'                  shift, and go to state 290
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 675
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    VExpr            go to state 589
+    VExpr_Single     go to state 292
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 599
+
+  367 FExpr: '(' . FExpr ')'
+  478 VExpr_Single: '(' . FExpr ',' FExpr ',' FExpr ')'
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 911
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 600
+
+  208 ListOfShapes: ListOfShapes . Shape
+  209             | ListOfShapes . tPoint '{' RecursiveListOfDouble '}' tEND
+  210             | ListOfShapes . tLine '{' RecursiveListOfDouble '}' tEND
+  211             | ListOfShapes . tSurface '{' RecursiveListOfDouble '}' tEND
+  212             | ListOfShapes . tVolume '{' RecursiveListOfDouble '}' tEND
+  285 Extrude: tExtrude '{' ListOfShapes . @12 ExtrudeParameters '}'
+  286        | tExtrude '{' ListOfShapes . '}' tUsing tWire '{' FExpr '}'
+
+    tEuclidian     shift, and go to state 7
+    tCoordinates   shift, and go to state 8
+    tPoint         shift, and go to state 712
+    tCircle        shift, and go to state 25
+    tEllipse       shift, and go to state 26
+    tLine          shift, and go to state 713
+    tSphere        shift, and go to state 28
+    tPolarSphere   shift, and go to state 29
+    tSurface       shift, and go to state 714
+    tSpline        shift, and go to state 31
+    tVolume        shift, and go to state 715
+    tBlock         shift, and go to state 33
+    tCylinder      shift, and go to state 34
+    tCone          shift, and go to state 35
+    tTorus         shift, and go to state 36
+    tRectangle     shift, and go to state 38
+    tDisk          shift, and go to state 39
+    tWire          shift, and go to state 40
+    tParametric    shift, and go to state 42
+    tThruSections  shift, and go to state 716
+    tWedge         shift, and go to state 48
+    tPlane         shift, and go to state 50
+    tRuled         shift, and go to state 717
+    tPhysical      shift, and go to state 53
+    tCompound      shift, and go to state 718
+    tThickSolid    shift, and go to state 70
+    tBSpline       shift, and go to state 84
+    tBezier        shift, and go to state 85
+    tNurbs         shift, and go to state 86
+    '}'            shift, and go to state 912
+
+    $default  reduce using rule 284 (@12)
+
+    Shape  go to state 719
+    @12    go to state 913
+
+
+state 601
+
+  276 Extrude: tExtrude '{' VExpr . ',' VExpr ',' FExpr '}' '{' ListOfShapes '}'
+  277        | tExtrude '{' VExpr . ',' VExpr ',' VExpr ',' FExpr '}' '{' ListOfShapes '}'
+  281        | tExtrude '{' VExpr . ',' VExpr ',' FExpr '}' '{' ListOfShapes @10 ExtrudeParameters '}'
+  283        | tExtrude '{' VExpr . ',' VExpr ',' VExpr ',' FExpr '}' '{' ListOfShapes @11 ExtrudeParameters '}'
+  473 VExpr: VExpr . '-' VExpr
+  474      | VExpr . '+' VExpr
+
+    '+'  shift, and go to state 592
+    '-'  shift, and go to state 593
+    ','  shift, and go to state 914
+
+
+state 602
+
+  275 Extrude: tExtrude VExpr '{' . ListOfShapes '}'
+  279        | tExtrude VExpr '{' . ListOfShapes @9 ExtrudeParameters '}'
+
+    $default  reduce using rule 207 (ListOfShapes)
+
+    ListOfShapes  go to state 915
+
+
+state 603
+
+  222 LevelSet: tLevelset tSTRING '(' . FExpr ')' tAFFECT ListOfDouble tEND
+  223         | tLevelset tSTRING '(' . FExpr ')' tAFFECT tBIGSTR tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 916
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 604
+
+  224 LevelSet: tLevelset tSTRING '{' . FExpr '}' tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 917
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 605
+
+  214 LevelSet: tLevelset tPoint '(' . FExpr ')' tAFFECT '{' RecursiveListOfListOfDouble '}' tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 918
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 606
+
+  217 LevelSet: tLevelset tSphere '(' . FExpr ')' tAFFECT '{' VExpr ',' RecursiveListOfDouble '}' tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 919
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 607
+
+  218 LevelSet: tLevelset tCylinder '(' . FExpr ')' tAFFECT '{' VExpr ',' VExpr ',' RecursiveListOfDouble '}' tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 920
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 608
+
+  219 LevelSet: tLevelset tCone '(' . FExpr ')' tAFFECT '{' VExpr ',' VExpr ',' RecursiveListOfDouble '}' tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 921
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 609
+
+  220 LevelSet: tLevelset tEllipsoid '(' . FExpr ')' tAFFECT '{' VExpr ',' VExpr ',' RecursiveListOfDouble '}' tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 922
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 610
+
+  221 LevelSet: tLevelset tQuadric '(' . FExpr ')' tAFFECT '{' VExpr ',' VExpr ',' RecursiveListOfDouble '}' tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 923
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 611
+
+  213 LevelSet: tLevelset tPlane '(' . FExpr ')' tAFFECT ListOfDouble tEND
+  215         | tLevelset tPlane '(' . FExpr ')' tAFFECT '{' VExpr ',' VExpr ',' RecursiveListOfDouble '}' tEND
+  216         | tLevelset tPlane '(' . FExpr ')' tAFFECT '{' VExpr ',' VExpr ',' VExpr ',' RecursiveListOfDouble '}' tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 924
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 612
+
+  185 Shape: tThickSolid '(' FExpr . ')' tAFFECT ListOfDouble tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 925
+
+
+state 613
+
+  332 Constraints: tRecombine tSurface ListOfDoubleOrAll . RecombineAngle tEND
+
+    tAFFECT  shift, and go to state 926
+
+    $default  reduce using rule 322 (RecombineAngle)
+
+    RecombineAngle  go to state 927
+
+
+state 614
+
+  333 Constraints: tRecombine tVolume ListOfDoubleOrAll . tEND
+
+    tEND  shift, and go to state 928
+
+
+state 615
+
+  334 Constraints: tSmoother tSurface ListOfDoubleOrAll . tAFFECT FExpr tEND
+
+    tAFFECT  shift, and go to state 929
+
+
+state 616
+
+  204 Transform: tSplit tLine '(' . FExpr ')' '{' RecursiveListOfDouble '}' tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 930
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 617
+
+  230 Delete: tDelete tSTRING tSTRING . tEND
+
+    tEND  shift, and go to state 931
+
+
+state 618
+
+  228 Delete: tDelete tSTRING '[' . FExpr ']' tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 932
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 619
+
+  231 Delete: tDelete tDefineStruct tEND .
+
+    $default  reduce using rule 231 (Delete)
+
+
+state 620
+
+  227 Delete: tDelete tField '[' . FExpr ']' tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 933
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 621
+
+  208 ListOfShapes: ListOfShapes . Shape
+  209             | ListOfShapes . tPoint '{' RecursiveListOfDouble '}' tEND
+  210             | ListOfShapes . tLine '{' RecursiveListOfDouble '}' tEND
+  211             | ListOfShapes . tSurface '{' RecursiveListOfDouble '}' tEND
+  212             | ListOfShapes . tVolume '{' RecursiveListOfDouble '}' tEND
+  225 Delete: tDelete '{' ListOfShapes . '}'
+
+    tEuclidian     shift, and go to state 7
+    tCoordinates   shift, and go to state 8
+    tPoint         shift, and go to state 712
+    tCircle        shift, and go to state 25
+    tEllipse       shift, and go to state 26
+    tLine          shift, and go to state 713
+    tSphere        shift, and go to state 28
+    tPolarSphere   shift, and go to state 29
+    tSurface       shift, and go to state 714
+    tSpline        shift, and go to state 31
+    tVolume        shift, and go to state 715
+    tBlock         shift, and go to state 33
+    tCylinder      shift, and go to state 34
+    tCone          shift, and go to state 35
+    tTorus         shift, and go to state 36
+    tRectangle     shift, and go to state 38
+    tDisk          shift, and go to state 39
+    tWire          shift, and go to state 40
+    tParametric    shift, and go to state 42
+    tThruSections  shift, and go to state 716
+    tWedge         shift, and go to state 48
+    tPlane         shift, and go to state 50
+    tRuled         shift, and go to state 717
+    tPhysical      shift, and go to state 53
+    tCompound      shift, and go to state 718
+    tThickSolid    shift, and go to state 70
+    tBSpline       shift, and go to state 84
+    tBezier        shift, and go to state 85
+    tNurbs         shift, and go to state 86
+    '}'            shift, and go to state 934
+
+    Shape  go to state 719
+
+
+state 622
+
+  229 Delete: tDelete String__Index tEND .
+
+    $default  reduce using rule 229 (Delete)
+
+
+state 623
+
+  357 Coherence: tCoherence tSTRING tEND .
+
+    $default  reduce using rule 357 (Coherence)
+
+
+state 624
+
+  358 Coherence: tCoherence tPoint '{' . RecursiveListOfDouble '}' tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 433
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '#'                   shift, and go to state 251
+
+    Transform              go to state 252
+    Extrude                go to state 253
+    BooleanOperator        go to state 254
+    Boolean                go to state 255
+    FExpr                  go to state 434
+    FExpr_Single           go to state 257
+    DefineStruct           go to state 258
+    Struct_FullName        go to state 259
+    FExpr_Multi            go to state 435
+    RecursiveListOfDouble  go to state 935
+    StringIndex            go to state 131
+    String__Index          go to state 262
+
+
+state 625
+
+  203 Transform: tIntersect tLine '{' . RecursiveListOfDouble '}' tSurface '{' FExpr '}'
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 433
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '#'                   shift, and go to state 251
+
+    Transform              go to state 252
+    Extrude                go to state 253
+    BooleanOperator        go to state 254
+    Boolean                go to state 255
+    FExpr                  go to state 434
+    FExpr_Single           go to state 257
+    DefineStruct           go to state 258
+    Struct_FullName        go to state 259
+    FExpr_Multi            go to state 435
+    RecursiveListOfDouble  go to state 936
+    StringIndex            go to state 131
+    String__Index          go to state 262
+
+
+state 626
+
+  331 Constraints: tMeshAlgorithm tSurface '{' . RecursiveListOfDouble '}' tAFFECT FExpr tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 433
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '#'                   shift, and go to state 251
+
+    Transform              go to state 252
+    Extrude                go to state 253
+    BooleanOperator        go to state 254
+    Boolean                go to state 255
+    FExpr                  go to state 434
+    FExpr_Single           go to state 257
+    DefineStruct           go to state 258
+    Struct_FullName        go to state 259
+    FExpr_Multi            go to state 435
+    RecursiveListOfDouble  go to state 937
+    StringIndex            go to state 131
+    String__Index          go to state 262
+
+
+state 627
+
+  348 Constraints: tReverse tLine ListOfDoubleOrAll . tEND
+
+    tEND  shift, and go to state 938
+
+
+state 628
+
+  347 Constraints: tReverse tSurface ListOfDoubleOrAll . tEND
+
+    tEND  shift, and go to state 939
+
+
+state 629
+
+   34 View: tAlias tSTRING '[' . FExpr ']' tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 940
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 630
+
+   35 View: tAliasWithOptions tSTRING '[' . FExpr ']' tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 941
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 631
+
+   36 View: tCopyOptions tSTRING '[' . FExpr ',' FExpr ']' tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 942
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 632
+
+  367 FExpr: '(' FExpr . ')'
+  371      | FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 943
+
+
+state 633
+
+  330 Constraints: tTransfQuadTri ListOfDoubleOrAll tEND .
+
+    $default  reduce using rule 330 (Constraints)
+
+
+state 634
+
+  247 Command: tCombine tSTRING tEND .
+
+    $default  reduce using rule 247 (Command)
+
+
+state 635
+
+  164 Shape: tBSpline '(' FExpr . ')' tAFFECT ListOfDouble tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 944
+
+
+state 636
+
+  165 Shape: tBezier '(' FExpr . ')' tAFFECT ListOfDouble tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 945
+
+
+state 637
+
+  166 Shape: tNurbs '(' FExpr . ')' tAFFECT ListOfDouble tNurbsKnots ListOfDouble tNurbsOrder FExpr tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 946
+
+
+state 638
+
+  528 ColorExpr: tSTRING '.' . tColor '.' tSTRING
+
+    tColor  shift, and go to state 947
+
+
+state 639
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  525 ColorExpr: '{' FExpr . ',' FExpr ',' FExpr ',' FExpr '}'
+  526          | '{' FExpr . ',' FExpr ',' FExpr '}'
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ','              shift, and go to state 948
+
+
+state 640
+
+  232 Colorify: tColor ColorExpr '{' . ListOfShapes '}'
+
+    $default  reduce using rule 207 (ListOfShapes)
+
+    ListOfShapes  go to state 949
+
+
+state 641
+
+  263 Loop: tFor tSTRING tIn . '{' FExpr tDOTS FExpr '}'
+  264     | tFor tSTRING tIn . '{' FExpr tDOTS FExpr tDOTS FExpr '}'
+
+    '{'  shift, and go to state 950
+
+
+state 642
+
+  261 Loop: tFor '(' FExpr . tDOTS FExpr ')'
+  262     | tFor '(' FExpr . tDOTS FExpr tDOTS FExpr ')'
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    tDOTS            shift, and go to state 951
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+
+
+state 643
+
+  271 Loop: tIf '(' FExpr . ')'
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 952
+
+
+state 644
+
+  272 Loop: tElseIf '(' FExpr . ')'
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 953
+
+
+state 645
+
+  101 Affectation: tField '[' FExpr . ']' tAFFECT tSTRING tEND
+  102            | tField '[' FExpr . ']' '.' tSTRING tAFFECT FExpr tEND
+  103            | tField '[' FExpr . ']' '.' tSTRING tAFFECT StringExpr tEND
+  104            | tField '[' FExpr . ']' '.' tSTRING tAFFECT '{' RecursiveListOfDouble '}' tEND
+  105            | tField '[' FExpr . ']' '.' tSTRING tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ']'              shift, and go to state 954
+
+
+state 646
+
+  562 StringExpr: tStr LP . RecursiveListOfStringExprVar RP
+
+    tSTRING              shift, and go to state 150
+    tBIGSTR              shift, and go to state 344
+    tStr                 shift, and go to state 345
+    tSprintf             shift, and go to state 346
+    tStrCat              shift, and go to state 347
+    tStrPrefix           shift, and go to state 348
+    tStrRelative         shift, and go to state 349
+    tStrReplace          shift, and go to state 350
+    tAbsolutePath        shift, and go to state 351
+    tDirName             shift, and go to state 352
+    tStrSub              shift, and go to state 353
+    tStrChoice           shift, and go to state 354
+    tUpperCase           shift, and go to state 355
+    tLowerCase           shift, and go to state 356
+    tLowerCaseIn         shift, and go to state 357
+    tToday               shift, and go to state 358
+    tFixRelativePath     shift, and go to state 359
+    tCurrentDirectory    shift, and go to state 360
+    tOnelabAction        shift, and go to state 361
+    tCodeName            shift, and go to state 362
+    tNameStruct          shift, and go to state 363
+    tDefineString        shift, and go to state 364
+    tPhysical            shift, and go to state 393
+    tGetStringValue      shift, and go to state 365
+    tGetEnv              shift, and go to state 366
+    tGetString           shift, and go to state 367
+    tGetForcedStr        shift, and go to state 368
+    tGmshExecutableName  shift, and go to state 369
+    tNameToString        shift, and go to state 370
+    tStringToName        shift, and go to state 107
+
+    StringExprVar                 go to state 423
+    StringExpr                    go to state 419
+    RecursiveListOfStringExprVar  go to state 955
+    StringIndex                   go to state 131
+    String__Index                 go to state 420
+
+
+state 647
+
+  569 StringExpr: tSprintf LP . StringExprVar RP
+  570           | tSprintf LP . StringExprVar ',' RecursiveListOfDouble RP
+
+    tSTRING              shift, and go to state 150
+    tBIGSTR              shift, and go to state 344
+    tStr                 shift, and go to state 345
+    tSprintf             shift, and go to state 346
+    tStrCat              shift, and go to state 347
+    tStrPrefix           shift, and go to state 348
+    tStrRelative         shift, and go to state 349
+    tStrReplace          shift, and go to state 350
+    tAbsolutePath        shift, and go to state 351
+    tDirName             shift, and go to state 352
+    tStrSub              shift, and go to state 353
+    tStrChoice           shift, and go to state 354
+    tUpperCase           shift, and go to state 355
+    tLowerCase           shift, and go to state 356
+    tLowerCaseIn         shift, and go to state 357
+    tToday               shift, and go to state 358
+    tFixRelativePath     shift, and go to state 359
+    tCurrentDirectory    shift, and go to state 360
+    tOnelabAction        shift, and go to state 361
+    tCodeName            shift, and go to state 362
+    tNameStruct          shift, and go to state 363
+    tDefineString        shift, and go to state 364
+    tPhysical            shift, and go to state 393
+    tGetStringValue      shift, and go to state 365
+    tGetEnv              shift, and go to state 366
+    tGetString           shift, and go to state 367
+    tGetForcedStr        shift, and go to state 368
+    tGmshExecutableName  shift, and go to state 369
+    tNameToString        shift, and go to state 370
+    tStringToName        shift, and go to state 107
+
+    StringExprVar  go to state 956
+    StringExpr     go to state 419
+    StringIndex    go to state 131
+    String__Index  go to state 420
+
+
+state 648
+
+  558 StringExpr: tStrCat LP . RecursiveListOfStringExprVar RP
+
+    tSTRING              shift, and go to state 150
+    tBIGSTR              shift, and go to state 344
+    tStr                 shift, and go to state 345
+    tSprintf             shift, and go to state 346
+    tStrCat              shift, and go to state 347
+    tStrPrefix           shift, and go to state 348
+    tStrRelative         shift, and go to state 349
+    tStrReplace          shift, and go to state 350
+    tAbsolutePath        shift, and go to state 351
+    tDirName             shift, and go to state 352
+    tStrSub              shift, and go to state 353
+    tStrChoice           shift, and go to state 354
+    tUpperCase           shift, and go to state 355
+    tLowerCase           shift, and go to state 356
+    tLowerCaseIn         shift, and go to state 357
+    tToday               shift, and go to state 358
+    tFixRelativePath     shift, and go to state 359
+    tCurrentDirectory    shift, and go to state 360
+    tOnelabAction        shift, and go to state 361
+    tCodeName            shift, and go to state 362
+    tNameStruct          shift, and go to state 363
+    tDefineString        shift, and go to state 364
+    tPhysical            shift, and go to state 393
+    tGetStringValue      shift, and go to state 365
+    tGetEnv              shift, and go to state 366
+    tGetString           shift, and go to state 367
+    tGetForcedStr        shift, and go to state 368
+    tGmshExecutableName  shift, and go to state 369
+    tNameToString        shift, and go to state 370
+    tStringToName        shift, and go to state 107
+
+    StringExprVar                 go to state 423
+    StringExpr                    go to state 419
+    RecursiveListOfStringExprVar  go to state 957
+    StringIndex                   go to state 131
+    String__Index                 go to state 420
+
+
+state 649
+
+  559 StringExpr: tStrPrefix '(' . StringExprVar ')'
+
+    tSTRING              shift, and go to state 150
+    tBIGSTR              shift, and go to state 344
+    tStr                 shift, and go to state 345
+    tSprintf             shift, and go to state 346
+    tStrCat              shift, and go to state 347
+    tStrPrefix           shift, and go to state 348
+    tStrRelative         shift, and go to state 349
+    tStrReplace          shift, and go to state 350
+    tAbsolutePath        shift, and go to state 351
+    tDirName             shift, and go to state 352
+    tStrSub              shift, and go to state 353
+    tStrChoice           shift, and go to state 354
+    tUpperCase           shift, and go to state 355
+    tLowerCase           shift, and go to state 356
+    tLowerCaseIn         shift, and go to state 357
+    tToday               shift, and go to state 358
+    tFixRelativePath     shift, and go to state 359
+    tCurrentDirectory    shift, and go to state 360
+    tOnelabAction        shift, and go to state 361
+    tCodeName            shift, and go to state 362
+    tNameStruct          shift, and go to state 363
+    tDefineString        shift, and go to state 364
+    tPhysical            shift, and go to state 393
+    tGetStringValue      shift, and go to state 365
+    tGetEnv              shift, and go to state 366
+    tGetString           shift, and go to state 367
+    tGetForcedStr        shift, and go to state 368
+    tGmshExecutableName  shift, and go to state 369
+    tNameToString        shift, and go to state 370
+    tStringToName        shift, and go to state 107
+
+    StringExprVar  go to state 958
+    StringExpr     go to state 419
+    StringIndex    go to state 131
+    String__Index  go to state 420
+
+
+state 650
+
+  560 StringExpr: tStrRelative '(' . StringExprVar ')'
+
+    tSTRING              shift, and go to state 150
+    tBIGSTR              shift, and go to state 344
+    tStr                 shift, and go to state 345
+    tSprintf             shift, and go to state 346
+    tStrCat              shift, and go to state 347
+    tStrPrefix           shift, and go to state 348
+    tStrRelative         shift, and go to state 349
+    tStrReplace          shift, and go to state 350
+    tAbsolutePath        shift, and go to state 351
+    tDirName             shift, and go to state 352
+    tStrSub              shift, and go to state 353
+    tStrChoice           shift, and go to state 354
+    tUpperCase           shift, and go to state 355
+    tLowerCase           shift, and go to state 356
+    tLowerCaseIn         shift, and go to state 357
+    tToday               shift, and go to state 358
+    tFixRelativePath     shift, and go to state 359
+    tCurrentDirectory    shift, and go to state 360
+    tOnelabAction        shift, and go to state 361
+    tCodeName            shift, and go to state 362
+    tNameStruct          shift, and go to state 363
+    tDefineString        shift, and go to state 364
+    tPhysical            shift, and go to state 393
+    tGetStringValue      shift, and go to state 365
+    tGetEnv              shift, and go to state 366
+    tGetString           shift, and go to state 367
+    tGetForcedStr        shift, and go to state 368
+    tGmshExecutableName  shift, and go to state 369
+    tNameToString        shift, and go to state 370
+    tStringToName        shift, and go to state 107
+
+    StringExprVar  go to state 959
+    StringExpr     go to state 419
+    StringIndex    go to state 131
+    String__Index  go to state 420
+
+
+state 651
+
+  561 StringExpr: tStrReplace '(' . StringExprVar ',' StringExprVar ',' StringExprVar ')'
+
+    tSTRING              shift, and go to state 150
+    tBIGSTR              shift, and go to state 344
+    tStr                 shift, and go to state 345
+    tSprintf             shift, and go to state 346
+    tStrCat              shift, and go to state 347
+    tStrPrefix           shift, and go to state 348
+    tStrRelative         shift, and go to state 349
+    tStrReplace          shift, and go to state 350
+    tAbsolutePath        shift, and go to state 351
+    tDirName             shift, and go to state 352
+    tStrSub              shift, and go to state 353
+    tStrChoice           shift, and go to state 354
+    tUpperCase           shift, and go to state 355
+    tLowerCase           shift, and go to state 356
+    tLowerCaseIn         shift, and go to state 357
+    tToday               shift, and go to state 358
+    tFixRelativePath     shift, and go to state 359
+    tCurrentDirectory    shift, and go to state 360
+    tOnelabAction        shift, and go to state 361
+    tCodeName            shift, and go to state 362
+    tNameStruct          shift, and go to state 363
+    tDefineString        shift, and go to state 364
+    tPhysical            shift, and go to state 393
+    tGetStringValue      shift, and go to state 365
+    tGetEnv              shift, and go to state 366
+    tGetString           shift, and go to state 367
+    tGetForcedStr        shift, and go to state 368
+    tGmshExecutableName  shift, and go to state 369
+    tNameToString        shift, and go to state 370
+    tStringToName        shift, and go to state 107
+
+    StringExprVar  go to state 960
+    StringExpr     go to state 419
+    StringIndex    go to state 131
+    String__Index  go to state 420
+
+
+state 652
+
+  574 StringExpr: tAbsolutePath LP . StringExprVar RP
+
+    tSTRING              shift, and go to state 150
+    tBIGSTR              shift, and go to state 344
+    tStr                 shift, and go to state 345
+    tSprintf             shift, and go to state 346
+    tStrCat              shift, and go to state 347
+    tStrPrefix           shift, and go to state 348
+    tStrRelative         shift, and go to state 349
+    tStrReplace          shift, and go to state 350
+    tAbsolutePath        shift, and go to state 351
+    tDirName             shift, and go to state 352
+    tStrSub              shift, and go to state 353
+    tStrChoice           shift, and go to state 354
+    tUpperCase           shift, and go to state 355
+    tLowerCase           shift, and go to state 356
+    tLowerCaseIn         shift, and go to state 357
+    tToday               shift, and go to state 358
+    tFixRelativePath     shift, and go to state 359
+    tCurrentDirectory    shift, and go to state 360
+    tOnelabAction        shift, and go to state 361
+    tCodeName            shift, and go to state 362
+    tNameStruct          shift, and go to state 363
+    tDefineString        shift, and go to state 364
+    tPhysical            shift, and go to state 393
+    tGetStringValue      shift, and go to state 365
+    tGetEnv              shift, and go to state 366
+    tGetString           shift, and go to state 367
+    tGetForcedStr        shift, and go to state 368
+    tGmshExecutableName  shift, and go to state 369
+    tNameToString        shift, and go to state 370
+    tStringToName        shift, and go to state 107
+
+    StringExprVar  go to state 961
+    StringExpr     go to state 419
+    StringIndex    go to state 131
+    String__Index  go to state 420
+
+
+state 653
+
+  573 StringExpr: tDirName LP . StringExprVar RP
+
+    tSTRING              shift, and go to state 150
+    tBIGSTR              shift, and go to state 344
+    tStr                 shift, and go to state 345
+    tSprintf             shift, and go to state 346
+    tStrCat              shift, and go to state 347
+    tStrPrefix           shift, and go to state 348
+    tStrRelative         shift, and go to state 349
+    tStrReplace          shift, and go to state 350
+    tAbsolutePath        shift, and go to state 351
+    tDirName             shift, and go to state 352
+    tStrSub              shift, and go to state 353
+    tStrChoice           shift, and go to state 354
+    tUpperCase           shift, and go to state 355
+    tLowerCase           shift, and go to state 356
+    tLowerCaseIn         shift, and go to state 357
+    tToday               shift, and go to state 358
+    tFixRelativePath     shift, and go to state 359
+    tCurrentDirectory    shift, and go to state 360
+    tOnelabAction        shift, and go to state 361
+    tCodeName            shift, and go to state 362
+    tNameStruct          shift, and go to state 363
+    tDefineString        shift, and go to state 364
+    tPhysical            shift, and go to state 393
+    tGetStringValue      shift, and go to state 365
+    tGetEnv              shift, and go to state 366
+    tGetString           shift, and go to state 367
+    tGetForcedStr        shift, and go to state 368
+    tGmshExecutableName  shift, and go to state 369
+    tNameToString        shift, and go to state 370
+    tStringToName        shift, and go to state 107
+
+    StringExprVar  go to state 962
+    StringExpr     go to state 419
+    StringIndex    go to state 131
+    String__Index  go to state 420
+
+
+state 654
+
+  567 StringExpr: tStrSub LP . StringExprVar ',' FExpr ',' FExpr RP
+  568           | tStrSub LP . StringExprVar ',' FExpr RP
+
+    tSTRING              shift, and go to state 150
+    tBIGSTR              shift, and go to state 344
+    tStr                 shift, and go to state 345
+    tSprintf             shift, and go to state 346
+    tStrCat              shift, and go to state 347
+    tStrPrefix           shift, and go to state 348
+    tStrRelative         shift, and go to state 349
+    tStrReplace          shift, and go to state 350
+    tAbsolutePath        shift, and go to state 351
+    tDirName             shift, and go to state 352
+    tStrSub              shift, and go to state 353
+    tStrChoice           shift, and go to state 354
+    tUpperCase           shift, and go to state 355
+    tLowerCase           shift, and go to state 356
+    tLowerCaseIn         shift, and go to state 357
+    tToday               shift, and go to state 358
+    tFixRelativePath     shift, and go to state 359
+    tCurrentDirectory    shift, and go to state 360
+    tOnelabAction        shift, and go to state 361
+    tCodeName            shift, and go to state 362
+    tNameStruct          shift, and go to state 363
+    tDefineString        shift, and go to state 364
+    tPhysical            shift, and go to state 393
+    tGetStringValue      shift, and go to state 365
+    tGetEnv              shift, and go to state 366
+    tGetString           shift, and go to state 367
+    tGetForcedStr        shift, and go to state 368
+    tGmshExecutableName  shift, and go to state 369
+    tNameToString        shift, and go to state 370
+    tStringToName        shift, and go to state 107
+
+    StringExprVar  go to state 963
+    StringExpr     go to state 419
+    StringIndex    go to state 131
+    String__Index  go to state 420
+
+
+state 655
+
+  566 StringExpr: tStrChoice LP . FExpr ',' StringExprVar ',' StringExprVar RP
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 964
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 656
+
+  563 StringExpr: tUpperCase LP . StringExprVar RP
+
+    tSTRING              shift, and go to state 150
+    tBIGSTR              shift, and go to state 344
+    tStr                 shift, and go to state 345
+    tSprintf             shift, and go to state 346
+    tStrCat              shift, and go to state 347
+    tStrPrefix           shift, and go to state 348
+    tStrRelative         shift, and go to state 349
+    tStrReplace          shift, and go to state 350
+    tAbsolutePath        shift, and go to state 351
+    tDirName             shift, and go to state 352
+    tStrSub              shift, and go to state 353
+    tStrChoice           shift, and go to state 354
+    tUpperCase           shift, and go to state 355
+    tLowerCase           shift, and go to state 356
+    tLowerCaseIn         shift, and go to state 357
+    tToday               shift, and go to state 358
+    tFixRelativePath     shift, and go to state 359
+    tCurrentDirectory    shift, and go to state 360
+    tOnelabAction        shift, and go to state 361
+    tCodeName            shift, and go to state 362
+    tNameStruct          shift, and go to state 363
+    tDefineString        shift, and go to state 364
+    tPhysical            shift, and go to state 393
+    tGetStringValue      shift, and go to state 365
+    tGetEnv              shift, and go to state 366
+    tGetString           shift, and go to state 367
+    tGetForcedStr        shift, and go to state 368
+    tGmshExecutableName  shift, and go to state 369
+    tNameToString        shift, and go to state 370
+    tStringToName        shift, and go to state 107
+
+    StringExprVar  go to state 965
+    StringExpr     go to state 419
+    StringIndex    go to state 131
+    String__Index  go to state 420
+
+
+state 657
+
+  564 StringExpr: tLowerCase LP . StringExprVar RP
+
+    tSTRING              shift, and go to state 150
+    tBIGSTR              shift, and go to state 344
+    tStr                 shift, and go to state 345
+    tSprintf             shift, and go to state 346
+    tStrCat              shift, and go to state 347
+    tStrPrefix           shift, and go to state 348
+    tStrRelative         shift, and go to state 349
+    tStrReplace          shift, and go to state 350
+    tAbsolutePath        shift, and go to state 351
+    tDirName             shift, and go to state 352
+    tStrSub              shift, and go to state 353
+    tStrChoice           shift, and go to state 354
+    tUpperCase           shift, and go to state 355
+    tLowerCase           shift, and go to state 356
+    tLowerCaseIn         shift, and go to state 357
+    tToday               shift, and go to state 358
+    tFixRelativePath     shift, and go to state 359
+    tCurrentDirectory    shift, and go to state 360
+    tOnelabAction        shift, and go to state 361
+    tCodeName            shift, and go to state 362
+    tNameStruct          shift, and go to state 363
+    tDefineString        shift, and go to state 364
+    tPhysical            shift, and go to state 393
+    tGetStringValue      shift, and go to state 365
+    tGetEnv              shift, and go to state 366
+    tGetString           shift, and go to state 367
+    tGetForcedStr        shift, and go to state 368
+    tGmshExecutableName  shift, and go to state 369
+    tNameToString        shift, and go to state 370
+    tStringToName        shift, and go to state 107
+
+    StringExprVar  go to state 966
+    StringExpr     go to state 419
+    StringIndex    go to state 131
+    String__Index  go to state 420
+
+
+state 658
+
+  565 StringExpr: tLowerCaseIn LP . StringExprVar RP
+
+    tSTRING              shift, and go to state 150
+    tBIGSTR              shift, and go to state 344
+    tStr                 shift, and go to state 345
+    tSprintf             shift, and go to state 346
+    tStrCat              shift, and go to state 347
+    tStrPrefix           shift, and go to state 348
+    tStrRelative         shift, and go to state 349
+    tStrReplace          shift, and go to state 350
+    tAbsolutePath        shift, and go to state 351
+    tDirName             shift, and go to state 352
+    tStrSub              shift, and go to state 353
+    tStrChoice           shift, and go to state 354
+    tUpperCase           shift, and go to state 355
+    tLowerCase           shift, and go to state 356
+    tLowerCaseIn         shift, and go to state 357
+    tToday               shift, and go to state 358
+    tFixRelativePath     shift, and go to state 359
+    tCurrentDirectory    shift, and go to state 360
+    tOnelabAction        shift, and go to state 361
+    tCodeName            shift, and go to state 362
+    tNameStruct          shift, and go to state 363
+    tDefineString        shift, and go to state 364
+    tPhysical            shift, and go to state 393
+    tGetStringValue      shift, and go to state 365
+    tGetEnv              shift, and go to state 366
+    tGetString           shift, and go to state 367
+    tGetForcedStr        shift, and go to state 368
+    tGmshExecutableName  shift, and go to state 369
+    tNameToString        shift, and go to state 370
+    tStringToName        shift, and go to state 107
+
+    StringExprVar  go to state 967
+    StringExpr     go to state 419
+    StringIndex    go to state 131
+    String__Index  go to state 420
+
+
+state 659
+
+  571 StringExpr: tFixRelativePath LP . StringExprVar RP
+
+    tSTRING              shift, and go to state 150
+    tBIGSTR              shift, and go to state 344
+    tStr                 shift, and go to state 345
+    tSprintf             shift, and go to state 346
+    tStrCat              shift, and go to state 347
+    tStrPrefix           shift, and go to state 348
+    tStrRelative         shift, and go to state 349
+    tStrReplace          shift, and go to state 350
+    tAbsolutePath        shift, and go to state 351
+    tDirName             shift, and go to state 352
+    tStrSub              shift, and go to state 353
+    tStrChoice           shift, and go to state 354
+    tUpperCase           shift, and go to state 355
+    tLowerCase           shift, and go to state 356
+    tLowerCaseIn         shift, and go to state 357
+    tToday               shift, and go to state 358
+    tFixRelativePath     shift, and go to state 359
+    tCurrentDirectory    shift, and go to state 360
+    tOnelabAction        shift, and go to state 361
+    tCodeName            shift, and go to state 362
+    tNameStruct          shift, and go to state 363
+    tDefineString        shift, and go to state 364
+    tPhysical            shift, and go to state 393
+    tGetStringValue      shift, and go to state 365
+    tGetEnv              shift, and go to state 366
+    tGetString           shift, and go to state 367
+    tGetForcedStr        shift, and go to state 368
+    tGmshExecutableName  shift, and go to state 369
+    tNameToString        shift, and go to state 370
+    tStringToName        shift, and go to state 107
+
+    StringExprVar  go to state 968
+    StringExpr     go to state 419
+    StringIndex    go to state 131
+    String__Index  go to state 420
+
+
+state 660
+
+  577 StringExpr: tNameStruct LP . NameStruct_Arg RP
+
+    tSTRING        shift, and go to state 150
+    tStringToName  shift, and go to state 107
+    '#'            shift, and go to state 969
+
+    NameStruct_Arg  go to state 970
+    StringIndex     go to state 131
+    String__Index   go to state 971
+
+
+state 661
+
+  576 StringExpr: tDefineString LP . StringExpr @15 CharParameterOptionsOrNone RP
+
+    tBIGSTR              shift, and go to state 344
+    tStr                 shift, and go to state 345
+    tSprintf             shift, and go to state 346
+    tStrCat              shift, and go to state 347
+    tStrPrefix           shift, and go to state 348
+    tStrRelative         shift, and go to state 349
+    tStrReplace          shift, and go to state 350
+    tAbsolutePath        shift, and go to state 351
+    tDirName             shift, and go to state 352
+    tStrSub              shift, and go to state 353
+    tStrChoice           shift, and go to state 354
+    tUpperCase           shift, and go to state 355
+    tLowerCase           shift, and go to state 356
+    tLowerCaseIn         shift, and go to state 357
+    tToday               shift, and go to state 358
+    tFixRelativePath     shift, and go to state 359
+    tCurrentDirectory    shift, and go to state 360
+    tOnelabAction        shift, and go to state 361
+    tCodeName            shift, and go to state 362
+    tNameStruct          shift, and go to state 363
+    tDefineString        shift, and go to state 364
+    tGetStringValue      shift, and go to state 365
+    tGetEnv              shift, and go to state 366
+    tGetString           shift, and go to state 367
+    tGetForcedStr        shift, and go to state 368
+    tGmshExecutableName  shift, and go to state 369
+    tNameToString        shift, and go to state 370
+
+    StringExpr  go to state 972
+
+
+state 662
+
+  553 StringExpr: tGetStringValue '(' . StringExprVar ',' StringExprVar ')'
+
+    tSTRING              shift, and go to state 150
+    tBIGSTR              shift, and go to state 344
+    tStr                 shift, and go to state 345
+    tSprintf             shift, and go to state 346
+    tStrCat              shift, and go to state 347
+    tStrPrefix           shift, and go to state 348
+    tStrRelative         shift, and go to state 349
+    tStrReplace          shift, and go to state 350
+    tAbsolutePath        shift, and go to state 351
+    tDirName             shift, and go to state 352
+    tStrSub              shift, and go to state 353
+    tStrChoice           shift, and go to state 354
+    tUpperCase           shift, and go to state 355
+    tLowerCase           shift, and go to state 356
+    tLowerCaseIn         shift, and go to state 357
+    tToday               shift, and go to state 358
+    tFixRelativePath     shift, and go to state 359
+    tCurrentDirectory    shift, and go to state 360
+    tOnelabAction        shift, and go to state 361
+    tCodeName            shift, and go to state 362
+    tNameStruct          shift, and go to state 363
+    tDefineString        shift, and go to state 364
+    tPhysical            shift, and go to state 393
+    tGetStringValue      shift, and go to state 365
+    tGetEnv              shift, and go to state 366
+    tGetString           shift, and go to state 367
+    tGetForcedStr        shift, and go to state 368
+    tGmshExecutableName  shift, and go to state 369
+    tNameToString        shift, and go to state 370
+    tStringToName        shift, and go to state 107
+
+    StringExprVar  go to state 973
+    StringExpr     go to state 419
+    StringIndex    go to state 131
+    String__Index  go to state 420
+
+
+state 663
+
+  552 StringExpr: tGetEnv '(' . StringExprVar ')'
+
+    tSTRING              shift, and go to state 150
+    tBIGSTR              shift, and go to state 344
+    tStr                 shift, and go to state 345
+    tSprintf             shift, and go to state 346
+    tStrCat              shift, and go to state 347
+    tStrPrefix           shift, and go to state 348
+    tStrRelative         shift, and go to state 349
+    tStrReplace          shift, and go to state 350
+    tAbsolutePath        shift, and go to state 351
+    tDirName             shift, and go to state 352
+    tStrSub              shift, and go to state 353
+    tStrChoice           shift, and go to state 354
+    tUpperCase           shift, and go to state 355
+    tLowerCase           shift, and go to state 356
+    tLowerCaseIn         shift, and go to state 357
+    tToday               shift, and go to state 358
+    tFixRelativePath     shift, and go to state 359
+    tCurrentDirectory    shift, and go to state 360
+    tOnelabAction        shift, and go to state 361
+    tCodeName            shift, and go to state 362
+    tNameStruct          shift, and go to state 363
+    tDefineString        shift, and go to state 364
+    tPhysical            shift, and go to state 393
+    tGetStringValue      shift, and go to state 365
+    tGetEnv              shift, and go to state 366
+    tGetString           shift, and go to state 367
+    tGetForcedStr        shift, and go to state 368
+    tGmshExecutableName  shift, and go to state 369
+    tNameToString        shift, and go to state 370
+    tStringToName        shift, and go to state 107
+
+    StringExprVar  go to state 974
+    StringExpr     go to state 419
+    StringIndex    go to state 131
+    String__Index  go to state 420
+
+
+state 664
+
+  554 StringExpr: tGetString LP . StringExprVar RP
+  555           | tGetString LP . StringExprVar ',' StringExprVar RP
+
+    tSTRING              shift, and go to state 150
+    tBIGSTR              shift, and go to state 344
+    tStr                 shift, and go to state 345
+    tSprintf             shift, and go to state 346
+    tStrCat              shift, and go to state 347
+    tStrPrefix           shift, and go to state 348
+    tStrRelative         shift, and go to state 349
+    tStrReplace          shift, and go to state 350
+    tAbsolutePath        shift, and go to state 351
+    tDirName             shift, and go to state 352
+    tStrSub              shift, and go to state 353
+    tStrChoice           shift, and go to state 354
+    tUpperCase           shift, and go to state 355
+    tLowerCase           shift, and go to state 356
+    tLowerCaseIn         shift, and go to state 357
+    tToday               shift, and go to state 358
+    tFixRelativePath     shift, and go to state 359
+    tCurrentDirectory    shift, and go to state 360
+    tOnelabAction        shift, and go to state 361
+    tCodeName            shift, and go to state 362
+    tNameStruct          shift, and go to state 363
+    tDefineString        shift, and go to state 364
+    tPhysical            shift, and go to state 393
+    tGetStringValue      shift, and go to state 365
+    tGetEnv              shift, and go to state 366
+    tGetString           shift, and go to state 367
+    tGetForcedStr        shift, and go to state 368
+    tGmshExecutableName  shift, and go to state 369
+    tNameToString        shift, and go to state 370
+    tStringToName        shift, and go to state 107
+
+    StringExprVar  go to state 975
+    StringExpr     go to state 419
+    StringIndex    go to state 131
+    String__Index  go to state 420
+
+
+state 665
+
+  556 StringExpr: tGetForcedStr '(' . Struct_FullName GetForcedStr_Default ')'
+  557           | tGetForcedStr '(' . Struct_FullName '.' tSTRING_Member_Float GetForcedStr_Default ')'
+
+    tSTRING        shift, and go to state 150
+    tStringToName  shift, and go to state 107
+
+    Struct_FullName  go to state 976
+    StringIndex      go to state 131
+    String__Index    go to state 152
+
+
+state 666
+
+  547 StringExpr: tNameToString '[' . String__Index ']'
+
+    tSTRING        shift, and go to state 150
+    tStringToName  shift, and go to state 107
+
+    StringIndex    go to state 131
+    String__Index  go to state 977
+
+
+state 667
+
+  270 Loop: tCall StringExpr tEND .
+
+    $default  reduce using rule 270 (Loop)
+
+
+state 668
+
+  269 Loop: tCall String__Index tEND .
+
+    $default  reduce using rule 269 (Loop)
+
+
+state 669
+
+  260 Slide: tSlide '(' '{' . RecursiveListOfDouble '}' ',' StringExpr ',' StringExpr ')' tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 433
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '#'                   shift, and go to state 251
+
+    Transform              go to state 252
+    Extrude                go to state 253
+    BooleanOperator        go to state 254
+    Boolean                go to state 255
+    FExpr                  go to state 434
+    FExpr_Single           go to state 257
+    DefineStruct           go to state 258
+    Struct_FullName        go to state 259
+    FExpr_Multi            go to state 435
+    RecursiveListOfDouble  go to state 978
+    StringIndex            go to state 131
+    String__Index          go to state 262
+
+
+state 670
+
+  235 Visibility: tShow tBIGSTR tEND .
+
+    $default  reduce using rule 235 (Visibility)
+
+
+state 671
+
+  208 ListOfShapes: ListOfShapes . Shape
+  209             | ListOfShapes . tPoint '{' RecursiveListOfDouble '}' tEND
+  210             | ListOfShapes . tLine '{' RecursiveListOfDouble '}' tEND
+  211             | ListOfShapes . tSurface '{' RecursiveListOfDouble '}' tEND
+  212             | ListOfShapes . tVolume '{' RecursiveListOfDouble '}' tEND
+  237 Visibility: tShow '{' ListOfShapes . '}'
+
+    tEuclidian     shift, and go to state 7
+    tCoordinates   shift, and go to state 8
+    tPoint         shift, and go to state 712
+    tCircle        shift, and go to state 25
+    tEllipse       shift, and go to state 26
+    tLine          shift, and go to state 713
+    tSphere        shift, and go to state 28
+    tPolarSphere   shift, and go to state 29
+    tSurface       shift, and go to state 714
+    tSpline        shift, and go to state 31
+    tVolume        shift, and go to state 715
+    tBlock         shift, and go to state 33
+    tCylinder      shift, and go to state 34
+    tCone          shift, and go to state 35
+    tTorus         shift, and go to state 36
+    tRectangle     shift, and go to state 38
+    tDisk          shift, and go to state 39
+    tWire          shift, and go to state 40
+    tParametric    shift, and go to state 42
+    tThruSections  shift, and go to state 716
+    tWedge         shift, and go to state 48
+    tPlane         shift, and go to state 50
+    tRuled         shift, and go to state 717
+    tPhysical      shift, and go to state 53
+    tCompound      shift, and go to state 718
+    tThickSolid    shift, and go to state 70
+    tBSpline       shift, and go to state 84
+    tBezier        shift, and go to state 85
+    tNurbs         shift, and go to state 86
+    '}'            shift, and go to state 979
+
+    Shape  go to state 719
+
+
+state 672
+
+  236 Visibility: tHide tBIGSTR tEND .
+
+    $default  reduce using rule 236 (Visibility)
+
+
+state 673
+
+  208 ListOfShapes: ListOfShapes . Shape
+  209             | ListOfShapes . tPoint '{' RecursiveListOfDouble '}' tEND
+  210             | ListOfShapes . tLine '{' RecursiveListOfDouble '}' tEND
+  211             | ListOfShapes . tSurface '{' RecursiveListOfDouble '}' tEND
+  212             | ListOfShapes . tVolume '{' RecursiveListOfDouble '}' tEND
+  239 Visibility: tHide '{' ListOfShapes . '}'
+
+    tEuclidian     shift, and go to state 7
+    tCoordinates   shift, and go to state 8
+    tPoint         shift, and go to state 712
+    tCircle        shift, and go to state 25
+    tEllipse       shift, and go to state 26
+    tLine          shift, and go to state 713
+    tSphere        shift, and go to state 28
+    tPolarSphere   shift, and go to state 29
+    tSurface       shift, and go to state 714
+    tSpline        shift, and go to state 31
+    tVolume        shift, and go to state 715
+    tBlock         shift, and go to state 33
+    tCylinder      shift, and go to state 34
+    tCone          shift, and go to state 35
+    tTorus         shift, and go to state 36
+    tRectangle     shift, and go to state 38
+    tDisk          shift, and go to state 39
+    tWire          shift, and go to state 40
+    tParametric    shift, and go to state 42
+    tThruSections  shift, and go to state 716
+    tWedge         shift, and go to state 48
+    tPlane         shift, and go to state 50
+    tRuled         shift, and go to state 717
+    tPhysical      shift, and go to state 53
+    tCompound      shift, and go to state 718
+    tThickSolid    shift, and go to state 70
+    tBSpline       shift, and go to state 84
+    tBezier        shift, and go to state 85
+    tNurbs         shift, and go to state 86
+    '}'            shift, and go to state 980
+
+    Shape  go to state 719
+
+
+state 674
+
+  405 FExpr: tAbs LP . FExpr RP
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 981
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 675
+
+  368 FExpr: '-' FExpr .
+  371      | FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '^'  shift, and go to state 550
+
+    $default  reduce using rule 368 (FExpr)
+
+
+state 676
+
+  373 FExpr: FExpr '*' . FExpr
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 982
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 677
+
+  234 SetPartition: tSetPartition FExpr '{' . ListOfShapes '}'
+
+    $default  reduce using rule 207 (ListOfShapes)
+
+    ListOfShapes  go to state 983
+
+
+state 678
+
+  443 FExpr_Single: String__Index '(' . FExpr ')' NumericIncrement
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 861
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 679
+
+  442 FExpr_Single: String__Index '[' . FExpr ']' NumericIncrement
+  448             | String__Index '[' . FExpr ']' '.' tSTRING
+  450             | String__Index '[' . FExpr ']' '.' tSTRING NumericIncrement
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 862
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 680
+
+  584 StringIndex: tStringToName '[' StringExprVar . ']' '~' '{' FExpr '}'
+  587 String__Index: tStringToName '[' StringExprVar . ']'
+
+    ']'  shift, and go to state 984
+
+
+state 681
+
+  315 BooleanShape: BooleanOperator '(' FExpr . ')' tAFFECT '{' ListOfShapes BooleanOption '}' '{' ListOfShapes BooleanOption '}' tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 985
+
+
+state 682
+
+  208 ListOfShapes: ListOfShapes . Shape
+  209             | ListOfShapes . tPoint '{' RecursiveListOfDouble '}' tEND
+  210             | ListOfShapes . tLine '{' RecursiveListOfDouble '}' tEND
+  211             | ListOfShapes . tSurface '{' RecursiveListOfDouble '}' tEND
+  212             | ListOfShapes . tVolume '{' RecursiveListOfDouble '}' tEND
+  313 Boolean: BooleanOperator '{' ListOfShapes . BooleanOption '}' '{' ListOfShapes BooleanOption '}'
+
+    tEuclidian     shift, and go to state 7
+    tCoordinates   shift, and go to state 8
+    tPoint         shift, and go to state 712
+    tCircle        shift, and go to state 25
+    tEllipse       shift, and go to state 26
+    tLine          shift, and go to state 713
+    tSphere        shift, and go to state 28
+    tPolarSphere   shift, and go to state 29
+    tSurface       shift, and go to state 714
+    tSpline        shift, and go to state 31
+    tVolume        shift, and go to state 715
+    tBlock         shift, and go to state 33
+    tCylinder      shift, and go to state 34
+    tCone          shift, and go to state 35
+    tTorus         shift, and go to state 36
+    tRectangle     shift, and go to state 38
+    tDisk          shift, and go to state 39
+    tWire          shift, and go to state 40
+    tParametric    shift, and go to state 42
+    tThruSections  shift, and go to state 716
+    tWedge         shift, and go to state 48
+    tPlane         shift, and go to state 50
+    tRuled         shift, and go to state 717
+    tPhysical      shift, and go to state 53
+    tCompound      shift, and go to state 718
+    tRecursive     shift, and go to state 986
+    tThickSolid    shift, and go to state 70
+    tDelete        shift, and go to state 987
+    tBSpline       shift, and go to state 84
+    tBezier        shift, and go to state 85
+    tNurbs         shift, and go to state 86
+
+    $default  reduce using rule 308 (BooleanOption)
+
+    Shape          go to state 719
+    BooleanOption  go to state 988
+
+
+state 683
+
+  365 Homology: HomologyCommand '(' ListOfDouble . ')' '{' ListOfDouble ',' ListOfDouble '}' tEND
+
+    ')'  shift, and go to state 989
+
+
+state 684
+
+  363 Homology: HomologyCommand '{' ListOfDouble . '}' tEND
+  364         | HomologyCommand '{' ListOfDouble . ',' ListOfDouble '}' tEND
+
+    '}'  shift, and go to state 990
+    ','  shift, and go to state 991
+
+
+state 685
+
+  583 StringIndex: StringIndex '~' '{' . FExpr '}'
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 992
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 686
+
+   86 Affectation: String__Index tAFFECT StringExpr . tEND
+
+    tEND  shift, and go to state 993
+
+
+state 687
+
+  542 StringExprVar: tPhysical tPoint . '{' FExpr '}'
+
+    '{'  shift, and go to state 994
+
+
+state 688
+
+  543 StringExprVar: tPhysical tLine . '{' FExpr '}'
+
+    '{'  shift, and go to state 995
+
+
+state 689
+
+  544 StringExprVar: tPhysical tSurface . '{' FExpr '}'
+
+    '{'  shift, and go to state 996
+
+
+state 690
+
+  545 StringExprVar: tPhysical tVolume . '{' FExpr '}'
+
+    '{'  shift, and go to state 997
+
+
+state 691
+
+  100 Affectation: String__Index tField tAFFECT . FExpr tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 998
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 692
+
+   84 Affectation: String__Index '(' FExpr . ')' NumericAffectation FExpr tEND
+   85            | String__Index '(' FExpr . ')' NumericIncrement tEND
+  367 FExpr: '(' FExpr . ')'
+  371      | FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 999
+
+
+state 693
+
+   82 Affectation: String__Index '[' FExpr . ']' NumericAffectation FExpr tEND
+   83            | String__Index '[' FExpr . ']' NumericIncrement tEND
+   91            | String__Index '[' FExpr . ']' '.' tSTRING tAFFECT StringExpr tEND
+   93            | String__Index '[' FExpr . ']' '.' tSTRING NumericAffectation FExpr tEND
+   95            | String__Index '[' FExpr . ']' '.' tSTRING NumericIncrement tEND
+   97            | String__Index '[' FExpr . ']' '.' tColor '.' tSTRING tAFFECT ColorExpr tEND
+   99            | String__Index '[' FExpr . ']' '.' tColorTable tAFFECT ListOfColor tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ']'              shift, and go to state 1000
+
+
+state 694
+
+   90 Affectation: String__Index '.' tSTRING . tAFFECT StringExpr tEND
+   92            | String__Index '.' tSTRING . NumericAffectation FExpr tEND
+   94            | String__Index '.' tSTRING . NumericIncrement tEND
+
+    tAFFECT        shift, and go to state 1001
+    tAFFECTDIVIDE  shift, and go to state 395
+    tAFFECTTIMES   shift, and go to state 396
+    tAFFECTMINUS   shift, and go to state 397
+    tAFFECTPLUS    shift, and go to state 398
+    tMINUSMINUS    shift, and go to state 399
+    tPLUSPLUS      shift, and go to state 400
+
+    NumericAffectation  go to state 1002
+    NumericIncrement    go to state 1003
+
+
+state 695
+
+   96 Affectation: String__Index '.' tColor . '.' tSTRING tAFFECT ColorExpr tEND
+
+    '.'  shift, and go to state 1004
+
+
+state 696
+
+   98 Affectation: String__Index '.' tColorTable . tAFFECT ListOfColor tEND
+
+    tAFFECT  shift, and go to state 1005
+
+
+state 697
+
+   78 Affectation: String__Index NumericAffectation ListOfDouble . tEND
+
+    tEND  shift, and go to state 1006
+
+
+state 698
+
+   79 Affectation: String__Index NumericIncrement tEND .
+
+    $default  reduce using rule 79 (Affectation)
+
+
+state 699
+
+   71 RP: ')' .
+
+    $default  reduce using rule 71 (RP)
+
+
+state 700
+
+   72 RP: ']' .
+
+    $default  reduce using rule 72 (RP)
+
+
+state 701
+
+   81 Affectation: String__Index LP '{' . RecursiveListOfDouble '}' RP NumericAffectation ListOfDouble tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 433
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '#'                   shift, and go to state 251
+
+    Transform              go to state 252
+    Extrude                go to state 253
+    BooleanOperator        go to state 254
+    Boolean                go to state 255
+    FExpr                  go to state 434
+    FExpr_Single           go to state 257
+    DefineStruct           go to state 258
+    Struct_FullName        go to state 259
+    FExpr_Multi            go to state 435
+    RecursiveListOfDouble  go to state 1007
+    StringIndex            go to state 131
+    String__Index          go to state 262
+
+
+state 702
+
+   80 Affectation: String__Index LP RP . NumericAffectation ListOfDouble tEND
+   87            | String__Index LP RP . tAFFECT tStr LP RP tEND
+   88            | String__Index LP RP . tAFFECT tStr LP RecursiveListOfStringExprVar RP tEND
+   89            | String__Index LP RP . tAFFECTPLUS tStr LP RecursiveListOfStringExprVar RP tEND
+
+    tAFFECT        shift, and go to state 1008
+    tAFFECTDIVIDE  shift, and go to state 395
+    tAFFECTTIMES   shift, and go to state 396
+    tAFFECTMINUS   shift, and go to state 397
+    tAFFECTPLUS    shift, and go to state 1009
+
+    NumericAffectation  go to state 1010
+
+
+state 703
+
+  245 Command: String__Index FExpr tEND .
+
+    $default  reduce using rule 245 (Command)
+
+
+state 704
+
+   33 View: String__Index StringExprVar '{' . Views '}' tEND
+
+    $default  reduce using rule 37 (Views)
+
+    Views  go to state 1011
+
+
+state 705
+
+  241 Command: String__Index StringExpr tEND .
+
+    $default  reduce using rule 241 (Command)
+
+
+state 706
+
+  445 FExpr_Single: String__Index tSCOPE . String__Index '.' tSTRING_Member_Float
+  447             | String__Index tSCOPE . String__Index '.' tSTRING_Member_Float '(' FExpr ')'
+  464 Struct_FullName: String__Index tSCOPE . String__Index
+  538 StringExprVar: String__Index tSCOPE . String__Index '.' tSTRING_Member_Float
+  540              | String__Index tSCOPE . String__Index '.' tSTRING_Member_Float '(' FExpr ')'
+
+    tSTRING        shift, and go to state 150
+    tStringToName  shift, and go to state 107
+
+    StringIndex    go to state 131
+    String__Index  go to state 1012
+
+
+state 707
+
+  443 FExpr_Single: String__Index '(' . FExpr ')' NumericIncrement
+  536 StringExprVar: String__Index '(' . FExpr ')'
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1013
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 708
+
+  243 Command: String__Index String__Index '[' . FExpr ']' StringExprVar tEND
+  442 FExpr_Single: String__Index '[' . FExpr ']' NumericIncrement
+  448             | String__Index '[' . FExpr ']' '.' tSTRING
+  450             | String__Index '[' . FExpr ']' '.' tSTRING NumericIncrement
+  535 StringExprVar: String__Index '[' . FExpr ']'
+  541              | String__Index '[' . FExpr ']' '.' tSTRING
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1014
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 709
+
+  444 FExpr_Single: String__Index '.' . tSTRING_Member_Float
+  446             | String__Index '.' . tSTRING_Member_Float '(' FExpr ')'
+  449             | String__Index '.' . tSTRING NumericIncrement
+  537 StringExprVar: String__Index '.' . tSTRING_Member_Float
+  539              | String__Index '.' . tSTRING_Member_Float '(' FExpr ')'
+
+    tSTRING  shift, and go to state 863
+
+    tSTRING_Member_Float  go to state 1015
+
+
+state 710
+
+  244 Command: String__Index String__Index String__Index . '[' FExpr ']' tEND
+
+    '['  shift, and go to state 1016
+
+
+state 711
+
+  202 Transform: tSTRING '{' MultipleShape '}' .
+
+    $default  reduce using rule 202 (Transform)
+
+
+state 712
+
+  159 Shape: tPoint . '(' FExpr ')' tAFFECT VExpr tEND
+  209 ListOfShapes: ListOfShapes tPoint . '{' RecursiveListOfDouble '}' tEND
+
+    '('  shift, and go to state 157
+    '{'  shift, and go to state 1017
+
+
+state 713
+
+  160 Shape: tLine . '(' FExpr ')' tAFFECT ListOfDouble tEND
+  169      | tLine . tSTRING '(' FExpr ')' tAFFECT ListOfDouble tEND
+  210 ListOfShapes: ListOfShapes tLine . '{' RecursiveListOfDouble '}' tEND
+
+    tSTRING  shift, and go to state 161
+    '('      shift, and go to state 162
+    '{'      shift, and go to state 1018
+
+
+state 714
+
+  171 Shape: tSurface . '(' FExpr ')' tAFFECT ListOfDouble InSphereCenter tEND
+  188      | tSurface . tSTRING '(' FExpr ')' tAFFECT ListOfDouble tEND
+  211 ListOfShapes: ListOfShapes tSurface . '{' RecursiveListOfDouble '}' tEND
+
+    tSTRING  shift, and go to state 166
+    '('      shift, and go to state 167
+    '{'      shift, and go to state 1019
+
+
+state 715
+
+  189 Shape: tVolume . '(' FExpr ')' tAFFECT ListOfDouble tEND
+  212 ListOfShapes: ListOfShapes tVolume . '{' RecursiveListOfDouble '}' tEND
+
+    '('  shift, and go to state 170
+    '{'  shift, and go to state 1020
+
+
+state 716
+
+  190 Shape: tThruSections . '(' FExpr ')' tAFFECT ListOfDouble tEND
+
+    '('  shift, and go to state 1021
+
+
+state 717
+
+  172 Shape: tRuled . tSurface '(' FExpr ')' tAFFECT ListOfDouble InSphereCenter tEND
+  191      | tRuled . tThruSections '(' FExpr ')' tAFFECT ListOfDouble tEND
+
+    tSurface       shift, and go to state 266
+    tThruSections  shift, and go to state 1022
+
+
+state 718
+
+  167 Shape: tCompound . tLine '(' FExpr ')' tAFFECT ListOfDouble tEND
+  186      | tCompound . tSurface '(' FExpr ')' tAFFECT ListOfDouble tEND
+  187      | tCompound . tSurface '(' FExpr ')' tAFFECT ListOfDouble tSTRING '{' RecursiveListOfListOfDouble '}' tEND
+  192      | tCompound . tVolume '(' FExpr ')' tAFFECT ListOfDouble tEND
+
+    tLine     shift, and go to state 1023
+    tSurface  shift, and go to state 1024
+    tVolume   shift, and go to state 1025
+
+
+state 719
+
+  208 ListOfShapes: ListOfShapes Shape .
+
+    $default  reduce using rule 208 (ListOfShapes)
+
+
+state 720
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  582 StringIndex: tSTRING '~' '{' FExpr . '}'
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    '}'              shift, and go to state 1026
+
+
+state 721
+
+  174 Shape: tCoordinates tSurface FExpr tEND .
+
+    $default  reduce using rule 174 (Shape)
+
+
+state 722
+
+   27 Printf: tPrintf '(' StringExprVar ')' . tEND
+   29       | tPrintf '(' StringExprVar ')' . SendToFile StringExprVar tEND
+
+    tEND             shift, and go to state 1027
+    '>'              shift, and go to state 1028
+    tGREATERGREATER  shift, and go to state 1029
+
+    SendToFile  go to state 1030
+
+
+state 723
+
+   30 Printf: tPrintf '(' StringExprVar ',' . RecursiveListOfDouble ')' tEND
+   32       | tPrintf '(' StringExprVar ',' . RecursiveListOfDouble ')' SendToFile StringExprVar tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 433
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '#'                   shift, and go to state 251
+
+    Transform              go to state 252
+    Extrude                go to state 253
+    BooleanOperator        go to state 254
+    Boolean                go to state 255
+    FExpr                  go to state 434
+    FExpr_Single           go to state 257
+    DefineStruct           go to state 258
+    Struct_FullName        go to state 259
+    FExpr_Multi            go to state 435
+    RecursiveListOfDouble  go to state 1031
+    StringIndex            go to state 131
+    String__Index          go to state 262
+
+
+state 724
+
+  538 StringExprVar: String__Index tSCOPE . String__Index '.' tSTRING_Member_Float
+  540              | String__Index tSCOPE . String__Index '.' tSTRING_Member_Float '(' FExpr ')'
+
+    tSTRING        shift, and go to state 150
+    tStringToName  shift, and go to state 107
+
+    StringIndex    go to state 131
+    String__Index  go to state 1032
+
+
+state 725
+
+  536 StringExprVar: String__Index '(' . FExpr ')'
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1033
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 726
+
+  535 StringExprVar: String__Index '[' . FExpr ']'
+  541              | String__Index '[' . FExpr ']' '.' tSTRING
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1034
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 727
+
+  537 StringExprVar: String__Index '.' . tSTRING_Member_Float
+  539              | String__Index '.' . tSTRING_Member_Float '(' FExpr ')'
+
+    tSTRING  shift, and go to state 1035
+
+    tSTRING_Member_Float  go to state 1036
+
+
+state 728
+
+   28 Printf: tError '(' StringExprVar ')' . tEND
+
+    tEND  shift, and go to state 1037
+
+
+state 729
+
+   31 Printf: tError '(' StringExprVar ',' . RecursiveListOfDouble ')' tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 433
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '#'                   shift, and go to state 251
+
+    Transform              go to state 252
+    Extrude                go to state 253
+    BooleanOperator        go to state 254
+    Boolean                go to state 255
+    FExpr                  go to state 434
+    FExpr_Single           go to state 257
+    DefineStruct           go to state 258
+    Struct_FullName        go to state 259
+    FExpr_Multi            go to state 435
+    RecursiveListOfDouble  go to state 1038
+    StringIndex            go to state 131
+    String__Index          go to state 262
+
+
+state 730
+
+  253 Command: tBoundingBox '{' FExpr ',' . FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr '}' tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1039
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 731
+
+  242 Command: tOnelabRun '(' RecursiveListOfStringExprVar ')' . tEND
+
+    tEND  shift, and go to state 1040
+
+
+state 732
+
+  581 RecursiveListOfStringExprVar: RecursiveListOfStringExprVar ',' . StringExprVar
+
+    tSTRING              shift, and go to state 150
+    tBIGSTR              shift, and go to state 344
+    tStr                 shift, and go to state 345
+    tSprintf             shift, and go to state 346
+    tStrCat              shift, and go to state 347
+    tStrPrefix           shift, and go to state 348
+    tStrRelative         shift, and go to state 349
+    tStrReplace          shift, and go to state 350
+    tAbsolutePath        shift, and go to state 351
+    tDirName             shift, and go to state 352
+    tStrSub              shift, and go to state 353
+    tStrChoice           shift, and go to state 354
+    tUpperCase           shift, and go to state 355
+    tLowerCase           shift, and go to state 356
+    tLowerCaseIn         shift, and go to state 357
+    tToday               shift, and go to state 358
+    tFixRelativePath     shift, and go to state 359
+    tCurrentDirectory    shift, and go to state 360
+    tOnelabAction        shift, and go to state 361
+    tCodeName            shift, and go to state 362
+    tNameStruct          shift, and go to state 363
+    tDefineString        shift, and go to state 364
+    tPhysical            shift, and go to state 393
+    tGetStringValue      shift, and go to state 365
+    tGetEnv              shift, and go to state 366
+    tGetString           shift, and go to state 367
+    tGetForcedStr        shift, and go to state 368
+    tGmshExecutableName  shift, and go to state 369
+    tNameToString        shift, and go to state 370
+    tStringToName        shift, and go to state 107
+
+    StringExprVar  go to state 1041
+    StringExpr     go to state 419
+    StringIndex    go to state 131
+    String__Index  go to state 420
+
+
+state 733
+
+   73 Affectation: tDefineConstant '[' DefineConstants ']' . tEND
+
+    tEND  shift, and go to state 1042
+
+
+state 734
+
+  109 Comma: ',' .
+
+    $default  reduce using rule 109 (Comma)
+
+
+state 735
+
+  111 DefineConstants: DefineConstants Comma . String__Index
+  112                | DefineConstants Comma . String__Index tAFFECT FExpr
+  114                | DefineConstants Comma . String__Index tAFFECT '{' ListOfDouble @6 FloatParameterOptionsOrNone '}'
+  116                | DefineConstants Comma . String__Index LP RP tAFFECT '{' ListOfDouble @7 FloatParameterOptionsOrNone '}'
+  117                | DefineConstants Comma . String__Index tAFFECT StringExpr
+  119                | DefineConstants Comma . String__Index tAFFECT '{' StringExpr @8 CharParameterOptionsOrNone '}'
+
+    tSTRING        shift, and go to state 150
+    tStringToName  shift, and go to state 107
+
+    StringIndex    go to state 131
+    String__Index  go to state 1043
+
+
+state 736
+
+   74 Affectation: tUndefineConstant '[' UndefineConstants ']' . tEND
+
+    tEND  shift, and go to state 1044
+
+
+state 737
+
+  121 UndefineConstants: UndefineConstants Comma . StringExprVar
+
+    tSTRING              shift, and go to state 150
+    tBIGSTR              shift, and go to state 344
+    tStr                 shift, and go to state 345
+    tSprintf             shift, and go to state 346
+    tStrCat              shift, and go to state 347
+    tStrPrefix           shift, and go to state 348
+    tStrRelative         shift, and go to state 349
+    tStrReplace          shift, and go to state 350
+    tAbsolutePath        shift, and go to state 351
+    tDirName             shift, and go to state 352
+    tStrSub              shift, and go to state 353
+    tStrChoice           shift, and go to state 354
+    tUpperCase           shift, and go to state 355
+    tLowerCase           shift, and go to state 356
+    tLowerCaseIn         shift, and go to state 357
+    tToday               shift, and go to state 358
+    tFixRelativePath     shift, and go to state 359
+    tCurrentDirectory    shift, and go to state 360
+    tOnelabAction        shift, and go to state 361
+    tCodeName            shift, and go to state 362
+    tNameStruct          shift, and go to state 363
+    tDefineString        shift, and go to state 364
+    tPhysical            shift, and go to state 393
+    tGetStringValue      shift, and go to state 365
+    tGetEnv              shift, and go to state 366
+    tGetString           shift, and go to state 367
+    tGetForcedStr        shift, and go to state 368
+    tGmshExecutableName  shift, and go to state 369
+    tNameToString        shift, and go to state 370
+    tStringToName        shift, and go to state 107
+
+    StringExprVar  go to state 1045
+    StringExpr     go to state 419
+    StringIndex    go to state 131
+    String__Index  go to state 420
+
+
+state 738
+
+  466 Append: tAppend .
+  467       | tAppend . FExpr
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    $default  reduce using rule 466 (Append)
+
+    FExpr            go to state 1046
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 739
+
+  469 AppendOrNot: '(' Append . ')'
+
+    ')'  shift, and go to state 1047
+
+
+state 740
+
+  462 DefineStruct: tDefineStruct Struct_FullName AppendOrNot @14 . '[' FloatParameterOptionsOrNone_NoComma ']'
+
+    '['  shift, and go to state 1048
+
+
+state 741
+
+  464 Struct_FullName: String__Index tSCOPE String__Index .
+
+    $default  reduce using rule 464 (Struct_FullName)
+
+
+state 742
+
+   76 Affectation: tSetNumber LP StringExpr ',' . FExpr RP tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1049
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 743
+
+   77 Affectation: tSetString LP String__Index ',' . StringExpr RP tEND
+
+    tBIGSTR              shift, and go to state 344
+    tStr                 shift, and go to state 345
+    tSprintf             shift, and go to state 346
+    tStrCat              shift, and go to state 347
+    tStrPrefix           shift, and go to state 348
+    tStrRelative         shift, and go to state 349
+    tStrReplace          shift, and go to state 350
+    tAbsolutePath        shift, and go to state 351
+    tDirName             shift, and go to state 352
+    tStrSub              shift, and go to state 353
+    tStrChoice           shift, and go to state 354
+    tUpperCase           shift, and go to state 355
+    tLowerCase           shift, and go to state 356
+    tLowerCaseIn         shift, and go to state 357
+    tToday               shift, and go to state 358
+    tFixRelativePath     shift, and go to state 359
+    tCurrentDirectory    shift, and go to state 360
+    tOnelabAction        shift, and go to state 361
+    tCodeName            shift, and go to state 362
+    tNameStruct          shift, and go to state 363
+    tDefineString        shift, and go to state 364
+    tGetStringValue      shift, and go to state 365
+    tGetEnv              shift, and go to state 366
+    tGetString           shift, and go to state 367
+    tGetForcedStr        shift, and go to state 368
+    tGmshExecutableName  shift, and go to state 369
+    tNameToString        shift, and go to state 370
+
+    StringExpr  go to state 1050
+
+
+state 744
+
+  159 Shape: tPoint '(' FExpr ')' . tAFFECT VExpr tEND
+
+    tAFFECT  shift, and go to state 1051
+
+
+state 745
+
+  373 FExpr: FExpr '*' . FExpr
+  490 FExpr_Multi: FExpr '*' . FExpr_Multi
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 433
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '#'                   shift, and go to state 251
+
+    Transform        go to state 252
+    Extrude          go to state 253
+    BooleanOperator  go to state 254
+    Boolean          go to state 255
+    FExpr            go to state 851
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    FExpr_Multi      go to state 852
+    StringIndex      go to state 131
+    String__Index    go to state 262
+
+
+state 746
+
+  342 Constraints: tPoint '{' RecursiveListOfDouble '}' . tIn tSurface '{' FExpr '}' tEND
+  344            | tPoint '{' RecursiveListOfDouble '}' . tIn tVolume '{' FExpr '}' tEND
+
+    tIn  shift, and go to state 1052
+
+
+state 747
+
+  523 RecursiveListOfDouble: RecursiveListOfDouble ',' . FExpr
+  524                      | RecursiveListOfDouble ',' . FExpr_Multi
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 433
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '#'                   shift, and go to state 251
+
+    Transform        go to state 252
+    Extrude          go to state 253
+    BooleanOperator  go to state 254
+    Boolean          go to state 255
+    FExpr            go to state 1053
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    FExpr_Multi      go to state 1054
+    StringIndex      go to state 131
+    String__Index    go to state 262
+
+
+state 748
+
+  162 Shape: tCircle '(' FExpr ')' . tAFFECT ListOfDouble CircleOptions tEND
+
+    tAFFECT  shift, and go to state 1055
+
+
+state 749
+
+  163 Shape: tEllipse '(' FExpr ')' . tAFFECT ListOfDouble CircleOptions tEND
+
+    tAFFECT  shift, and go to state 1056
+
+
+state 750
+
+  169 Shape: tLine tSTRING '(' FExpr . ')' tAFFECT ListOfDouble tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 1057
+
+
+state 751
+
+  160 Shape: tLine '(' FExpr ')' . tAFFECT ListOfDouble tEND
+
+    tAFFECT  shift, and go to state 1058
+
+
+state 752
+
+  343 Constraints: tLine '{' RecursiveListOfDouble '}' . tIn tSurface '{' FExpr '}' tEND
+  345            | tLine '{' RecursiveListOfDouble '}' . tIn tVolume '{' FExpr '}' tEND
+
+    tIn  shift, and go to state 1059
+
+
+state 753
+
+  176 Shape: tSphere '(' FExpr ')' . tAFFECT ListOfDouble tEND
+
+    tAFFECT  shift, and go to state 1060
+
+
+state 754
+
+  177 Shape: tPolarSphere '(' FExpr ')' . tAFFECT ListOfDouble tEND
+
+    tAFFECT  shift, and go to state 1061
+
+
+state 755
+
+  188 Shape: tSurface tSTRING '(' FExpr . ')' tAFFECT ListOfDouble tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 1062
+
+
+state 756
+
+  171 Shape: tSurface '(' FExpr ')' . tAFFECT ListOfDouble InSphereCenter tEND
+
+    tAFFECT  shift, and go to state 1063
+
+
+state 757
+
+  346 Constraints: tSurface '{' RecursiveListOfDouble '}' . tIn tVolume '{' FExpr '}' tEND
+
+    tIn  shift, and go to state 1064
+
+
+state 758
+
+  161 Shape: tSpline '(' FExpr ')' . tAFFECT ListOfDouble tEND
+
+    tAFFECT  shift, and go to state 1065
+
+
+state 759
+
+  189 Shape: tVolume '(' FExpr ')' . tAFFECT ListOfDouble tEND
+
+    tAFFECT  shift, and go to state 1066
+
+
+state 760
+
+  178 Shape: tBlock '(' FExpr ')' . tAFFECT ListOfDouble tEND
+
+    tAFFECT  shift, and go to state 1067
+
+
+state 761
+
+  182 Shape: tCylinder '(' FExpr ')' . tAFFECT ListOfDouble tEND
+
+    tAFFECT  shift, and go to state 1068
+
+
+state 762
+
+  183 Shape: tCone '(' FExpr ')' . tAFFECT ListOfDouble tEND
+
+    tAFFECT  shift, and go to state 1069
+
+
+state 763
+
+  179 Shape: tTorus '(' FExpr ')' . tAFFECT ListOfDouble tEND
+
+    tAFFECT  shift, and go to state 1070
+
+
+state 764
+
+  314 Boolean: tShapeFromFile '(' StringExprVar ')' .
+
+    $default  reduce using rule 314 (Boolean)
+
+
+state 765
+
+  180 Shape: tRectangle '(' FExpr ')' . tAFFECT ListOfDouble tEND
+
+    tAFFECT  shift, and go to state 1071
+
+
+state 766
+
+  181 Shape: tDisk '(' FExpr ')' . tAFFECT ListOfDouble tEND
+
+    tAFFECT  shift, and go to state 1072
+
+
+state 767
+
+  168 Shape: tWire '(' FExpr ')' . tAFFECT ListOfDouble tEND
+
+    tAFFECT  shift, and go to state 1073
+
+
+state 768
+
+  326 Constraints: tCharacteristic tLength ListOfDouble tAFFECT . FExpr tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1074
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 769
+
+  175 Shape: tParametric tSurface '(' FExpr . ')' tAFFECT tBIGSTR tBIGSTR tBIGSTR tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 1075
+
+
+state 770
+
+  259 Command: tAdaptMesh '{' RecursiveListOfDouble '}' . '{' RecursiveListOfDouble '}' '{' RecursiveListOfListOfDouble '}' '{' FExpr ',' FExpr '}' tEND
+
+    '{'  shift, and go to state 1076
+
+
+state 771
+
+  349 Constraints: tRelocateMesh tPoint ListOfDoubleOrAll tEND .
+
+    $default  reduce using rule 349 (Constraints)
+
+
+state 772
+
+  350 Constraints: tRelocateMesh tLine ListOfDoubleOrAll tEND .
+
+    $default  reduce using rule 350 (Constraints)
+
+
+state 773
+
+  351 Constraints: tRelocateMesh tSurface ListOfDoubleOrAll tEND .
+
+    $default  reduce using rule 351 (Constraints)
+
+
+state 774
+
+    8 GeoFormatItem: tSetFactory '(' StringExprVar ')' . tEND
+
+    tEND  shift, and go to state 1077
+
+
+state 775
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  390      | tExp LP FExpr . RP
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 699
+    ']'              shift, and go to state 700
+
+    RP  go to state 1078
+
+
+state 776
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  391      | tLog LP FExpr . RP
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 699
+    ']'              shift, and go to state 700
+
+    RP  go to state 1079
+
+
+state 777
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  392      | tLog10 LP FExpr . RP
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 699
+    ']'              shift, and go to state 700
+
+    RP  go to state 1080
+
+
+state 778
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  393      | tSqrt LP FExpr . RP
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 699
+    ']'              shift, and go to state 700
+
+    RP  go to state 1081
+
+
+state 779
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  394      | tSin LP FExpr . RP
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 699
+    ']'              shift, and go to state 700
+
+    RP  go to state 1082
+
+
+state 780
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  395      | tAsin LP FExpr . RP
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 699
+    ']'              shift, and go to state 700
+
+    RP  go to state 1083
+
+
+state 781
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  396      | tCos LP FExpr . RP
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 699
+    ']'              shift, and go to state 700
+
+    RP  go to state 1084
+
+
+state 782
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  397      | tAcos LP FExpr . RP
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 699
+    ']'              shift, and go to state 700
+
+    RP  go to state 1085
+
+
+state 783
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  398      | tTan LP FExpr . RP
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 699
+    ']'              shift, and go to state 700
+
+    RP  go to state 1086
+
+
+state 784
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  412      | tRand LP FExpr . RP
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 699
+    ']'              shift, and go to state 700
+
+    RP  go to state 1087
+
+
+state 785
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  399      | tAtan LP FExpr . RP
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 699
+    ']'              shift, and go to state 700
+
+    RP  go to state 1088
+
+
+state 786
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  400      | tAtan2 LP FExpr . ',' FExpr RP
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ','              shift, and go to state 1089
+
+
+state 787
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  401      | tSinh LP FExpr . RP
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 699
+    ']'              shift, and go to state 700
+
+    RP  go to state 1090
+
+
+state 788
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  402      | tCosh LP FExpr . RP
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 699
+    ']'              shift, and go to state 700
+
+    RP  go to state 1091
+
+
+state 789
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  403      | tTanh LP FExpr . RP
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 699
+    ']'              shift, and go to state 700
+
+    RP  go to state 1092
+
+
+state 790
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  404      | tFabs LP FExpr . RP
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 699
+    ']'              shift, and go to state 700
+
+    RP  go to state 1093
+
+
+state 791
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  405      | tAbs LP FExpr . RP
+  490 FExpr_Multi: FExpr . '*' FExpr_Multi
+  491            | FExpr . tDOTS FExpr
+  492            | FExpr . tDOTS FExpr tDOTS FExpr
+
+    tDOTS            shift, and go to state 531
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 745
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 699
+    ']'              shift, and go to state 700
+
+    RP  go to state 1094
+
+
+state 792
+
+  520 FExpr_Multi: tAbs LP FExpr_Multi . RP
+
+    ')'  shift, and go to state 699
+    ']'  shift, and go to state 700
+
+    RP  go to state 1095
+
+
+state 793
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  406      | tFloor LP FExpr . RP
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 699
+    ']'              shift, and go to state 700
+
+    RP  go to state 1096
+
+
+state 794
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  407      | tCeil LP FExpr . RP
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 699
+    ']'              shift, and go to state 700
+
+    RP  go to state 1097
+
+
+state 795
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  408      | tRound LP FExpr . RP
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 699
+    ']'              shift, and go to state 700
+
+    RP  go to state 1098
+
+
+state 796
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  409      | tFmod LP FExpr . ',' FExpr RP
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ','              shift, and go to state 1099
+
+
+state 797
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  410      | tModulo LP FExpr . ',' FExpr RP
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ','              shift, and go to state 1100
+
+
+state 798
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  411      | tHypot LP FExpr . ',' FExpr RP
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ','              shift, and go to state 1101
+
+
+state 799
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  490 FExpr_Multi: FExpr . '*' FExpr_Multi
+  491            | FExpr . tDOTS FExpr
+  492            | FExpr . tDOTS FExpr tDOTS FExpr
+
+    tDOTS            shift, and go to state 531
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 745
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+
+
+state 800
+
+  512 FExpr_Multi: tList '(' FExpr_Multi . ')'
+
+    ')'  shift, and go to state 1102
+
+
+state 801
+
+  511 FExpr_Multi: tList '[' FExpr_Multi . ']'
+
+    ']'  shift, and go to state 1103
+
+
+state 802
+
+  441 FExpr_Single: String__Index . NumericIncrement
+  442             | String__Index . '[' FExpr ']' NumericIncrement
+  443             | String__Index . '(' FExpr ')' NumericIncrement
+  444             | String__Index . '.' tSTRING_Member_Float
+  445             | String__Index . tSCOPE String__Index '.' tSTRING_Member_Float
+  446             | String__Index . '.' tSTRING_Member_Float '(' FExpr ')'
+  447             | String__Index . tSCOPE String__Index '.' tSTRING_Member_Float '(' FExpr ')'
+  448             | String__Index . '[' FExpr ']' '.' tSTRING
+  449             | String__Index . '.' tSTRING NumericIncrement
+  450             | String__Index . '[' FExpr ']' '.' tSTRING NumericIncrement
+  463 Struct_FullName: String__Index .
+  464                | String__Index . tSCOPE String__Index
+  509 FExpr_Multi: String__Index . LP RP
+  510            | tList '[' String__Index . ']'
+  514            | String__Index . LP '{' RecursiveListOfDouble '}' RP
+
+    tSCOPE       shift, and go to state 553
+    tMINUSMINUS  shift, and go to state 399
+    tPLUSPLUS    shift, and go to state 400
+    '('          shift, and go to state 554
+    '['          shift, and go to state 555
+    ']'          shift, and go to state 1104
+    '.'          shift, and go to state 556
+
+    '('       [reduce using rule 463 (Struct_FullName)]
+    '['       [reduce using rule 463 (Struct_FullName)]
+    $default  reduce using rule 463 (Struct_FullName)
+
+    NumericIncrement  go to state 557
+    LP                go to state 558
+
+
+state 803
+
+  513 FExpr_Multi: tList LP '{' . RecursiveListOfDouble '}' RP
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 433
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '#'                   shift, and go to state 251
+
+    Transform              go to state 252
+    Extrude                go to state 253
+    BooleanOperator        go to state 254
+    Boolean                go to state 255
+    FExpr                  go to state 434
+    FExpr_Single           go to state 257
+    DefineStruct           go to state 258
+    Struct_FullName        go to state 259
+    FExpr_Multi            go to state 435
+    RecursiveListOfDouble  go to state 1105
+    StringIndex            go to state 131
+    String__Index          go to state 262
+
+
+state 804
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  515 FExpr_Multi: tLinSpace LP FExpr . ',' FExpr ',' FExpr RP
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ','              shift, and go to state 1106
+
+
+state 805
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  516 FExpr_Multi: tLogSpace LP FExpr . ',' FExpr ',' FExpr RP
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ','              shift, and go to state 1107
+
+
+state 806
+
+  517 FExpr_Multi: tListFromFile LP StringExprVar . RP
+
+    ')'  shift, and go to state 699
+    ']'  shift, and go to state 700
+
+    RP  go to state 1108
+
+
+state 807
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  518 FExpr_Multi: tCatenary LP FExpr . ',' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr RP
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ','              shift, and go to state 1109
+
+
+state 808
+
+  454 FExpr_Single: tStrLen LP StringExprVar . RP
+
+    ')'  shift, and go to state 699
+    ']'  shift, and go to state 700
+
+    RP  go to state 1110
+
+
+state 809
+
+  452 FExpr_Single: tFind '(' ListOfDouble . ',' ListOfDouble ')'
+
+    ','  shift, and go to state 1111
+
+
+state 810
+
+  453 FExpr_Single: tStrFind LP StringExprVar . ',' StringExprVar RP
+
+    ','  shift, and go to state 1112
+
+
+state 811
+
+  455 FExpr_Single: tStrCmp LP StringExprVar . ',' StringExprVar RP
+
+    ','  shift, and go to state 1113
+
+
+state 812
+
+  456 FExpr_Single: tTextAttributes '(' RecursiveListOfStringExprVar . ')'
+  581 RecursiveListOfStringExprVar: RecursiveListOfStringExprVar . ',' StringExprVar
+
+    ')'  shift, and go to state 1114
+    ','  shift, and go to state 732
+
+
+state 813
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  425 FExpr_Single: tDefineNumber LP FExpr . @13 FloatParameterOptionsOrNone RP
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+
+    $default  reduce using rule 424 (@13)
+
+    @13  go to state 1115
+
+
+state 814
+
+  440 FExpr_Single: tDimNameSpace LP RP .
+
+    $default  reduce using rule 440 (FExpr_Single)
+
+
+state 815
+
+  439 FExpr_Single: tDimNameSpace LP String__Index . RP
+
+    ')'  shift, and go to state 699
+    ']'  shift, and go to state 700
+
+    RP  go to state 1116
+
+
+state 816
+
+  502 FExpr_Multi: tPoint tIn tBoundingBox . '{' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr '}'
+
+    '{'  shift, and go to state 1117
+
+
+state 817
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  493 FExpr_Multi: tPoint '{' FExpr . '}'
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    '}'              shift, and go to state 1118
+
+
+state 818
+
+  503 FExpr_Multi: tLine tIn tBoundingBox . '{' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr '}'
+
+    '{'  shift, and go to state 1119
+
+
+state 819
+
+  504 FExpr_Multi: tSurface tIn tBoundingBox . '{' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr '}'
+
+    '{'  shift, and go to state 1120
+
+
+state 820
+
+  505 FExpr_Multi: tVolume tIn tBoundingBox . '{' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr '}'
+
+    '{'  shift, and go to state 1121
+
+
+state 821
+
+  498 FExpr_Multi: tPhysical tPoint ListOfDoubleOrAll .
+
+    $default  reduce using rule 498 (FExpr_Multi)
+
+
+state 822
+
+  499 FExpr_Multi: tPhysical tLine ListOfDoubleOrAll .
+
+    $default  reduce using rule 499 (FExpr_Multi)
+
+
+state 823
+
+  500 FExpr_Multi: tPhysical tSurface ListOfDoubleOrAll .
+
+    $default  reduce using rule 500 (FExpr_Multi)
+
+
+state 824
+
+  501 FExpr_Multi: tPhysical tVolume ListOfDoubleOrAll .
+
+    $default  reduce using rule 501 (FExpr_Multi)
+
+
+state 825
+
+  451 FExpr_Single: tGetValue '(' StringExprVar . ',' FExpr ')'
+
+    ','  shift, and go to state 1122
+
+
+state 826
+
+  427 FExpr_Single: tGetNumber LP StringExprVar . RP
+  428             | tGetNumber LP StringExprVar . ',' FExpr RP
+
+    ')'  shift, and go to state 699
+    ']'  shift, and go to state 700
+    ','  shift, and go to state 1123
+
+    RP  go to state 1124
+
+
+state 827
+
+  519 FExpr_Multi: tUnique LP FExpr_Multi . RP
+
+    ')'  shift, and go to state 699
+    ']'  shift, and go to state 700
+
+    RP  go to state 1125
+
+
+state 828
+
+  432 FExpr_Single: tExists '(' Struct_FullName . ')'
+  433             | tExists '(' Struct_FullName . '.' tSTRING_Member_Float ')'
+
+    ')'  shift, and go to state 1126
+    '.'  shift, and go to state 1127
+
+
+state 829
+
+  436 FExpr_Single: tFileExists '(' StringExpr . ')'
+
+    ')'  shift, and go to state 1128
+
+
+state 830
+
+  434 FExpr_Single: tGetForced '(' Struct_FullName . GetForced_Default ')'
+  435             | tGetForced '(' Struct_FullName . '.' tSTRING_Member_Float GetForced_Default ')'
+
+    '.'  shift, and go to state 1129
+    ','  shift, and go to state 1130
+
+    $default  reduce using rule 457 (GetForced_Default)
+
+    GetForced_Default  go to state 1131
+
+
+state 831
+
+  485 ListOfDouble: '-' '{' RecursiveListOfDouble . '}'
+  523 RecursiveListOfDouble: RecursiveListOfDouble . ',' FExpr
+  524                      | RecursiveListOfDouble . ',' FExpr_Multi
+
+    '}'  shift, and go to state 1132
+    ','  shift, and go to state 747
+
+
+state 832
+
+  190 Shape: tThruSections '(' FExpr ')' . tAFFECT ListOfDouble tEND
+  367 FExpr: '(' FExpr ')' .
+
+    tAFFECT  shift, and go to state 1133
+
+    $default  reduce using rule 367 (FExpr)
+
+
+state 833
+
+  484 ListOfDouble: '{' RecursiveListOfDouble '}' .
+
+    $default  reduce using rule 484 (ListOfDouble)
+
+
+state 834
+
+  438 FExpr_Single: '#' Struct_FullName '.' . tSTRING_Member_Float '(' ')'
+
+    tSTRING  shift, and go to state 1035
+
+    tSTRING_Member_Float  go to state 1134
+
+
+state 835
+
+  437 FExpr_Single: '#' String__Index LP . RP
+
+    ')'  shift, and go to state 699
+    ']'  shift, and go to state 700
+
+    RP  go to state 1135
+
+
+state 836
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  491 FExpr_Multi: FExpr tDOTS FExpr .
+  492            | FExpr tDOTS FExpr . tDOTS FExpr
+
+    tDOTS            shift, and go to state 1136
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+
+    $default  reduce using rule 491 (FExpr_Multi)
+
+
+state 837
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  389      | FExpr '?' FExpr . tDOTS FExpr
+
+    tDOTS            shift, and go to state 1137
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+
+
+state 838
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  386      | FExpr tOR FExpr .
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+
+    $default  reduce using rule 386 (FExpr)
+
+
+state 839
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  385      | FExpr tAND FExpr .
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+
+    $default  reduce using rule 385 (FExpr)
+
+
+state 840
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  384      | FExpr tNOTEQUAL FExpr .
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+
+    $default  reduce using rule 384 (FExpr)
+
+
+state 841
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  383      | FExpr tEQUAL FExpr .
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+
+    $default  reduce using rule 383 (FExpr)
+
+
+state 842
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  379      | FExpr '<' FExpr .
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '+'  shift, and go to state 543
+    '-'  shift, and go to state 544
+    '*'  shift, and go to state 676
+    '/'  shift, and go to state 546
+    '%'  shift, and go to state 547
+    '|'  shift, and go to state 548
+    '&'  shift, and go to state 549
+    '^'  shift, and go to state 550
+
+    $default  reduce using rule 379 (FExpr)
+
+
+state 843
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  380      | FExpr '>' FExpr .
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '+'  shift, and go to state 543
+    '-'  shift, and go to state 544
+    '*'  shift, and go to state 676
+    '/'  shift, and go to state 546
+    '%'  shift, and go to state 547
+    '|'  shift, and go to state 548
+    '&'  shift, and go to state 549
+    '^'  shift, and go to state 550
+
+    $default  reduce using rule 380 (FExpr)
+
+
+state 844
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  387      | FExpr tGREATERGREATER FExpr .
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '+'  shift, and go to state 543
+    '-'  shift, and go to state 544
+    '*'  shift, and go to state 676
+    '/'  shift, and go to state 546
+    '%'  shift, and go to state 547
+    '|'  shift, and go to state 548
+    '&'  shift, and go to state 549
+    '^'  shift, and go to state 550
+
+    $default  reduce using rule 387 (FExpr)
+
+
+state 845
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  388      | FExpr tLESSLESS FExpr .
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '+'  shift, and go to state 543
+    '-'  shift, and go to state 544
+    '*'  shift, and go to state 676
+    '/'  shift, and go to state 546
+    '%'  shift, and go to state 547
+    '|'  shift, and go to state 548
+    '&'  shift, and go to state 549
+    '^'  shift, and go to state 550
+
+    $default  reduce using rule 388 (FExpr)
+
+
+state 846
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  382      | FExpr tGREATEROREQUAL FExpr .
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '+'  shift, and go to state 543
+    '-'  shift, and go to state 544
+    '*'  shift, and go to state 676
+    '/'  shift, and go to state 546
+    '%'  shift, and go to state 547
+    '|'  shift, and go to state 548
+    '&'  shift, and go to state 549
+    '^'  shift, and go to state 550
+
+    $default  reduce using rule 382 (FExpr)
+
+
+state 847
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  381      | FExpr tLESSOREQUAL FExpr .
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '+'  shift, and go to state 543
+    '-'  shift, and go to state 544
+    '*'  shift, and go to state 676
+    '/'  shift, and go to state 546
+    '%'  shift, and go to state 547
+    '|'  shift, and go to state 548
+    '&'  shift, and go to state 549
+    '^'  shift, and go to state 550
+
+    $default  reduce using rule 381 (FExpr)
+
+
+state 848
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  372      | FExpr '+' FExpr .
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '*'  shift, and go to state 676
+    '/'  shift, and go to state 546
+    '%'  shift, and go to state 547
+    '|'  shift, and go to state 548
+    '&'  shift, and go to state 549
+    '^'  shift, and go to state 550
+
+    $default  reduce using rule 372 (FExpr)
+
+
+state 849
+
+  371 FExpr: FExpr . '-' FExpr
+  371      | FExpr '-' FExpr .
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '*'  shift, and go to state 676
+    '/'  shift, and go to state 546
+    '%'  shift, and go to state 547
+    '|'  shift, and go to state 548
+    '&'  shift, and go to state 549
+    '^'  shift, and go to state 550
+
+    $default  reduce using rule 371 (FExpr)
+
+
+state 850
+
+  486 ListOfDouble: FExpr '*' '{' . RecursiveListOfDouble '}'
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 433
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '#'                   shift, and go to state 251
+
+    Transform              go to state 252
+    Extrude                go to state 253
+    BooleanOperator        go to state 254
+    Boolean                go to state 255
+    FExpr                  go to state 434
+    FExpr_Single           go to state 257
+    DefineStruct           go to state 258
+    Struct_FullName        go to state 259
+    FExpr_Multi            go to state 435
+    RecursiveListOfDouble  go to state 1138
+    StringIndex            go to state 131
+    String__Index          go to state 262
+
+
+state 851
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  373      | FExpr '*' FExpr .
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  490 FExpr_Multi: FExpr . '*' FExpr_Multi
+  491            | FExpr . tDOTS FExpr
+  492            | FExpr . tDOTS FExpr tDOTS FExpr
+
+    '|'  shift, and go to state 548
+    '&'  shift, and go to state 549
+    '^'  shift, and go to state 550
+
+    $default  reduce using rule 373 (FExpr)
+
+
+state 852
+
+  490 FExpr_Multi: FExpr '*' FExpr_Multi .
+
+    $default  reduce using rule 490 (FExpr_Multi)
+
+
+state 853
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  374      | FExpr '/' FExpr .
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '|'  shift, and go to state 548
+    '&'  shift, and go to state 549
+    '^'  shift, and go to state 550
+
+    $default  reduce using rule 374 (FExpr)
+
+
+state 854
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  377      | FExpr '%' FExpr .
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '|'  shift, and go to state 548
+    '&'  shift, and go to state 549
+    '^'  shift, and go to state 550
+
+    $default  reduce using rule 377 (FExpr)
+
+
+state 855
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  375      | FExpr '|' FExpr .
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '^'  shift, and go to state 550
+
+    $default  reduce using rule 375 (FExpr)
+
+
+state 856
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  376      | FExpr '&' FExpr .
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '^'  shift, and go to state 550
+
+    $default  reduce using rule 376 (FExpr)
+
+
+state 857
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  378      | FExpr '^' FExpr .
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '^'  shift, and go to state 550
+
+    $default  reduce using rule 378 (FExpr)
+
+
+state 858
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  431 FExpr_Single: Struct_FullName '(' FExpr . ')'
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 1139
+
+
+state 859
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  430 FExpr_Single: Struct_FullName '[' FExpr . ']'
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ']'              shift, and go to state 1140
+
+
+state 860
+
+  445 FExpr_Single: String__Index tSCOPE String__Index . '.' tSTRING_Member_Float
+  447             | String__Index tSCOPE String__Index . '.' tSTRING_Member_Float '(' FExpr ')'
+  464 Struct_FullName: String__Index tSCOPE String__Index .
+
+    '.'  shift, and go to state 1141
+
+    $default  reduce using rule 464 (Struct_FullName)
+
+
+state 861
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  443 FExpr_Single: String__Index '(' FExpr . ')' NumericIncrement
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 1142
+
+
+state 862
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  442 FExpr_Single: String__Index '[' FExpr . ']' NumericIncrement
+  448             | String__Index '[' FExpr . ']' '.' tSTRING
+  450             | String__Index '[' FExpr . ']' '.' tSTRING NumericIncrement
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ']'              shift, and go to state 1143
+
+
+state 863
+
+  449 FExpr_Single: String__Index '.' tSTRING . NumericIncrement
+  465 tSTRING_Member_Float: tSTRING .
+
+    tMINUSMINUS  shift, and go to state 399
+    tPLUSPLUS    shift, and go to state 400
+
+    $default  reduce using rule 465 (tSTRING_Member_Float)
+
+    NumericIncrement  go to state 1144
+
+
+state 864
+
+  444 FExpr_Single: String__Index '.' tSTRING_Member_Float .
+  446             | String__Index '.' tSTRING_Member_Float . '(' FExpr ')'
+
+    '('  shift, and go to state 1145
+
+    $default  reduce using rule 444 (FExpr_Single)
+
+
+state 865
+
+  514 FExpr_Multi: String__Index LP '{' . RecursiveListOfDouble '}' RP
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 433
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '#'                   shift, and go to state 251
+
+    Transform              go to state 252
+    Extrude                go to state 253
+    BooleanOperator        go to state 254
+    Boolean                go to state 255
+    FExpr                  go to state 434
+    FExpr_Single           go to state 257
+    DefineStruct           go to state 258
+    Struct_FullName        go to state 259
+    FExpr_Multi            go to state 435
+    RecursiveListOfDouble  go to state 1146
+    StringIndex            go to state 131
+    String__Index          go to state 262
+
+
+state 866
+
+  509 FExpr_Multi: String__Index LP RP .
+
+    $default  reduce using rule 509 (FExpr_Multi)
+
+
+state 867
+
+  184 Shape: tWedge '(' FExpr ')' . tAFFECT ListOfDouble tEND
+
+    tAFFECT  shift, and go to state 1147
+
+
+state 868
+
+  289 Extrude: tFillet '{' RecursiveListOfDouble '}' . '{' RecursiveListOfDouble '}' '{' FExpr '}'
+
+    '{'  shift, and go to state 1148
+
+
+state 869
+
+  170 Shape: tPlane tSurface '(' FExpr . ')' tAFFECT ListOfDouble tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 1149
+
+
+state 870
+
+  172 Shape: tRuled tSurface '(' FExpr . ')' tAFFECT ListOfDouble InSphereCenter tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 1150
+
+
+state 871
+
+  191 Shape: tRuled tThruSections '(' FExpr . ')' tAFFECT ListOfDouble tEND
+  367 FExpr: '(' FExpr . ')'
+  371      | FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 1151
+
+
+state 872
+
+  327 Constraints: tTransfinite tLine ListOfDoubleOrAll tAFFECT . FExpr TransfiniteType tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1152
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 873
+
+  321 TransfiniteCorners: tAFFECT . ListOfDouble
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 247
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '{'                   shift, and go to state 250
+    '#'                   shift, and go to state 251
+
+    Transform        go to state 252
+    Extrude          go to state 253
+    BooleanOperator  go to state 254
+    Boolean          go to state 255
+    FExpr            go to state 256
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    ListOfDouble     go to state 1153
+    FExpr_Multi      go to state 261
+    StringIndex      go to state 131
+    String__Index    go to state 262
+
+
+state 874
+
+  328 Constraints: tTransfinite tSurface ListOfDoubleOrAll TransfiniteCorners . TransfiniteArrangement tEND
+
+    tSTRING  shift, and go to state 1154
+
+    $default  reduce using rule 318 (TransfiniteArrangement)
+
+    TransfiniteArrangement  go to state 1155
+
+
+state 875
+
+  329 Constraints: tTransfinite tVolume ListOfDoubleOrAll TransfiniteCorners . tEND
+
+    tEND  shift, and go to state 1156
+
+
+state 876
+
+  193 Shape: tPhysical tPoint '(' PhysicalId0 . ')' NumericAffectation ListOfDouble tEND
+
+    ')'  shift, and go to state 1157
+
+
+state 877
+
+  143 PhysicalId0: FExpr .
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+
+    $default  reduce using rule 143 (PhysicalId0)
+
+
+state 878
+
+  144 PhysicalId0: StringExpr .
+  145            | StringExpr . ',' FExpr
+
+    ','  shift, and go to state 1158
+
+    $default  reduce using rule 144 (PhysicalId0)
+
+
+state 879
+
+  194 Shape: tPhysical tLine '(' PhysicalId1 . ')' NumericAffectation ListOfDouble tEND
+
+    ')'  shift, and go to state 1159
+
+
+state 880
+
+  146 PhysicalId1: FExpr .
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+
+    $default  reduce using rule 146 (PhysicalId1)
+
+
+state 881
+
+  147 PhysicalId1: StringExpr .
+  148            | StringExpr . ',' FExpr
+
+    ','  shift, and go to state 1160
+
+    $default  reduce using rule 147 (PhysicalId1)
+
+
+state 882
+
+  195 Shape: tPhysical tSurface '(' PhysicalId2 . ')' NumericAffectation ListOfDouble tEND
+
+    ')'  shift, and go to state 1161
+
+
+state 883
+
+  149 PhysicalId2: FExpr .
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+
+    $default  reduce using rule 149 (PhysicalId2)
+
+
+state 884
+
+  150 PhysicalId2: StringExpr .
+  151            | StringExpr . ',' FExpr
+
+    ','  shift, and go to state 1162
+
+    $default  reduce using rule 150 (PhysicalId2)
+
+
+state 885
+
+  196 Shape: tPhysical tVolume '(' PhysicalId3 . ')' NumericAffectation ListOfDouble tEND
+
+    ')'  shift, and go to state 1163
+
+
+state 886
+
+  152 PhysicalId3: FExpr .
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+
+    $default  reduce using rule 152 (PhysicalId3)
+
+
+state 887
+
+  153 PhysicalId3: StringExpr .
+  154            | StringExpr . ',' FExpr
+
+    ','  shift, and go to state 1164
+
+    $default  reduce using rule 153 (PhysicalId3)
+
+
+state 888
+
+  167 Shape: tCompound tLine '(' FExpr . ')' tAFFECT ListOfDouble tEND
+  367 FExpr: '(' FExpr . ')'
+  371      | FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 1165
+
+
+state 889
+
+  353 Constraints: tCompound tLine ListOfDouble tEND .
+
+    $default  reduce using rule 353 (Constraints)
+
+
+state 890
+
+  186 Shape: tCompound tSurface '(' FExpr . ')' tAFFECT ListOfDouble tEND
+  187      | tCompound tSurface '(' FExpr . ')' tAFFECT ListOfDouble tSTRING '{' RecursiveListOfListOfDouble '}' tEND
+  367 FExpr: '(' FExpr . ')'
+  371      | FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 1166
+
+
+state 891
+
+  354 Constraints: tCompound tSurface ListOfDouble tEND .
+
+    $default  reduce using rule 354 (Constraints)
+
+
+state 892
+
+  192 Shape: tCompound tVolume '(' FExpr . ')' tAFFECT ListOfDouble tEND
+  367 FExpr: '(' FExpr . ')'
+  371      | FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 1167
+
+
+state 893
+
+  355 Constraints: tCompound tVolume ListOfDouble tEND .
+
+    $default  reduce using rule 355 (Constraints)
+
+
+state 894
+
+  335 Constraints: tPeriodic tLine '{' RecursiveListOfDouble . '}' tAFFECT '{' RecursiveListOfDouble '}' PeriodicTransform tEND
+  337            | tPeriodic tLine '{' RecursiveListOfDouble . '}' tAFFECT '{' RecursiveListOfDouble '}' tRotate '{' VExpr ',' VExpr ',' FExpr '}' tEND
+  339            | tPeriodic tLine '{' RecursiveListOfDouble . '}' tAFFECT '{' RecursiveListOfDouble '}' tTranslate VExpr tEND
+  523 RecursiveListOfDouble: RecursiveListOfDouble . ',' FExpr
+  524                      | RecursiveListOfDouble . ',' FExpr_Multi
+
+    '}'  shift, and go to state 1168
+    ','  shift, and go to state 747
+
+
+state 895
+
+  336 Constraints: tPeriodic tSurface '{' RecursiveListOfDouble . '}' tAFFECT '{' RecursiveListOfDouble '}' PeriodicTransform tEND
+  338            | tPeriodic tSurface '{' RecursiveListOfDouble . '}' tAFFECT '{' RecursiveListOfDouble '}' tRotate '{' VExpr ',' VExpr ',' FExpr '}' tEND
+  340            | tPeriodic tSurface '{' RecursiveListOfDouble . '}' tAFFECT '{' RecursiveListOfDouble '}' tTranslate VExpr tEND
+  523 RecursiveListOfDouble: RecursiveListOfDouble . ',' FExpr
+  524                      | RecursiveListOfDouble . ',' FExpr_Multi
+
+    '}'  shift, and go to state 1169
+    ','  shift, and go to state 747
+
+
+state 896
+
+  341 Constraints: tPeriodic tSurface FExpr '{' . RecursiveListOfDouble '}' tAFFECT FExpr '{' RecursiveListOfDouble '}' tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 433
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '#'                   shift, and go to state 251
+
+    Transform              go to state 252
+    Extrude                go to state 253
+    BooleanOperator        go to state 254
+    Boolean                go to state 255
+    FExpr                  go to state 434
+    FExpr_Single           go to state 257
+    DefineStruct           go to state 258
+    Struct_FullName        go to state 259
+    FExpr_Multi            go to state 435
+    RecursiveListOfDouble  go to state 1170
+    StringIndex            go to state 131
+    String__Index          go to state 262
+
+
+state 897
+
+  106 Affectation: tPlugin '(' tSTRING ')' . '.' tSTRING tAFFECT FExpr tEND
+  107            | tPlugin '(' tSTRING ')' . '.' tSTRING tAFFECT StringExpr tEND
+  246 Command: tPlugin '(' tSTRING ')' . '.' tSTRING tEND
+
+    '.'  shift, and go to state 1171
+
+
+state 898
+
+  352 Constraints: tDegenerated tLine ListOfDouble tEND .
+
+    $default  reduce using rule 352 (Constraints)
+
+
+state 899
+
+  208 ListOfShapes: ListOfShapes . Shape
+  209             | ListOfShapes . tPoint '{' RecursiveListOfDouble '}' tEND
+  210             | ListOfShapes . tLine '{' RecursiveListOfDouble '}' tEND
+  211             | ListOfShapes . tSurface '{' RecursiveListOfDouble '}' tEND
+  212             | ListOfShapes . tVolume '{' RecursiveListOfDouble '}' tEND
+  226 Delete: tRecursive tDelete '{' ListOfShapes . '}'
+
+    tEuclidian     shift, and go to state 7
+    tCoordinates   shift, and go to state 8
+    tPoint         shift, and go to state 712
+    tCircle        shift, and go to state 25
+    tEllipse       shift, and go to state 26
+    tLine          shift, and go to state 713
+    tSphere        shift, and go to state 28
+    tPolarSphere   shift, and go to state 29
+    tSurface       shift, and go to state 714
+    tSpline        shift, and go to state 31
+    tVolume        shift, and go to state 715
+    tBlock         shift, and go to state 33
+    tCylinder      shift, and go to state 34
+    tCone          shift, and go to state 35
+    tTorus         shift, and go to state 36
+    tRectangle     shift, and go to state 38
+    tDisk          shift, and go to state 39
+    tWire          shift, and go to state 40
+    tParametric    shift, and go to state 42
+    tThruSections  shift, and go to state 716
+    tWedge         shift, and go to state 48
+    tPlane         shift, and go to state 50
+    tRuled         shift, and go to state 717
+    tPhysical      shift, and go to state 53
+    tCompound      shift, and go to state 718
+    tThickSolid    shift, and go to state 70
+    tBSpline       shift, and go to state 84
+    tBezier        shift, and go to state 85
+    tNurbs         shift, and go to state 86
+    '}'            shift, and go to state 1172
+
+    Shape  go to state 719
+
+
+state 900
+
+  233 Colorify: tRecursive tColor ColorExpr '{' . ListOfShapes '}'
+
+    $default  reduce using rule 207 (ListOfShapes)
+
+    ListOfShapes  go to state 1173
+
+
+state 901
+
+  208 ListOfShapes: ListOfShapes . Shape
+  209             | ListOfShapes . tPoint '{' RecursiveListOfDouble '}' tEND
+  210             | ListOfShapes . tLine '{' RecursiveListOfDouble '}' tEND
+  211             | ListOfShapes . tSurface '{' RecursiveListOfDouble '}' tEND
+  212             | ListOfShapes . tVolume '{' RecursiveListOfDouble '}' tEND
+  238 Visibility: tRecursive tShow '{' ListOfShapes . '}'
+
+    tEuclidian     shift, and go to state 7
+    tCoordinates   shift, and go to state 8
+    tPoint         shift, and go to state 712
+    tCircle        shift, and go to state 25
+    tEllipse       shift, and go to state 26
+    tLine          shift, and go to state 713
+    tSphere        shift, and go to state 28
+    tPolarSphere   shift, and go to state 29
+    tSurface       shift, and go to state 714
+    tSpline        shift, and go to state 31
+    tVolume        shift, and go to state 715
+    tBlock         shift, and go to state 33
+    tCylinder      shift, and go to state 34
+    tCone          shift, and go to state 35
+    tTorus         shift, and go to state 36
+    tRectangle     shift, and go to state 38
+    tDisk          shift, and go to state 39
+    tWire          shift, and go to state 40
+    tParametric    shift, and go to state 42
+    tThruSections  shift, and go to state 716
+    tWedge         shift, and go to state 48
+    tPlane         shift, and go to state 50
+    tRuled         shift, and go to state 717
+    tPhysical      shift, and go to state 53
+    tCompound      shift, and go to state 718
+    tThickSolid    shift, and go to state 70
+    tBSpline       shift, and go to state 84
+    tBezier        shift, and go to state 85
+    tNurbs         shift, and go to state 86
+    '}'            shift, and go to state 1174
+
+    Shape  go to state 719
+
+
+state 902
+
+  208 ListOfShapes: ListOfShapes . Shape
+  209             | ListOfShapes . tPoint '{' RecursiveListOfDouble '}' tEND
+  210             | ListOfShapes . tLine '{' RecursiveListOfDouble '}' tEND
+  211             | ListOfShapes . tSurface '{' RecursiveListOfDouble '}' tEND
+  212             | ListOfShapes . tVolume '{' RecursiveListOfDouble '}' tEND
+  240 Visibility: tRecursive tHide '{' ListOfShapes . '}'
+
+    tEuclidian     shift, and go to state 7
+    tCoordinates   shift, and go to state 8
+    tPoint         shift, and go to state 712
+    tCircle        shift, and go to state 25
+    tEllipse       shift, and go to state 26
+    tLine          shift, and go to state 713
+    tSphere        shift, and go to state 28
+    tPolarSphere   shift, and go to state 29
+    tSurface       shift, and go to state 714
+    tSpline        shift, and go to state 31
+    tVolume        shift, and go to state 715
+    tBlock         shift, and go to state 33
+    tCylinder      shift, and go to state 34
+    tCone          shift, and go to state 35
+    tTorus         shift, and go to state 36
+    tRectangle     shift, and go to state 38
+    tDisk          shift, and go to state 39
+    tWire          shift, and go to state 40
+    tParametric    shift, and go to state 42
+    tThruSections  shift, and go to state 716
+    tWedge         shift, and go to state 48
+    tPlane         shift, and go to state 50
+    tRuled         shift, and go to state 717
+    tPhysical      shift, and go to state 53
+    tCompound      shift, and go to state 718
+    tThickSolid    shift, and go to state 70
+    tBSpline       shift, and go to state 84
+    tBezier        shift, and go to state 85
+    tNurbs         shift, and go to state 86
+    '}'            shift, and go to state 1175
+
+    Shape  go to state 719
+
+
+state 903
+
+  198 Transform: tRotate '{' VExpr ',' . VExpr ',' FExpr '}' '{' MultipleShape '}'
+
+    '+'  shift, and go to state 287
+    '-'  shift, and go to state 288
+    '('  shift, and go to state 289
+    '{'  shift, and go to state 290
+
+    VExpr         go to state 1176
+    VExpr_Single  go to state 292
+
+
+state 904
+
+  478 VExpr_Single: '(' FExpr ',' . FExpr ',' FExpr ')'
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1177
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 905
+
+  475 VExpr_Single: '{' FExpr ',' . FExpr ',' FExpr ',' FExpr ',' FExpr '}'
+  476             | '{' FExpr ',' . FExpr ',' FExpr ',' FExpr '}'
+  477             | '{' FExpr ',' . FExpr ',' FExpr '}'
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1178
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 906
+
+  473 VExpr: VExpr . '-' VExpr
+  474      | VExpr . '+' VExpr
+  474      | VExpr '+' VExpr .
+
+    $default  reduce using rule 474 (VExpr)
+
+
+state 907
+
+  473 VExpr: VExpr . '-' VExpr
+  473      | VExpr '-' VExpr .
+  474      | VExpr . '+' VExpr
+
+    $default  reduce using rule 473 (VExpr)
+
+
+state 908
+
+  197 Transform: tTranslate VExpr '{' MultipleShape . '}'
+
+    '}'  shift, and go to state 1179
+
+
+state 909
+
+  199 Transform: tSymmetry VExpr '{' MultipleShape . '}'
+
+    '}'  shift, and go to state 1180
+
+
+state 910
+
+  200 Transform: tDilate '{' VExpr ',' . FExpr '}' '{' MultipleShape '}'
+  201          | tDilate '{' VExpr ',' . VExpr '}' '{' MultipleShape '}'
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 597
+    '-'                  shift, and go to state 598
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 599
+    '{'                  shift, and go to state 290
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1181
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    VExpr            go to state 1182
+    VExpr_Single     go to state 292
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 911
+
+  367 FExpr: '(' FExpr . ')'
+  371      | FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  478 VExpr_Single: '(' FExpr . ',' FExpr ',' FExpr ')'
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 943
+    ','              shift, and go to state 904
+
+
+state 912
+
+  286 Extrude: tExtrude '{' ListOfShapes '}' . tUsing tWire '{' FExpr '}'
+
+    tUsing  shift, and go to state 1183
+
+
+state 913
+
+  285 Extrude: tExtrude '{' ListOfShapes @12 . ExtrudeParameters '}'
+
+    tUsing              shift, and go to state 1184
+    tRecombine          shift, and go to state 1185
+    tLayers             shift, and go to state 1186
+    tScaleLast          shift, and go to state 1187
+    tHole               shift, and go to state 1188
+    tQuadTriAddVerts    shift, and go to state 1189
+    tQuadTriNoNewVerts  shift, and go to state 1190
+
+    ExtrudeParameters  go to state 1191
+    ExtrudeParameter   go to state 1192
+
+
+state 914
+
+  276 Extrude: tExtrude '{' VExpr ',' . VExpr ',' FExpr '}' '{' ListOfShapes '}'
+  277        | tExtrude '{' VExpr ',' . VExpr ',' VExpr ',' FExpr '}' '{' ListOfShapes '}'
+  281        | tExtrude '{' VExpr ',' . VExpr ',' FExpr '}' '{' ListOfShapes @10 ExtrudeParameters '}'
+  283        | tExtrude '{' VExpr ',' . VExpr ',' VExpr ',' FExpr '}' '{' ListOfShapes @11 ExtrudeParameters '}'
+
+    '+'  shift, and go to state 287
+    '-'  shift, and go to state 288
+    '('  shift, and go to state 289
+    '{'  shift, and go to state 290
+
+    VExpr         go to state 1193
+    VExpr_Single  go to state 292
+
+
+state 915
+
+  208 ListOfShapes: ListOfShapes . Shape
+  209             | ListOfShapes . tPoint '{' RecursiveListOfDouble '}' tEND
+  210             | ListOfShapes . tLine '{' RecursiveListOfDouble '}' tEND
+  211             | ListOfShapes . tSurface '{' RecursiveListOfDouble '}' tEND
+  212             | ListOfShapes . tVolume '{' RecursiveListOfDouble '}' tEND
+  275 Extrude: tExtrude VExpr '{' ListOfShapes . '}'
+  279        | tExtrude VExpr '{' ListOfShapes . @9 ExtrudeParameters '}'
+
+    tEuclidian     shift, and go to state 7
+    tCoordinates   shift, and go to state 8
+    tPoint         shift, and go to state 712
+    tCircle        shift, and go to state 25
+    tEllipse       shift, and go to state 26
+    tLine          shift, and go to state 713
+    tSphere        shift, and go to state 28
+    tPolarSphere   shift, and go to state 29
+    tSurface       shift, and go to state 714
+    tSpline        shift, and go to state 31
+    tVolume        shift, and go to state 715
+    tBlock         shift, and go to state 33
+    tCylinder      shift, and go to state 34
+    tCone          shift, and go to state 35
+    tTorus         shift, and go to state 36
+    tRectangle     shift, and go to state 38
+    tDisk          shift, and go to state 39
+    tWire          shift, and go to state 40
+    tParametric    shift, and go to state 42
+    tThruSections  shift, and go to state 716
+    tWedge         shift, and go to state 48
+    tPlane         shift, and go to state 50
+    tRuled         shift, and go to state 717
+    tPhysical      shift, and go to state 53
+    tCompound      shift, and go to state 718
+    tThickSolid    shift, and go to state 70
+    tBSpline       shift, and go to state 84
+    tBezier        shift, and go to state 85
+    tNurbs         shift, and go to state 86
+    '}'            shift, and go to state 1194
+
+    $default  reduce using rule 278 (@9)
+
+    Shape  go to state 719
+    @9     go to state 1195
+
+
+state 916
+
+  222 LevelSet: tLevelset tSTRING '(' FExpr . ')' tAFFECT ListOfDouble tEND
+  223         | tLevelset tSTRING '(' FExpr . ')' tAFFECT tBIGSTR tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 1196
+
+
+state 917
+
+  224 LevelSet: tLevelset tSTRING '{' FExpr . '}' tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    '}'              shift, and go to state 1197
+
+
+state 918
+
+  214 LevelSet: tLevelset tPoint '(' FExpr . ')' tAFFECT '{' RecursiveListOfListOfDouble '}' tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 1198
+
+
+state 919
+
+  217 LevelSet: tLevelset tSphere '(' FExpr . ')' tAFFECT '{' VExpr ',' RecursiveListOfDouble '}' tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 1199
+
+
+state 920
+
+  218 LevelSet: tLevelset tCylinder '(' FExpr . ')' tAFFECT '{' VExpr ',' VExpr ',' RecursiveListOfDouble '}' tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 1200
+
+
+state 921
+
+  219 LevelSet: tLevelset tCone '(' FExpr . ')' tAFFECT '{' VExpr ',' VExpr ',' RecursiveListOfDouble '}' tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 1201
+
+
+state 922
+
+  220 LevelSet: tLevelset tEllipsoid '(' FExpr . ')' tAFFECT '{' VExpr ',' VExpr ',' RecursiveListOfDouble '}' tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 1202
+
+
+state 923
+
+  221 LevelSet: tLevelset tQuadric '(' FExpr . ')' tAFFECT '{' VExpr ',' VExpr ',' RecursiveListOfDouble '}' tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 1203
+
+
+state 924
+
+  213 LevelSet: tLevelset tPlane '(' FExpr . ')' tAFFECT ListOfDouble tEND
+  215         | tLevelset tPlane '(' FExpr . ')' tAFFECT '{' VExpr ',' VExpr ',' RecursiveListOfDouble '}' tEND
+  216         | tLevelset tPlane '(' FExpr . ')' tAFFECT '{' VExpr ',' VExpr ',' VExpr ',' RecursiveListOfDouble '}' tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 1204
+
+
+state 925
+
+  185 Shape: tThickSolid '(' FExpr ')' . tAFFECT ListOfDouble tEND
+
+    tAFFECT  shift, and go to state 1205
+
+
+state 926
+
+  323 RecombineAngle: tAFFECT . FExpr
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1206
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 927
+
+  332 Constraints: tRecombine tSurface ListOfDoubleOrAll RecombineAngle . tEND
+
+    tEND  shift, and go to state 1207
+
+
+state 928
+
+  333 Constraints: tRecombine tVolume ListOfDoubleOrAll tEND .
+
+    $default  reduce using rule 333 (Constraints)
+
+
+state 929
+
+  334 Constraints: tSmoother tSurface ListOfDoubleOrAll tAFFECT . FExpr tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1208
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 930
+
+  204 Transform: tSplit tLine '(' FExpr . ')' '{' RecursiveListOfDouble '}' tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 1209
+
+
+state 931
+
+  230 Delete: tDelete tSTRING tSTRING tEND .
+
+    $default  reduce using rule 230 (Delete)
+
+
+state 932
+
+  228 Delete: tDelete tSTRING '[' FExpr . ']' tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ']'              shift, and go to state 1210
+
+
+state 933
+
+  227 Delete: tDelete tField '[' FExpr . ']' tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ']'              shift, and go to state 1211
+
+
+state 934
+
+  225 Delete: tDelete '{' ListOfShapes '}' .
+
+    $default  reduce using rule 225 (Delete)
+
+
+state 935
+
+  358 Coherence: tCoherence tPoint '{' RecursiveListOfDouble . '}' tEND
+  523 RecursiveListOfDouble: RecursiveListOfDouble . ',' FExpr
+  524                      | RecursiveListOfDouble . ',' FExpr_Multi
+
+    '}'  shift, and go to state 1212
+    ','  shift, and go to state 747
+
+
+state 936
+
+  203 Transform: tIntersect tLine '{' RecursiveListOfDouble . '}' tSurface '{' FExpr '}'
+  523 RecursiveListOfDouble: RecursiveListOfDouble . ',' FExpr
+  524                      | RecursiveListOfDouble . ',' FExpr_Multi
+
+    '}'  shift, and go to state 1213
+    ','  shift, and go to state 747
+
+
+state 937
+
+  331 Constraints: tMeshAlgorithm tSurface '{' RecursiveListOfDouble . '}' tAFFECT FExpr tEND
+  523 RecursiveListOfDouble: RecursiveListOfDouble . ',' FExpr
+  524                      | RecursiveListOfDouble . ',' FExpr_Multi
+
+    '}'  shift, and go to state 1214
+    ','  shift, and go to state 747
+
+
+state 938
+
+  348 Constraints: tReverse tLine ListOfDoubleOrAll tEND .
+
+    $default  reduce using rule 348 (Constraints)
+
+
+state 939
+
+  347 Constraints: tReverse tSurface ListOfDoubleOrAll tEND .
+
+    $default  reduce using rule 347 (Constraints)
+
+
+state 940
+
+   34 View: tAlias tSTRING '[' FExpr . ']' tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ']'              shift, and go to state 1215
+
+
+state 941
+
+   35 View: tAliasWithOptions tSTRING '[' FExpr . ']' tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ']'              shift, and go to state 1216
+
+
+state 942
+
+   36 View: tCopyOptions tSTRING '[' FExpr . ',' FExpr ']' tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ','              shift, and go to state 1217
+
+
+state 943
+
+  367 FExpr: '(' FExpr ')' .
+
+    $default  reduce using rule 367 (FExpr)
+
+
+state 944
+
+  164 Shape: tBSpline '(' FExpr ')' . tAFFECT ListOfDouble tEND
+
+    tAFFECT  shift, and go to state 1218
+
+
+state 945
+
+  165 Shape: tBezier '(' FExpr ')' . tAFFECT ListOfDouble tEND
+
+    tAFFECT  shift, and go to state 1219
+
+
+state 946
+
+  166 Shape: tNurbs '(' FExpr ')' . tAFFECT ListOfDouble tNurbsKnots ListOfDouble tNurbsOrder FExpr tEND
+
+    tAFFECT  shift, and go to state 1220
+
+
+state 947
+
+  528 ColorExpr: tSTRING '.' tColor . '.' tSTRING
+
+    '.'  shift, and go to state 1221
+
+
+state 948
+
+  525 ColorExpr: '{' FExpr ',' . FExpr ',' FExpr ',' FExpr '}'
+  526          | '{' FExpr ',' . FExpr ',' FExpr '}'
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1222
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 949
+
+  208 ListOfShapes: ListOfShapes . Shape
+  209             | ListOfShapes . tPoint '{' RecursiveListOfDouble '}' tEND
+  210             | ListOfShapes . tLine '{' RecursiveListOfDouble '}' tEND
+  211             | ListOfShapes . tSurface '{' RecursiveListOfDouble '}' tEND
+  212             | ListOfShapes . tVolume '{' RecursiveListOfDouble '}' tEND
+  232 Colorify: tColor ColorExpr '{' ListOfShapes . '}'
+
+    tEuclidian     shift, and go to state 7
+    tCoordinates   shift, and go to state 8
+    tPoint         shift, and go to state 712
+    tCircle        shift, and go to state 25
+    tEllipse       shift, and go to state 26
+    tLine          shift, and go to state 713
+    tSphere        shift, and go to state 28
+    tPolarSphere   shift, and go to state 29
+    tSurface       shift, and go to state 714
+    tSpline        shift, and go to state 31
+    tVolume        shift, and go to state 715
+    tBlock         shift, and go to state 33
+    tCylinder      shift, and go to state 34
+    tCone          shift, and go to state 35
+    tTorus         shift, and go to state 36
+    tRectangle     shift, and go to state 38
+    tDisk          shift, and go to state 39
+    tWire          shift, and go to state 40
+    tParametric    shift, and go to state 42
+    tThruSections  shift, and go to state 716
+    tWedge         shift, and go to state 48
+    tPlane         shift, and go to state 50
+    tRuled         shift, and go to state 717
+    tPhysical      shift, and go to state 53
+    tCompound      shift, and go to state 718
+    tThickSolid    shift, and go to state 70
+    tBSpline       shift, and go to state 84
+    tBezier        shift, and go to state 85
+    tNurbs         shift, and go to state 86
+    '}'            shift, and go to state 1223
+
+    Shape  go to state 719
+
+
+state 950
+
+  263 Loop: tFor tSTRING tIn '{' . FExpr tDOTS FExpr '}'
+  264     | tFor tSTRING tIn '{' . FExpr tDOTS FExpr tDOTS FExpr '}'
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1224
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 951
+
+  261 Loop: tFor '(' FExpr tDOTS . FExpr ')'
+  262     | tFor '(' FExpr tDOTS . FExpr tDOTS FExpr ')'
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1225
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 952
+
+  271 Loop: tIf '(' FExpr ')' .
+
+    $default  reduce using rule 271 (Loop)
+
+
+state 953
+
+  272 Loop: tElseIf '(' FExpr ')' .
+
+    $default  reduce using rule 272 (Loop)
+
+
+state 954
+
+  101 Affectation: tField '[' FExpr ']' . tAFFECT tSTRING tEND
+  102            | tField '[' FExpr ']' . '.' tSTRING tAFFECT FExpr tEND
+  103            | tField '[' FExpr ']' . '.' tSTRING tAFFECT StringExpr tEND
+  104            | tField '[' FExpr ']' . '.' tSTRING tAFFECT '{' RecursiveListOfDouble '}' tEND
+  105            | tField '[' FExpr ']' . '.' tSTRING tEND
+
+    tAFFECT  shift, and go to state 1226
+    '.'      shift, and go to state 1227
+
+
+state 955
+
+  562 StringExpr: tStr LP RecursiveListOfStringExprVar . RP
+  581 RecursiveListOfStringExprVar: RecursiveListOfStringExprVar . ',' StringExprVar
+
+    ')'  shift, and go to state 699
+    ']'  shift, and go to state 700
+    ','  shift, and go to state 732
+
+    RP  go to state 1228
+
+
+state 956
+
+  569 StringExpr: tSprintf LP StringExprVar . RP
+  570           | tSprintf LP StringExprVar . ',' RecursiveListOfDouble RP
+
+    ')'  shift, and go to state 699
+    ']'  shift, and go to state 700
+    ','  shift, and go to state 1229
+
+    RP  go to state 1230
+
+
+state 957
+
+  558 StringExpr: tStrCat LP RecursiveListOfStringExprVar . RP
+  581 RecursiveListOfStringExprVar: RecursiveListOfStringExprVar . ',' StringExprVar
+
+    ')'  shift, and go to state 699
+    ']'  shift, and go to state 700
+    ','  shift, and go to state 732
+
+    RP  go to state 1231
+
+
+state 958
+
+  559 StringExpr: tStrPrefix '(' StringExprVar . ')'
+
+    ')'  shift, and go to state 1232
+
+
+state 959
+
+  560 StringExpr: tStrRelative '(' StringExprVar . ')'
+
+    ')'  shift, and go to state 1233
+
+
+state 960
+
+  561 StringExpr: tStrReplace '(' StringExprVar . ',' StringExprVar ',' StringExprVar ')'
+
+    ','  shift, and go to state 1234
+
+
+state 961
+
+  574 StringExpr: tAbsolutePath LP StringExprVar . RP
+
+    ')'  shift, and go to state 699
+    ']'  shift, and go to state 700
+
+    RP  go to state 1235
+
+
+state 962
+
+  573 StringExpr: tDirName LP StringExprVar . RP
+
+    ')'  shift, and go to state 699
+    ']'  shift, and go to state 700
+
+    RP  go to state 1236
+
+
+state 963
+
+  567 StringExpr: tStrSub LP StringExprVar . ',' FExpr ',' FExpr RP
+  568           | tStrSub LP StringExprVar . ',' FExpr RP
+
+    ','  shift, and go to state 1237
+
+
+state 964
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  566 StringExpr: tStrChoice LP FExpr . ',' StringExprVar ',' StringExprVar RP
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ','              shift, and go to state 1238
+
+
+state 965
+
+  563 StringExpr: tUpperCase LP StringExprVar . RP
+
+    ')'  shift, and go to state 699
+    ']'  shift, and go to state 700
+
+    RP  go to state 1239
+
+
+state 966
+
+  564 StringExpr: tLowerCase LP StringExprVar . RP
+
+    ')'  shift, and go to state 699
+    ']'  shift, and go to state 700
+
+    RP  go to state 1240
+
+
+state 967
+
+  565 StringExpr: tLowerCaseIn LP StringExprVar . RP
+
+    ')'  shift, and go to state 699
+    ']'  shift, and go to state 700
+
+    RP  go to state 1241
+
+
+state 968
+
+  571 StringExpr: tFixRelativePath LP StringExprVar . RP
+
+    ')'  shift, and go to state 699
+    ']'  shift, and go to state 700
+
+    RP  go to state 1242
+
+
+state 969
+
+  578 NameStruct_Arg: '#' . FExpr
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1243
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 970
+
+  577 StringExpr: tNameStruct LP NameStruct_Arg . RP
+
+    ')'  shift, and go to state 699
+    ']'  shift, and go to state 700
+
+    RP  go to state 1244
+
+
+state 971
+
+  579 NameStruct_Arg: String__Index . tSCOPE '#' FExpr
+
+    tSCOPE  shift, and go to state 1245
+
+
+state 972
+
+  576 StringExpr: tDefineString LP StringExpr . @15 CharParameterOptionsOrNone RP
+
+    $default  reduce using rule 575 (@15)
+
+    @15  go to state 1246
+
+
+state 973
+
+  553 StringExpr: tGetStringValue '(' StringExprVar . ',' StringExprVar ')'
+
+    ','  shift, and go to state 1247
+
+
+state 974
+
+  552 StringExpr: tGetEnv '(' StringExprVar . ')'
+
+    ')'  shift, and go to state 1248
+
+
+state 975
+
+  554 StringExpr: tGetString LP StringExprVar . RP
+  555           | tGetString LP StringExprVar . ',' StringExprVar RP
+
+    ')'  shift, and go to state 699
+    ']'  shift, and go to state 700
+    ','  shift, and go to state 1249
+
+    RP  go to state 1250
+
+
+state 976
+
+  556 StringExpr: tGetForcedStr '(' Struct_FullName . GetForcedStr_Default ')'
+  557           | tGetForcedStr '(' Struct_FullName . '.' tSTRING_Member_Float GetForcedStr_Default ')'
+
+    '.'  shift, and go to state 1251
+    ','  shift, and go to state 1252
+
+    $default  reduce using rule 459 (GetForcedStr_Default)
+
+    GetForcedStr_Default  go to state 1253
+
+
+state 977
+
+  547 StringExpr: tNameToString '[' String__Index . ']'
+
+    ']'  shift, and go to state 1254
+
+
+state 978
+
+  260 Slide: tSlide '(' '{' RecursiveListOfDouble . '}' ',' StringExpr ',' StringExpr ')' tEND
+  523 RecursiveListOfDouble: RecursiveListOfDouble . ',' FExpr
+  524                      | RecursiveListOfDouble . ',' FExpr_Multi
+
+    '}'  shift, and go to state 1255
+    ','  shift, and go to state 747
+
+
+state 979
+
+  237 Visibility: tShow '{' ListOfShapes '}' .
+
+    $default  reduce using rule 237 (Visibility)
+
+
+state 980
+
+  239 Visibility: tHide '{' ListOfShapes '}' .
+
+    $default  reduce using rule 239 (Visibility)
+
+
+state 981
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  405      | tAbs LP FExpr . RP
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 699
+    ']'              shift, and go to state 700
+
+    RP  go to state 1094
+
+
+state 982
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  373      | FExpr '*' FExpr .
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '|'  shift, and go to state 548
+    '&'  shift, and go to state 549
+    '^'  shift, and go to state 550
+
+    $default  reduce using rule 373 (FExpr)
+
+
+state 983
+
+  208 ListOfShapes: ListOfShapes . Shape
+  209             | ListOfShapes . tPoint '{' RecursiveListOfDouble '}' tEND
+  210             | ListOfShapes . tLine '{' RecursiveListOfDouble '}' tEND
+  211             | ListOfShapes . tSurface '{' RecursiveListOfDouble '}' tEND
+  212             | ListOfShapes . tVolume '{' RecursiveListOfDouble '}' tEND
+  234 SetPartition: tSetPartition FExpr '{' ListOfShapes . '}'
+
+    tEuclidian     shift, and go to state 7
+    tCoordinates   shift, and go to state 8
+    tPoint         shift, and go to state 712
+    tCircle        shift, and go to state 25
+    tEllipse       shift, and go to state 26
+    tLine          shift, and go to state 713
+    tSphere        shift, and go to state 28
+    tPolarSphere   shift, and go to state 29
+    tSurface       shift, and go to state 714
+    tSpline        shift, and go to state 31
+    tVolume        shift, and go to state 715
+    tBlock         shift, and go to state 33
+    tCylinder      shift, and go to state 34
+    tCone          shift, and go to state 35
+    tTorus         shift, and go to state 36
+    tRectangle     shift, and go to state 38
+    tDisk          shift, and go to state 39
+    tWire          shift, and go to state 40
+    tParametric    shift, and go to state 42
+    tThruSections  shift, and go to state 716
+    tWedge         shift, and go to state 48
+    tPlane         shift, and go to state 50
+    tRuled         shift, and go to state 717
+    tPhysical      shift, and go to state 53
+    tCompound      shift, and go to state 718
+    tThickSolid    shift, and go to state 70
+    tBSpline       shift, and go to state 84
+    tBezier        shift, and go to state 85
+    tNurbs         shift, and go to state 86
+    '}'            shift, and go to state 1256
+
+    Shape  go to state 719
+
+
+state 984
+
+  584 StringIndex: tStringToName '[' StringExprVar ']' . '~' '{' FExpr '}'
+  587 String__Index: tStringToName '[' StringExprVar ']' .
+
+    '~'  shift, and go to state 1257
+
+    $default  reduce using rule 587 (String__Index)
+
+
+state 985
+
+  315 BooleanShape: BooleanOperator '(' FExpr ')' . tAFFECT '{' ListOfShapes BooleanOption '}' '{' ListOfShapes BooleanOption '}' tEND
+
+    tAFFECT  shift, and go to state 1258
+
+
+state 986
+
+  310 BooleanOption: tRecursive . tDelete tEND
+  312              | tRecursive . tDelete FExpr tEND
+
+    tDelete  shift, and go to state 1259
+
+
+state 987
+
+  309 BooleanOption: tDelete . tEND
+  311              | tDelete . FExpr tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tEND                 shift, and go to state 1260
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1261
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 988
+
+  313 Boolean: BooleanOperator '{' ListOfShapes BooleanOption . '}' '{' ListOfShapes BooleanOption '}'
+
+    '}'  shift, and go to state 1262
+
+
+state 989
+
+  365 Homology: HomologyCommand '(' ListOfDouble ')' . '{' ListOfDouble ',' ListOfDouble '}' tEND
+
+    '{'  shift, and go to state 1263
+
+
+state 990
+
+  363 Homology: HomologyCommand '{' ListOfDouble '}' . tEND
+
+    tEND  shift, and go to state 1264
+
+
+state 991
+
+  364 Homology: HomologyCommand '{' ListOfDouble ',' . ListOfDouble '}' tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 247
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '{'                   shift, and go to state 250
+    '#'                   shift, and go to state 251
+
+    Transform        go to state 252
+    Extrude          go to state 253
+    BooleanOperator  go to state 254
+    Boolean          go to state 255
+    FExpr            go to state 256
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    ListOfDouble     go to state 1265
+    FExpr_Multi      go to state 261
+    StringIndex      go to state 131
+    String__Index    go to state 262
+
+
+state 992
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  583 StringIndex: StringIndex '~' '{' FExpr . '}'
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    '}'              shift, and go to state 1266
+
+
+state 993
+
+   86 Affectation: String__Index tAFFECT StringExpr tEND .
+
+    $default  reduce using rule 86 (Affectation)
+
+
+state 994
+
+  542 StringExprVar: tPhysical tPoint '{' . FExpr '}'
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1267
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 995
+
+  543 StringExprVar: tPhysical tLine '{' . FExpr '}'
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1268
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 996
+
+  544 StringExprVar: tPhysical tSurface '{' . FExpr '}'
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1269
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 997
+
+  545 StringExprVar: tPhysical tVolume '{' . FExpr '}'
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1270
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 998
+
+  100 Affectation: String__Index tField tAFFECT FExpr . tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    tEND             shift, and go to state 1271
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+
+
+state 999
+
+   84 Affectation: String__Index '(' FExpr ')' . NumericAffectation FExpr tEND
+   85            | String__Index '(' FExpr ')' . NumericIncrement tEND
+  367 FExpr: '(' FExpr ')' .
+
+    tAFFECT        shift, and go to state 1272
+    tAFFECTDIVIDE  shift, and go to state 395
+    tAFFECTTIMES   shift, and go to state 396
+    tAFFECTMINUS   shift, and go to state 397
+    tAFFECTPLUS    shift, and go to state 398
+    tMINUSMINUS    shift, and go to state 399
+    tPLUSPLUS      shift, and go to state 400
+
+    $default  reduce using rule 367 (FExpr)
+
+    NumericAffectation  go to state 1273
+    NumericIncrement    go to state 1274
+
+
+state 1000
+
+   82 Affectation: String__Index '[' FExpr ']' . NumericAffectation FExpr tEND
+   83            | String__Index '[' FExpr ']' . NumericIncrement tEND
+   91            | String__Index '[' FExpr ']' . '.' tSTRING tAFFECT StringExpr tEND
+   93            | String__Index '[' FExpr ']' . '.' tSTRING NumericAffectation FExpr tEND
+   95            | String__Index '[' FExpr ']' . '.' tSTRING NumericIncrement tEND
+   97            | String__Index '[' FExpr ']' . '.' tColor '.' tSTRING tAFFECT ColorExpr tEND
+   99            | String__Index '[' FExpr ']' . '.' tColorTable tAFFECT ListOfColor tEND
+
+    tAFFECT        shift, and go to state 1272
+    tAFFECTDIVIDE  shift, and go to state 395
+    tAFFECTTIMES   shift, and go to state 396
+    tAFFECTMINUS   shift, and go to state 397
+    tAFFECTPLUS    shift, and go to state 398
+    tMINUSMINUS    shift, and go to state 399
+    tPLUSPLUS      shift, and go to state 400
+    '.'            shift, and go to state 1275
+
+    NumericAffectation  go to state 1276
+    NumericIncrement    go to state 1277
+
+
+state 1001
+
+   62 NumericAffectation: tAFFECT .
+   90 Affectation: String__Index '.' tSTRING tAFFECT . StringExpr tEND
+
+    tBIGSTR              shift, and go to state 344
+    tStr                 shift, and go to state 345
+    tSprintf             shift, and go to state 346
+    tStrCat              shift, and go to state 347
+    tStrPrefix           shift, and go to state 348
+    tStrRelative         shift, and go to state 349
+    tStrReplace          shift, and go to state 350
+    tAbsolutePath        shift, and go to state 351
+    tDirName             shift, and go to state 352
+    tStrSub              shift, and go to state 353
+    tStrChoice           shift, and go to state 354
+    tUpperCase           shift, and go to state 355
+    tLowerCase           shift, and go to state 356
+    tLowerCaseIn         shift, and go to state 357
+    tToday               shift, and go to state 358
+    tFixRelativePath     shift, and go to state 359
+    tCurrentDirectory    shift, and go to state 360
+    tOnelabAction        shift, and go to state 361
+    tCodeName            shift, and go to state 362
+    tNameStruct          shift, and go to state 363
+    tDefineString        shift, and go to state 364
+    tGetStringValue      shift, and go to state 365
+    tGetEnv              shift, and go to state 366
+    tGetString           shift, and go to state 367
+    tGetForcedStr        shift, and go to state 368
+    tGmshExecutableName  shift, and go to state 369
+    tNameToString        shift, and go to state 370
+
+    $default  reduce using rule 62 (NumericAffectation)
+
+    StringExpr  go to state 1278
+
+
+state 1002
+
+   92 Affectation: String__Index '.' tSTRING NumericAffectation . FExpr tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1279
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1003
+
+   94 Affectation: String__Index '.' tSTRING NumericIncrement . tEND
+
+    tEND  shift, and go to state 1280
+
+
+state 1004
+
+   96 Affectation: String__Index '.' tColor '.' . tSTRING tAFFECT ColorExpr tEND
+
+    tSTRING  shift, and go to state 1281
+
+
+state 1005
+
+   98 Affectation: String__Index '.' tColorTable tAFFECT . ListOfColor tEND
+
+    tSTRING        shift, and go to state 150
+    tStringToName  shift, and go to state 107
+    '{'            shift, and go to state 1282
+
+    ListOfColor    go to state 1283
+    StringIndex    go to state 131
+    String__Index  go to state 1284
+
+
+state 1006
+
+   78 Affectation: String__Index NumericAffectation ListOfDouble tEND .
+
+    $default  reduce using rule 78 (Affectation)
+
+
+state 1007
+
+   81 Affectation: String__Index LP '{' RecursiveListOfDouble . '}' RP NumericAffectation ListOfDouble tEND
+  523 RecursiveListOfDouble: RecursiveListOfDouble . ',' FExpr
+  524                      | RecursiveListOfDouble . ',' FExpr_Multi
+
+    '}'  shift, and go to state 1285
+    ','  shift, and go to state 747
+
+
+state 1008
+
+   62 NumericAffectation: tAFFECT .
+   87 Affectation: String__Index LP RP tAFFECT . tStr LP RP tEND
+   88            | String__Index LP RP tAFFECT . tStr LP RecursiveListOfStringExprVar RP tEND
+
+    tStr  shift, and go to state 1286
+
+    $default  reduce using rule 62 (NumericAffectation)
+
+
+state 1009
+
+   63 NumericAffectation: tAFFECTPLUS .
+   89 Affectation: String__Index LP RP tAFFECTPLUS . tStr LP RecursiveListOfStringExprVar RP tEND
+
+    tStr  shift, and go to state 1287
+
+    $default  reduce using rule 63 (NumericAffectation)
+
+
+state 1010
+
+   80 Affectation: String__Index LP RP NumericAffectation . ListOfDouble tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 247
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '{'                   shift, and go to state 250
+    '#'                   shift, and go to state 251
+
+    Transform        go to state 252
+    Extrude          go to state 253
+    BooleanOperator  go to state 254
+    Boolean          go to state 255
+    FExpr            go to state 256
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    ListOfDouble     go to state 1288
+    FExpr_Multi      go to state 261
+    StringIndex      go to state 131
+    String__Index    go to state 262
+
+
+state 1011
+
+   33 View: String__Index StringExprVar '{' Views . '}' tEND
+   38 Views: Views . Element
+   39      | Views . Text2D
+   40      | Views . Text3D
+   41      | Views . InterpolationMatrix
+   42      | Views . Time
+
+    tSTRING               shift, and go to state 1289
+    tText2D               shift, and go to state 1290
+    tText3D               shift, and go to state 1291
+    tInterpolationScheme  shift, and go to state 1292
+    tTime                 shift, and go to state 1293
+    '}'                   shift, and go to state 1294
+
+    Element              go to state 1295
+    Text2D               go to state 1296
+    Text3D               go to state 1297
+    InterpolationMatrix  go to state 1298
+    Time                 go to state 1299
+
+
+state 1012
+
+  445 FExpr_Single: String__Index tSCOPE String__Index . '.' tSTRING_Member_Float
+  447             | String__Index tSCOPE String__Index . '.' tSTRING_Member_Float '(' FExpr ')'
+  464 Struct_FullName: String__Index tSCOPE String__Index .
+  538 StringExprVar: String__Index tSCOPE String__Index . '.' tSTRING_Member_Float
+  540              | String__Index tSCOPE String__Index . '.' tSTRING_Member_Float '(' FExpr ')'
+
+    '.'  shift, and go to state 1300
+
+    $default  reduce using rule 464 (Struct_FullName)
+
+
+state 1013
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  443 FExpr_Single: String__Index '(' FExpr . ')' NumericIncrement
+  536 StringExprVar: String__Index '(' FExpr . ')'
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 1301
+
+
+state 1014
+
+  243 Command: String__Index String__Index '[' FExpr . ']' StringExprVar tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  442 FExpr_Single: String__Index '[' FExpr . ']' NumericIncrement
+  448             | String__Index '[' FExpr . ']' '.' tSTRING
+  450             | String__Index '[' FExpr . ']' '.' tSTRING NumericIncrement
+  535 StringExprVar: String__Index '[' FExpr . ']'
+  541              | String__Index '[' FExpr . ']' '.' tSTRING
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ']'              shift, and go to state 1302
+
+
+state 1015
+
+  444 FExpr_Single: String__Index '.' tSTRING_Member_Float .
+  446             | String__Index '.' tSTRING_Member_Float . '(' FExpr ')'
+  537 StringExprVar: String__Index '.' tSTRING_Member_Float .
+  539              | String__Index '.' tSTRING_Member_Float . '(' FExpr ')'
+
+    '('  shift, and go to state 1303
+
+    '{'       reduce using rule 537 (StringExprVar)
+    $default  reduce using rule 444 (FExpr_Single)
+
+
+state 1016
+
+  244 Command: String__Index String__Index String__Index '[' . FExpr ']' tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1304
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1017
+
+  209 ListOfShapes: ListOfShapes tPoint '{' . RecursiveListOfDouble '}' tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 433
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '#'                   shift, and go to state 251
+
+    Transform              go to state 252
+    Extrude                go to state 253
+    BooleanOperator        go to state 254
+    Boolean                go to state 255
+    FExpr                  go to state 434
+    FExpr_Single           go to state 257
+    DefineStruct           go to state 258
+    Struct_FullName        go to state 259
+    FExpr_Multi            go to state 435
+    RecursiveListOfDouble  go to state 1305
+    StringIndex            go to state 131
+    String__Index          go to state 262
+
+
+state 1018
+
+  210 ListOfShapes: ListOfShapes tLine '{' . RecursiveListOfDouble '}' tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 433
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '#'                   shift, and go to state 251
+
+    Transform              go to state 252
+    Extrude                go to state 253
+    BooleanOperator        go to state 254
+    Boolean                go to state 255
+    FExpr                  go to state 434
+    FExpr_Single           go to state 257
+    DefineStruct           go to state 258
+    Struct_FullName        go to state 259
+    FExpr_Multi            go to state 435
+    RecursiveListOfDouble  go to state 1306
+    StringIndex            go to state 131
+    String__Index          go to state 262
+
+
+state 1019
+
+  211 ListOfShapes: ListOfShapes tSurface '{' . RecursiveListOfDouble '}' tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 433
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '#'                   shift, and go to state 251
+
+    Transform              go to state 252
+    Extrude                go to state 253
+    BooleanOperator        go to state 254
+    Boolean                go to state 255
+    FExpr                  go to state 434
+    FExpr_Single           go to state 257
+    DefineStruct           go to state 258
+    Struct_FullName        go to state 259
+    FExpr_Multi            go to state 435
+    RecursiveListOfDouble  go to state 1307
+    StringIndex            go to state 131
+    String__Index          go to state 262
+
+
+state 1020
+
+  212 ListOfShapes: ListOfShapes tVolume '{' . RecursiveListOfDouble '}' tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 433
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '#'                   shift, and go to state 251
+
+    Transform              go to state 252
+    Extrude                go to state 253
+    BooleanOperator        go to state 254
+    Boolean                go to state 255
+    FExpr                  go to state 434
+    FExpr_Single           go to state 257
+    DefineStruct           go to state 258
+    Struct_FullName        go to state 259
+    FExpr_Multi            go to state 435
+    RecursiveListOfDouble  go to state 1308
+    StringIndex            go to state 131
+    String__Index          go to state 262
+
+
+state 1021
+
+  190 Shape: tThruSections '(' . FExpr ')' tAFFECT ListOfDouble tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1309
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1022
+
+  191 Shape: tRuled tThruSections . '(' FExpr ')' tAFFECT ListOfDouble tEND
+
+    '('  shift, and go to state 1310
+
+
+state 1023
+
+  167 Shape: tCompound tLine . '(' FExpr ')' tAFFECT ListOfDouble tEND
+
+    '('  shift, and go to state 1311
+
+
+state 1024
+
+  186 Shape: tCompound tSurface . '(' FExpr ')' tAFFECT ListOfDouble tEND
+  187      | tCompound tSurface . '(' FExpr ')' tAFFECT ListOfDouble tSTRING '{' RecursiveListOfListOfDouble '}' tEND
+
+    '('  shift, and go to state 1312
+
+
+state 1025
+
+  192 Shape: tCompound tVolume . '(' FExpr ')' tAFFECT ListOfDouble tEND
+
+    '('  shift, and go to state 1313
+
+
+state 1026
+
+  582 StringIndex: tSTRING '~' '{' FExpr '}' .
+
+    $default  reduce using rule 582 (StringIndex)
+
+
+state 1027
+
+   27 Printf: tPrintf '(' StringExprVar ')' tEND .
+
+    $default  reduce using rule 27 (Printf)
+
+
+state 1028
+
+   25 SendToFile: '>' .
+
+    $default  reduce using rule 25 (SendToFile)
+
+
+state 1029
+
+   26 SendToFile: tGREATERGREATER .
+
+    $default  reduce using rule 26 (SendToFile)
+
+
+state 1030
+
+   29 Printf: tPrintf '(' StringExprVar ')' SendToFile . StringExprVar tEND
+
+    tSTRING              shift, and go to state 150
+    tBIGSTR              shift, and go to state 344
+    tStr                 shift, and go to state 345
+    tSprintf             shift, and go to state 346
+    tStrCat              shift, and go to state 347
+    tStrPrefix           shift, and go to state 348
+    tStrRelative         shift, and go to state 349
+    tStrReplace          shift, and go to state 350
+    tAbsolutePath        shift, and go to state 351
+    tDirName             shift, and go to state 352
+    tStrSub              shift, and go to state 353
+    tStrChoice           shift, and go to state 354
+    tUpperCase           shift, and go to state 355
+    tLowerCase           shift, and go to state 356
+    tLowerCaseIn         shift, and go to state 357
+    tToday               shift, and go to state 358
+    tFixRelativePath     shift, and go to state 359
+    tCurrentDirectory    shift, and go to state 360
+    tOnelabAction        shift, and go to state 361
+    tCodeName            shift, and go to state 362
+    tNameStruct          shift, and go to state 363
+    tDefineString        shift, and go to state 364
+    tPhysical            shift, and go to state 393
+    tGetStringValue      shift, and go to state 365
+    tGetEnv              shift, and go to state 366
+    tGetString           shift, and go to state 367
+    tGetForcedStr        shift, and go to state 368
+    tGmshExecutableName  shift, and go to state 369
+    tNameToString        shift, and go to state 370
+    tStringToName        shift, and go to state 107
+
+    StringExprVar  go to state 1314
+    StringExpr     go to state 419
+    StringIndex    go to state 131
+    String__Index  go to state 420
+
+
+state 1031
+
+   30 Printf: tPrintf '(' StringExprVar ',' RecursiveListOfDouble . ')' tEND
+   32       | tPrintf '(' StringExprVar ',' RecursiveListOfDouble . ')' SendToFile StringExprVar tEND
+  523 RecursiveListOfDouble: RecursiveListOfDouble . ',' FExpr
+  524                      | RecursiveListOfDouble . ',' FExpr_Multi
+
+    ')'  shift, and go to state 1315
+    ','  shift, and go to state 747
+
+
+state 1032
+
+  538 StringExprVar: String__Index tSCOPE String__Index . '.' tSTRING_Member_Float
+  540              | String__Index tSCOPE String__Index . '.' tSTRING_Member_Float '(' FExpr ')'
+
+    '.'  shift, and go to state 1316
+
+
+state 1033
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  536 StringExprVar: String__Index '(' FExpr . ')'
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 1317
+
+
+state 1034
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  535 StringExprVar: String__Index '[' FExpr . ']'
+  541              | String__Index '[' FExpr . ']' '.' tSTRING
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ']'              shift, and go to state 1318
+
+
+state 1035
+
+  465 tSTRING_Member_Float: tSTRING .
+
+    $default  reduce using rule 465 (tSTRING_Member_Float)
+
+
+state 1036
+
+  537 StringExprVar: String__Index '.' tSTRING_Member_Float .
+  539              | String__Index '.' tSTRING_Member_Float . '(' FExpr ')'
+
+    '('  shift, and go to state 1319
+
+    $default  reduce using rule 537 (StringExprVar)
+
+
+state 1037
+
+   28 Printf: tError '(' StringExprVar ')' tEND .
+
+    $default  reduce using rule 28 (Printf)
+
+
+state 1038
+
+   31 Printf: tError '(' StringExprVar ',' RecursiveListOfDouble . ')' tEND
+  523 RecursiveListOfDouble: RecursiveListOfDouble . ',' FExpr
+  524                      | RecursiveListOfDouble . ',' FExpr_Multi
+
+    ')'  shift, and go to state 1320
+    ','  shift, and go to state 747
+
+
+state 1039
+
+  253 Command: tBoundingBox '{' FExpr ',' FExpr . ',' FExpr ',' FExpr ',' FExpr ',' FExpr '}' tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ','              shift, and go to state 1321
+
+
+state 1040
+
+  242 Command: tOnelabRun '(' RecursiveListOfStringExprVar ')' tEND .
+
+    $default  reduce using rule 242 (Command)
+
+
+state 1041
+
+  581 RecursiveListOfStringExprVar: RecursiveListOfStringExprVar ',' StringExprVar .
+
+    $default  reduce using rule 581 (RecursiveListOfStringExprVar)
+
+
+state 1042
+
+   73 Affectation: tDefineConstant '[' DefineConstants ']' tEND .
+
+    $default  reduce using rule 73 (Affectation)
+
+
+state 1043
+
+  111 DefineConstants: DefineConstants Comma String__Index .
+  112                | DefineConstants Comma String__Index . tAFFECT FExpr
+  114                | DefineConstants Comma String__Index . tAFFECT '{' ListOfDouble @6 FloatParameterOptionsOrNone '}'
+  116                | DefineConstants Comma String__Index . LP RP tAFFECT '{' ListOfDouble @7 FloatParameterOptionsOrNone '}'
+  117                | DefineConstants Comma String__Index . tAFFECT StringExpr
+  119                | DefineConstants Comma String__Index . tAFFECT '{' StringExpr @8 CharParameterOptionsOrNone '}'
+
+    tAFFECT  shift, and go to state 1322
+    '('      shift, and go to state 153
+    '['      shift, and go to state 154
+
+    $default  reduce using rule 111 (DefineConstants)
+
+    LP  go to state 1323
+
+
+state 1044
+
+   74 Affectation: tUndefineConstant '[' UndefineConstants ']' tEND .
+
+    $default  reduce using rule 74 (Affectation)
+
+
+state 1045
+
+  121 UndefineConstants: UndefineConstants Comma StringExprVar .
+
+    $default  reduce using rule 121 (UndefineConstants)
+
+
+state 1046
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  467 Append: tAppend FExpr .
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+
+    $default  reduce using rule 467 (Append)
+
+
+state 1047
+
+  469 AppendOrNot: '(' Append ')' .
+
+    $default  reduce using rule 469 (AppendOrNot)
+
+
+state 1048
+
+  462 DefineStruct: tDefineStruct Struct_FullName AppendOrNot @14 '[' . FloatParameterOptionsOrNone_NoComma ']'
+
+    tSTRING  shift, and go to state 1324
+
+    $default  reduce using rule 127 (FloatParameterOptionsOrNone_NoComma)
+
+    FloatParameterOptionsOrNone_NoComma  go to state 1325
+    FloatParameterOptions                go to state 1326
+    FloatParameterOption                 go to state 1327
+
+
+state 1049
+
+   76 Affectation: tSetNumber LP StringExpr ',' FExpr . RP tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 699
+    ']'              shift, and go to state 700
+
+    RP  go to state 1328
+
+
+state 1050
+
+   77 Affectation: tSetString LP String__Index ',' StringExpr . RP tEND
+
+    ')'  shift, and go to state 699
+    ']'  shift, and go to state 700
+
+    RP  go to state 1329
+
+
+state 1051
+
+  159 Shape: tPoint '(' FExpr ')' tAFFECT . VExpr tEND
+
+    '+'  shift, and go to state 287
+    '-'  shift, and go to state 288
+    '('  shift, and go to state 289
+    '{'  shift, and go to state 290
+
+    VExpr         go to state 1330
+    VExpr_Single  go to state 292
+
+
+state 1052
+
+  342 Constraints: tPoint '{' RecursiveListOfDouble '}' tIn . tSurface '{' FExpr '}' tEND
+  344            | tPoint '{' RecursiveListOfDouble '}' tIn . tVolume '{' FExpr '}' tEND
+
+    tSurface  shift, and go to state 1331
+    tVolume   shift, and go to state 1332
+
+
+state 1053
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  490 FExpr_Multi: FExpr . '*' FExpr_Multi
+  491            | FExpr . tDOTS FExpr
+  492            | FExpr . tDOTS FExpr tDOTS FExpr
+  523 RecursiveListOfDouble: RecursiveListOfDouble ',' FExpr .
+
+    tDOTS            shift, and go to state 531
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 745
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+
+    $default  reduce using rule 523 (RecursiveListOfDouble)
+
+
+state 1054
+
+  524 RecursiveListOfDouble: RecursiveListOfDouble ',' FExpr_Multi .
+
+    $default  reduce using rule 524 (RecursiveListOfDouble)
+
+
+state 1055
+
+  162 Shape: tCircle '(' FExpr ')' tAFFECT . ListOfDouble CircleOptions tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 247
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '{'                   shift, and go to state 250
+    '#'                   shift, and go to state 251
+
+    Transform        go to state 252
+    Extrude          go to state 253
+    BooleanOperator  go to state 254
+    Boolean          go to state 255
+    FExpr            go to state 256
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    ListOfDouble     go to state 1333
+    FExpr_Multi      go to state 261
+    StringIndex      go to state 131
+    String__Index    go to state 262
+
+
+state 1056
+
+  163 Shape: tEllipse '(' FExpr ')' tAFFECT . ListOfDouble CircleOptions tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 247
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '{'                   shift, and go to state 250
+    '#'                   shift, and go to state 251
+
+    Transform        go to state 252
+    Extrude          go to state 253
+    BooleanOperator  go to state 254
+    Boolean          go to state 255
+    FExpr            go to state 256
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    ListOfDouble     go to state 1334
+    FExpr_Multi      go to state 261
+    StringIndex      go to state 131
+    String__Index    go to state 262
+
+
+state 1057
+
+  169 Shape: tLine tSTRING '(' FExpr ')' . tAFFECT ListOfDouble tEND
+
+    tAFFECT  shift, and go to state 1335
+
+
+state 1058
+
+  160 Shape: tLine '(' FExpr ')' tAFFECT . ListOfDouble tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 247
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '{'                   shift, and go to state 250
+    '#'                   shift, and go to state 251
+
+    Transform        go to state 252
+    Extrude          go to state 253
+    BooleanOperator  go to state 254
+    Boolean          go to state 255
+    FExpr            go to state 256
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    ListOfDouble     go to state 1336
+    FExpr_Multi      go to state 261
+    StringIndex      go to state 131
+    String__Index    go to state 262
+
+
+state 1059
+
+  343 Constraints: tLine '{' RecursiveListOfDouble '}' tIn . tSurface '{' FExpr '}' tEND
+  345            | tLine '{' RecursiveListOfDouble '}' tIn . tVolume '{' FExpr '}' tEND
+
+    tSurface  shift, and go to state 1337
+    tVolume   shift, and go to state 1338
+
+
+state 1060
+
+  176 Shape: tSphere '(' FExpr ')' tAFFECT . ListOfDouble tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 247
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '{'                   shift, and go to state 250
+    '#'                   shift, and go to state 251
+
+    Transform        go to state 252
+    Extrude          go to state 253
+    BooleanOperator  go to state 254
+    Boolean          go to state 255
+    FExpr            go to state 256
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    ListOfDouble     go to state 1339
+    FExpr_Multi      go to state 261
+    StringIndex      go to state 131
+    String__Index    go to state 262
+
+
+state 1061
+
+  177 Shape: tPolarSphere '(' FExpr ')' tAFFECT . ListOfDouble tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 247
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '{'                   shift, and go to state 250
+    '#'                   shift, and go to state 251
+
+    Transform        go to state 252
+    Extrude          go to state 253
+    BooleanOperator  go to state 254
+    Boolean          go to state 255
+    FExpr            go to state 256
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    ListOfDouble     go to state 1340
+    FExpr_Multi      go to state 261
+    StringIndex      go to state 131
+    String__Index    go to state 262
+
+
+state 1062
+
+  188 Shape: tSurface tSTRING '(' FExpr ')' . tAFFECT ListOfDouble tEND
+
+    tAFFECT  shift, and go to state 1341
+
+
+state 1063
+
+  171 Shape: tSurface '(' FExpr ')' tAFFECT . ListOfDouble InSphereCenter tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 247
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '{'                   shift, and go to state 250
+    '#'                   shift, and go to state 251
+
+    Transform        go to state 252
+    Extrude          go to state 253
+    BooleanOperator  go to state 254
+    Boolean          go to state 255
+    FExpr            go to state 256
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    ListOfDouble     go to state 1342
+    FExpr_Multi      go to state 261
+    StringIndex      go to state 131
+    String__Index    go to state 262
+
+
+state 1064
+
+  346 Constraints: tSurface '{' RecursiveListOfDouble '}' tIn . tVolume '{' FExpr '}' tEND
+
+    tVolume  shift, and go to state 1343
+
+
+state 1065
+
+  161 Shape: tSpline '(' FExpr ')' tAFFECT . ListOfDouble tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 247
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '{'                   shift, and go to state 250
+    '#'                   shift, and go to state 251
+
+    Transform        go to state 252
+    Extrude          go to state 253
+    BooleanOperator  go to state 254
+    Boolean          go to state 255
+    FExpr            go to state 256
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    ListOfDouble     go to state 1344
+    FExpr_Multi      go to state 261
+    StringIndex      go to state 131
+    String__Index    go to state 262
+
+
+state 1066
+
+  189 Shape: tVolume '(' FExpr ')' tAFFECT . ListOfDouble tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 247
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '{'                   shift, and go to state 250
+    '#'                   shift, and go to state 251
+
+    Transform        go to state 252
+    Extrude          go to state 253
+    BooleanOperator  go to state 254
+    Boolean          go to state 255
+    FExpr            go to state 256
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    ListOfDouble     go to state 1345
+    FExpr_Multi      go to state 261
+    StringIndex      go to state 131
+    String__Index    go to state 262
+
+
+state 1067
+
+  178 Shape: tBlock '(' FExpr ')' tAFFECT . ListOfDouble tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 247
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '{'                   shift, and go to state 250
+    '#'                   shift, and go to state 251
+
+    Transform        go to state 252
+    Extrude          go to state 253
+    BooleanOperator  go to state 254
+    Boolean          go to state 255
+    FExpr            go to state 256
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    ListOfDouble     go to state 1346
+    FExpr_Multi      go to state 261
+    StringIndex      go to state 131
+    String__Index    go to state 262
+
+
+state 1068
+
+  182 Shape: tCylinder '(' FExpr ')' tAFFECT . ListOfDouble tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 247
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '{'                   shift, and go to state 250
+    '#'                   shift, and go to state 251
+
+    Transform        go to state 252
+    Extrude          go to state 253
+    BooleanOperator  go to state 254
+    Boolean          go to state 255
+    FExpr            go to state 256
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    ListOfDouble     go to state 1347
+    FExpr_Multi      go to state 261
+    StringIndex      go to state 131
+    String__Index    go to state 262
+
+
+state 1069
+
+  183 Shape: tCone '(' FExpr ')' tAFFECT . ListOfDouble tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 247
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '{'                   shift, and go to state 250
+    '#'                   shift, and go to state 251
+
+    Transform        go to state 252
+    Extrude          go to state 253
+    BooleanOperator  go to state 254
+    Boolean          go to state 255
+    FExpr            go to state 256
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    ListOfDouble     go to state 1348
+    FExpr_Multi      go to state 261
+    StringIndex      go to state 131
+    String__Index    go to state 262
+
+
+state 1070
+
+  179 Shape: tTorus '(' FExpr ')' tAFFECT . ListOfDouble tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 247
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '{'                   shift, and go to state 250
+    '#'                   shift, and go to state 251
+
+    Transform        go to state 252
+    Extrude          go to state 253
+    BooleanOperator  go to state 254
+    Boolean          go to state 255
+    FExpr            go to state 256
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    ListOfDouble     go to state 1349
+    FExpr_Multi      go to state 261
+    StringIndex      go to state 131
+    String__Index    go to state 262
+
+
+state 1071
+
+  180 Shape: tRectangle '(' FExpr ')' tAFFECT . ListOfDouble tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 247
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '{'                   shift, and go to state 250
+    '#'                   shift, and go to state 251
+
+    Transform        go to state 252
+    Extrude          go to state 253
+    BooleanOperator  go to state 254
+    Boolean          go to state 255
+    FExpr            go to state 256
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    ListOfDouble     go to state 1350
+    FExpr_Multi      go to state 261
+    StringIndex      go to state 131
+    String__Index    go to state 262
+
+
+state 1072
+
+  181 Shape: tDisk '(' FExpr ')' tAFFECT . ListOfDouble tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 247
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '{'                   shift, and go to state 250
+    '#'                   shift, and go to state 251
+
+    Transform        go to state 252
+    Extrude          go to state 253
+    BooleanOperator  go to state 254
+    Boolean          go to state 255
+    FExpr            go to state 256
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    ListOfDouble     go to state 1351
+    FExpr_Multi      go to state 261
+    StringIndex      go to state 131
+    String__Index    go to state 262
+
+
+state 1073
+
+  168 Shape: tWire '(' FExpr ')' tAFFECT . ListOfDouble tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 247
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '{'                   shift, and go to state 250
+    '#'                   shift, and go to state 251
+
+    Transform        go to state 252
+    Extrude          go to state 253
+    BooleanOperator  go to state 254
+    Boolean          go to state 255
+    FExpr            go to state 256
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    ListOfDouble     go to state 1352
+    FExpr_Multi      go to state 261
+    StringIndex      go to state 131
+    String__Index    go to state 262
+
+
+state 1074
+
+  326 Constraints: tCharacteristic tLength ListOfDouble tAFFECT FExpr . tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    tEND             shift, and go to state 1353
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+
+
+state 1075
+
+  175 Shape: tParametric tSurface '(' FExpr ')' . tAFFECT tBIGSTR tBIGSTR tBIGSTR tEND
+
+    tAFFECT  shift, and go to state 1354
+
+
+state 1076
+
+  259 Command: tAdaptMesh '{' RecursiveListOfDouble '}' '{' . RecursiveListOfDouble '}' '{' RecursiveListOfListOfDouble '}' '{' FExpr ',' FExpr '}' tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 433
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '#'                   shift, and go to state 251
+
+    Transform              go to state 252
+    Extrude                go to state 253
+    BooleanOperator        go to state 254
+    Boolean                go to state 255
+    FExpr                  go to state 434
+    FExpr_Single           go to state 257
+    DefineStruct           go to state 258
+    Struct_FullName        go to state 259
+    FExpr_Multi            go to state 435
+    RecursiveListOfDouble  go to state 1355
+    StringIndex            go to state 131
+    String__Index          go to state 262
+
+
+state 1077
+
+    8 GeoFormatItem: tSetFactory '(' StringExprVar ')' tEND .
+
+    $default  reduce using rule 8 (GeoFormatItem)
+
+
+state 1078
+
+  390 FExpr: tExp LP FExpr RP .
+
+    $default  reduce using rule 390 (FExpr)
+
+
+state 1079
+
+  391 FExpr: tLog LP FExpr RP .
+
+    $default  reduce using rule 391 (FExpr)
+
+
+state 1080
+
+  392 FExpr: tLog10 LP FExpr RP .
+
+    $default  reduce using rule 392 (FExpr)
+
+
+state 1081
+
+  393 FExpr: tSqrt LP FExpr RP .
+
+    $default  reduce using rule 393 (FExpr)
+
+
+state 1082
+
+  394 FExpr: tSin LP FExpr RP .
+
+    $default  reduce using rule 394 (FExpr)
+
+
+state 1083
+
+  395 FExpr: tAsin LP FExpr RP .
+
+    $default  reduce using rule 395 (FExpr)
+
+
+state 1084
+
+  396 FExpr: tCos LP FExpr RP .
+
+    $default  reduce using rule 396 (FExpr)
+
+
+state 1085
+
+  397 FExpr: tAcos LP FExpr RP .
+
+    $default  reduce using rule 397 (FExpr)
+
+
+state 1086
+
+  398 FExpr: tTan LP FExpr RP .
+
+    $default  reduce using rule 398 (FExpr)
+
+
+state 1087
+
+  412 FExpr: tRand LP FExpr RP .
+
+    $default  reduce using rule 412 (FExpr)
+
+
+state 1088
+
+  399 FExpr: tAtan LP FExpr RP .
+
+    $default  reduce using rule 399 (FExpr)
+
+
+state 1089
+
+  400 FExpr: tAtan2 LP FExpr ',' . FExpr RP
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1356
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1090
+
+  401 FExpr: tSinh LP FExpr RP .
+
+    $default  reduce using rule 401 (FExpr)
+
+
+state 1091
+
+  402 FExpr: tCosh LP FExpr RP .
+
+    $default  reduce using rule 402 (FExpr)
+
+
+state 1092
+
+  403 FExpr: tTanh LP FExpr RP .
+
+    $default  reduce using rule 403 (FExpr)
+
+
+state 1093
+
+  404 FExpr: tFabs LP FExpr RP .
+
+    $default  reduce using rule 404 (FExpr)
+
+
+state 1094
+
+  405 FExpr: tAbs LP FExpr RP .
+
+    $default  reduce using rule 405 (FExpr)
+
+
+state 1095
+
+  520 FExpr_Multi: tAbs LP FExpr_Multi RP .
+
+    $default  reduce using rule 520 (FExpr_Multi)
+
+
+state 1096
+
+  406 FExpr: tFloor LP FExpr RP .
+
+    $default  reduce using rule 406 (FExpr)
+
+
+state 1097
+
+  407 FExpr: tCeil LP FExpr RP .
+
+    $default  reduce using rule 407 (FExpr)
+
+
+state 1098
+
+  408 FExpr: tRound LP FExpr RP .
+
+    $default  reduce using rule 408 (FExpr)
+
+
+state 1099
+
+  409 FExpr: tFmod LP FExpr ',' . FExpr RP
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1357
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1100
+
+  410 FExpr: tModulo LP FExpr ',' . FExpr RP
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1358
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1101
+
+  411 FExpr: tHypot LP FExpr ',' . FExpr RP
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1359
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1102
+
+  512 FExpr_Multi: tList '(' FExpr_Multi ')' .
+
+    $default  reduce using rule 512 (FExpr_Multi)
+
+
+state 1103
+
+  511 FExpr_Multi: tList '[' FExpr_Multi ']' .
+
+    $default  reduce using rule 511 (FExpr_Multi)
+
+
+state 1104
+
+  510 FExpr_Multi: tList '[' String__Index ']' .
+
+    $default  reduce using rule 510 (FExpr_Multi)
+
+
+state 1105
+
+  513 FExpr_Multi: tList LP '{' RecursiveListOfDouble . '}' RP
+  523 RecursiveListOfDouble: RecursiveListOfDouble . ',' FExpr
+  524                      | RecursiveListOfDouble . ',' FExpr_Multi
+
+    '}'  shift, and go to state 1360
+    ','  shift, and go to state 747
+
+
+state 1106
+
+  515 FExpr_Multi: tLinSpace LP FExpr ',' . FExpr ',' FExpr RP
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1361
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1107
+
+  516 FExpr_Multi: tLogSpace LP FExpr ',' . FExpr ',' FExpr RP
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1362
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1108
+
+  517 FExpr_Multi: tListFromFile LP StringExprVar RP .
+
+    $default  reduce using rule 517 (FExpr_Multi)
+
+
+state 1109
+
+  518 FExpr_Multi: tCatenary LP FExpr ',' . FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr RP
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1363
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1110
+
+  454 FExpr_Single: tStrLen LP StringExprVar RP .
+
+    $default  reduce using rule 454 (FExpr_Single)
+
+
+state 1111
+
+  452 FExpr_Single: tFind '(' ListOfDouble ',' . ListOfDouble ')'
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 247
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '{'                   shift, and go to state 250
+    '#'                   shift, and go to state 251
+
+    Transform        go to state 252
+    Extrude          go to state 253
+    BooleanOperator  go to state 254
+    Boolean          go to state 255
+    FExpr            go to state 256
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    ListOfDouble     go to state 1364
+    FExpr_Multi      go to state 261
+    StringIndex      go to state 131
+    String__Index    go to state 262
+
+
+state 1112
+
+  453 FExpr_Single: tStrFind LP StringExprVar ',' . StringExprVar RP
+
+    tSTRING              shift, and go to state 150
+    tBIGSTR              shift, and go to state 344
+    tStr                 shift, and go to state 345
+    tSprintf             shift, and go to state 346
+    tStrCat              shift, and go to state 347
+    tStrPrefix           shift, and go to state 348
+    tStrRelative         shift, and go to state 349
+    tStrReplace          shift, and go to state 350
+    tAbsolutePath        shift, and go to state 351
+    tDirName             shift, and go to state 352
+    tStrSub              shift, and go to state 353
+    tStrChoice           shift, and go to state 354
+    tUpperCase           shift, and go to state 355
+    tLowerCase           shift, and go to state 356
+    tLowerCaseIn         shift, and go to state 357
+    tToday               shift, and go to state 358
+    tFixRelativePath     shift, and go to state 359
+    tCurrentDirectory    shift, and go to state 360
+    tOnelabAction        shift, and go to state 361
+    tCodeName            shift, and go to state 362
+    tNameStruct          shift, and go to state 363
+    tDefineString        shift, and go to state 364
+    tPhysical            shift, and go to state 393
+    tGetStringValue      shift, and go to state 365
+    tGetEnv              shift, and go to state 366
+    tGetString           shift, and go to state 367
+    tGetForcedStr        shift, and go to state 368
+    tGmshExecutableName  shift, and go to state 369
+    tNameToString        shift, and go to state 370
+    tStringToName        shift, and go to state 107
+
+    StringExprVar  go to state 1365
+    StringExpr     go to state 419
+    StringIndex    go to state 131
+    String__Index  go to state 420
+
+
+state 1113
+
+  455 FExpr_Single: tStrCmp LP StringExprVar ',' . StringExprVar RP
+
+    tSTRING              shift, and go to state 150
+    tBIGSTR              shift, and go to state 344
+    tStr                 shift, and go to state 345
+    tSprintf             shift, and go to state 346
+    tStrCat              shift, and go to state 347
+    tStrPrefix           shift, and go to state 348
+    tStrRelative         shift, and go to state 349
+    tStrReplace          shift, and go to state 350
+    tAbsolutePath        shift, and go to state 351
+    tDirName             shift, and go to state 352
+    tStrSub              shift, and go to state 353
+    tStrChoice           shift, and go to state 354
+    tUpperCase           shift, and go to state 355
+    tLowerCase           shift, and go to state 356
+    tLowerCaseIn         shift, and go to state 357
+    tToday               shift, and go to state 358
+    tFixRelativePath     shift, and go to state 359
+    tCurrentDirectory    shift, and go to state 360
+    tOnelabAction        shift, and go to state 361
+    tCodeName            shift, and go to state 362
+    tNameStruct          shift, and go to state 363
+    tDefineString        shift, and go to state 364
+    tPhysical            shift, and go to state 393
+    tGetStringValue      shift, and go to state 365
+    tGetEnv              shift, and go to state 366
+    tGetString           shift, and go to state 367
+    tGetForcedStr        shift, and go to state 368
+    tGmshExecutableName  shift, and go to state 369
+    tNameToString        shift, and go to state 370
+    tStringToName        shift, and go to state 107
+
+    StringExprVar  go to state 1366
+    StringExpr     go to state 419
+    StringIndex    go to state 131
+    String__Index  go to state 420
+
+
+state 1114
+
+  456 FExpr_Single: tTextAttributes '(' RecursiveListOfStringExprVar ')' .
+
+    $default  reduce using rule 456 (FExpr_Single)
+
+
+state 1115
+
+  425 FExpr_Single: tDefineNumber LP FExpr @13 . FloatParameterOptionsOrNone RP
+
+    ','  shift, and go to state 1367
+
+    $default  reduce using rule 125 (FloatParameterOptionsOrNone)
+
+    FloatParameterOptionsOrNone  go to state 1368
+
+
+state 1116
+
+  439 FExpr_Single: tDimNameSpace LP String__Index RP .
+
+    $default  reduce using rule 439 (FExpr_Single)
+
+
+state 1117
+
+  502 FExpr_Multi: tPoint tIn tBoundingBox '{' . FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr '}'
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1369
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1118
+
+  493 FExpr_Multi: tPoint '{' FExpr '}' .
+
+    $default  reduce using rule 493 (FExpr_Multi)
+
+
+state 1119
+
+  503 FExpr_Multi: tLine tIn tBoundingBox '{' . FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr '}'
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1370
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1120
+
+  504 FExpr_Multi: tSurface tIn tBoundingBox '{' . FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr '}'
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1371
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1121
+
+  505 FExpr_Multi: tVolume tIn tBoundingBox '{' . FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr '}'
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1372
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1122
+
+  451 FExpr_Single: tGetValue '(' StringExprVar ',' . FExpr ')'
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1373
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1123
+
+  428 FExpr_Single: tGetNumber LP StringExprVar ',' . FExpr RP
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1374
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1124
+
+  427 FExpr_Single: tGetNumber LP StringExprVar RP .
+
+    $default  reduce using rule 427 (FExpr_Single)
+
+
+state 1125
+
+  519 FExpr_Multi: tUnique LP FExpr_Multi RP .
+
+    $default  reduce using rule 519 (FExpr_Multi)
+
+
+state 1126
+
+  432 FExpr_Single: tExists '(' Struct_FullName ')' .
+
+    $default  reduce using rule 432 (FExpr_Single)
+
+
+state 1127
+
+  433 FExpr_Single: tExists '(' Struct_FullName '.' . tSTRING_Member_Float ')'
+
+    tSTRING  shift, and go to state 1035
+
+    tSTRING_Member_Float  go to state 1375
+
+
+state 1128
+
+  436 FExpr_Single: tFileExists '(' StringExpr ')' .
+
+    $default  reduce using rule 436 (FExpr_Single)
+
+
+state 1129
+
+  435 FExpr_Single: tGetForced '(' Struct_FullName '.' . tSTRING_Member_Float GetForced_Default ')'
+
+    tSTRING  shift, and go to state 1035
+
+    tSTRING_Member_Float  go to state 1376
+
+
+state 1130
+
+  458 GetForced_Default: ',' . FExpr
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1377
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1131
+
+  434 FExpr_Single: tGetForced '(' Struct_FullName GetForced_Default . ')'
+
+    ')'  shift, and go to state 1378
+
+
+state 1132
+
+  485 ListOfDouble: '-' '{' RecursiveListOfDouble '}' .
+
+    $default  reduce using rule 485 (ListOfDouble)
+
+
+state 1133
+
+  190 Shape: tThruSections '(' FExpr ')' tAFFECT . ListOfDouble tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 247
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '{'                   shift, and go to state 250
+    '#'                   shift, and go to state 251
+
+    Transform        go to state 252
+    Extrude          go to state 253
+    BooleanOperator  go to state 254
+    Boolean          go to state 255
+    FExpr            go to state 256
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    ListOfDouble     go to state 1379
+    FExpr_Multi      go to state 261
+    StringIndex      go to state 131
+    String__Index    go to state 262
+
+
+state 1134
+
+  438 FExpr_Single: '#' Struct_FullName '.' tSTRING_Member_Float . '(' ')'
+
+    '('  shift, and go to state 1380
+
+
+state 1135
+
+  437 FExpr_Single: '#' String__Index LP RP .
+
+    $default  reduce using rule 437 (FExpr_Single)
+
+
+state 1136
+
+  492 FExpr_Multi: FExpr tDOTS FExpr tDOTS . FExpr
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1381
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1137
+
+  389 FExpr: FExpr '?' FExpr tDOTS . FExpr
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1382
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1138
+
+  486 ListOfDouble: FExpr '*' '{' RecursiveListOfDouble . '}'
+  523 RecursiveListOfDouble: RecursiveListOfDouble . ',' FExpr
+  524                      | RecursiveListOfDouble . ',' FExpr_Multi
+
+    '}'  shift, and go to state 1383
+    ','  shift, and go to state 747
+
+
+state 1139
+
+  431 FExpr_Single: Struct_FullName '(' FExpr ')' .
+
+    $default  reduce using rule 431 (FExpr_Single)
+
+
+state 1140
+
+  430 FExpr_Single: Struct_FullName '[' FExpr ']' .
+
+    $default  reduce using rule 430 (FExpr_Single)
+
+
+state 1141
+
+  445 FExpr_Single: String__Index tSCOPE String__Index '.' . tSTRING_Member_Float
+  447             | String__Index tSCOPE String__Index '.' . tSTRING_Member_Float '(' FExpr ')'
+
+    tSTRING  shift, and go to state 1035
+
+    tSTRING_Member_Float  go to state 1384
+
+
+state 1142
+
+  443 FExpr_Single: String__Index '(' FExpr ')' . NumericIncrement
+
+    tMINUSMINUS  shift, and go to state 399
+    tPLUSPLUS    shift, and go to state 400
+
+    NumericIncrement  go to state 1385
+
+
+state 1143
+
+  442 FExpr_Single: String__Index '[' FExpr ']' . NumericIncrement
+  448             | String__Index '[' FExpr ']' . '.' tSTRING
+  450             | String__Index '[' FExpr ']' . '.' tSTRING NumericIncrement
+
+    tMINUSMINUS  shift, and go to state 399
+    tPLUSPLUS    shift, and go to state 400
+    '.'          shift, and go to state 1386
+
+    NumericIncrement  go to state 1387
+
+
+state 1144
+
+  449 FExpr_Single: String__Index '.' tSTRING NumericIncrement .
+
+    $default  reduce using rule 449 (FExpr_Single)
+
+
+state 1145
+
+  446 FExpr_Single: String__Index '.' tSTRING_Member_Float '(' . FExpr ')'
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1388
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1146
+
+  514 FExpr_Multi: String__Index LP '{' RecursiveListOfDouble . '}' RP
+  523 RecursiveListOfDouble: RecursiveListOfDouble . ',' FExpr
+  524                      | RecursiveListOfDouble . ',' FExpr_Multi
+
+    '}'  shift, and go to state 1389
+    ','  shift, and go to state 747
+
+
+state 1147
+
+  184 Shape: tWedge '(' FExpr ')' tAFFECT . ListOfDouble tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 247
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '{'                   shift, and go to state 250
+    '#'                   shift, and go to state 251
+
+    Transform        go to state 252
+    Extrude          go to state 253
+    BooleanOperator  go to state 254
+    Boolean          go to state 255
+    FExpr            go to state 256
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    ListOfDouble     go to state 1390
+    FExpr_Multi      go to state 261
+    StringIndex      go to state 131
+    String__Index    go to state 262
+
+
+state 1148
+
+  289 Extrude: tFillet '{' RecursiveListOfDouble '}' '{' . RecursiveListOfDouble '}' '{' FExpr '}'
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 433
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '#'                   shift, and go to state 251
+
+    Transform              go to state 252
+    Extrude                go to state 253
+    BooleanOperator        go to state 254
+    Boolean                go to state 255
+    FExpr                  go to state 434
+    FExpr_Single           go to state 257
+    DefineStruct           go to state 258
+    Struct_FullName        go to state 259
+    FExpr_Multi            go to state 435
+    RecursiveListOfDouble  go to state 1391
+    StringIndex            go to state 131
+    String__Index          go to state 262
+
+
+state 1149
+
+  170 Shape: tPlane tSurface '(' FExpr ')' . tAFFECT ListOfDouble tEND
+
+    tAFFECT  shift, and go to state 1392
+
+
+state 1150
+
+  172 Shape: tRuled tSurface '(' FExpr ')' . tAFFECT ListOfDouble InSphereCenter tEND
+
+    tAFFECT  shift, and go to state 1393
+
+
+state 1151
+
+  191 Shape: tRuled tThruSections '(' FExpr ')' . tAFFECT ListOfDouble tEND
+  367 FExpr: '(' FExpr ')' .
+
+    tAFFECT  shift, and go to state 1394
+
+    $default  reduce using rule 367 (FExpr)
+
+
+state 1152
+
+  327 Constraints: tTransfinite tLine ListOfDoubleOrAll tAFFECT FExpr . TransfiniteType tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    tUsing           shift, and go to state 1395
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+
+    $default  reduce using rule 316 (TransfiniteType)
+
+    TransfiniteType  go to state 1396
+
+
+state 1153
+
+  321 TransfiniteCorners: tAFFECT ListOfDouble .
+
+    $default  reduce using rule 321 (TransfiniteCorners)
+
+
+state 1154
+
+  319 TransfiniteArrangement: tSTRING .
+
+    $default  reduce using rule 319 (TransfiniteArrangement)
+
+
+state 1155
+
+  328 Constraints: tTransfinite tSurface ListOfDoubleOrAll TransfiniteCorners TransfiniteArrangement . tEND
+
+    tEND  shift, and go to state 1397
+
+
+state 1156
+
+  329 Constraints: tTransfinite tVolume ListOfDoubleOrAll TransfiniteCorners tEND .
+
+    $default  reduce using rule 329 (Constraints)
+
+
+state 1157
+
+  193 Shape: tPhysical tPoint '(' PhysicalId0 ')' . NumericAffectation ListOfDouble tEND
+
+    tAFFECT        shift, and go to state 1272
+    tAFFECTDIVIDE  shift, and go to state 395
+    tAFFECTTIMES   shift, and go to state 396
+    tAFFECTMINUS   shift, and go to state 397
+    tAFFECTPLUS    shift, and go to state 398
+
+    NumericAffectation  go to state 1398
+
+
+state 1158
+
+  145 PhysicalId0: StringExpr ',' . FExpr
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1399
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1159
+
+  194 Shape: tPhysical tLine '(' PhysicalId1 ')' . NumericAffectation ListOfDouble tEND
+
+    tAFFECT        shift, and go to state 1272
+    tAFFECTDIVIDE  shift, and go to state 395
+    tAFFECTTIMES   shift, and go to state 396
+    tAFFECTMINUS   shift, and go to state 397
+    tAFFECTPLUS    shift, and go to state 398
+
+    NumericAffectation  go to state 1400
+
+
+state 1160
+
+  148 PhysicalId1: StringExpr ',' . FExpr
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1401
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1161
+
+  195 Shape: tPhysical tSurface '(' PhysicalId2 ')' . NumericAffectation ListOfDouble tEND
+
+    tAFFECT        shift, and go to state 1272
+    tAFFECTDIVIDE  shift, and go to state 395
+    tAFFECTTIMES   shift, and go to state 396
+    tAFFECTMINUS   shift, and go to state 397
+    tAFFECTPLUS    shift, and go to state 398
+
+    NumericAffectation  go to state 1402
+
+
+state 1162
+
+  151 PhysicalId2: StringExpr ',' . FExpr
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1403
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1163
+
+  196 Shape: tPhysical tVolume '(' PhysicalId3 ')' . NumericAffectation ListOfDouble tEND
+
+    tAFFECT        shift, and go to state 1272
+    tAFFECTDIVIDE  shift, and go to state 395
+    tAFFECTTIMES   shift, and go to state 396
+    tAFFECTMINUS   shift, and go to state 397
+    tAFFECTPLUS    shift, and go to state 398
+
+    NumericAffectation  go to state 1404
+
+
+state 1164
+
+  154 PhysicalId3: StringExpr ',' . FExpr
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1405
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1165
+
+  167 Shape: tCompound tLine '(' FExpr ')' . tAFFECT ListOfDouble tEND
+  367 FExpr: '(' FExpr ')' .
+
+    tAFFECT  shift, and go to state 1406
+
+    $default  reduce using rule 367 (FExpr)
+
+
+state 1166
+
+  186 Shape: tCompound tSurface '(' FExpr ')' . tAFFECT ListOfDouble tEND
+  187      | tCompound tSurface '(' FExpr ')' . tAFFECT ListOfDouble tSTRING '{' RecursiveListOfListOfDouble '}' tEND
+  367 FExpr: '(' FExpr ')' .
+
+    tAFFECT  shift, and go to state 1407
+
+    $default  reduce using rule 367 (FExpr)
+
+
+state 1167
+
+  192 Shape: tCompound tVolume '(' FExpr ')' . tAFFECT ListOfDouble tEND
+  367 FExpr: '(' FExpr ')' .
+
+    tAFFECT  shift, and go to state 1408
+
+    $default  reduce using rule 367 (FExpr)
+
+
+state 1168
+
+  335 Constraints: tPeriodic tLine '{' RecursiveListOfDouble '}' . tAFFECT '{' RecursiveListOfDouble '}' PeriodicTransform tEND
+  337            | tPeriodic tLine '{' RecursiveListOfDouble '}' . tAFFECT '{' RecursiveListOfDouble '}' tRotate '{' VExpr ',' VExpr ',' FExpr '}' tEND
+  339            | tPeriodic tLine '{' RecursiveListOfDouble '}' . tAFFECT '{' RecursiveListOfDouble '}' tTranslate VExpr tEND
+
+    tAFFECT  shift, and go to state 1409
+
+
+state 1169
+
+  336 Constraints: tPeriodic tSurface '{' RecursiveListOfDouble '}' . tAFFECT '{' RecursiveListOfDouble '}' PeriodicTransform tEND
+  338            | tPeriodic tSurface '{' RecursiveListOfDouble '}' . tAFFECT '{' RecursiveListOfDouble '}' tRotate '{' VExpr ',' VExpr ',' FExpr '}' tEND
+  340            | tPeriodic tSurface '{' RecursiveListOfDouble '}' . tAFFECT '{' RecursiveListOfDouble '}' tTranslate VExpr tEND
+
+    tAFFECT  shift, and go to state 1410
+
+
+state 1170
+
+  341 Constraints: tPeriodic tSurface FExpr '{' RecursiveListOfDouble . '}' tAFFECT FExpr '{' RecursiveListOfDouble '}' tEND
+  523 RecursiveListOfDouble: RecursiveListOfDouble . ',' FExpr
+  524                      | RecursiveListOfDouble . ',' FExpr_Multi
+
+    '}'  shift, and go to state 1411
+    ','  shift, and go to state 747
+
+
+state 1171
+
+  106 Affectation: tPlugin '(' tSTRING ')' '.' . tSTRING tAFFECT FExpr tEND
+  107            | tPlugin '(' tSTRING ')' '.' . tSTRING tAFFECT StringExpr tEND
+  246 Command: tPlugin '(' tSTRING ')' '.' . tSTRING tEND
+
+    tSTRING  shift, and go to state 1412
+
+
+state 1172
+
+  226 Delete: tRecursive tDelete '{' ListOfShapes '}' .
+
+    $default  reduce using rule 226 (Delete)
+
+
+state 1173
+
+  208 ListOfShapes: ListOfShapes . Shape
+  209             | ListOfShapes . tPoint '{' RecursiveListOfDouble '}' tEND
+  210             | ListOfShapes . tLine '{' RecursiveListOfDouble '}' tEND
+  211             | ListOfShapes . tSurface '{' RecursiveListOfDouble '}' tEND
+  212             | ListOfShapes . tVolume '{' RecursiveListOfDouble '}' tEND
+  233 Colorify: tRecursive tColor ColorExpr '{' ListOfShapes . '}'
+
+    tEuclidian     shift, and go to state 7
+    tCoordinates   shift, and go to state 8
+    tPoint         shift, and go to state 712
+    tCircle        shift, and go to state 25
+    tEllipse       shift, and go to state 26
+    tLine          shift, and go to state 713
+    tSphere        shift, and go to state 28
+    tPolarSphere   shift, and go to state 29
+    tSurface       shift, and go to state 714
+    tSpline        shift, and go to state 31
+    tVolume        shift, and go to state 715
+    tBlock         shift, and go to state 33
+    tCylinder      shift, and go to state 34
+    tCone          shift, and go to state 35
+    tTorus         shift, and go to state 36
+    tRectangle     shift, and go to state 38
+    tDisk          shift, and go to state 39
+    tWire          shift, and go to state 40
+    tParametric    shift, and go to state 42
+    tThruSections  shift, and go to state 716
+    tWedge         shift, and go to state 48
+    tPlane         shift, and go to state 50
+    tRuled         shift, and go to state 717
+    tPhysical      shift, and go to state 53
+    tCompound      shift, and go to state 718
+    tThickSolid    shift, and go to state 70
+    tBSpline       shift, and go to state 84
+    tBezier        shift, and go to state 85
+    tNurbs         shift, and go to state 86
+    '}'            shift, and go to state 1413
+
+    Shape  go to state 719
+
+
+state 1174
+
+  238 Visibility: tRecursive tShow '{' ListOfShapes '}' .
+
+    $default  reduce using rule 238 (Visibility)
+
+
+state 1175
+
+  240 Visibility: tRecursive tHide '{' ListOfShapes '}' .
+
+    $default  reduce using rule 240 (Visibility)
+
+
+state 1176
+
+  198 Transform: tRotate '{' VExpr ',' VExpr . ',' FExpr '}' '{' MultipleShape '}'
+  473 VExpr: VExpr . '-' VExpr
+  474      | VExpr . '+' VExpr
+
+    '+'  shift, and go to state 592
+    '-'  shift, and go to state 593
+    ','  shift, and go to state 1414
+
+
+state 1177
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  478 VExpr_Single: '(' FExpr ',' FExpr . ',' FExpr ')'
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ','              shift, and go to state 1415
+
+
+state 1178
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  475 VExpr_Single: '{' FExpr ',' FExpr . ',' FExpr ',' FExpr ',' FExpr '}'
+  476             | '{' FExpr ',' FExpr . ',' FExpr ',' FExpr '}'
+  477             | '{' FExpr ',' FExpr . ',' FExpr '}'
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ','              shift, and go to state 1416
+
+
+state 1179
+
+  197 Transform: tTranslate VExpr '{' MultipleShape '}' .
+
+    $default  reduce using rule 197 (Transform)
+
+
+state 1180
+
+  199 Transform: tSymmetry VExpr '{' MultipleShape '}' .
+
+    $default  reduce using rule 199 (Transform)
+
+
+state 1181
+
+  200 Transform: tDilate '{' VExpr ',' FExpr . '}' '{' MultipleShape '}'
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    '}'              shift, and go to state 1417
+
+
+state 1182
+
+  201 Transform: tDilate '{' VExpr ',' VExpr . '}' '{' MultipleShape '}'
+  473 VExpr: VExpr . '-' VExpr
+  474      | VExpr . '+' VExpr
+
+    '+'  shift, and go to state 592
+    '-'  shift, and go to state 593
+    '}'  shift, and go to state 1418
+
+
+state 1183
+
+  286 Extrude: tExtrude '{' ListOfShapes '}' tUsing . tWire '{' FExpr '}'
+
+    tWire  shift, and go to state 1419
+
+
+state 1184
+
+  302 ExtrudeParameter: tUsing . tSTRING '[' FExpr ']' tEND
+
+    tSTRING  shift, and go to state 1420
+
+
+state 1185
+
+  295 ExtrudeParameter: tRecombine . tEND
+  296                 | tRecombine . FExpr tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tEND                 shift, and go to state 1421
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1422
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1186
+
+  292 ExtrudeParameter: tLayers . '{' FExpr '}' tEND
+  293                 | tLayers . '{' ListOfDouble ',' ListOfDouble '}' tEND
+
+    '{'  shift, and go to state 1423
+
+
+state 1187
+
+  294 ExtrudeParameter: tScaleLast . tEND
+
+    tEND  shift, and go to state 1424
+
+
+state 1188
+
+  301 ExtrudeParameter: tHole . '(' FExpr ')' tAFFECT ListOfDouble tUsing FExpr tEND
+
+    '('  shift, and go to state 1425
+
+
+state 1189
+
+  297 ExtrudeParameter: tQuadTriAddVerts . tEND
+  298                 | tQuadTriAddVerts . tRecombLaterals tEND
+
+    tEND             shift, and go to state 1426
+    tRecombLaterals  shift, and go to state 1427
+
+
+state 1190
+
+  299 ExtrudeParameter: tQuadTriNoNewVerts . tEND
+  300                 | tQuadTriNoNewVerts . tRecombLaterals tEND
+
+    tEND             shift, and go to state 1428
+    tRecombLaterals  shift, and go to state 1429
+
+
+state 1191
+
+  285 Extrude: tExtrude '{' ListOfShapes @12 ExtrudeParameters . '}'
+  291 ExtrudeParameters: ExtrudeParameters . ExtrudeParameter
+
+    tUsing              shift, and go to state 1184
+    tRecombine          shift, and go to state 1185
+    tLayers             shift, and go to state 1186
+    tScaleLast          shift, and go to state 1187
+    tHole               shift, and go to state 1188
+    tQuadTriAddVerts    shift, and go to state 1189
+    tQuadTriNoNewVerts  shift, and go to state 1190
+    '}'                 shift, and go to state 1430
+
+    ExtrudeParameter  go to state 1431
+
+
+state 1192
+
+  290 ExtrudeParameters: ExtrudeParameter .
+
+    $default  reduce using rule 290 (ExtrudeParameters)
+
+
+state 1193
+
+  276 Extrude: tExtrude '{' VExpr ',' VExpr . ',' FExpr '}' '{' ListOfShapes '}'
+  277        | tExtrude '{' VExpr ',' VExpr . ',' VExpr ',' FExpr '}' '{' ListOfShapes '}'
+  281        | tExtrude '{' VExpr ',' VExpr . ',' FExpr '}' '{' ListOfShapes @10 ExtrudeParameters '}'
+  283        | tExtrude '{' VExpr ',' VExpr . ',' VExpr ',' FExpr '}' '{' ListOfShapes @11 ExtrudeParameters '}'
+  473 VExpr: VExpr . '-' VExpr
+  474      | VExpr . '+' VExpr
+
+    '+'  shift, and go to state 592
+    '-'  shift, and go to state 593
+    ','  shift, and go to state 1432
+
+
+state 1194
+
+  275 Extrude: tExtrude VExpr '{' ListOfShapes '}' .
+
+    $default  reduce using rule 275 (Extrude)
+
+
+state 1195
+
+  279 Extrude: tExtrude VExpr '{' ListOfShapes @9 . ExtrudeParameters '}'
+
+    tUsing              shift, and go to state 1184
+    tRecombine          shift, and go to state 1185
+    tLayers             shift, and go to state 1186
+    tScaleLast          shift, and go to state 1187
+    tHole               shift, and go to state 1188
+    tQuadTriAddVerts    shift, and go to state 1189
+    tQuadTriNoNewVerts  shift, and go to state 1190
+
+    ExtrudeParameters  go to state 1433
+    ExtrudeParameter   go to state 1192
+
+
+state 1196
+
+  222 LevelSet: tLevelset tSTRING '(' FExpr ')' . tAFFECT ListOfDouble tEND
+  223         | tLevelset tSTRING '(' FExpr ')' . tAFFECT tBIGSTR tEND
+
+    tAFFECT  shift, and go to state 1434
+
+
+state 1197
+
+  224 LevelSet: tLevelset tSTRING '{' FExpr '}' . tEND
+
+    tEND  shift, and go to state 1435
+
+
+state 1198
+
+  214 LevelSet: tLevelset tPoint '(' FExpr ')' . tAFFECT '{' RecursiveListOfListOfDouble '}' tEND
+
+    tAFFECT  shift, and go to state 1436
+
+
+state 1199
+
+  217 LevelSet: tLevelset tSphere '(' FExpr ')' . tAFFECT '{' VExpr ',' RecursiveListOfDouble '}' tEND
+
+    tAFFECT  shift, and go to state 1437
+
+
+state 1200
+
+  218 LevelSet: tLevelset tCylinder '(' FExpr ')' . tAFFECT '{' VExpr ',' VExpr ',' RecursiveListOfDouble '}' tEND
+
+    tAFFECT  shift, and go to state 1438
+
+
+state 1201
+
+  219 LevelSet: tLevelset tCone '(' FExpr ')' . tAFFECT '{' VExpr ',' VExpr ',' RecursiveListOfDouble '}' tEND
+
+    tAFFECT  shift, and go to state 1439
+
+
+state 1202
+
+  220 LevelSet: tLevelset tEllipsoid '(' FExpr ')' . tAFFECT '{' VExpr ',' VExpr ',' RecursiveListOfDouble '}' tEND
+
+    tAFFECT  shift, and go to state 1440
+
+
+state 1203
+
+  221 LevelSet: tLevelset tQuadric '(' FExpr ')' . tAFFECT '{' VExpr ',' VExpr ',' RecursiveListOfDouble '}' tEND
+
+    tAFFECT  shift, and go to state 1441
+
+
+state 1204
+
+  213 LevelSet: tLevelset tPlane '(' FExpr ')' . tAFFECT ListOfDouble tEND
+  215         | tLevelset tPlane '(' FExpr ')' . tAFFECT '{' VExpr ',' VExpr ',' RecursiveListOfDouble '}' tEND
+  216         | tLevelset tPlane '(' FExpr ')' . tAFFECT '{' VExpr ',' VExpr ',' VExpr ',' RecursiveListOfDouble '}' tEND
+
+    tAFFECT  shift, and go to state 1442
+
+
+state 1205
+
+  185 Shape: tThickSolid '(' FExpr ')' tAFFECT . ListOfDouble tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 247
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '{'                   shift, and go to state 250
+    '#'                   shift, and go to state 251
+
+    Transform        go to state 252
+    Extrude          go to state 253
+    BooleanOperator  go to state 254
+    Boolean          go to state 255
+    FExpr            go to state 256
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    ListOfDouble     go to state 1443
+    FExpr_Multi      go to state 261
+    StringIndex      go to state 131
+    String__Index    go to state 262
+
+
+state 1206
+
+  323 RecombineAngle: tAFFECT FExpr .
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+
+    $default  reduce using rule 323 (RecombineAngle)
+
+
+state 1207
+
+  332 Constraints: tRecombine tSurface ListOfDoubleOrAll RecombineAngle tEND .
+
+    $default  reduce using rule 332 (Constraints)
+
+
+state 1208
+
+  334 Constraints: tSmoother tSurface ListOfDoubleOrAll tAFFECT FExpr . tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    tEND             shift, and go to state 1444
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+
+
+state 1209
+
+  204 Transform: tSplit tLine '(' FExpr ')' . '{' RecursiveListOfDouble '}' tEND
+
+    '{'  shift, and go to state 1445
+
+
+state 1210
+
+  228 Delete: tDelete tSTRING '[' FExpr ']' . tEND
+
+    tEND  shift, and go to state 1446
+
+
+state 1211
+
+  227 Delete: tDelete tField '[' FExpr ']' . tEND
+
+    tEND  shift, and go to state 1447
+
+
+state 1212
+
+  358 Coherence: tCoherence tPoint '{' RecursiveListOfDouble '}' . tEND
+
+    tEND  shift, and go to state 1448
+
+
+state 1213
+
+  203 Transform: tIntersect tLine '{' RecursiveListOfDouble '}' . tSurface '{' FExpr '}'
+
+    tSurface  shift, and go to state 1449
+
+
+state 1214
+
+  331 Constraints: tMeshAlgorithm tSurface '{' RecursiveListOfDouble '}' . tAFFECT FExpr tEND
+
+    tAFFECT  shift, and go to state 1450
+
+
+state 1215
+
+   34 View: tAlias tSTRING '[' FExpr ']' . tEND
+
+    tEND  shift, and go to state 1451
+
+
+state 1216
+
+   35 View: tAliasWithOptions tSTRING '[' FExpr ']' . tEND
+
+    tEND  shift, and go to state 1452
+
+
+state 1217
+
+   36 View: tCopyOptions tSTRING '[' FExpr ',' . FExpr ']' tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1453
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1218
+
+  164 Shape: tBSpline '(' FExpr ')' tAFFECT . ListOfDouble tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 247
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '{'                   shift, and go to state 250
+    '#'                   shift, and go to state 251
+
+    Transform        go to state 252
+    Extrude          go to state 253
+    BooleanOperator  go to state 254
+    Boolean          go to state 255
+    FExpr            go to state 256
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    ListOfDouble     go to state 1454
+    FExpr_Multi      go to state 261
+    StringIndex      go to state 131
+    String__Index    go to state 262
+
+
+state 1219
+
+  165 Shape: tBezier '(' FExpr ')' tAFFECT . ListOfDouble tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 247
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '{'                   shift, and go to state 250
+    '#'                   shift, and go to state 251
+
+    Transform        go to state 252
+    Extrude          go to state 253
+    BooleanOperator  go to state 254
+    Boolean          go to state 255
+    FExpr            go to state 256
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    ListOfDouble     go to state 1455
+    FExpr_Multi      go to state 261
+    StringIndex      go to state 131
+    String__Index    go to state 262
+
+
+state 1220
+
+  166 Shape: tNurbs '(' FExpr ')' tAFFECT . ListOfDouble tNurbsKnots ListOfDouble tNurbsOrder FExpr tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 247
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '{'                   shift, and go to state 250
+    '#'                   shift, and go to state 251
+
+    Transform        go to state 252
+    Extrude          go to state 253
+    BooleanOperator  go to state 254
+    Boolean          go to state 255
+    FExpr            go to state 256
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    ListOfDouble     go to state 1456
+    FExpr_Multi      go to state 261
+    StringIndex      go to state 131
+    String__Index    go to state 262
+
+
+state 1221
+
+  528 ColorExpr: tSTRING '.' tColor '.' . tSTRING
+
+    tSTRING  shift, and go to state 1457
+
+
+state 1222
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  525 ColorExpr: '{' FExpr ',' FExpr . ',' FExpr ',' FExpr '}'
+  526          | '{' FExpr ',' FExpr . ',' FExpr '}'
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ','              shift, and go to state 1458
+
+
+state 1223
+
+  232 Colorify: tColor ColorExpr '{' ListOfShapes '}' .
+
+    $default  reduce using rule 232 (Colorify)
+
+
+state 1224
+
+  263 Loop: tFor tSTRING tIn '{' FExpr . tDOTS FExpr '}'
+  264     | tFor tSTRING tIn '{' FExpr . tDOTS FExpr tDOTS FExpr '}'
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    tDOTS            shift, and go to state 1459
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+
+
+state 1225
+
+  261 Loop: tFor '(' FExpr tDOTS FExpr . ')'
+  262     | tFor '(' FExpr tDOTS FExpr . tDOTS FExpr ')'
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    tDOTS            shift, and go to state 1460
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 1461
+
+
+state 1226
+
+  101 Affectation: tField '[' FExpr ']' tAFFECT . tSTRING tEND
+
+    tSTRING  shift, and go to state 1462
+
+
+state 1227
+
+  102 Affectation: tField '[' FExpr ']' '.' . tSTRING tAFFECT FExpr tEND
+  103            | tField '[' FExpr ']' '.' . tSTRING tAFFECT StringExpr tEND
+  104            | tField '[' FExpr ']' '.' . tSTRING tAFFECT '{' RecursiveListOfDouble '}' tEND
+  105            | tField '[' FExpr ']' '.' . tSTRING tEND
+
+    tSTRING  shift, and go to state 1463
+
+
+state 1228
+
+  562 StringExpr: tStr LP RecursiveListOfStringExprVar RP .
+
+    $default  reduce using rule 562 (StringExpr)
+
+
+state 1229
+
+  570 StringExpr: tSprintf LP StringExprVar ',' . RecursiveListOfDouble RP
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 433
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '#'                   shift, and go to state 251
+
+    Transform              go to state 252
+    Extrude                go to state 253
+    BooleanOperator        go to state 254
+    Boolean                go to state 255
+    FExpr                  go to state 434
+    FExpr_Single           go to state 257
+    DefineStruct           go to state 258
+    Struct_FullName        go to state 259
+    FExpr_Multi            go to state 435
+    RecursiveListOfDouble  go to state 1464
+    StringIndex            go to state 131
+    String__Index          go to state 262
+
+
+state 1230
+
+  569 StringExpr: tSprintf LP StringExprVar RP .
+
+    $default  reduce using rule 569 (StringExpr)
+
+
+state 1231
+
+  558 StringExpr: tStrCat LP RecursiveListOfStringExprVar RP .
+
+    $default  reduce using rule 558 (StringExpr)
+
+
+state 1232
+
+  559 StringExpr: tStrPrefix '(' StringExprVar ')' .
+
+    $default  reduce using rule 559 (StringExpr)
+
+
+state 1233
+
+  560 StringExpr: tStrRelative '(' StringExprVar ')' .
+
+    $default  reduce using rule 560 (StringExpr)
+
+
+state 1234
+
+  561 StringExpr: tStrReplace '(' StringExprVar ',' . StringExprVar ',' StringExprVar ')'
+
+    tSTRING              shift, and go to state 150
+    tBIGSTR              shift, and go to state 344
+    tStr                 shift, and go to state 345
+    tSprintf             shift, and go to state 346
+    tStrCat              shift, and go to state 347
+    tStrPrefix           shift, and go to state 348
+    tStrRelative         shift, and go to state 349
+    tStrReplace          shift, and go to state 350
+    tAbsolutePath        shift, and go to state 351
+    tDirName             shift, and go to state 352
+    tStrSub              shift, and go to state 353
+    tStrChoice           shift, and go to state 354
+    tUpperCase           shift, and go to state 355
+    tLowerCase           shift, and go to state 356
+    tLowerCaseIn         shift, and go to state 357
+    tToday               shift, and go to state 358
+    tFixRelativePath     shift, and go to state 359
+    tCurrentDirectory    shift, and go to state 360
+    tOnelabAction        shift, and go to state 361
+    tCodeName            shift, and go to state 362
+    tNameStruct          shift, and go to state 363
+    tDefineString        shift, and go to state 364
+    tPhysical            shift, and go to state 393
+    tGetStringValue      shift, and go to state 365
+    tGetEnv              shift, and go to state 366
+    tGetString           shift, and go to state 367
+    tGetForcedStr        shift, and go to state 368
+    tGmshExecutableName  shift, and go to state 369
+    tNameToString        shift, and go to state 370
+    tStringToName        shift, and go to state 107
+
+    StringExprVar  go to state 1465
+    StringExpr     go to state 419
+    StringIndex    go to state 131
+    String__Index  go to state 420
+
+
+state 1235
+
+  574 StringExpr: tAbsolutePath LP StringExprVar RP .
+
+    $default  reduce using rule 574 (StringExpr)
+
+
+state 1236
+
+  573 StringExpr: tDirName LP StringExprVar RP .
+
+    $default  reduce using rule 573 (StringExpr)
+
+
+state 1237
+
+  567 StringExpr: tStrSub LP StringExprVar ',' . FExpr ',' FExpr RP
+  568           | tStrSub LP StringExprVar ',' . FExpr RP
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1466
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1238
+
+  566 StringExpr: tStrChoice LP FExpr ',' . StringExprVar ',' StringExprVar RP
+
+    tSTRING              shift, and go to state 150
+    tBIGSTR              shift, and go to state 344
+    tStr                 shift, and go to state 345
+    tSprintf             shift, and go to state 346
+    tStrCat              shift, and go to state 347
+    tStrPrefix           shift, and go to state 348
+    tStrRelative         shift, and go to state 349
+    tStrReplace          shift, and go to state 350
+    tAbsolutePath        shift, and go to state 351
+    tDirName             shift, and go to state 352
+    tStrSub              shift, and go to state 353
+    tStrChoice           shift, and go to state 354
+    tUpperCase           shift, and go to state 355
+    tLowerCase           shift, and go to state 356
+    tLowerCaseIn         shift, and go to state 357
+    tToday               shift, and go to state 358
+    tFixRelativePath     shift, and go to state 359
+    tCurrentDirectory    shift, and go to state 360
+    tOnelabAction        shift, and go to state 361
+    tCodeName            shift, and go to state 362
+    tNameStruct          shift, and go to state 363
+    tDefineString        shift, and go to state 364
+    tPhysical            shift, and go to state 393
+    tGetStringValue      shift, and go to state 365
+    tGetEnv              shift, and go to state 366
+    tGetString           shift, and go to state 367
+    tGetForcedStr        shift, and go to state 368
+    tGmshExecutableName  shift, and go to state 369
+    tNameToString        shift, and go to state 370
+    tStringToName        shift, and go to state 107
+
+    StringExprVar  go to state 1467
+    StringExpr     go to state 419
+    StringIndex    go to state 131
+    String__Index  go to state 420
+
+
+state 1239
+
+  563 StringExpr: tUpperCase LP StringExprVar RP .
+
+    $default  reduce using rule 563 (StringExpr)
+
+
+state 1240
+
+  564 StringExpr: tLowerCase LP StringExprVar RP .
+
+    $default  reduce using rule 564 (StringExpr)
+
+
+state 1241
+
+  565 StringExpr: tLowerCaseIn LP StringExprVar RP .
+
+    $default  reduce using rule 565 (StringExpr)
+
+
+state 1242
+
+  571 StringExpr: tFixRelativePath LP StringExprVar RP .
+
+    $default  reduce using rule 571 (StringExpr)
+
+
+state 1243
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  578 NameStruct_Arg: '#' FExpr .
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+
+    $default  reduce using rule 578 (NameStruct_Arg)
+
+
+state 1244
+
+  577 StringExpr: tNameStruct LP NameStruct_Arg RP .
+
+    $default  reduce using rule 577 (StringExpr)
+
+
+state 1245
+
+  579 NameStruct_Arg: String__Index tSCOPE . '#' FExpr
+
+    '#'  shift, and go to state 1468
+
+
+state 1246
+
+  576 StringExpr: tDefineString LP StringExpr @15 . CharParameterOptionsOrNone RP
+
+    ','  shift, and go to state 1469
+
+    $default  reduce using rule 135 (CharParameterOptionsOrNone)
+
+    CharParameterOptionsOrNone  go to state 1470
+
+
+state 1247
+
+  553 StringExpr: tGetStringValue '(' StringExprVar ',' . StringExprVar ')'
+
+    tSTRING              shift, and go to state 150
+    tBIGSTR              shift, and go to state 344
+    tStr                 shift, and go to state 345
+    tSprintf             shift, and go to state 346
+    tStrCat              shift, and go to state 347
+    tStrPrefix           shift, and go to state 348
+    tStrRelative         shift, and go to state 349
+    tStrReplace          shift, and go to state 350
+    tAbsolutePath        shift, and go to state 351
+    tDirName             shift, and go to state 352
+    tStrSub              shift, and go to state 353
+    tStrChoice           shift, and go to state 354
+    tUpperCase           shift, and go to state 355
+    tLowerCase           shift, and go to state 356
+    tLowerCaseIn         shift, and go to state 357
+    tToday               shift, and go to state 358
+    tFixRelativePath     shift, and go to state 359
+    tCurrentDirectory    shift, and go to state 360
+    tOnelabAction        shift, and go to state 361
+    tCodeName            shift, and go to state 362
+    tNameStruct          shift, and go to state 363
+    tDefineString        shift, and go to state 364
+    tPhysical            shift, and go to state 393
+    tGetStringValue      shift, and go to state 365
+    tGetEnv              shift, and go to state 366
+    tGetString           shift, and go to state 367
+    tGetForcedStr        shift, and go to state 368
+    tGmshExecutableName  shift, and go to state 369
+    tNameToString        shift, and go to state 370
+    tStringToName        shift, and go to state 107
+
+    StringExprVar  go to state 1471
+    StringExpr     go to state 419
+    StringIndex    go to state 131
+    String__Index  go to state 420
+
+
+state 1248
+
+  552 StringExpr: tGetEnv '(' StringExprVar ')' .
+
+    $default  reduce using rule 552 (StringExpr)
+
+
+state 1249
+
+  555 StringExpr: tGetString LP StringExprVar ',' . StringExprVar RP
+
+    tSTRING              shift, and go to state 150
+    tBIGSTR              shift, and go to state 344
+    tStr                 shift, and go to state 345
+    tSprintf             shift, and go to state 346
+    tStrCat              shift, and go to state 347
+    tStrPrefix           shift, and go to state 348
+    tStrRelative         shift, and go to state 349
+    tStrReplace          shift, and go to state 350
+    tAbsolutePath        shift, and go to state 351
+    tDirName             shift, and go to state 352
+    tStrSub              shift, and go to state 353
+    tStrChoice           shift, and go to state 354
+    tUpperCase           shift, and go to state 355
+    tLowerCase           shift, and go to state 356
+    tLowerCaseIn         shift, and go to state 357
+    tToday               shift, and go to state 358
+    tFixRelativePath     shift, and go to state 359
+    tCurrentDirectory    shift, and go to state 360
+    tOnelabAction        shift, and go to state 361
+    tCodeName            shift, and go to state 362
+    tNameStruct          shift, and go to state 363
+    tDefineString        shift, and go to state 364
+    tPhysical            shift, and go to state 393
+    tGetStringValue      shift, and go to state 365
+    tGetEnv              shift, and go to state 366
+    tGetString           shift, and go to state 367
+    tGetForcedStr        shift, and go to state 368
+    tGmshExecutableName  shift, and go to state 369
+    tNameToString        shift, and go to state 370
+    tStringToName        shift, and go to state 107
+
+    StringExprVar  go to state 1472
+    StringExpr     go to state 419
+    StringIndex    go to state 131
+    String__Index  go to state 420
+
+
+state 1250
+
+  554 StringExpr: tGetString LP StringExprVar RP .
+
+    $default  reduce using rule 554 (StringExpr)
+
+
+state 1251
+
+  557 StringExpr: tGetForcedStr '(' Struct_FullName '.' . tSTRING_Member_Float GetForcedStr_Default ')'
+
+    tSTRING  shift, and go to state 1035
+
+    tSTRING_Member_Float  go to state 1473
+
+
+state 1252
+
+  460 GetForcedStr_Default: ',' . StringExprVar
+
+    tSTRING              shift, and go to state 150
+    tBIGSTR              shift, and go to state 344
+    tStr                 shift, and go to state 345
+    tSprintf             shift, and go to state 346
+    tStrCat              shift, and go to state 347
+    tStrPrefix           shift, and go to state 348
+    tStrRelative         shift, and go to state 349
+    tStrReplace          shift, and go to state 350
+    tAbsolutePath        shift, and go to state 351
+    tDirName             shift, and go to state 352
+    tStrSub              shift, and go to state 353
+    tStrChoice           shift, and go to state 354
+    tUpperCase           shift, and go to state 355
+    tLowerCase           shift, and go to state 356
+    tLowerCaseIn         shift, and go to state 357
+    tToday               shift, and go to state 358
+    tFixRelativePath     shift, and go to state 359
+    tCurrentDirectory    shift, and go to state 360
+    tOnelabAction        shift, and go to state 361
+    tCodeName            shift, and go to state 362
+    tNameStruct          shift, and go to state 363
+    tDefineString        shift, and go to state 364
+    tPhysical            shift, and go to state 393
+    tGetStringValue      shift, and go to state 365
+    tGetEnv              shift, and go to state 366
+    tGetString           shift, and go to state 367
+    tGetForcedStr        shift, and go to state 368
+    tGmshExecutableName  shift, and go to state 369
+    tNameToString        shift, and go to state 370
+    tStringToName        shift, and go to state 107
+
+    StringExprVar  go to state 1474
+    StringExpr     go to state 419
+    StringIndex    go to state 131
+    String__Index  go to state 420
+
+
+state 1253
+
+  556 StringExpr: tGetForcedStr '(' Struct_FullName GetForcedStr_Default . ')'
+
+    ')'  shift, and go to state 1475
+
+
+state 1254
+
+  547 StringExpr: tNameToString '[' String__Index ']' .
+
+    $default  reduce using rule 547 (StringExpr)
+
+
+state 1255
+
+  260 Slide: tSlide '(' '{' RecursiveListOfDouble '}' . ',' StringExpr ',' StringExpr ')' tEND
+
+    ','  shift, and go to state 1476
+
+
+state 1256
+
+  234 SetPartition: tSetPartition FExpr '{' ListOfShapes '}' .
+
+    $default  reduce using rule 234 (SetPartition)
+
+
+state 1257
+
+  584 StringIndex: tStringToName '[' StringExprVar ']' '~' . '{' FExpr '}'
+
+    '{'  shift, and go to state 1477
+
+
+state 1258
+
+  315 BooleanShape: BooleanOperator '(' FExpr ')' tAFFECT . '{' ListOfShapes BooleanOption '}' '{' ListOfShapes BooleanOption '}' tEND
+
+    '{'  shift, and go to state 1478
+
+
+state 1259
+
+  310 BooleanOption: tRecursive tDelete . tEND
+  312              | tRecursive tDelete . FExpr tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tEND                 shift, and go to state 1479
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1480
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1260
+
+  309 BooleanOption: tDelete tEND .
+
+    $default  reduce using rule 309 (BooleanOption)
+
+
+state 1261
+
+  311 BooleanOption: tDelete FExpr . tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    tEND             shift, and go to state 1481
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+
+
+state 1262
+
+  313 Boolean: BooleanOperator '{' ListOfShapes BooleanOption '}' . '{' ListOfShapes BooleanOption '}'
+
+    '{'  shift, and go to state 1482
+
+
+state 1263
+
+  365 Homology: HomologyCommand '(' ListOfDouble ')' '{' . ListOfDouble ',' ListOfDouble '}' tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 247
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '{'                   shift, and go to state 250
+    '#'                   shift, and go to state 251
+
+    Transform        go to state 252
+    Extrude          go to state 253
+    BooleanOperator  go to state 254
+    Boolean          go to state 255
+    FExpr            go to state 256
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    ListOfDouble     go to state 1483
+    FExpr_Multi      go to state 261
+    StringIndex      go to state 131
+    String__Index    go to state 262
+
+
+state 1264
+
+  363 Homology: HomologyCommand '{' ListOfDouble '}' tEND .
+
+    $default  reduce using rule 363 (Homology)
+
+
+state 1265
+
+  364 Homology: HomologyCommand '{' ListOfDouble ',' ListOfDouble . '}' tEND
+
+    '}'  shift, and go to state 1484
+
+
+state 1266
+
+  583 StringIndex: StringIndex '~' '{' FExpr '}' .
+
+    $default  reduce using rule 583 (StringIndex)
+
+
+state 1267
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  542 StringExprVar: tPhysical tPoint '{' FExpr . '}'
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    '}'              shift, and go to state 1485
+
+
+state 1268
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  543 StringExprVar: tPhysical tLine '{' FExpr . '}'
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    '}'              shift, and go to state 1486
+
+
+state 1269
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  544 StringExprVar: tPhysical tSurface '{' FExpr . '}'
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    '}'              shift, and go to state 1487
+
+
+state 1270
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  545 StringExprVar: tPhysical tVolume '{' FExpr . '}'
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    '}'              shift, and go to state 1488
+
+
+state 1271
+
+  100 Affectation: String__Index tField tAFFECT FExpr tEND .
+
+    $default  reduce using rule 100 (Affectation)
+
+
+state 1272
+
+   62 NumericAffectation: tAFFECT .
+
+    $default  reduce using rule 62 (NumericAffectation)
+
+
+state 1273
+
+   84 Affectation: String__Index '(' FExpr ')' NumericAffectation . FExpr tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1489
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1274
+
+   85 Affectation: String__Index '(' FExpr ')' NumericIncrement . tEND
+
+    tEND  shift, and go to state 1490
+
+
+state 1275
+
+   91 Affectation: String__Index '[' FExpr ']' '.' . tSTRING tAFFECT StringExpr tEND
+   93            | String__Index '[' FExpr ']' '.' . tSTRING NumericAffectation FExpr tEND
+   95            | String__Index '[' FExpr ']' '.' . tSTRING NumericIncrement tEND
+   97            | String__Index '[' FExpr ']' '.' . tColor '.' tSTRING tAFFECT ColorExpr tEND
+   99            | String__Index '[' FExpr ']' '.' . tColorTable tAFFECT ListOfColor tEND
+
+    tSTRING      shift, and go to state 1491
+    tColor       shift, and go to state 1492
+    tColorTable  shift, and go to state 1493
+
+
+state 1276
+
+   82 Affectation: String__Index '[' FExpr ']' NumericAffectation . FExpr tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1494
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1277
+
+   83 Affectation: String__Index '[' FExpr ']' NumericIncrement . tEND
+
+    tEND  shift, and go to state 1495
+
+
+state 1278
+
+   90 Affectation: String__Index '.' tSTRING tAFFECT StringExpr . tEND
+
+    tEND  shift, and go to state 1496
+
+
+state 1279
+
+   92 Affectation: String__Index '.' tSTRING NumericAffectation FExpr . tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    tEND             shift, and go to state 1497
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+
+
+state 1280
+
+   94 Affectation: String__Index '.' tSTRING NumericIncrement tEND .
+
+    $default  reduce using rule 94 (Affectation)
+
+
+state 1281
+
+   96 Affectation: String__Index '.' tColor '.' tSTRING . tAFFECT ColorExpr tEND
+
+    tAFFECT  shift, and go to state 1498
+
+
+state 1282
+
+  529 ListOfColor: '{' . RecursiveListOfColor '}'
+
+    tSTRING        shift, and go to state 333
+    tStringToName  shift, and go to state 107
+    '{'            shift, and go to state 334
+
+    ColorExpr             go to state 1499
+    RecursiveListOfColor  go to state 1500
+    StringIndex           go to state 131
+    String__Index         go to state 336
+
+
+state 1283
+
+   98 Affectation: String__Index '.' tColorTable tAFFECT ListOfColor . tEND
+
+    tEND  shift, and go to state 1501
+
+
+state 1284
+
+  530 ListOfColor: String__Index . '[' FExpr ']' '.' tColorTable
+
+    '['  shift, and go to state 1502
+
+
+state 1285
+
+   81 Affectation: String__Index LP '{' RecursiveListOfDouble '}' . RP NumericAffectation ListOfDouble tEND
+
+    ')'  shift, and go to state 699
+    ']'  shift, and go to state 700
+
+    RP  go to state 1503
+
+
+state 1286
+
+   87 Affectation: String__Index LP RP tAFFECT tStr . LP RP tEND
+   88            | String__Index LP RP tAFFECT tStr . LP RecursiveListOfStringExprVar RP tEND
+
+    '('  shift, and go to state 153
+    '['  shift, and go to state 154
+
+    LP  go to state 1504
+
+
+state 1287
+
+   89 Affectation: String__Index LP RP tAFFECTPLUS tStr . LP RecursiveListOfStringExprVar RP tEND
+
+    '('  shift, and go to state 153
+    '['  shift, and go to state 154
+
+    LP  go to state 1505
+
+
+state 1288
+
+   80 Affectation: String__Index LP RP NumericAffectation ListOfDouble . tEND
+
+    tEND  shift, and go to state 1506
+
+
+state 1289
+
+   49 Element: tSTRING . @1 '(' ElementCoords ')' @2 '{' ElementValues '}' tEND
+
+    $default  reduce using rule 47 (@1)
+
+    @1  go to state 1507
+
+
+state 1290
+
+   53 Text2D: tText2D . '(' FExpr ',' FExpr ',' FExpr ')' @3 '{' Text2DValues '}' tEND
+
+    '('  shift, and go to state 1508
+
+
+state 1291
+
+   57 Text3D: tText3D . '(' FExpr ',' FExpr ',' FExpr ',' FExpr ')' @4 '{' Text3DValues '}' tEND
+
+    '('  shift, and go to state 1509
+
+
+state 1292
+
+   58 InterpolationMatrix: tInterpolationScheme . '{' RecursiveListOfListOfDouble '}' '{' RecursiveListOfListOfDouble '}' tEND
+   59                    | tInterpolationScheme . '{' RecursiveListOfListOfDouble '}' '{' RecursiveListOfListOfDouble '}' '{' RecursiveListOfListOfDouble '}' '{' RecursiveListOfListOfDouble '}' tEND
+
+    '{'  shift, and go to state 1510
+
+
+state 1293
+
+   61 Time: tTime . @5 '{' ElementValues '}' tEND
+
+    $default  reduce using rule 60 (@5)
+
+    @5  go to state 1511
+
+
+state 1294
+
+   33 View: String__Index StringExprVar '{' Views '}' . tEND
+
+    tEND  shift, and go to state 1512
+
+
+state 1295
+
+   38 Views: Views Element .
+
+    $default  reduce using rule 38 (Views)
+
+
+state 1296
+
+   39 Views: Views Text2D .
+
+    $default  reduce using rule 39 (Views)
+
+
+state 1297
+
+   40 Views: Views Text3D .
+
+    $default  reduce using rule 40 (Views)
+
+
+state 1298
+
+   41 Views: Views InterpolationMatrix .
+
+    $default  reduce using rule 41 (Views)
+
+
+state 1299
+
+   42 Views: Views Time .
+
+    $default  reduce using rule 42 (Views)
+
+
+state 1300
+
+  445 FExpr_Single: String__Index tSCOPE String__Index '.' . tSTRING_Member_Float
+  447             | String__Index tSCOPE String__Index '.' . tSTRING_Member_Float '(' FExpr ')'
+  538 StringExprVar: String__Index tSCOPE String__Index '.' . tSTRING_Member_Float
+  540              | String__Index tSCOPE String__Index '.' . tSTRING_Member_Float '(' FExpr ')'
+
+    tSTRING  shift, and go to state 1035
+
+    tSTRING_Member_Float  go to state 1513
+
+
+state 1301
+
+  443 FExpr_Single: String__Index '(' FExpr ')' . NumericIncrement
+  536 StringExprVar: String__Index '(' FExpr ')' .
+
+    tMINUSMINUS  shift, and go to state 399
+    tPLUSPLUS    shift, and go to state 400
+
+    $default  reduce using rule 536 (StringExprVar)
+
+    NumericIncrement  go to state 1385
+
+
+state 1302
+
+  243 Command: String__Index String__Index '[' FExpr ']' . StringExprVar tEND
+  442 FExpr_Single: String__Index '[' FExpr ']' . NumericIncrement
+  448             | String__Index '[' FExpr ']' . '.' tSTRING
+  450             | String__Index '[' FExpr ']' . '.' tSTRING NumericIncrement
+  535 StringExprVar: String__Index '[' FExpr ']' .
+  541              | String__Index '[' FExpr ']' . '.' tSTRING
+
+    tSTRING              shift, and go to state 150
+    tBIGSTR              shift, and go to state 344
+    tStr                 shift, and go to state 345
+    tSprintf             shift, and go to state 346
+    tStrCat              shift, and go to state 347
+    tStrPrefix           shift, and go to state 348
+    tStrRelative         shift, and go to state 349
+    tStrReplace          shift, and go to state 350
+    tAbsolutePath        shift, and go to state 351
+    tDirName             shift, and go to state 352
+    tStrSub              shift, and go to state 353
+    tStrChoice           shift, and go to state 354
+    tUpperCase           shift, and go to state 355
+    tLowerCase           shift, and go to state 356
+    tLowerCaseIn         shift, and go to state 357
+    tToday               shift, and go to state 358
+    tFixRelativePath     shift, and go to state 359
+    tCurrentDirectory    shift, and go to state 360
+    tOnelabAction        shift, and go to state 361
+    tCodeName            shift, and go to state 362
+    tNameStruct          shift, and go to state 363
+    tDefineString        shift, and go to state 364
+    tPhysical            shift, and go to state 393
+    tGetStringValue      shift, and go to state 365
+    tGetEnv              shift, and go to state 366
+    tGetString           shift, and go to state 367
+    tGetForcedStr        shift, and go to state 368
+    tGmshExecutableName  shift, and go to state 369
+    tNameToString        shift, and go to state 370
+    tStringToName        shift, and go to state 107
+    tMINUSMINUS          shift, and go to state 399
+    tPLUSPLUS            shift, and go to state 400
+    '.'                  shift, and go to state 1514
+
+    $default  reduce using rule 535 (StringExprVar)
+
+    NumericIncrement  go to state 1387
+    StringExprVar     go to state 1515
+    StringExpr        go to state 419
+    StringIndex       go to state 131
+    String__Index     go to state 420
+
+
+state 1303
+
+  446 FExpr_Single: String__Index '.' tSTRING_Member_Float '(' . FExpr ')'
+  539 StringExprVar: String__Index '.' tSTRING_Member_Float '(' . FExpr ')'
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1516
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1304
+
+  244 Command: String__Index String__Index String__Index '[' FExpr . ']' tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ']'              shift, and go to state 1517
+
+
+state 1305
+
+  209 ListOfShapes: ListOfShapes tPoint '{' RecursiveListOfDouble . '}' tEND
+  523 RecursiveListOfDouble: RecursiveListOfDouble . ',' FExpr
+  524                      | RecursiveListOfDouble . ',' FExpr_Multi
+
+    '}'  shift, and go to state 1518
+    ','  shift, and go to state 747
+
+
+state 1306
+
+  210 ListOfShapes: ListOfShapes tLine '{' RecursiveListOfDouble . '}' tEND
+  523 RecursiveListOfDouble: RecursiveListOfDouble . ',' FExpr
+  524                      | RecursiveListOfDouble . ',' FExpr_Multi
+
+    '}'  shift, and go to state 1519
+    ','  shift, and go to state 747
+
+
+state 1307
+
+  211 ListOfShapes: ListOfShapes tSurface '{' RecursiveListOfDouble . '}' tEND
+  523 RecursiveListOfDouble: RecursiveListOfDouble . ',' FExpr
+  524                      | RecursiveListOfDouble . ',' FExpr_Multi
+
+    '}'  shift, and go to state 1520
+    ','  shift, and go to state 747
+
+
+state 1308
+
+  212 ListOfShapes: ListOfShapes tVolume '{' RecursiveListOfDouble . '}' tEND
+  523 RecursiveListOfDouble: RecursiveListOfDouble . ',' FExpr
+  524                      | RecursiveListOfDouble . ',' FExpr_Multi
+
+    '}'  shift, and go to state 1521
+    ','  shift, and go to state 747
+
+
+state 1309
+
+  190 Shape: tThruSections '(' FExpr . ')' tAFFECT ListOfDouble tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 1522
+
+
+state 1310
+
+  191 Shape: tRuled tThruSections '(' . FExpr ')' tAFFECT ListOfDouble tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1523
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1311
+
+  167 Shape: tCompound tLine '(' . FExpr ')' tAFFECT ListOfDouble tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1524
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1312
+
+  186 Shape: tCompound tSurface '(' . FExpr ')' tAFFECT ListOfDouble tEND
+  187      | tCompound tSurface '(' . FExpr ')' tAFFECT ListOfDouble tSTRING '{' RecursiveListOfListOfDouble '}' tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1525
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1313
+
+  192 Shape: tCompound tVolume '(' . FExpr ')' tAFFECT ListOfDouble tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1526
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1314
+
+   29 Printf: tPrintf '(' StringExprVar ')' SendToFile StringExprVar . tEND
+
+    tEND  shift, and go to state 1527
+
+
+state 1315
+
+   30 Printf: tPrintf '(' StringExprVar ',' RecursiveListOfDouble ')' . tEND
+   32       | tPrintf '(' StringExprVar ',' RecursiveListOfDouble ')' . SendToFile StringExprVar tEND
+
+    tEND             shift, and go to state 1528
+    '>'              shift, and go to state 1028
+    tGREATERGREATER  shift, and go to state 1029
+
+    SendToFile  go to state 1529
+
+
+state 1316
+
+  538 StringExprVar: String__Index tSCOPE String__Index '.' . tSTRING_Member_Float
+  540              | String__Index tSCOPE String__Index '.' . tSTRING_Member_Float '(' FExpr ')'
+
+    tSTRING  shift, and go to state 1035
+
+    tSTRING_Member_Float  go to state 1530
+
+
+state 1317
+
+  536 StringExprVar: String__Index '(' FExpr ')' .
+
+    $default  reduce using rule 536 (StringExprVar)
+
+
+state 1318
+
+  535 StringExprVar: String__Index '[' FExpr ']' .
+  541              | String__Index '[' FExpr ']' . '.' tSTRING
+
+    '.'  shift, and go to state 1531
+
+    $default  reduce using rule 535 (StringExprVar)
+
+
+state 1319
+
+  539 StringExprVar: String__Index '.' tSTRING_Member_Float '(' . FExpr ')'
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1532
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1320
+
+   31 Printf: tError '(' StringExprVar ',' RecursiveListOfDouble ')' . tEND
+
+    tEND  shift, and go to state 1533
+
+
+state 1321
+
+  253 Command: tBoundingBox '{' FExpr ',' FExpr ',' . FExpr ',' FExpr ',' FExpr ',' FExpr '}' tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1534
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1322
+
+  112 DefineConstants: DefineConstants Comma String__Index tAFFECT . FExpr
+  114                | DefineConstants Comma String__Index tAFFECT . '{' ListOfDouble @6 FloatParameterOptionsOrNone '}'
+  117                | DefineConstants Comma String__Index tAFFECT . StringExpr
+  119                | DefineConstants Comma String__Index tAFFECT . '{' StringExpr @8 CharParameterOptionsOrNone '}'
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tBIGSTR              shift, and go to state 344
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStr                 shift, and go to state 345
+    tSprintf             shift, and go to state 346
+    tStrCat              shift, and go to state 347
+    tStrPrefix           shift, and go to state 348
+    tStrRelative         shift, and go to state 349
+    tStrReplace          shift, and go to state 350
+    tAbsolutePath        shift, and go to state 351
+    tDirName             shift, and go to state 352
+    tStrSub              shift, and go to state 353
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tStrChoice           shift, and go to state 354
+    tUpperCase           shift, and go to state 355
+    tLowerCase           shift, and go to state 356
+    tLowerCaseIn         shift, and go to state 357
+    tTextAttributes      shift, and go to state 224
+    tToday               shift, and go to state 358
+    tFixRelativePath     shift, and go to state 359
+    tCurrentDirectory    shift, and go to state 360
+    tOnelabAction        shift, and go to state 361
+    tCodeName            shift, and go to state 362
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tNameStruct          shift, and go to state 363
+    tDimNameSpace        shift, and go to state 229
+    tDefineString        shift, and go to state 364
+    tGetValue            shift, and go to state 237
+    tGetStringValue      shift, and go to state 365
+    tGetEnv              shift, and go to state 366
+    tGetString           shift, and go to state 367
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGetForcedStr        shift, and go to state 368
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tGmshExecutableName  shift, and go to state 369
+    tNameToString        shift, and go to state 370
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '{'                  shift, and go to state 1535
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1536
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringExpr       go to state 1537
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1323
+
+  116 DefineConstants: DefineConstants Comma String__Index LP . RP tAFFECT '{' ListOfDouble @7 FloatParameterOptionsOrNone '}'
+
+    ')'  shift, and go to state 699
+    ']'  shift, and go to state 700
+
+    RP  go to state 1538
+
+
+state 1324
+
+  131 FloatParameterOption: tSTRING . ListOfDouble
+  132                     | tSTRING .
+  133                     | tSTRING . '{' Enumeration '}'
+  134                     | tSTRING . StringExpr
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tBIGSTR               shift, and go to state 344
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStr                  shift, and go to state 345
+    tSprintf              shift, and go to state 346
+    tStrCat               shift, and go to state 347
+    tStrPrefix            shift, and go to state 348
+    tStrRelative          shift, and go to state 349
+    tStrReplace           shift, and go to state 350
+    tAbsolutePath         shift, and go to state 351
+    tDirName              shift, and go to state 352
+    tStrSub               shift, and go to state 353
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tStrChoice            shift, and go to state 354
+    tUpperCase            shift, and go to state 355
+    tLowerCase            shift, and go to state 356
+    tLowerCaseIn          shift, and go to state 357
+    tTextAttributes       shift, and go to state 224
+    tToday                shift, and go to state 358
+    tFixRelativePath      shift, and go to state 359
+    tCurrentDirectory     shift, and go to state 360
+    tOnelabAction         shift, and go to state 361
+    tCodeName             shift, and go to state 362
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tNameStruct           shift, and go to state 363
+    tDimNameSpace         shift, and go to state 229
+    tDefineString         shift, and go to state 364
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetStringValue       shift, and go to state 365
+    tGetEnv               shift, and go to state 366
+    tGetString            shift, and go to state 367
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGetForcedStr         shift, and go to state 368
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tGmshExecutableName   shift, and go to state 369
+    tNameToString         shift, and go to state 370
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 247
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '{'                   shift, and go to state 1539
+    '#'                   shift, and go to state 251
+
+    $default  reduce using rule 132 (FloatParameterOption)
+
+    Transform        go to state 252
+    Extrude          go to state 253
+    BooleanOperator  go to state 254
+    Boolean          go to state 255
+    FExpr            go to state 256
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    ListOfDouble     go to state 1540
+    FExpr_Multi      go to state 261
+    StringExpr       go to state 1541
+    StringIndex      go to state 131
+    String__Index    go to state 262
+
+
+state 1325
+
+  462 DefineStruct: tDefineStruct Struct_FullName AppendOrNot @14 '[' FloatParameterOptionsOrNone_NoComma . ']'
+
+    ']'  shift, and go to state 1542
+
+
+state 1326
+
+  128 FloatParameterOptionsOrNone_NoComma: FloatParameterOptions .
+  130 FloatParameterOptions: FloatParameterOptions . ',' FloatParameterOption
+
+    ','  shift, and go to state 1543
+
+    $default  reduce using rule 128 (FloatParameterOptionsOrNone_NoComma)
+
+
+state 1327
+
+  129 FloatParameterOptions: FloatParameterOption .
+
+    $default  reduce using rule 129 (FloatParameterOptions)
+
+
+state 1328
+
+   76 Affectation: tSetNumber LP StringExpr ',' FExpr RP . tEND
+
+    tEND  shift, and go to state 1544
+
+
+state 1329
+
+   77 Affectation: tSetString LP String__Index ',' StringExpr RP . tEND
+
+    tEND  shift, and go to state 1545
+
+
+state 1330
+
+  159 Shape: tPoint '(' FExpr ')' tAFFECT VExpr . tEND
+  473 VExpr: VExpr . '-' VExpr
+  474      | VExpr . '+' VExpr
+
+    tEND  shift, and go to state 1546
+    '+'   shift, and go to state 592
+    '-'   shift, and go to state 593
+
+
+state 1331
+
+  342 Constraints: tPoint '{' RecursiveListOfDouble '}' tIn tSurface . '{' FExpr '}' tEND
+
+    '{'  shift, and go to state 1547
+
+
+state 1332
+
+  344 Constraints: tPoint '{' RecursiveListOfDouble '}' tIn tVolume . '{' FExpr '}' tEND
+
+    '{'  shift, and go to state 1548
+
+
+state 1333
+
+  162 Shape: tCircle '(' FExpr ')' tAFFECT ListOfDouble . CircleOptions tEND
+
+    tPlane  shift, and go to state 1549
+
+    $default  reduce using rule 157 (CircleOptions)
+
+    CircleOptions  go to state 1550
+
+
+state 1334
+
+  163 Shape: tEllipse '(' FExpr ')' tAFFECT ListOfDouble . CircleOptions tEND
+
+    tPlane  shift, and go to state 1549
+
+    $default  reduce using rule 157 (CircleOptions)
+
+    CircleOptions  go to state 1551
+
+
+state 1335
+
+  169 Shape: tLine tSTRING '(' FExpr ')' tAFFECT . ListOfDouble tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 247
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '{'                   shift, and go to state 250
+    '#'                   shift, and go to state 251
+
+    Transform        go to state 252
+    Extrude          go to state 253
+    BooleanOperator  go to state 254
+    Boolean          go to state 255
+    FExpr            go to state 256
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    ListOfDouble     go to state 1552
+    FExpr_Multi      go to state 261
+    StringIndex      go to state 131
+    String__Index    go to state 262
+
+
+state 1336
+
+  160 Shape: tLine '(' FExpr ')' tAFFECT ListOfDouble . tEND
+
+    tEND  shift, and go to state 1553
+
+
+state 1337
+
+  343 Constraints: tLine '{' RecursiveListOfDouble '}' tIn tSurface . '{' FExpr '}' tEND
+
+    '{'  shift, and go to state 1554
+
+
+state 1338
+
+  345 Constraints: tLine '{' RecursiveListOfDouble '}' tIn tVolume . '{' FExpr '}' tEND
+
+    '{'  shift, and go to state 1555
+
+
+state 1339
+
+  176 Shape: tSphere '(' FExpr ')' tAFFECT ListOfDouble . tEND
+
+    tEND  shift, and go to state 1556
+
+
+state 1340
+
+  177 Shape: tPolarSphere '(' FExpr ')' tAFFECT ListOfDouble . tEND
+
+    tEND  shift, and go to state 1557
+
+
+state 1341
+
+  188 Shape: tSurface tSTRING '(' FExpr ')' tAFFECT . ListOfDouble tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 247
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '{'                   shift, and go to state 250
+    '#'                   shift, and go to state 251
+
+    Transform        go to state 252
+    Extrude          go to state 253
+    BooleanOperator  go to state 254
+    Boolean          go to state 255
+    FExpr            go to state 256
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    ListOfDouble     go to state 1558
+    FExpr_Multi      go to state 261
+    StringIndex      go to state 131
+    String__Index    go to state 262
+
+
+state 1342
+
+  171 Shape: tSurface '(' FExpr ')' tAFFECT ListOfDouble . InSphereCenter tEND
+
+    tIn  shift, and go to state 1559
+
+    $default  reduce using rule 155 (InSphereCenter)
+
+    InSphereCenter  go to state 1560
+
+
+state 1343
+
+  346 Constraints: tSurface '{' RecursiveListOfDouble '}' tIn tVolume . '{' FExpr '}' tEND
+
+    '{'  shift, and go to state 1561
+
+
+state 1344
+
+  161 Shape: tSpline '(' FExpr ')' tAFFECT ListOfDouble . tEND
+
+    tEND  shift, and go to state 1562
+
+
+state 1345
+
+  189 Shape: tVolume '(' FExpr ')' tAFFECT ListOfDouble . tEND
+
+    tEND  shift, and go to state 1563
+
+
+state 1346
+
+  178 Shape: tBlock '(' FExpr ')' tAFFECT ListOfDouble . tEND
+
+    tEND  shift, and go to state 1564
+
+
+state 1347
+
+  182 Shape: tCylinder '(' FExpr ')' tAFFECT ListOfDouble . tEND
+
+    tEND  shift, and go to state 1565
+
+
+state 1348
+
+  183 Shape: tCone '(' FExpr ')' tAFFECT ListOfDouble . tEND
+
+    tEND  shift, and go to state 1566
+
+
+state 1349
+
+  179 Shape: tTorus '(' FExpr ')' tAFFECT ListOfDouble . tEND
+
+    tEND  shift, and go to state 1567
+
+
+state 1350
+
+  180 Shape: tRectangle '(' FExpr ')' tAFFECT ListOfDouble . tEND
+
+    tEND  shift, and go to state 1568
+
+
+state 1351
+
+  181 Shape: tDisk '(' FExpr ')' tAFFECT ListOfDouble . tEND
+
+    tEND  shift, and go to state 1569
+
+
+state 1352
+
+  168 Shape: tWire '(' FExpr ')' tAFFECT ListOfDouble . tEND
+
+    tEND  shift, and go to state 1570
+
+
+state 1353
+
+  326 Constraints: tCharacteristic tLength ListOfDouble tAFFECT FExpr tEND .
+
+    $default  reduce using rule 326 (Constraints)
+
+
+state 1354
+
+  175 Shape: tParametric tSurface '(' FExpr ')' tAFFECT . tBIGSTR tBIGSTR tBIGSTR tEND
+
+    tBIGSTR  shift, and go to state 1571
+
+
+state 1355
+
+  259 Command: tAdaptMesh '{' RecursiveListOfDouble '}' '{' RecursiveListOfDouble . '}' '{' RecursiveListOfListOfDouble '}' '{' FExpr ',' FExpr '}' tEND
+  523 RecursiveListOfDouble: RecursiveListOfDouble . ',' FExpr
+  524                      | RecursiveListOfDouble . ',' FExpr_Multi
+
+    '}'  shift, and go to state 1572
+    ','  shift, and go to state 747
+
+
+state 1356
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  400      | tAtan2 LP FExpr ',' FExpr . RP
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 699
+    ']'              shift, and go to state 700
+
+    RP  go to state 1573
+
+
+state 1357
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  409      | tFmod LP FExpr ',' FExpr . RP
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 699
+    ']'              shift, and go to state 700
+
+    RP  go to state 1574
+
+
+state 1358
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  410      | tModulo LP FExpr ',' FExpr . RP
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 699
+    ']'              shift, and go to state 700
+
+    RP  go to state 1575
+
+
+state 1359
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  411      | tHypot LP FExpr ',' FExpr . RP
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 699
+    ']'              shift, and go to state 700
+
+    RP  go to state 1576
+
+
+state 1360
+
+  513 FExpr_Multi: tList LP '{' RecursiveListOfDouble '}' . RP
+
+    ')'  shift, and go to state 699
+    ']'  shift, and go to state 700
+
+    RP  go to state 1577
+
+
+state 1361
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  515 FExpr_Multi: tLinSpace LP FExpr ',' FExpr . ',' FExpr RP
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ','              shift, and go to state 1578
+
+
+state 1362
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  516 FExpr_Multi: tLogSpace LP FExpr ',' FExpr . ',' FExpr RP
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ','              shift, and go to state 1579
+
+
+state 1363
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  518 FExpr_Multi: tCatenary LP FExpr ',' FExpr . ',' FExpr ',' FExpr ',' FExpr ',' FExpr RP
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ','              shift, and go to state 1580
+
+
+state 1364
+
+  452 FExpr_Single: tFind '(' ListOfDouble ',' ListOfDouble . ')'
+
+    ')'  shift, and go to state 1581
+
+
+state 1365
+
+  453 FExpr_Single: tStrFind LP StringExprVar ',' StringExprVar . RP
+
+    ')'  shift, and go to state 699
+    ']'  shift, and go to state 700
+
+    RP  go to state 1582
+
+
+state 1366
+
+  455 FExpr_Single: tStrCmp LP StringExprVar ',' StringExprVar . RP
+
+    ')'  shift, and go to state 699
+    ']'  shift, and go to state 700
+
+    RP  go to state 1583
+
+
+state 1367
+
+  126 FloatParameterOptionsOrNone: ',' . FloatParameterOptions
+
+    tSTRING  shift, and go to state 1324
+
+    FloatParameterOptions  go to state 1584
+    FloatParameterOption   go to state 1327
+
+
+state 1368
+
+  425 FExpr_Single: tDefineNumber LP FExpr @13 FloatParameterOptionsOrNone . RP
+
+    ')'  shift, and go to state 699
+    ']'  shift, and go to state 700
+
+    RP  go to state 1585
+
+
+state 1369
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  502 FExpr_Multi: tPoint tIn tBoundingBox '{' FExpr . ',' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr '}'
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ','              shift, and go to state 1586
+
+
+state 1370
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  503 FExpr_Multi: tLine tIn tBoundingBox '{' FExpr . ',' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr '}'
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ','              shift, and go to state 1587
+
+
+state 1371
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  504 FExpr_Multi: tSurface tIn tBoundingBox '{' FExpr . ',' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr '}'
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ','              shift, and go to state 1588
+
+
+state 1372
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  505 FExpr_Multi: tVolume tIn tBoundingBox '{' FExpr . ',' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr '}'
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ','              shift, and go to state 1589
+
+
+state 1373
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  451 FExpr_Single: tGetValue '(' StringExprVar ',' FExpr . ')'
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 1590
+
+
+state 1374
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  428 FExpr_Single: tGetNumber LP StringExprVar ',' FExpr . RP
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 699
+    ']'              shift, and go to state 700
+
+    RP  go to state 1591
+
+
+state 1375
+
+  433 FExpr_Single: tExists '(' Struct_FullName '.' tSTRING_Member_Float . ')'
+
+    ')'  shift, and go to state 1592
+
+
+state 1376
+
+  435 FExpr_Single: tGetForced '(' Struct_FullName '.' tSTRING_Member_Float . GetForced_Default ')'
+
+    ','  shift, and go to state 1130
+
+    $default  reduce using rule 457 (GetForced_Default)
+
+    GetForced_Default  go to state 1593
+
+
+state 1377
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  458 GetForced_Default: ',' FExpr .
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+
+    $default  reduce using rule 458 (GetForced_Default)
+
+
+state 1378
+
+  434 FExpr_Single: tGetForced '(' Struct_FullName GetForced_Default ')' .
+
+    $default  reduce using rule 434 (FExpr_Single)
+
+
+state 1379
+
+  190 Shape: tThruSections '(' FExpr ')' tAFFECT ListOfDouble . tEND
+
+    tEND  shift, and go to state 1594
+
+
+state 1380
+
+  438 FExpr_Single: '#' Struct_FullName '.' tSTRING_Member_Float '(' . ')'
+
+    ')'  shift, and go to state 1595
+
+
+state 1381
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  492 FExpr_Multi: FExpr tDOTS FExpr tDOTS FExpr .
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+
+    $default  reduce using rule 492 (FExpr_Multi)
+
+
+state 1382
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  389      | FExpr '?' FExpr tDOTS FExpr .
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+
+    $default  reduce using rule 389 (FExpr)
+
+
+state 1383
+
+  486 ListOfDouble: FExpr '*' '{' RecursiveListOfDouble '}' .
+
+    $default  reduce using rule 486 (ListOfDouble)
+
+
+state 1384
+
+  445 FExpr_Single: String__Index tSCOPE String__Index '.' tSTRING_Member_Float .
+  447             | String__Index tSCOPE String__Index '.' tSTRING_Member_Float . '(' FExpr ')'
+
+    '('  shift, and go to state 1596
+
+    $default  reduce using rule 445 (FExpr_Single)
+
+
+state 1385
+
+  443 FExpr_Single: String__Index '(' FExpr ')' NumericIncrement .
+
+    $default  reduce using rule 443 (FExpr_Single)
+
+
+state 1386
+
+  448 FExpr_Single: String__Index '[' FExpr ']' '.' . tSTRING
+  450             | String__Index '[' FExpr ']' '.' . tSTRING NumericIncrement
+
+    tSTRING  shift, and go to state 1597
+
+
+state 1387
+
+  442 FExpr_Single: String__Index '[' FExpr ']' NumericIncrement .
+
+    $default  reduce using rule 442 (FExpr_Single)
+
+
+state 1388
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  446 FExpr_Single: String__Index '.' tSTRING_Member_Float '(' FExpr . ')'
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 1598
+
+
+state 1389
+
+  514 FExpr_Multi: String__Index LP '{' RecursiveListOfDouble '}' . RP
+
+    ')'  shift, and go to state 699
+    ']'  shift, and go to state 700
+
+    RP  go to state 1599
+
+
+state 1390
+
+  184 Shape: tWedge '(' FExpr ')' tAFFECT ListOfDouble . tEND
+
+    tEND  shift, and go to state 1600
+
+
+state 1391
+
+  289 Extrude: tFillet '{' RecursiveListOfDouble '}' '{' RecursiveListOfDouble . '}' '{' FExpr '}'
+  523 RecursiveListOfDouble: RecursiveListOfDouble . ',' FExpr
+  524                      | RecursiveListOfDouble . ',' FExpr_Multi
+
+    '}'  shift, and go to state 1601
+    ','  shift, and go to state 747
+
+
+state 1392
+
+  170 Shape: tPlane tSurface '(' FExpr ')' tAFFECT . ListOfDouble tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 247
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '{'                   shift, and go to state 250
+    '#'                   shift, and go to state 251
+
+    Transform        go to state 252
+    Extrude          go to state 253
+    BooleanOperator  go to state 254
+    Boolean          go to state 255
+    FExpr            go to state 256
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    ListOfDouble     go to state 1602
+    FExpr_Multi      go to state 261
+    StringIndex      go to state 131
+    String__Index    go to state 262
+
+
+state 1393
+
+  172 Shape: tRuled tSurface '(' FExpr ')' tAFFECT . ListOfDouble InSphereCenter tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 247
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '{'                   shift, and go to state 250
+    '#'                   shift, and go to state 251
+
+    Transform        go to state 252
+    Extrude          go to state 253
+    BooleanOperator  go to state 254
+    Boolean          go to state 255
+    FExpr            go to state 256
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    ListOfDouble     go to state 1603
+    FExpr_Multi      go to state 261
+    StringIndex      go to state 131
+    String__Index    go to state 262
+
+
+state 1394
+
+  191 Shape: tRuled tThruSections '(' FExpr ')' tAFFECT . ListOfDouble tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 247
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '{'                   shift, and go to state 250
+    '#'                   shift, and go to state 251
+
+    Transform        go to state 252
+    Extrude          go to state 253
+    BooleanOperator  go to state 254
+    Boolean          go to state 255
+    FExpr            go to state 256
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    ListOfDouble     go to state 1604
+    FExpr_Multi      go to state 261
+    StringIndex      go to state 131
+    String__Index    go to state 262
+
+
+state 1395
+
+  317 TransfiniteType: tUsing . tSTRING FExpr
+
+    tSTRING  shift, and go to state 1605
+
+
+state 1396
+
+  327 Constraints: tTransfinite tLine ListOfDoubleOrAll tAFFECT FExpr TransfiniteType . tEND
+
+    tEND  shift, and go to state 1606
+
+
+state 1397
+
+  328 Constraints: tTransfinite tSurface ListOfDoubleOrAll TransfiniteCorners TransfiniteArrangement tEND .
+
+    $default  reduce using rule 328 (Constraints)
+
+
+state 1398
+
+  193 Shape: tPhysical tPoint '(' PhysicalId0 ')' NumericAffectation . ListOfDouble tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 247
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '{'                   shift, and go to state 250
+    '#'                   shift, and go to state 251
+
+    Transform        go to state 252
+    Extrude          go to state 253
+    BooleanOperator  go to state 254
+    Boolean          go to state 255
+    FExpr            go to state 256
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    ListOfDouble     go to state 1607
+    FExpr_Multi      go to state 261
+    StringIndex      go to state 131
+    String__Index    go to state 262
+
+
+state 1399
+
+  145 PhysicalId0: StringExpr ',' FExpr .
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+
+    $default  reduce using rule 145 (PhysicalId0)
+
+
+state 1400
+
+  194 Shape: tPhysical tLine '(' PhysicalId1 ')' NumericAffectation . ListOfDouble tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 247
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '{'                   shift, and go to state 250
+    '#'                   shift, and go to state 251
+
+    Transform        go to state 252
+    Extrude          go to state 253
+    BooleanOperator  go to state 254
+    Boolean          go to state 255
+    FExpr            go to state 256
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    ListOfDouble     go to state 1608
+    FExpr_Multi      go to state 261
+    StringIndex      go to state 131
+    String__Index    go to state 262
+
+
+state 1401
+
+  148 PhysicalId1: StringExpr ',' FExpr .
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+
+    $default  reduce using rule 148 (PhysicalId1)
+
+
+state 1402
+
+  195 Shape: tPhysical tSurface '(' PhysicalId2 ')' NumericAffectation . ListOfDouble tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 247
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '{'                   shift, and go to state 250
+    '#'                   shift, and go to state 251
+
+    Transform        go to state 252
+    Extrude          go to state 253
+    BooleanOperator  go to state 254
+    Boolean          go to state 255
+    FExpr            go to state 256
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    ListOfDouble     go to state 1609
+    FExpr_Multi      go to state 261
+    StringIndex      go to state 131
+    String__Index    go to state 262
+
+
+state 1403
+
+  151 PhysicalId2: StringExpr ',' FExpr .
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+
+    $default  reduce using rule 151 (PhysicalId2)
+
+
+state 1404
+
+  196 Shape: tPhysical tVolume '(' PhysicalId3 ')' NumericAffectation . ListOfDouble tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 247
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '{'                   shift, and go to state 250
+    '#'                   shift, and go to state 251
+
+    Transform        go to state 252
+    Extrude          go to state 253
+    BooleanOperator  go to state 254
+    Boolean          go to state 255
+    FExpr            go to state 256
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    ListOfDouble     go to state 1610
+    FExpr_Multi      go to state 261
+    StringIndex      go to state 131
+    String__Index    go to state 262
+
+
+state 1405
+
+  154 PhysicalId3: StringExpr ',' FExpr .
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+
+    $default  reduce using rule 154 (PhysicalId3)
+
+
+state 1406
+
+  167 Shape: tCompound tLine '(' FExpr ')' tAFFECT . ListOfDouble tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 247
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '{'                   shift, and go to state 250
+    '#'                   shift, and go to state 251
+
+    Transform        go to state 252
+    Extrude          go to state 253
+    BooleanOperator  go to state 254
+    Boolean          go to state 255
+    FExpr            go to state 256
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    ListOfDouble     go to state 1611
+    FExpr_Multi      go to state 261
+    StringIndex      go to state 131
+    String__Index    go to state 262
+
+
+state 1407
+
+  186 Shape: tCompound tSurface '(' FExpr ')' tAFFECT . ListOfDouble tEND
+  187      | tCompound tSurface '(' FExpr ')' tAFFECT . ListOfDouble tSTRING '{' RecursiveListOfListOfDouble '}' tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 247
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '{'                   shift, and go to state 250
+    '#'                   shift, and go to state 251
+
+    Transform        go to state 252
+    Extrude          go to state 253
+    BooleanOperator  go to state 254
+    Boolean          go to state 255
+    FExpr            go to state 256
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    ListOfDouble     go to state 1612
+    FExpr_Multi      go to state 261
+    StringIndex      go to state 131
+    String__Index    go to state 262
+
+
+state 1408
+
+  192 Shape: tCompound tVolume '(' FExpr ')' tAFFECT . ListOfDouble tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 247
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '{'                   shift, and go to state 250
+    '#'                   shift, and go to state 251
+
+    Transform        go to state 252
+    Extrude          go to state 253
+    BooleanOperator  go to state 254
+    Boolean          go to state 255
+    FExpr            go to state 256
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    ListOfDouble     go to state 1613
+    FExpr_Multi      go to state 261
+    StringIndex      go to state 131
+    String__Index    go to state 262
+
+
+state 1409
+
+  335 Constraints: tPeriodic tLine '{' RecursiveListOfDouble '}' tAFFECT . '{' RecursiveListOfDouble '}' PeriodicTransform tEND
+  337            | tPeriodic tLine '{' RecursiveListOfDouble '}' tAFFECT . '{' RecursiveListOfDouble '}' tRotate '{' VExpr ',' VExpr ',' FExpr '}' tEND
+  339            | tPeriodic tLine '{' RecursiveListOfDouble '}' tAFFECT . '{' RecursiveListOfDouble '}' tTranslate VExpr tEND
+
+    '{'  shift, and go to state 1614
+
+
+state 1410
+
+  336 Constraints: tPeriodic tSurface '{' RecursiveListOfDouble '}' tAFFECT . '{' RecursiveListOfDouble '}' PeriodicTransform tEND
+  338            | tPeriodic tSurface '{' RecursiveListOfDouble '}' tAFFECT . '{' RecursiveListOfDouble '}' tRotate '{' VExpr ',' VExpr ',' FExpr '}' tEND
+  340            | tPeriodic tSurface '{' RecursiveListOfDouble '}' tAFFECT . '{' RecursiveListOfDouble '}' tTranslate VExpr tEND
+
+    '{'  shift, and go to state 1615
+
+
+state 1411
+
+  341 Constraints: tPeriodic tSurface FExpr '{' RecursiveListOfDouble '}' . tAFFECT FExpr '{' RecursiveListOfDouble '}' tEND
+
+    tAFFECT  shift, and go to state 1616
+
+
+state 1412
+
+  106 Affectation: tPlugin '(' tSTRING ')' '.' tSTRING . tAFFECT FExpr tEND
+  107            | tPlugin '(' tSTRING ')' '.' tSTRING . tAFFECT StringExpr tEND
+  246 Command: tPlugin '(' tSTRING ')' '.' tSTRING . tEND
+
+    tEND     shift, and go to state 1617
+    tAFFECT  shift, and go to state 1618
+
+
+state 1413
+
+  233 Colorify: tRecursive tColor ColorExpr '{' ListOfShapes '}' .
+
+    $default  reduce using rule 233 (Colorify)
+
+
+state 1414
+
+  198 Transform: tRotate '{' VExpr ',' VExpr ',' . FExpr '}' '{' MultipleShape '}'
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1619
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1415
+
+  478 VExpr_Single: '(' FExpr ',' FExpr ',' . FExpr ')'
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1620
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1416
+
+  475 VExpr_Single: '{' FExpr ',' FExpr ',' . FExpr ',' FExpr ',' FExpr '}'
+  476             | '{' FExpr ',' FExpr ',' . FExpr ',' FExpr '}'
+  477             | '{' FExpr ',' FExpr ',' . FExpr '}'
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1621
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1417
+
+  200 Transform: tDilate '{' VExpr ',' FExpr '}' . '{' MultipleShape '}'
+
+    '{'  shift, and go to state 1622
+
+
+state 1418
+
+  201 Transform: tDilate '{' VExpr ',' VExpr '}' . '{' MultipleShape '}'
+
+    '{'  shift, and go to state 1623
+
+
+state 1419
+
+  286 Extrude: tExtrude '{' ListOfShapes '}' tUsing tWire . '{' FExpr '}'
+
+    '{'  shift, and go to state 1624
+
+
+state 1420
+
+  302 ExtrudeParameter: tUsing tSTRING . '[' FExpr ']' tEND
+
+    '['  shift, and go to state 1625
+
+
+state 1421
+
+  295 ExtrudeParameter: tRecombine tEND .
+
+    $default  reduce using rule 295 (ExtrudeParameter)
+
+
+state 1422
+
+  296 ExtrudeParameter: tRecombine FExpr . tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    tEND             shift, and go to state 1626
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+
+
+state 1423
+
+  292 ExtrudeParameter: tLayers '{' . FExpr '}' tEND
+  293                 | tLayers '{' . ListOfDouble ',' ListOfDouble '}' tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 247
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '{'                   shift, and go to state 250
+    '#'                   shift, and go to state 251
+
+    Transform        go to state 252
+    Extrude          go to state 253
+    BooleanOperator  go to state 254
+    Boolean          go to state 255
+    FExpr            go to state 1627
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    ListOfDouble     go to state 1628
+    FExpr_Multi      go to state 261
+    StringIndex      go to state 131
+    String__Index    go to state 262
+
+
+state 1424
+
+  294 ExtrudeParameter: tScaleLast tEND .
+
+    $default  reduce using rule 294 (ExtrudeParameter)
+
+
+state 1425
+
+  301 ExtrudeParameter: tHole '(' . FExpr ')' tAFFECT ListOfDouble tUsing FExpr tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1629
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1426
+
+  297 ExtrudeParameter: tQuadTriAddVerts tEND .
+
+    $default  reduce using rule 297 (ExtrudeParameter)
+
+
+state 1427
+
+  298 ExtrudeParameter: tQuadTriAddVerts tRecombLaterals . tEND
+
+    tEND  shift, and go to state 1630
+
+
+state 1428
+
+  299 ExtrudeParameter: tQuadTriNoNewVerts tEND .
+
+    $default  reduce using rule 299 (ExtrudeParameter)
+
+
+state 1429
+
+  300 ExtrudeParameter: tQuadTriNoNewVerts tRecombLaterals . tEND
+
+    tEND  shift, and go to state 1631
+
+
+state 1430
+
+  285 Extrude: tExtrude '{' ListOfShapes @12 ExtrudeParameters '}' .
+
+    $default  reduce using rule 285 (Extrude)
+
+
+state 1431
+
+  291 ExtrudeParameters: ExtrudeParameters ExtrudeParameter .
+
+    $default  reduce using rule 291 (ExtrudeParameters)
+
+
+state 1432
+
+  276 Extrude: tExtrude '{' VExpr ',' VExpr ',' . FExpr '}' '{' ListOfShapes '}'
+  277        | tExtrude '{' VExpr ',' VExpr ',' . VExpr ',' FExpr '}' '{' ListOfShapes '}'
+  281        | tExtrude '{' VExpr ',' VExpr ',' . FExpr '}' '{' ListOfShapes @10 ExtrudeParameters '}'
+  283        | tExtrude '{' VExpr ',' VExpr ',' . VExpr ',' FExpr '}' '{' ListOfShapes @11 ExtrudeParameters '}'
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 597
+    '-'                  shift, and go to state 598
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 599
+    '{'                  shift, and go to state 290
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1632
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    VExpr            go to state 1633
+    VExpr_Single     go to state 292
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1433
+
+  279 Extrude: tExtrude VExpr '{' ListOfShapes @9 ExtrudeParameters . '}'
+  291 ExtrudeParameters: ExtrudeParameters . ExtrudeParameter
+
+    tUsing              shift, and go to state 1184
+    tRecombine          shift, and go to state 1185
+    tLayers             shift, and go to state 1186
+    tScaleLast          shift, and go to state 1187
+    tHole               shift, and go to state 1188
+    tQuadTriAddVerts    shift, and go to state 1189
+    tQuadTriNoNewVerts  shift, and go to state 1190
+    '}'                 shift, and go to state 1634
+
+    ExtrudeParameter  go to state 1431
+
+
+state 1434
+
+  222 LevelSet: tLevelset tSTRING '(' FExpr ')' tAFFECT . ListOfDouble tEND
+  223         | tLevelset tSTRING '(' FExpr ')' tAFFECT . tBIGSTR tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tBIGSTR               shift, and go to state 1635
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 247
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '{'                   shift, and go to state 250
+    '#'                   shift, and go to state 251
+
+    Transform        go to state 252
+    Extrude          go to state 253
+    BooleanOperator  go to state 254
+    Boolean          go to state 255
+    FExpr            go to state 256
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    ListOfDouble     go to state 1636
+    FExpr_Multi      go to state 261
+    StringIndex      go to state 131
+    String__Index    go to state 262
+
+
+state 1435
+
+  224 LevelSet: tLevelset tSTRING '{' FExpr '}' tEND .
+
+    $default  reduce using rule 224 (LevelSet)
+
+
+state 1436
+
+  214 LevelSet: tLevelset tPoint '(' FExpr ')' tAFFECT . '{' RecursiveListOfListOfDouble '}' tEND
+
+    '{'  shift, and go to state 1637
+
+
+state 1437
+
+  217 LevelSet: tLevelset tSphere '(' FExpr ')' tAFFECT . '{' VExpr ',' RecursiveListOfDouble '}' tEND
+
+    '{'  shift, and go to state 1638
+
+
+state 1438
+
+  218 LevelSet: tLevelset tCylinder '(' FExpr ')' tAFFECT . '{' VExpr ',' VExpr ',' RecursiveListOfDouble '}' tEND
+
+    '{'  shift, and go to state 1639
+
+
+state 1439
+
+  219 LevelSet: tLevelset tCone '(' FExpr ')' tAFFECT . '{' VExpr ',' VExpr ',' RecursiveListOfDouble '}' tEND
+
+    '{'  shift, and go to state 1640
+
+
+state 1440
+
+  220 LevelSet: tLevelset tEllipsoid '(' FExpr ')' tAFFECT . '{' VExpr ',' VExpr ',' RecursiveListOfDouble '}' tEND
+
+    '{'  shift, and go to state 1641
+
+
+state 1441
+
+  221 LevelSet: tLevelset tQuadric '(' FExpr ')' tAFFECT . '{' VExpr ',' VExpr ',' RecursiveListOfDouble '}' tEND
+
+    '{'  shift, and go to state 1642
+
+
+state 1442
+
+  213 LevelSet: tLevelset tPlane '(' FExpr ')' tAFFECT . ListOfDouble tEND
+  215         | tLevelset tPlane '(' FExpr ')' tAFFECT . '{' VExpr ',' VExpr ',' RecursiveListOfDouble '}' tEND
+  216         | tLevelset tPlane '(' FExpr ')' tAFFECT . '{' VExpr ',' VExpr ',' VExpr ',' RecursiveListOfDouble '}' tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 247
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '{'                   shift, and go to state 1643
+    '#'                   shift, and go to state 251
+
+    Transform        go to state 252
+    Extrude          go to state 253
+    BooleanOperator  go to state 254
+    Boolean          go to state 255
+    FExpr            go to state 256
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    ListOfDouble     go to state 1644
+    FExpr_Multi      go to state 261
+    StringIndex      go to state 131
+    String__Index    go to state 262
+
+
+state 1443
+
+  185 Shape: tThickSolid '(' FExpr ')' tAFFECT ListOfDouble . tEND
+
+    tEND  shift, and go to state 1645
+
+
+state 1444
+
+  334 Constraints: tSmoother tSurface ListOfDoubleOrAll tAFFECT FExpr tEND .
+
+    $default  reduce using rule 334 (Constraints)
+
+
+state 1445
+
+  204 Transform: tSplit tLine '(' FExpr ')' '{' . RecursiveListOfDouble '}' tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 433
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '#'                   shift, and go to state 251
+
+    Transform              go to state 252
+    Extrude                go to state 253
+    BooleanOperator        go to state 254
+    Boolean                go to state 255
+    FExpr                  go to state 434
+    FExpr_Single           go to state 257
+    DefineStruct           go to state 258
+    Struct_FullName        go to state 259
+    FExpr_Multi            go to state 435
+    RecursiveListOfDouble  go to state 1646
+    StringIndex            go to state 131
+    String__Index          go to state 262
+
+
+state 1446
+
+  228 Delete: tDelete tSTRING '[' FExpr ']' tEND .
+
+    $default  reduce using rule 228 (Delete)
+
+
+state 1447
+
+  227 Delete: tDelete tField '[' FExpr ']' tEND .
+
+    $default  reduce using rule 227 (Delete)
+
+
+state 1448
+
+  358 Coherence: tCoherence tPoint '{' RecursiveListOfDouble '}' tEND .
+
+    $default  reduce using rule 358 (Coherence)
+
+
+state 1449
+
+  203 Transform: tIntersect tLine '{' RecursiveListOfDouble '}' tSurface . '{' FExpr '}'
+
+    '{'  shift, and go to state 1647
+
+
+state 1450
+
+  331 Constraints: tMeshAlgorithm tSurface '{' RecursiveListOfDouble '}' tAFFECT . FExpr tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1648
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1451
+
+   34 View: tAlias tSTRING '[' FExpr ']' tEND .
+
+    $default  reduce using rule 34 (View)
+
+
+state 1452
+
+   35 View: tAliasWithOptions tSTRING '[' FExpr ']' tEND .
+
+    $default  reduce using rule 35 (View)
+
+
+state 1453
+
+   36 View: tCopyOptions tSTRING '[' FExpr ',' FExpr . ']' tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ']'              shift, and go to state 1649
+
+
+state 1454
+
+  164 Shape: tBSpline '(' FExpr ')' tAFFECT ListOfDouble . tEND
+
+    tEND  shift, and go to state 1650
+
+
+state 1455
+
+  165 Shape: tBezier '(' FExpr ')' tAFFECT ListOfDouble . tEND
+
+    tEND  shift, and go to state 1651
+
+
+state 1456
+
+  166 Shape: tNurbs '(' FExpr ')' tAFFECT ListOfDouble . tNurbsKnots ListOfDouble tNurbsOrder FExpr tEND
+
+    tNurbsKnots  shift, and go to state 1652
+
+
+state 1457
+
+  528 ColorExpr: tSTRING '.' tColor '.' tSTRING .
+
+    $default  reduce using rule 528 (ColorExpr)
+
+
+state 1458
+
+  525 ColorExpr: '{' FExpr ',' FExpr ',' . FExpr ',' FExpr '}'
+  526          | '{' FExpr ',' FExpr ',' . FExpr '}'
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1653
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1459
+
+  263 Loop: tFor tSTRING tIn '{' FExpr tDOTS . FExpr '}'
+  264     | tFor tSTRING tIn '{' FExpr tDOTS . FExpr tDOTS FExpr '}'
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1654
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1460
+
+  262 Loop: tFor '(' FExpr tDOTS FExpr tDOTS . FExpr ')'
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1655
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1461
+
+  261 Loop: tFor '(' FExpr tDOTS FExpr ')' .
+
+    $default  reduce using rule 261 (Loop)
+
+
+state 1462
+
+  101 Affectation: tField '[' FExpr ']' tAFFECT tSTRING . tEND
+
+    tEND  shift, and go to state 1656
+
+
+state 1463
+
+  102 Affectation: tField '[' FExpr ']' '.' tSTRING . tAFFECT FExpr tEND
+  103            | tField '[' FExpr ']' '.' tSTRING . tAFFECT StringExpr tEND
+  104            | tField '[' FExpr ']' '.' tSTRING . tAFFECT '{' RecursiveListOfDouble '}' tEND
+  105            | tField '[' FExpr ']' '.' tSTRING . tEND
+
+    tEND     shift, and go to state 1657
+    tAFFECT  shift, and go to state 1658
+
+
+state 1464
+
+  523 RecursiveListOfDouble: RecursiveListOfDouble . ',' FExpr
+  524                      | RecursiveListOfDouble . ',' FExpr_Multi
+  570 StringExpr: tSprintf LP StringExprVar ',' RecursiveListOfDouble . RP
+
+    ')'  shift, and go to state 699
+    ']'  shift, and go to state 700
+    ','  shift, and go to state 747
+
+    RP  go to state 1659
+
+
+state 1465
+
+  561 StringExpr: tStrReplace '(' StringExprVar ',' StringExprVar . ',' StringExprVar ')'
+
+    ','  shift, and go to state 1660
+
+
+state 1466
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  567 StringExpr: tStrSub LP StringExprVar ',' FExpr . ',' FExpr RP
+  568           | tStrSub LP StringExprVar ',' FExpr . RP
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 699
+    ']'              shift, and go to state 700
+    ','              shift, and go to state 1661
+
+    RP  go to state 1662
+
+
+state 1467
+
+  566 StringExpr: tStrChoice LP FExpr ',' StringExprVar . ',' StringExprVar RP
+
+    ','  shift, and go to state 1663
+
+
+state 1468
+
+  579 NameStruct_Arg: String__Index tSCOPE '#' . FExpr
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1664
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1469
+
+  136 CharParameterOptionsOrNone: ',' . CharParameterOptions
+
+    tSTRING  shift, and go to state 1665
+    tMacro   shift, and go to state 1666
+
+    CharParameterOptions  go to state 1667
+    CharParameterOption   go to state 1668
+
+
+state 1470
+
+  576 StringExpr: tDefineString LP StringExpr @15 CharParameterOptionsOrNone . RP
+
+    ')'  shift, and go to state 699
+    ']'  shift, and go to state 700
+
+    RP  go to state 1669
+
+
+state 1471
+
+  553 StringExpr: tGetStringValue '(' StringExprVar ',' StringExprVar . ')'
+
+    ')'  shift, and go to state 1670
+
+
+state 1472
+
+  555 StringExpr: tGetString LP StringExprVar ',' StringExprVar . RP
+
+    ')'  shift, and go to state 699
+    ']'  shift, and go to state 700
+
+    RP  go to state 1671
+
+
+state 1473
+
+  557 StringExpr: tGetForcedStr '(' Struct_FullName '.' tSTRING_Member_Float . GetForcedStr_Default ')'
+
+    ','  shift, and go to state 1252
+
+    $default  reduce using rule 459 (GetForcedStr_Default)
+
+    GetForcedStr_Default  go to state 1672
+
+
+state 1474
+
+  460 GetForcedStr_Default: ',' StringExprVar .
+
+    $default  reduce using rule 460 (GetForcedStr_Default)
+
+
+state 1475
+
+  556 StringExpr: tGetForcedStr '(' Struct_FullName GetForcedStr_Default ')' .
+
+    $default  reduce using rule 556 (StringExpr)
+
+
+state 1476
+
+  260 Slide: tSlide '(' '{' RecursiveListOfDouble '}' ',' . StringExpr ',' StringExpr ')' tEND
+
+    tBIGSTR              shift, and go to state 344
+    tStr                 shift, and go to state 345
+    tSprintf             shift, and go to state 346
+    tStrCat              shift, and go to state 347
+    tStrPrefix           shift, and go to state 348
+    tStrRelative         shift, and go to state 349
+    tStrReplace          shift, and go to state 350
+    tAbsolutePath        shift, and go to state 351
+    tDirName             shift, and go to state 352
+    tStrSub              shift, and go to state 353
+    tStrChoice           shift, and go to state 354
+    tUpperCase           shift, and go to state 355
+    tLowerCase           shift, and go to state 356
+    tLowerCaseIn         shift, and go to state 357
+    tToday               shift, and go to state 358
+    tFixRelativePath     shift, and go to state 359
+    tCurrentDirectory    shift, and go to state 360
+    tOnelabAction        shift, and go to state 361
+    tCodeName            shift, and go to state 362
+    tNameStruct          shift, and go to state 363
+    tDefineString        shift, and go to state 364
+    tGetStringValue      shift, and go to state 365
+    tGetEnv              shift, and go to state 366
+    tGetString           shift, and go to state 367
+    tGetForcedStr        shift, and go to state 368
+    tGmshExecutableName  shift, and go to state 369
+    tNameToString        shift, and go to state 370
+
+    StringExpr  go to state 1673
+
+
+state 1477
+
+  584 StringIndex: tStringToName '[' StringExprVar ']' '~' '{' . FExpr '}'
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1674
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1478
+
+  315 BooleanShape: BooleanOperator '(' FExpr ')' tAFFECT '{' . ListOfShapes BooleanOption '}' '{' ListOfShapes BooleanOption '}' tEND
+
+    $default  reduce using rule 207 (ListOfShapes)
+
+    ListOfShapes  go to state 1675
+
+
+state 1479
+
+  310 BooleanOption: tRecursive tDelete tEND .
+
+    $default  reduce using rule 310 (BooleanOption)
+
+
+state 1480
+
+  312 BooleanOption: tRecursive tDelete FExpr . tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    tEND             shift, and go to state 1676
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+
+
+state 1481
+
+  311 BooleanOption: tDelete FExpr tEND .
+
+    $default  reduce using rule 311 (BooleanOption)
+
+
+state 1482
+
+  313 Boolean: BooleanOperator '{' ListOfShapes BooleanOption '}' '{' . ListOfShapes BooleanOption '}'
+
+    $default  reduce using rule 207 (ListOfShapes)
+
+    ListOfShapes  go to state 1677
+
+
+state 1483
+
+  365 Homology: HomologyCommand '(' ListOfDouble ')' '{' ListOfDouble . ',' ListOfDouble '}' tEND
+
+    ','  shift, and go to state 1678
+
+
+state 1484
+
+  364 Homology: HomologyCommand '{' ListOfDouble ',' ListOfDouble '}' . tEND
+
+    tEND  shift, and go to state 1679
+
+
+state 1485
+
+  542 StringExprVar: tPhysical tPoint '{' FExpr '}' .
+
+    $default  reduce using rule 542 (StringExprVar)
+
+
+state 1486
+
+  543 StringExprVar: tPhysical tLine '{' FExpr '}' .
+
+    $default  reduce using rule 543 (StringExprVar)
+
+
+state 1487
+
+  544 StringExprVar: tPhysical tSurface '{' FExpr '}' .
+
+    $default  reduce using rule 544 (StringExprVar)
+
+
+state 1488
+
+  545 StringExprVar: tPhysical tVolume '{' FExpr '}' .
+
+    $default  reduce using rule 545 (StringExprVar)
+
+
+state 1489
+
+   84 Affectation: String__Index '(' FExpr ')' NumericAffectation FExpr . tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    tEND             shift, and go to state 1680
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+
+
+state 1490
+
+   85 Affectation: String__Index '(' FExpr ')' NumericIncrement tEND .
+
+    $default  reduce using rule 85 (Affectation)
+
+
+state 1491
+
+   91 Affectation: String__Index '[' FExpr ']' '.' tSTRING . tAFFECT StringExpr tEND
+   93            | String__Index '[' FExpr ']' '.' tSTRING . NumericAffectation FExpr tEND
+   95            | String__Index '[' FExpr ']' '.' tSTRING . NumericIncrement tEND
+
+    tAFFECT        shift, and go to state 1681
+    tAFFECTDIVIDE  shift, and go to state 395
+    tAFFECTTIMES   shift, and go to state 396
+    tAFFECTMINUS   shift, and go to state 397
+    tAFFECTPLUS    shift, and go to state 398
+    tMINUSMINUS    shift, and go to state 399
+    tPLUSPLUS      shift, and go to state 400
+
+    NumericAffectation  go to state 1682
+    NumericIncrement    go to state 1683
+
+
+state 1492
+
+   97 Affectation: String__Index '[' FExpr ']' '.' tColor . '.' tSTRING tAFFECT ColorExpr tEND
+
+    '.'  shift, and go to state 1684
+
+
+state 1493
+
+   99 Affectation: String__Index '[' FExpr ']' '.' tColorTable . tAFFECT ListOfColor tEND
+
+    tAFFECT  shift, and go to state 1685
+
+
+state 1494
+
+   82 Affectation: String__Index '[' FExpr ']' NumericAffectation FExpr . tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    tEND             shift, and go to state 1686
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+
+
+state 1495
+
+   83 Affectation: String__Index '[' FExpr ']' NumericIncrement tEND .
+
+    $default  reduce using rule 83 (Affectation)
+
+
+state 1496
+
+   90 Affectation: String__Index '.' tSTRING tAFFECT StringExpr tEND .
+
+    $default  reduce using rule 90 (Affectation)
+
+
+state 1497
+
+   92 Affectation: String__Index '.' tSTRING NumericAffectation FExpr tEND .
+
+    $default  reduce using rule 92 (Affectation)
+
+
+state 1498
+
+   96 Affectation: String__Index '.' tColor '.' tSTRING tAFFECT . ColorExpr tEND
+
+    tSTRING        shift, and go to state 333
+    tStringToName  shift, and go to state 107
+    '{'            shift, and go to state 334
+
+    ColorExpr      go to state 1687
+    StringIndex    go to state 131
+    String__Index  go to state 336
+
+
+state 1499
+
+  531 RecursiveListOfColor: ColorExpr .
+
+    $default  reduce using rule 531 (RecursiveListOfColor)
+
+
+state 1500
+
+  529 ListOfColor: '{' RecursiveListOfColor . '}'
+  532 RecursiveListOfColor: RecursiveListOfColor . ',' ColorExpr
+
+    '}'  shift, and go to state 1688
+    ','  shift, and go to state 1689
+
+
+state 1501
+
+   98 Affectation: String__Index '.' tColorTable tAFFECT ListOfColor tEND .
+
+    $default  reduce using rule 98 (Affectation)
+
+
+state 1502
+
+  530 ListOfColor: String__Index '[' . FExpr ']' '.' tColorTable
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1690
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1503
+
+   81 Affectation: String__Index LP '{' RecursiveListOfDouble '}' RP . NumericAffectation ListOfDouble tEND
+
+    tAFFECT        shift, and go to state 1272
+    tAFFECTDIVIDE  shift, and go to state 395
+    tAFFECTTIMES   shift, and go to state 396
+    tAFFECTMINUS   shift, and go to state 397
+    tAFFECTPLUS    shift, and go to state 398
+
+    NumericAffectation  go to state 1691
+
+
+state 1504
+
+   87 Affectation: String__Index LP RP tAFFECT tStr LP . RP tEND
+   88            | String__Index LP RP tAFFECT tStr LP . RecursiveListOfStringExprVar RP tEND
+
+    tSTRING              shift, and go to state 150
+    tBIGSTR              shift, and go to state 344
+    tStr                 shift, and go to state 345
+    tSprintf             shift, and go to state 346
+    tStrCat              shift, and go to state 347
+    tStrPrefix           shift, and go to state 348
+    tStrRelative         shift, and go to state 349
+    tStrReplace          shift, and go to state 350
+    tAbsolutePath        shift, and go to state 351
+    tDirName             shift, and go to state 352
+    tStrSub              shift, and go to state 353
+    tStrChoice           shift, and go to state 354
+    tUpperCase           shift, and go to state 355
+    tLowerCase           shift, and go to state 356
+    tLowerCaseIn         shift, and go to state 357
+    tToday               shift, and go to state 358
+    tFixRelativePath     shift, and go to state 359
+    tCurrentDirectory    shift, and go to state 360
+    tOnelabAction        shift, and go to state 361
+    tCodeName            shift, and go to state 362
+    tNameStruct          shift, and go to state 363
+    tDefineString        shift, and go to state 364
+    tPhysical            shift, and go to state 393
+    tGetStringValue      shift, and go to state 365
+    tGetEnv              shift, and go to state 366
+    tGetString           shift, and go to state 367
+    tGetForcedStr        shift, and go to state 368
+    tGmshExecutableName  shift, and go to state 369
+    tNameToString        shift, and go to state 370
+    tStringToName        shift, and go to state 107
+    ')'                  shift, and go to state 699
+    ']'                  shift, and go to state 700
+
+    RP                            go to state 1692
+    StringExprVar                 go to state 423
+    StringExpr                    go to state 419
+    RecursiveListOfStringExprVar  go to state 1693
+    StringIndex                   go to state 131
+    String__Index                 go to state 420
+
+
+state 1505
+
+   89 Affectation: String__Index LP RP tAFFECTPLUS tStr LP . RecursiveListOfStringExprVar RP tEND
+
+    tSTRING              shift, and go to state 150
+    tBIGSTR              shift, and go to state 344
+    tStr                 shift, and go to state 345
+    tSprintf             shift, and go to state 346
+    tStrCat              shift, and go to state 347
+    tStrPrefix           shift, and go to state 348
+    tStrRelative         shift, and go to state 349
+    tStrReplace          shift, and go to state 350
+    tAbsolutePath        shift, and go to state 351
+    tDirName             shift, and go to state 352
+    tStrSub              shift, and go to state 353
+    tStrChoice           shift, and go to state 354
+    tUpperCase           shift, and go to state 355
+    tLowerCase           shift, and go to state 356
+    tLowerCaseIn         shift, and go to state 357
+    tToday               shift, and go to state 358
+    tFixRelativePath     shift, and go to state 359
+    tCurrentDirectory    shift, and go to state 360
+    tOnelabAction        shift, and go to state 361
+    tCodeName            shift, and go to state 362
+    tNameStruct          shift, and go to state 363
+    tDefineString        shift, and go to state 364
+    tPhysical            shift, and go to state 393
+    tGetStringValue      shift, and go to state 365
+    tGetEnv              shift, and go to state 366
+    tGetString           shift, and go to state 367
+    tGetForcedStr        shift, and go to state 368
+    tGmshExecutableName  shift, and go to state 369
+    tNameToString        shift, and go to state 370
+    tStringToName        shift, and go to state 107
+
+    StringExprVar                 go to state 423
+    StringExpr                    go to state 419
+    RecursiveListOfStringExprVar  go to state 1694
+    StringIndex                   go to state 131
+    String__Index                 go to state 420
+
+
+state 1506
+
+   80 Affectation: String__Index LP RP NumericAffectation ListOfDouble tEND .
+
+    $default  reduce using rule 80 (Affectation)
+
+
+state 1507
+
+   49 Element: tSTRING @1 . '(' ElementCoords ')' @2 '{' ElementValues '}' tEND
+
+    '('  shift, and go to state 1695
+
+
+state 1508
+
+   53 Text2D: tText2D '(' . FExpr ',' FExpr ',' FExpr ')' @3 '{' Text2DValues '}' tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1696
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1509
+
+   57 Text3D: tText3D '(' . FExpr ',' FExpr ',' FExpr ',' FExpr ')' @4 '{' Text3DValues '}' tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1697
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1510
+
+   58 InterpolationMatrix: tInterpolationScheme '{' . RecursiveListOfListOfDouble '}' '{' RecursiveListOfListOfDouble '}' tEND
+   59                    | tInterpolationScheme '{' . RecursiveListOfListOfDouble '}' '{' RecursiveListOfListOfDouble '}' '{' RecursiveListOfListOfDouble '}' '{' RecursiveListOfListOfDouble '}' tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 247
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '{'                   shift, and go to state 250
+    '#'                   shift, and go to state 251
+
+    Transform                    go to state 252
+    Extrude                      go to state 253
+    BooleanOperator              go to state 254
+    Boolean                      go to state 255
+    FExpr                        go to state 256
+    FExpr_Single                 go to state 257
+    DefineStruct                 go to state 258
+    Struct_FullName              go to state 259
+    RecursiveListOfListOfDouble  go to state 1698
+    ListOfDouble                 go to state 1699
+    FExpr_Multi                  go to state 261
+    StringIndex                  go to state 131
+    String__Index                go to state 262
+
+
+state 1511
+
+   61 Time: tTime @5 . '{' ElementValues '}' tEND
+
+    '{'  shift, and go to state 1700
+
+
+state 1512
+
+   33 View: String__Index StringExprVar '{' Views '}' tEND .
+
+    $default  reduce using rule 33 (View)
+
+
+state 1513
+
+  445 FExpr_Single: String__Index tSCOPE String__Index '.' tSTRING_Member_Float .
+  447             | String__Index tSCOPE String__Index '.' tSTRING_Member_Float . '(' FExpr ')'
+  538 StringExprVar: String__Index tSCOPE String__Index '.' tSTRING_Member_Float .
+  540              | String__Index tSCOPE String__Index '.' tSTRING_Member_Float . '(' FExpr ')'
+
+    '('  shift, and go to state 1701
+
+    '{'       reduce using rule 538 (StringExprVar)
+    $default  reduce using rule 445 (FExpr_Single)
+
+
+state 1514
+
+  448 FExpr_Single: String__Index '[' FExpr ']' '.' . tSTRING
+  450             | String__Index '[' FExpr ']' '.' . tSTRING NumericIncrement
+  541 StringExprVar: String__Index '[' FExpr ']' '.' . tSTRING
+
+    tSTRING  shift, and go to state 1702
+
+
+state 1515
+
+  243 Command: String__Index String__Index '[' FExpr ']' StringExprVar . tEND
+
+    tEND  shift, and go to state 1703
+
+
+state 1516
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  446 FExpr_Single: String__Index '.' tSTRING_Member_Float '(' FExpr . ')'
+  539 StringExprVar: String__Index '.' tSTRING_Member_Float '(' FExpr . ')'
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 1704
+
+
+state 1517
+
+  244 Command: String__Index String__Index String__Index '[' FExpr ']' . tEND
+
+    tEND  shift, and go to state 1705
+
+
+state 1518
+
+  209 ListOfShapes: ListOfShapes tPoint '{' RecursiveListOfDouble '}' . tEND
+
+    tEND  shift, and go to state 1706
+
+
+state 1519
+
+  210 ListOfShapes: ListOfShapes tLine '{' RecursiveListOfDouble '}' . tEND
+
+    tEND  shift, and go to state 1707
+
+
+state 1520
+
+  211 ListOfShapes: ListOfShapes tSurface '{' RecursiveListOfDouble '}' . tEND
+
+    tEND  shift, and go to state 1708
+
+
+state 1521
+
+  212 ListOfShapes: ListOfShapes tVolume '{' RecursiveListOfDouble '}' . tEND
+
+    tEND  shift, and go to state 1709
+
+
+state 1522
+
+  190 Shape: tThruSections '(' FExpr ')' . tAFFECT ListOfDouble tEND
+
+    tAFFECT  shift, and go to state 1133
+
+
+state 1523
+
+  191 Shape: tRuled tThruSections '(' FExpr . ')' tAFFECT ListOfDouble tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 1710
+
+
+state 1524
+
+  167 Shape: tCompound tLine '(' FExpr . ')' tAFFECT ListOfDouble tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 1711
+
+
+state 1525
+
+  186 Shape: tCompound tSurface '(' FExpr . ')' tAFFECT ListOfDouble tEND
+  187      | tCompound tSurface '(' FExpr . ')' tAFFECT ListOfDouble tSTRING '{' RecursiveListOfListOfDouble '}' tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 1712
+
+
+state 1526
+
+  192 Shape: tCompound tVolume '(' FExpr . ')' tAFFECT ListOfDouble tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 1713
+
+
+state 1527
+
+   29 Printf: tPrintf '(' StringExprVar ')' SendToFile StringExprVar tEND .
+
+    $default  reduce using rule 29 (Printf)
+
+
+state 1528
+
+   30 Printf: tPrintf '(' StringExprVar ',' RecursiveListOfDouble ')' tEND .
+
+    $default  reduce using rule 30 (Printf)
+
+
+state 1529
+
+   32 Printf: tPrintf '(' StringExprVar ',' RecursiveListOfDouble ')' SendToFile . StringExprVar tEND
+
+    tSTRING              shift, and go to state 150
+    tBIGSTR              shift, and go to state 344
+    tStr                 shift, and go to state 345
+    tSprintf             shift, and go to state 346
+    tStrCat              shift, and go to state 347
+    tStrPrefix           shift, and go to state 348
+    tStrRelative         shift, and go to state 349
+    tStrReplace          shift, and go to state 350
+    tAbsolutePath        shift, and go to state 351
+    tDirName             shift, and go to state 352
+    tStrSub              shift, and go to state 353
+    tStrChoice           shift, and go to state 354
+    tUpperCase           shift, and go to state 355
+    tLowerCase           shift, and go to state 356
+    tLowerCaseIn         shift, and go to state 357
+    tToday               shift, and go to state 358
+    tFixRelativePath     shift, and go to state 359
+    tCurrentDirectory    shift, and go to state 360
+    tOnelabAction        shift, and go to state 361
+    tCodeName            shift, and go to state 362
+    tNameStruct          shift, and go to state 363
+    tDefineString        shift, and go to state 364
+    tPhysical            shift, and go to state 393
+    tGetStringValue      shift, and go to state 365
+    tGetEnv              shift, and go to state 366
+    tGetString           shift, and go to state 367
+    tGetForcedStr        shift, and go to state 368
+    tGmshExecutableName  shift, and go to state 369
+    tNameToString        shift, and go to state 370
+    tStringToName        shift, and go to state 107
+
+    StringExprVar  go to state 1714
+    StringExpr     go to state 419
+    StringIndex    go to state 131
+    String__Index  go to state 420
+
+
+state 1530
+
+  538 StringExprVar: String__Index tSCOPE String__Index '.' tSTRING_Member_Float .
+  540              | String__Index tSCOPE String__Index '.' tSTRING_Member_Float . '(' FExpr ')'
+
+    '('  shift, and go to state 1715
+
+    $default  reduce using rule 538 (StringExprVar)
+
+
+state 1531
+
+  541 StringExprVar: String__Index '[' FExpr ']' '.' . tSTRING
+
+    tSTRING  shift, and go to state 1716
+
+
+state 1532
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  539 StringExprVar: String__Index '.' tSTRING_Member_Float '(' FExpr . ')'
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 1717
+
+
+state 1533
+
+   31 Printf: tError '(' StringExprVar ',' RecursiveListOfDouble ')' tEND .
+
+    $default  reduce using rule 31 (Printf)
+
+
+state 1534
+
+  253 Command: tBoundingBox '{' FExpr ',' FExpr ',' FExpr . ',' FExpr ',' FExpr ',' FExpr '}' tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ','              shift, and go to state 1718
+
+
+state 1535
+
+  114 DefineConstants: DefineConstants Comma String__Index tAFFECT '{' . ListOfDouble @6 FloatParameterOptionsOrNone '}'
+  119                | DefineConstants Comma String__Index tAFFECT '{' . StringExpr @8 CharParameterOptionsOrNone '}'
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tBIGSTR               shift, and go to state 344
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStr                  shift, and go to state 345
+    tSprintf              shift, and go to state 346
+    tStrCat               shift, and go to state 347
+    tStrPrefix            shift, and go to state 348
+    tStrRelative          shift, and go to state 349
+    tStrReplace           shift, and go to state 350
+    tAbsolutePath         shift, and go to state 351
+    tDirName              shift, and go to state 352
+    tStrSub               shift, and go to state 353
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tStrChoice            shift, and go to state 354
+    tUpperCase            shift, and go to state 355
+    tLowerCase            shift, and go to state 356
+    tLowerCaseIn          shift, and go to state 357
+    tTextAttributes       shift, and go to state 224
+    tToday                shift, and go to state 358
+    tFixRelativePath      shift, and go to state 359
+    tCurrentDirectory     shift, and go to state 360
+    tOnelabAction         shift, and go to state 361
+    tCodeName             shift, and go to state 362
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tNameStruct           shift, and go to state 363
+    tDimNameSpace         shift, and go to state 229
+    tDefineString         shift, and go to state 364
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetStringValue       shift, and go to state 365
+    tGetEnv               shift, and go to state 366
+    tGetString            shift, and go to state 367
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGetForcedStr         shift, and go to state 368
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tGmshExecutableName   shift, and go to state 369
+    tNameToString         shift, and go to state 370
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 247
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '{'                   shift, and go to state 250
+    '#'                   shift, and go to state 251
+
+    Transform        go to state 252
+    Extrude          go to state 253
+    BooleanOperator  go to state 254
+    Boolean          go to state 255
+    FExpr            go to state 256
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    ListOfDouble     go to state 1719
+    FExpr_Multi      go to state 261
+    StringExpr       go to state 1720
+    StringIndex      go to state 131
+    String__Index    go to state 262
+
+
+state 1536
+
+  112 DefineConstants: DefineConstants Comma String__Index tAFFECT FExpr .
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+
+    $default  reduce using rule 112 (DefineConstants)
+
+
+state 1537
+
+  117 DefineConstants: DefineConstants Comma String__Index tAFFECT StringExpr .
+
+    $default  reduce using rule 117 (DefineConstants)
+
+
+state 1538
+
+  116 DefineConstants: DefineConstants Comma String__Index LP RP . tAFFECT '{' ListOfDouble @7 FloatParameterOptionsOrNone '}'
+
+    tAFFECT  shift, and go to state 1721
+
+
+state 1539
+
+  133 FloatParameterOption: tSTRING '{' . Enumeration '}'
+  483 ListOfDouble: '{' . '}'
+  484             | '{' . RecursiveListOfDouble '}'
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 433
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '}'                   shift, and go to state 527
+    '#'                   shift, and go to state 251
+
+    Enumeration            go to state 1722
+    Transform              go to state 252
+    Extrude                go to state 253
+    BooleanOperator        go to state 254
+    Boolean                go to state 255
+    FExpr                  go to state 1723
+    FExpr_Single           go to state 257
+    DefineStruct           go to state 258
+    Struct_FullName        go to state 259
+    FExpr_Multi            go to state 1724
+    RecursiveListOfDouble  go to state 528
+    StringIndex            go to state 131
+    String__Index          go to state 262
+
+
+state 1540
+
+  131 FloatParameterOption: tSTRING ListOfDouble .
+
+    $default  reduce using rule 131 (FloatParameterOption)
+
+
+state 1541
+
+  134 FloatParameterOption: tSTRING StringExpr .
+
+    $default  reduce using rule 134 (FloatParameterOption)
+
+
+state 1542
+
+  462 DefineStruct: tDefineStruct Struct_FullName AppendOrNot @14 '[' FloatParameterOptionsOrNone_NoComma ']' .
+
+    $default  reduce using rule 462 (DefineStruct)
+
+
+state 1543
+
+  130 FloatParameterOptions: FloatParameterOptions ',' . FloatParameterOption
+
+    tSTRING  shift, and go to state 1324
+
+    FloatParameterOption  go to state 1725
+
+
+state 1544
+
+   76 Affectation: tSetNumber LP StringExpr ',' FExpr RP tEND .
+
+    $default  reduce using rule 76 (Affectation)
+
+
+state 1545
+
+   77 Affectation: tSetString LP String__Index ',' StringExpr RP tEND .
+
+    $default  reduce using rule 77 (Affectation)
+
+
+state 1546
+
+  159 Shape: tPoint '(' FExpr ')' tAFFECT VExpr tEND .
+
+    $default  reduce using rule 159 (Shape)
+
+
+state 1547
+
+  342 Constraints: tPoint '{' RecursiveListOfDouble '}' tIn tSurface '{' . FExpr '}' tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1726
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1548
+
+  344 Constraints: tPoint '{' RecursiveListOfDouble '}' tIn tVolume '{' . FExpr '}' tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1727
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1549
+
+  158 CircleOptions: tPlane . VExpr
+
+    '+'  shift, and go to state 287
+    '-'  shift, and go to state 288
+    '('  shift, and go to state 289
+    '{'  shift, and go to state 290
+
+    VExpr         go to state 1728
+    VExpr_Single  go to state 292
+
+
+state 1550
+
+  162 Shape: tCircle '(' FExpr ')' tAFFECT ListOfDouble CircleOptions . tEND
+
+    tEND  shift, and go to state 1729
+
+
+state 1551
+
+  163 Shape: tEllipse '(' FExpr ')' tAFFECT ListOfDouble CircleOptions . tEND
+
+    tEND  shift, and go to state 1730
+
+
+state 1552
+
+  169 Shape: tLine tSTRING '(' FExpr ')' tAFFECT ListOfDouble . tEND
+
+    tEND  shift, and go to state 1731
+
+
+state 1553
+
+  160 Shape: tLine '(' FExpr ')' tAFFECT ListOfDouble tEND .
+
+    $default  reduce using rule 160 (Shape)
+
+
+state 1554
+
+  343 Constraints: tLine '{' RecursiveListOfDouble '}' tIn tSurface '{' . FExpr '}' tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1732
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1555
+
+  345 Constraints: tLine '{' RecursiveListOfDouble '}' tIn tVolume '{' . FExpr '}' tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1733
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1556
+
+  176 Shape: tSphere '(' FExpr ')' tAFFECT ListOfDouble tEND .
+
+    $default  reduce using rule 176 (Shape)
+
+
+state 1557
+
+  177 Shape: tPolarSphere '(' FExpr ')' tAFFECT ListOfDouble tEND .
+
+    $default  reduce using rule 177 (Shape)
+
+
+state 1558
+
+  188 Shape: tSurface tSTRING '(' FExpr ')' tAFFECT ListOfDouble . tEND
+
+    tEND  shift, and go to state 1734
+
+
+state 1559
+
+  156 InSphereCenter: tIn . tSphere '{' FExpr '}'
+
+    tSphere  shift, and go to state 1735
+
+
+state 1560
+
+  171 Shape: tSurface '(' FExpr ')' tAFFECT ListOfDouble InSphereCenter . tEND
+
+    tEND  shift, and go to state 1736
+
+
+state 1561
+
+  346 Constraints: tSurface '{' RecursiveListOfDouble '}' tIn tVolume '{' . FExpr '}' tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1737
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1562
+
+  161 Shape: tSpline '(' FExpr ')' tAFFECT ListOfDouble tEND .
+
+    $default  reduce using rule 161 (Shape)
+
+
+state 1563
+
+  189 Shape: tVolume '(' FExpr ')' tAFFECT ListOfDouble tEND .
+
+    $default  reduce using rule 189 (Shape)
+
+
+state 1564
+
+  178 Shape: tBlock '(' FExpr ')' tAFFECT ListOfDouble tEND .
+
+    $default  reduce using rule 178 (Shape)
+
+
+state 1565
+
+  182 Shape: tCylinder '(' FExpr ')' tAFFECT ListOfDouble tEND .
+
+    $default  reduce using rule 182 (Shape)
+
+
+state 1566
+
+  183 Shape: tCone '(' FExpr ')' tAFFECT ListOfDouble tEND .
+
+    $default  reduce using rule 183 (Shape)
+
+
+state 1567
+
+  179 Shape: tTorus '(' FExpr ')' tAFFECT ListOfDouble tEND .
+
+    $default  reduce using rule 179 (Shape)
+
+
+state 1568
+
+  180 Shape: tRectangle '(' FExpr ')' tAFFECT ListOfDouble tEND .
+
+    $default  reduce using rule 180 (Shape)
+
+
+state 1569
+
+  181 Shape: tDisk '(' FExpr ')' tAFFECT ListOfDouble tEND .
+
+    $default  reduce using rule 181 (Shape)
+
+
+state 1570
+
+  168 Shape: tWire '(' FExpr ')' tAFFECT ListOfDouble tEND .
+
+    $default  reduce using rule 168 (Shape)
+
+
+state 1571
+
+  175 Shape: tParametric tSurface '(' FExpr ')' tAFFECT tBIGSTR . tBIGSTR tBIGSTR tEND
+
+    tBIGSTR  shift, and go to state 1738
+
+
+state 1572
+
+  259 Command: tAdaptMesh '{' RecursiveListOfDouble '}' '{' RecursiveListOfDouble '}' . '{' RecursiveListOfListOfDouble '}' '{' FExpr ',' FExpr '}' tEND
+
+    '{'  shift, and go to state 1739
+
+
+state 1573
+
+  400 FExpr: tAtan2 LP FExpr ',' FExpr RP .
+
+    $default  reduce using rule 400 (FExpr)
+
+
+state 1574
+
+  409 FExpr: tFmod LP FExpr ',' FExpr RP .
+
+    $default  reduce using rule 409 (FExpr)
+
+
+state 1575
+
+  410 FExpr: tModulo LP FExpr ',' FExpr RP .
+
+    $default  reduce using rule 410 (FExpr)
+
+
+state 1576
+
+  411 FExpr: tHypot LP FExpr ',' FExpr RP .
+
+    $default  reduce using rule 411 (FExpr)
+
+
+state 1577
+
+  513 FExpr_Multi: tList LP '{' RecursiveListOfDouble '}' RP .
+
+    $default  reduce using rule 513 (FExpr_Multi)
+
+
+state 1578
+
+  515 FExpr_Multi: tLinSpace LP FExpr ',' FExpr ',' . FExpr RP
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1740
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1579
+
+  516 FExpr_Multi: tLogSpace LP FExpr ',' FExpr ',' . FExpr RP
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1741
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1580
+
+  518 FExpr_Multi: tCatenary LP FExpr ',' FExpr ',' . FExpr ',' FExpr ',' FExpr ',' FExpr RP
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1742
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1581
+
+  452 FExpr_Single: tFind '(' ListOfDouble ',' ListOfDouble ')' .
+
+    $default  reduce using rule 452 (FExpr_Single)
+
+
+state 1582
+
+  453 FExpr_Single: tStrFind LP StringExprVar ',' StringExprVar RP .
+
+    $default  reduce using rule 453 (FExpr_Single)
+
+
+state 1583
+
+  455 FExpr_Single: tStrCmp LP StringExprVar ',' StringExprVar RP .
+
+    $default  reduce using rule 455 (FExpr_Single)
+
+
+state 1584
+
+  126 FloatParameterOptionsOrNone: ',' FloatParameterOptions .
+  130 FloatParameterOptions: FloatParameterOptions . ',' FloatParameterOption
+
+    ','  shift, and go to state 1543
+
+    $default  reduce using rule 126 (FloatParameterOptionsOrNone)
+
+
+state 1585
+
+  425 FExpr_Single: tDefineNumber LP FExpr @13 FloatParameterOptionsOrNone RP .
+
+    $default  reduce using rule 425 (FExpr_Single)
+
+
+state 1586
+
+  502 FExpr_Multi: tPoint tIn tBoundingBox '{' FExpr ',' . FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr '}'
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1743
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1587
+
+  503 FExpr_Multi: tLine tIn tBoundingBox '{' FExpr ',' . FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr '}'
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1744
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1588
+
+  504 FExpr_Multi: tSurface tIn tBoundingBox '{' FExpr ',' . FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr '}'
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1745
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1589
+
+  505 FExpr_Multi: tVolume tIn tBoundingBox '{' FExpr ',' . FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr '}'
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1746
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1590
+
+  451 FExpr_Single: tGetValue '(' StringExprVar ',' FExpr ')' .
+
+    $default  reduce using rule 451 (FExpr_Single)
+
+
+state 1591
+
+  428 FExpr_Single: tGetNumber LP StringExprVar ',' FExpr RP .
+
+    $default  reduce using rule 428 (FExpr_Single)
+
+
+state 1592
+
+  433 FExpr_Single: tExists '(' Struct_FullName '.' tSTRING_Member_Float ')' .
+
+    $default  reduce using rule 433 (FExpr_Single)
+
+
+state 1593
+
+  435 FExpr_Single: tGetForced '(' Struct_FullName '.' tSTRING_Member_Float GetForced_Default . ')'
+
+    ')'  shift, and go to state 1747
+
+
+state 1594
+
+  190 Shape: tThruSections '(' FExpr ')' tAFFECT ListOfDouble tEND .
+
+    $default  reduce using rule 190 (Shape)
+
+
+state 1595
+
+  438 FExpr_Single: '#' Struct_FullName '.' tSTRING_Member_Float '(' ')' .
+
+    $default  reduce using rule 438 (FExpr_Single)
+
+
+state 1596
+
+  447 FExpr_Single: String__Index tSCOPE String__Index '.' tSTRING_Member_Float '(' . FExpr ')'
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1748
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1597
+
+  448 FExpr_Single: String__Index '[' FExpr ']' '.' tSTRING .
+  450             | String__Index '[' FExpr ']' '.' tSTRING . NumericIncrement
+
+    tMINUSMINUS  shift, and go to state 399
+    tPLUSPLUS    shift, and go to state 400
+
+    $default  reduce using rule 448 (FExpr_Single)
+
+    NumericIncrement  go to state 1749
+
+
+state 1598
+
+  446 FExpr_Single: String__Index '.' tSTRING_Member_Float '(' FExpr ')' .
+
+    $default  reduce using rule 446 (FExpr_Single)
+
+
+state 1599
+
+  514 FExpr_Multi: String__Index LP '{' RecursiveListOfDouble '}' RP .
+
+    $default  reduce using rule 514 (FExpr_Multi)
+
+
+state 1600
+
+  184 Shape: tWedge '(' FExpr ')' tAFFECT ListOfDouble tEND .
+
+    $default  reduce using rule 184 (Shape)
+
+
+state 1601
+
+  289 Extrude: tFillet '{' RecursiveListOfDouble '}' '{' RecursiveListOfDouble '}' . '{' FExpr '}'
+
+    '{'  shift, and go to state 1750
+
+
+state 1602
+
+  170 Shape: tPlane tSurface '(' FExpr ')' tAFFECT ListOfDouble . tEND
+
+    tEND  shift, and go to state 1751
+
+
+state 1603
+
+  172 Shape: tRuled tSurface '(' FExpr ')' tAFFECT ListOfDouble . InSphereCenter tEND
+
+    tIn  shift, and go to state 1559
+
+    $default  reduce using rule 155 (InSphereCenter)
+
+    InSphereCenter  go to state 1752
+
+
+state 1604
+
+  191 Shape: tRuled tThruSections '(' FExpr ')' tAFFECT ListOfDouble . tEND
+
+    tEND  shift, and go to state 1753
+
+
+state 1605
+
+  317 TransfiniteType: tUsing tSTRING . FExpr
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1754
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1606
+
+  327 Constraints: tTransfinite tLine ListOfDoubleOrAll tAFFECT FExpr TransfiniteType tEND .
+
+    $default  reduce using rule 327 (Constraints)
+
+
+state 1607
+
+  193 Shape: tPhysical tPoint '(' PhysicalId0 ')' NumericAffectation ListOfDouble . tEND
+
+    tEND  shift, and go to state 1755
+
+
+state 1608
+
+  194 Shape: tPhysical tLine '(' PhysicalId1 ')' NumericAffectation ListOfDouble . tEND
+
+    tEND  shift, and go to state 1756
+
+
+state 1609
+
+  195 Shape: tPhysical tSurface '(' PhysicalId2 ')' NumericAffectation ListOfDouble . tEND
+
+    tEND  shift, and go to state 1757
+
+
+state 1610
+
+  196 Shape: tPhysical tVolume '(' PhysicalId3 ')' NumericAffectation ListOfDouble . tEND
+
+    tEND  shift, and go to state 1758
+
+
+state 1611
+
+  167 Shape: tCompound tLine '(' FExpr ')' tAFFECT ListOfDouble . tEND
+
+    tEND  shift, and go to state 1759
+
+
+state 1612
+
+  186 Shape: tCompound tSurface '(' FExpr ')' tAFFECT ListOfDouble . tEND
+  187      | tCompound tSurface '(' FExpr ')' tAFFECT ListOfDouble . tSTRING '{' RecursiveListOfListOfDouble '}' tEND
+
+    tSTRING  shift, and go to state 1760
+    tEND     shift, and go to state 1761
+
+
+state 1613
+
+  192 Shape: tCompound tVolume '(' FExpr ')' tAFFECT ListOfDouble . tEND
+
+    tEND  shift, and go to state 1762
+
+
+state 1614
+
+  335 Constraints: tPeriodic tLine '{' RecursiveListOfDouble '}' tAFFECT '{' . RecursiveListOfDouble '}' PeriodicTransform tEND
+  337            | tPeriodic tLine '{' RecursiveListOfDouble '}' tAFFECT '{' . RecursiveListOfDouble '}' tRotate '{' VExpr ',' VExpr ',' FExpr '}' tEND
+  339            | tPeriodic tLine '{' RecursiveListOfDouble '}' tAFFECT '{' . RecursiveListOfDouble '}' tTranslate VExpr tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 433
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '#'                   shift, and go to state 251
+
+    Transform              go to state 252
+    Extrude                go to state 253
+    BooleanOperator        go to state 254
+    Boolean                go to state 255
+    FExpr                  go to state 434
+    FExpr_Single           go to state 257
+    DefineStruct           go to state 258
+    Struct_FullName        go to state 259
+    FExpr_Multi            go to state 435
+    RecursiveListOfDouble  go to state 1763
+    StringIndex            go to state 131
+    String__Index          go to state 262
+
+
+state 1615
+
+  336 Constraints: tPeriodic tSurface '{' RecursiveListOfDouble '}' tAFFECT '{' . RecursiveListOfDouble '}' PeriodicTransform tEND
+  338            | tPeriodic tSurface '{' RecursiveListOfDouble '}' tAFFECT '{' . RecursiveListOfDouble '}' tRotate '{' VExpr ',' VExpr ',' FExpr '}' tEND
+  340            | tPeriodic tSurface '{' RecursiveListOfDouble '}' tAFFECT '{' . RecursiveListOfDouble '}' tTranslate VExpr tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 433
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '#'                   shift, and go to state 251
+
+    Transform              go to state 252
+    Extrude                go to state 253
+    BooleanOperator        go to state 254
+    Boolean                go to state 255
+    FExpr                  go to state 434
+    FExpr_Single           go to state 257
+    DefineStruct           go to state 258
+    Struct_FullName        go to state 259
+    FExpr_Multi            go to state 435
+    RecursiveListOfDouble  go to state 1764
+    StringIndex            go to state 131
+    String__Index          go to state 262
+
+
+state 1616
+
+  341 Constraints: tPeriodic tSurface FExpr '{' RecursiveListOfDouble '}' tAFFECT . FExpr '{' RecursiveListOfDouble '}' tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1765
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1617
+
+  246 Command: tPlugin '(' tSTRING ')' '.' tSTRING tEND .
+
+    $default  reduce using rule 246 (Command)
+
+
+state 1618
+
+  106 Affectation: tPlugin '(' tSTRING ')' '.' tSTRING tAFFECT . FExpr tEND
+  107            | tPlugin '(' tSTRING ')' '.' tSTRING tAFFECT . StringExpr tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tBIGSTR              shift, and go to state 344
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStr                 shift, and go to state 345
+    tSprintf             shift, and go to state 346
+    tStrCat              shift, and go to state 347
+    tStrPrefix           shift, and go to state 348
+    tStrRelative         shift, and go to state 349
+    tStrReplace          shift, and go to state 350
+    tAbsolutePath        shift, and go to state 351
+    tDirName             shift, and go to state 352
+    tStrSub              shift, and go to state 353
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tStrChoice           shift, and go to state 354
+    tUpperCase           shift, and go to state 355
+    tLowerCase           shift, and go to state 356
+    tLowerCaseIn         shift, and go to state 357
+    tTextAttributes      shift, and go to state 224
+    tToday               shift, and go to state 358
+    tFixRelativePath     shift, and go to state 359
+    tCurrentDirectory    shift, and go to state 360
+    tOnelabAction        shift, and go to state 361
+    tCodeName            shift, and go to state 362
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tNameStruct          shift, and go to state 363
+    tDimNameSpace        shift, and go to state 229
+    tDefineString        shift, and go to state 364
+    tGetValue            shift, and go to state 237
+    tGetStringValue      shift, and go to state 365
+    tGetEnv              shift, and go to state 366
+    tGetString           shift, and go to state 367
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGetForcedStr        shift, and go to state 368
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tGmshExecutableName  shift, and go to state 369
+    tNameToString        shift, and go to state 370
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1766
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringExpr       go to state 1767
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1619
+
+  198 Transform: tRotate '{' VExpr ',' VExpr ',' FExpr . '}' '{' MultipleShape '}'
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    '}'              shift, and go to state 1768
+
+
+state 1620
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  478 VExpr_Single: '(' FExpr ',' FExpr ',' FExpr . ')'
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 1769
+
+
+state 1621
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  475 VExpr_Single: '{' FExpr ',' FExpr ',' FExpr . ',' FExpr ',' FExpr '}'
+  476             | '{' FExpr ',' FExpr ',' FExpr . ',' FExpr '}'
+  477             | '{' FExpr ',' FExpr ',' FExpr . '}'
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    '}'              shift, and go to state 1770
+    ','              shift, and go to state 1771
+
+
+state 1622
+
+  200 Transform: tDilate '{' VExpr ',' FExpr '}' '{' . MultipleShape '}'
+
+    tSTRING     shift, and go to state 411
+    tRotate     shift, and go to state 59
+    tTranslate  shift, and go to state 60
+    tSymmetry   shift, and go to state 61
+    tDilate     shift, and go to state 62
+    tSplit      shift, and go to state 73
+    tIntersect  shift, and go to state 76
+
+    $default  reduce using rule 207 (ListOfShapes)
+
+    Transform      go to state 412
+    MultipleShape  go to state 1772
+    ListOfShapes   go to state 414
+
+
+state 1623
+
+  201 Transform: tDilate '{' VExpr ',' VExpr '}' '{' . MultipleShape '}'
+
+    tSTRING     shift, and go to state 411
+    tRotate     shift, and go to state 59
+    tTranslate  shift, and go to state 60
+    tSymmetry   shift, and go to state 61
+    tDilate     shift, and go to state 62
+    tSplit      shift, and go to state 73
+    tIntersect  shift, and go to state 76
+
+    $default  reduce using rule 207 (ListOfShapes)
+
+    Transform      go to state 412
+    MultipleShape  go to state 1773
+    ListOfShapes   go to state 414
+
+
+state 1624
+
+  286 Extrude: tExtrude '{' ListOfShapes '}' tUsing tWire '{' . FExpr '}'
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1774
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1625
+
+  302 ExtrudeParameter: tUsing tSTRING '[' . FExpr ']' tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1775
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1626
+
+  296 ExtrudeParameter: tRecombine FExpr tEND .
+
+    $default  reduce using rule 296 (ExtrudeParameter)
+
+
+state 1627
+
+  292 ExtrudeParameter: tLayers '{' FExpr . '}' tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  481 ListOfDouble: FExpr .
+  486             | FExpr . '*' '{' RecursiveListOfDouble '}'
+  490 FExpr_Multi: FExpr . '*' FExpr_Multi
+  491            | FExpr . tDOTS FExpr
+  492            | FExpr . tDOTS FExpr tDOTS FExpr
+
+    tDOTS            shift, and go to state 531
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 545
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    '}'              shift, and go to state 1776
+
+    $default  reduce using rule 481 (ListOfDouble)
+
+
+state 1628
+
+  293 ExtrudeParameter: tLayers '{' ListOfDouble . ',' ListOfDouble '}' tEND
+
+    ','  shift, and go to state 1777
+
+
+state 1629
+
+  301 ExtrudeParameter: tHole '(' FExpr . ')' tAFFECT ListOfDouble tUsing FExpr tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 1778
+
+
+state 1630
+
+  298 ExtrudeParameter: tQuadTriAddVerts tRecombLaterals tEND .
+
+    $default  reduce using rule 298 (ExtrudeParameter)
+
+
+state 1631
+
+  300 ExtrudeParameter: tQuadTriNoNewVerts tRecombLaterals tEND .
+
+    $default  reduce using rule 300 (ExtrudeParameter)
+
+
+state 1632
+
+  276 Extrude: tExtrude '{' VExpr ',' VExpr ',' FExpr . '}' '{' ListOfShapes '}'
+  281        | tExtrude '{' VExpr ',' VExpr ',' FExpr . '}' '{' ListOfShapes @10 ExtrudeParameters '}'
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    '}'              shift, and go to state 1779
+
+
+state 1633
+
+  277 Extrude: tExtrude '{' VExpr ',' VExpr ',' VExpr . ',' FExpr '}' '{' ListOfShapes '}'
+  283        | tExtrude '{' VExpr ',' VExpr ',' VExpr . ',' FExpr '}' '{' ListOfShapes @11 ExtrudeParameters '}'
+  473 VExpr: VExpr . '-' VExpr
+  474      | VExpr . '+' VExpr
+
+    '+'  shift, and go to state 592
+    '-'  shift, and go to state 593
+    ','  shift, and go to state 1780
+
+
+state 1634
+
+  279 Extrude: tExtrude VExpr '{' ListOfShapes @9 ExtrudeParameters '}' .
+
+    $default  reduce using rule 279 (Extrude)
+
+
+state 1635
+
+  223 LevelSet: tLevelset tSTRING '(' FExpr ')' tAFFECT tBIGSTR . tEND
+
+    tEND  shift, and go to state 1781
+
+
+state 1636
+
+  222 LevelSet: tLevelset tSTRING '(' FExpr ')' tAFFECT ListOfDouble . tEND
+
+    tEND  shift, and go to state 1782
+
+
+state 1637
+
+  214 LevelSet: tLevelset tPoint '(' FExpr ')' tAFFECT '{' . RecursiveListOfListOfDouble '}' tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 247
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '{'                   shift, and go to state 250
+    '#'                   shift, and go to state 251
+
+    Transform                    go to state 252
+    Extrude                      go to state 253
+    BooleanOperator              go to state 254
+    Boolean                      go to state 255
+    FExpr                        go to state 256
+    FExpr_Single                 go to state 257
+    DefineStruct                 go to state 258
+    Struct_FullName              go to state 259
+    RecursiveListOfListOfDouble  go to state 1783
+    ListOfDouble                 go to state 1699
+    FExpr_Multi                  go to state 261
+    StringIndex                  go to state 131
+    String__Index                go to state 262
+
+
+state 1638
+
+  217 LevelSet: tLevelset tSphere '(' FExpr ')' tAFFECT '{' . VExpr ',' RecursiveListOfDouble '}' tEND
+
+    '+'  shift, and go to state 287
+    '-'  shift, and go to state 288
+    '('  shift, and go to state 289
+    '{'  shift, and go to state 290
+
+    VExpr         go to state 1784
+    VExpr_Single  go to state 292
+
+
+state 1639
+
+  218 LevelSet: tLevelset tCylinder '(' FExpr ')' tAFFECT '{' . VExpr ',' VExpr ',' RecursiveListOfDouble '}' tEND
+
+    '+'  shift, and go to state 287
+    '-'  shift, and go to state 288
+    '('  shift, and go to state 289
+    '{'  shift, and go to state 290
+
+    VExpr         go to state 1785
+    VExpr_Single  go to state 292
+
+
+state 1640
+
+  219 LevelSet: tLevelset tCone '(' FExpr ')' tAFFECT '{' . VExpr ',' VExpr ',' RecursiveListOfDouble '}' tEND
+
+    '+'  shift, and go to state 287
+    '-'  shift, and go to state 288
+    '('  shift, and go to state 289
+    '{'  shift, and go to state 290
+
+    VExpr         go to state 1786
+    VExpr_Single  go to state 292
+
+
+state 1641
+
+  220 LevelSet: tLevelset tEllipsoid '(' FExpr ')' tAFFECT '{' . VExpr ',' VExpr ',' RecursiveListOfDouble '}' tEND
+
+    '+'  shift, and go to state 287
+    '-'  shift, and go to state 288
+    '('  shift, and go to state 289
+    '{'  shift, and go to state 290
+
+    VExpr         go to state 1787
+    VExpr_Single  go to state 292
+
+
+state 1642
+
+  221 LevelSet: tLevelset tQuadric '(' FExpr ')' tAFFECT '{' . VExpr ',' VExpr ',' RecursiveListOfDouble '}' tEND
+
+    '+'  shift, and go to state 287
+    '-'  shift, and go to state 288
+    '('  shift, and go to state 289
+    '{'  shift, and go to state 290
+
+    VExpr         go to state 1788
+    VExpr_Single  go to state 292
+
+
+state 1643
+
+  215 LevelSet: tLevelset tPlane '(' FExpr ')' tAFFECT '{' . VExpr ',' VExpr ',' RecursiveListOfDouble '}' tEND
+  216         | tLevelset tPlane '(' FExpr ')' tAFFECT '{' . VExpr ',' VExpr ',' VExpr ',' RecursiveListOfDouble '}' tEND
+  483 ListOfDouble: '{' . '}'
+  484             | '{' . RecursiveListOfDouble '}'
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 597
+    '-'                   shift, and go to state 1789
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 599
+    '{'                   shift, and go to state 290
+    '}'                   shift, and go to state 527
+    '#'                   shift, and go to state 251
+
+    Transform              go to state 252
+    Extrude                go to state 253
+    BooleanOperator        go to state 254
+    Boolean                go to state 255
+    FExpr                  go to state 434
+    FExpr_Single           go to state 257
+    DefineStruct           go to state 258
+    Struct_FullName        go to state 259
+    VExpr                  go to state 1790
+    VExpr_Single           go to state 292
+    FExpr_Multi            go to state 435
+    RecursiveListOfDouble  go to state 528
+    StringIndex            go to state 131
+    String__Index          go to state 262
+
+
+state 1644
+
+  213 LevelSet: tLevelset tPlane '(' FExpr ')' tAFFECT ListOfDouble . tEND
+
+    tEND  shift, and go to state 1791
+
+
+state 1645
+
+  185 Shape: tThickSolid '(' FExpr ')' tAFFECT ListOfDouble tEND .
+
+    $default  reduce using rule 185 (Shape)
+
+
+state 1646
+
+  204 Transform: tSplit tLine '(' FExpr ')' '{' RecursiveListOfDouble . '}' tEND
+  523 RecursiveListOfDouble: RecursiveListOfDouble . ',' FExpr
+  524                      | RecursiveListOfDouble . ',' FExpr_Multi
+
+    '}'  shift, and go to state 1792
+    ','  shift, and go to state 747
+
+
+state 1647
+
+  203 Transform: tIntersect tLine '{' RecursiveListOfDouble '}' tSurface '{' . FExpr '}'
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1793
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1648
+
+  331 Constraints: tMeshAlgorithm tSurface '{' RecursiveListOfDouble '}' tAFFECT FExpr . tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    tEND             shift, and go to state 1794
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+
+
+state 1649
+
+   36 View: tCopyOptions tSTRING '[' FExpr ',' FExpr ']' . tEND
+
+    tEND  shift, and go to state 1795
+
+
+state 1650
+
+  164 Shape: tBSpline '(' FExpr ')' tAFFECT ListOfDouble tEND .
+
+    $default  reduce using rule 164 (Shape)
+
+
+state 1651
+
+  165 Shape: tBezier '(' FExpr ')' tAFFECT ListOfDouble tEND .
+
+    $default  reduce using rule 165 (Shape)
+
+
+state 1652
+
+  166 Shape: tNurbs '(' FExpr ')' tAFFECT ListOfDouble tNurbsKnots . ListOfDouble tNurbsOrder FExpr tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 247
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '{'                   shift, and go to state 250
+    '#'                   shift, and go to state 251
+
+    Transform        go to state 252
+    Extrude          go to state 253
+    BooleanOperator  go to state 254
+    Boolean          go to state 255
+    FExpr            go to state 256
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    ListOfDouble     go to state 1796
+    FExpr_Multi      go to state 261
+    StringIndex      go to state 131
+    String__Index    go to state 262
+
+
+state 1653
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  525 ColorExpr: '{' FExpr ',' FExpr ',' FExpr . ',' FExpr '}'
+  526          | '{' FExpr ',' FExpr ',' FExpr . '}'
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    '}'              shift, and go to state 1797
+    ','              shift, and go to state 1798
+
+
+state 1654
+
+  263 Loop: tFor tSTRING tIn '{' FExpr tDOTS FExpr . '}'
+  264     | tFor tSTRING tIn '{' FExpr tDOTS FExpr . tDOTS FExpr '}'
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    tDOTS            shift, and go to state 1799
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    '}'              shift, and go to state 1800
+
+
+state 1655
+
+  262 Loop: tFor '(' FExpr tDOTS FExpr tDOTS FExpr . ')'
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 1801
+
+
+state 1656
+
+  101 Affectation: tField '[' FExpr ']' tAFFECT tSTRING tEND .
+
+    $default  reduce using rule 101 (Affectation)
+
+
+state 1657
+
+  105 Affectation: tField '[' FExpr ']' '.' tSTRING tEND .
+
+    $default  reduce using rule 105 (Affectation)
+
+
+state 1658
+
+  102 Affectation: tField '[' FExpr ']' '.' tSTRING tAFFECT . FExpr tEND
+  103            | tField '[' FExpr ']' '.' tSTRING tAFFECT . StringExpr tEND
+  104            | tField '[' FExpr ']' '.' tSTRING tAFFECT . '{' RecursiveListOfDouble '}' tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tBIGSTR              shift, and go to state 344
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStr                 shift, and go to state 345
+    tSprintf             shift, and go to state 346
+    tStrCat              shift, and go to state 347
+    tStrPrefix           shift, and go to state 348
+    tStrRelative         shift, and go to state 349
+    tStrReplace          shift, and go to state 350
+    tAbsolutePath        shift, and go to state 351
+    tDirName             shift, and go to state 352
+    tStrSub              shift, and go to state 353
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tStrChoice           shift, and go to state 354
+    tUpperCase           shift, and go to state 355
+    tLowerCase           shift, and go to state 356
+    tLowerCaseIn         shift, and go to state 357
+    tTextAttributes      shift, and go to state 224
+    tToday               shift, and go to state 358
+    tFixRelativePath     shift, and go to state 359
+    tCurrentDirectory    shift, and go to state 360
+    tOnelabAction        shift, and go to state 361
+    tCodeName            shift, and go to state 362
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tNameStruct          shift, and go to state 363
+    tDimNameSpace        shift, and go to state 229
+    tDefineString        shift, and go to state 364
+    tGetValue            shift, and go to state 237
+    tGetStringValue      shift, and go to state 365
+    tGetEnv              shift, and go to state 366
+    tGetString           shift, and go to state 367
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGetForcedStr        shift, and go to state 368
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tGmshExecutableName  shift, and go to state 369
+    tNameToString        shift, and go to state 370
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '{'                  shift, and go to state 1802
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1803
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringExpr       go to state 1804
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1659
+
+  570 StringExpr: tSprintf LP StringExprVar ',' RecursiveListOfDouble RP .
+
+    $default  reduce using rule 570 (StringExpr)
+
+
+state 1660
+
+  561 StringExpr: tStrReplace '(' StringExprVar ',' StringExprVar ',' . StringExprVar ')'
+
+    tSTRING              shift, and go to state 150
+    tBIGSTR              shift, and go to state 344
+    tStr                 shift, and go to state 345
+    tSprintf             shift, and go to state 346
+    tStrCat              shift, and go to state 347
+    tStrPrefix           shift, and go to state 348
+    tStrRelative         shift, and go to state 349
+    tStrReplace          shift, and go to state 350
+    tAbsolutePath        shift, and go to state 351
+    tDirName             shift, and go to state 352
+    tStrSub              shift, and go to state 353
+    tStrChoice           shift, and go to state 354
+    tUpperCase           shift, and go to state 355
+    tLowerCase           shift, and go to state 356
+    tLowerCaseIn         shift, and go to state 357
+    tToday               shift, and go to state 358
+    tFixRelativePath     shift, and go to state 359
+    tCurrentDirectory    shift, and go to state 360
+    tOnelabAction        shift, and go to state 361
+    tCodeName            shift, and go to state 362
+    tNameStruct          shift, and go to state 363
+    tDefineString        shift, and go to state 364
+    tPhysical            shift, and go to state 393
+    tGetStringValue      shift, and go to state 365
+    tGetEnv              shift, and go to state 366
+    tGetString           shift, and go to state 367
+    tGetForcedStr        shift, and go to state 368
+    tGmshExecutableName  shift, and go to state 369
+    tNameToString        shift, and go to state 370
+    tStringToName        shift, and go to state 107
+
+    StringExprVar  go to state 1805
+    StringExpr     go to state 419
+    StringIndex    go to state 131
+    String__Index  go to state 420
+
+
+state 1661
+
+  567 StringExpr: tStrSub LP StringExprVar ',' FExpr ',' . FExpr RP
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1806
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1662
+
+  568 StringExpr: tStrSub LP StringExprVar ',' FExpr RP .
+
+    $default  reduce using rule 568 (StringExpr)
+
+
+state 1663
+
+  566 StringExpr: tStrChoice LP FExpr ',' StringExprVar ',' . StringExprVar RP
+
+    tSTRING              shift, and go to state 150
+    tBIGSTR              shift, and go to state 344
+    tStr                 shift, and go to state 345
+    tSprintf             shift, and go to state 346
+    tStrCat              shift, and go to state 347
+    tStrPrefix           shift, and go to state 348
+    tStrRelative         shift, and go to state 349
+    tStrReplace          shift, and go to state 350
+    tAbsolutePath        shift, and go to state 351
+    tDirName             shift, and go to state 352
+    tStrSub              shift, and go to state 353
+    tStrChoice           shift, and go to state 354
+    tUpperCase           shift, and go to state 355
+    tLowerCase           shift, and go to state 356
+    tLowerCaseIn         shift, and go to state 357
+    tToday               shift, and go to state 358
+    tFixRelativePath     shift, and go to state 359
+    tCurrentDirectory    shift, and go to state 360
+    tOnelabAction        shift, and go to state 361
+    tCodeName            shift, and go to state 362
+    tNameStruct          shift, and go to state 363
+    tDefineString        shift, and go to state 364
+    tPhysical            shift, and go to state 393
+    tGetStringValue      shift, and go to state 365
+    tGetEnv              shift, and go to state 366
+    tGetString           shift, and go to state 367
+    tGetForcedStr        shift, and go to state 368
+    tGmshExecutableName  shift, and go to state 369
+    tNameToString        shift, and go to state 370
+    tStringToName        shift, and go to state 107
+
+    StringExprVar  go to state 1807
+    StringExpr     go to state 419
+    StringIndex    go to state 131
+    String__Index  go to state 420
+
+
+state 1664
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  579 NameStruct_Arg: String__Index tSCOPE '#' FExpr .
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+
+    $default  reduce using rule 579 (NameStruct_Arg)
+
+
+state 1665
+
+  139 CharParameterOption: tSTRING . FExpr
+  140                    | tSTRING . StringExpr
+  142                    | tSTRING . '{' RecursiveListOfStringExprVar '}'
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tBIGSTR              shift, and go to state 344
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStr                 shift, and go to state 345
+    tSprintf             shift, and go to state 346
+    tStrCat              shift, and go to state 347
+    tStrPrefix           shift, and go to state 348
+    tStrRelative         shift, and go to state 349
+    tStrReplace          shift, and go to state 350
+    tAbsolutePath        shift, and go to state 351
+    tDirName             shift, and go to state 352
+    tStrSub              shift, and go to state 353
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tStrChoice           shift, and go to state 354
+    tUpperCase           shift, and go to state 355
+    tLowerCase           shift, and go to state 356
+    tLowerCaseIn         shift, and go to state 357
+    tTextAttributes      shift, and go to state 224
+    tToday               shift, and go to state 358
+    tFixRelativePath     shift, and go to state 359
+    tCurrentDirectory    shift, and go to state 360
+    tOnelabAction        shift, and go to state 361
+    tCodeName            shift, and go to state 362
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tNameStruct          shift, and go to state 363
+    tDimNameSpace        shift, and go to state 229
+    tDefineString        shift, and go to state 364
+    tGetValue            shift, and go to state 237
+    tGetStringValue      shift, and go to state 365
+    tGetEnv              shift, and go to state 366
+    tGetString           shift, and go to state 367
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGetForcedStr        shift, and go to state 368
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tGmshExecutableName  shift, and go to state 369
+    tNameToString        shift, and go to state 370
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '{'                  shift, and go to state 1808
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1809
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringExpr       go to state 1810
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1666
+
+  141 CharParameterOption: tMacro . StringExpr
+
+    tBIGSTR              shift, and go to state 344
+    tStr                 shift, and go to state 345
+    tSprintf             shift, and go to state 346
+    tStrCat              shift, and go to state 347
+    tStrPrefix           shift, and go to state 348
+    tStrRelative         shift, and go to state 349
+    tStrReplace          shift, and go to state 350
+    tAbsolutePath        shift, and go to state 351
+    tDirName             shift, and go to state 352
+    tStrSub              shift, and go to state 353
+    tStrChoice           shift, and go to state 354
+    tUpperCase           shift, and go to state 355
+    tLowerCase           shift, and go to state 356
+    tLowerCaseIn         shift, and go to state 357
+    tToday               shift, and go to state 358
+    tFixRelativePath     shift, and go to state 359
+    tCurrentDirectory    shift, and go to state 360
+    tOnelabAction        shift, and go to state 361
+    tCodeName            shift, and go to state 362
+    tNameStruct          shift, and go to state 363
+    tDefineString        shift, and go to state 364
+    tGetStringValue      shift, and go to state 365
+    tGetEnv              shift, and go to state 366
+    tGetString           shift, and go to state 367
+    tGetForcedStr        shift, and go to state 368
+    tGmshExecutableName  shift, and go to state 369
+    tNameToString        shift, and go to state 370
+
+    StringExpr  go to state 1811
+
+
+state 1667
+
+  136 CharParameterOptionsOrNone: ',' CharParameterOptions .
+  138 CharParameterOptions: CharParameterOptions . ',' CharParameterOption
+
+    ','  shift, and go to state 1812
+
+    $default  reduce using rule 136 (CharParameterOptionsOrNone)
+
+
+state 1668
+
+  137 CharParameterOptions: CharParameterOption .
+
+    $default  reduce using rule 137 (CharParameterOptions)
+
+
+state 1669
+
+  576 StringExpr: tDefineString LP StringExpr @15 CharParameterOptionsOrNone RP .
+
+    $default  reduce using rule 576 (StringExpr)
+
+
+state 1670
+
+  553 StringExpr: tGetStringValue '(' StringExprVar ',' StringExprVar ')' .
+
+    $default  reduce using rule 553 (StringExpr)
+
+
+state 1671
+
+  555 StringExpr: tGetString LP StringExprVar ',' StringExprVar RP .
+
+    $default  reduce using rule 555 (StringExpr)
+
+
+state 1672
+
+  557 StringExpr: tGetForcedStr '(' Struct_FullName '.' tSTRING_Member_Float GetForcedStr_Default . ')'
+
+    ')'  shift, and go to state 1813
+
+
+state 1673
+
+  260 Slide: tSlide '(' '{' RecursiveListOfDouble '}' ',' StringExpr . ',' StringExpr ')' tEND
+
+    ','  shift, and go to state 1814
+
+
+state 1674
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  584 StringIndex: tStringToName '[' StringExprVar ']' '~' '{' FExpr . '}'
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    '}'              shift, and go to state 1815
+
+
+state 1675
+
+  208 ListOfShapes: ListOfShapes . Shape
+  209             | ListOfShapes . tPoint '{' RecursiveListOfDouble '}' tEND
+  210             | ListOfShapes . tLine '{' RecursiveListOfDouble '}' tEND
+  211             | ListOfShapes . tSurface '{' RecursiveListOfDouble '}' tEND
+  212             | ListOfShapes . tVolume '{' RecursiveListOfDouble '}' tEND
+  315 BooleanShape: BooleanOperator '(' FExpr ')' tAFFECT '{' ListOfShapes . BooleanOption '}' '{' ListOfShapes BooleanOption '}' tEND
+
+    tEuclidian     shift, and go to state 7
+    tCoordinates   shift, and go to state 8
+    tPoint         shift, and go to state 712
+    tCircle        shift, and go to state 25
+    tEllipse       shift, and go to state 26
+    tLine          shift, and go to state 713
+    tSphere        shift, and go to state 28
+    tPolarSphere   shift, and go to state 29
+    tSurface       shift, and go to state 714
+    tSpline        shift, and go to state 31
+    tVolume        shift, and go to state 715
+    tBlock         shift, and go to state 33
+    tCylinder      shift, and go to state 34
+    tCone          shift, and go to state 35
+    tTorus         shift, and go to state 36
+    tRectangle     shift, and go to state 38
+    tDisk          shift, and go to state 39
+    tWire          shift, and go to state 40
+    tParametric    shift, and go to state 42
+    tThruSections  shift, and go to state 716
+    tWedge         shift, and go to state 48
+    tPlane         shift, and go to state 50
+    tRuled         shift, and go to state 717
+    tPhysical      shift, and go to state 53
+    tCompound      shift, and go to state 718
+    tRecursive     shift, and go to state 986
+    tThickSolid    shift, and go to state 70
+    tDelete        shift, and go to state 987
+    tBSpline       shift, and go to state 84
+    tBezier        shift, and go to state 85
+    tNurbs         shift, and go to state 86
+
+    $default  reduce using rule 308 (BooleanOption)
+
+    Shape          go to state 719
+    BooleanOption  go to state 1816
+
+
+state 1676
+
+  312 BooleanOption: tRecursive tDelete FExpr tEND .
+
+    $default  reduce using rule 312 (BooleanOption)
+
+
+state 1677
+
+  208 ListOfShapes: ListOfShapes . Shape
+  209             | ListOfShapes . tPoint '{' RecursiveListOfDouble '}' tEND
+  210             | ListOfShapes . tLine '{' RecursiveListOfDouble '}' tEND
+  211             | ListOfShapes . tSurface '{' RecursiveListOfDouble '}' tEND
+  212             | ListOfShapes . tVolume '{' RecursiveListOfDouble '}' tEND
+  313 Boolean: BooleanOperator '{' ListOfShapes BooleanOption '}' '{' ListOfShapes . BooleanOption '}'
+
+    tEuclidian     shift, and go to state 7
+    tCoordinates   shift, and go to state 8
+    tPoint         shift, and go to state 712
+    tCircle        shift, and go to state 25
+    tEllipse       shift, and go to state 26
+    tLine          shift, and go to state 713
+    tSphere        shift, and go to state 28
+    tPolarSphere   shift, and go to state 29
+    tSurface       shift, and go to state 714
+    tSpline        shift, and go to state 31
+    tVolume        shift, and go to state 715
+    tBlock         shift, and go to state 33
+    tCylinder      shift, and go to state 34
+    tCone          shift, and go to state 35
+    tTorus         shift, and go to state 36
+    tRectangle     shift, and go to state 38
+    tDisk          shift, and go to state 39
+    tWire          shift, and go to state 40
+    tParametric    shift, and go to state 42
+    tThruSections  shift, and go to state 716
+    tWedge         shift, and go to state 48
+    tPlane         shift, and go to state 50
+    tRuled         shift, and go to state 717
+    tPhysical      shift, and go to state 53
+    tCompound      shift, and go to state 718
+    tRecursive     shift, and go to state 986
+    tThickSolid    shift, and go to state 70
+    tDelete        shift, and go to state 987
+    tBSpline       shift, and go to state 84
+    tBezier        shift, and go to state 85
+    tNurbs         shift, and go to state 86
+
+    $default  reduce using rule 308 (BooleanOption)
+
+    Shape          go to state 719
+    BooleanOption  go to state 1817
+
+
+state 1678
+
+  365 Homology: HomologyCommand '(' ListOfDouble ')' '{' ListOfDouble ',' . ListOfDouble '}' tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 247
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '{'                   shift, and go to state 250
+    '#'                   shift, and go to state 251
+
+    Transform        go to state 252
+    Extrude          go to state 253
+    BooleanOperator  go to state 254
+    Boolean          go to state 255
+    FExpr            go to state 256
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    ListOfDouble     go to state 1818
+    FExpr_Multi      go to state 261
+    StringIndex      go to state 131
+    String__Index    go to state 262
+
+
+state 1679
+
+  364 Homology: HomologyCommand '{' ListOfDouble ',' ListOfDouble '}' tEND .
+
+    $default  reduce using rule 364 (Homology)
+
+
+state 1680
+
+   84 Affectation: String__Index '(' FExpr ')' NumericAffectation FExpr tEND .
+
+    $default  reduce using rule 84 (Affectation)
+
+
+state 1681
+
+   62 NumericAffectation: tAFFECT .
+   91 Affectation: String__Index '[' FExpr ']' '.' tSTRING tAFFECT . StringExpr tEND
+
+    tBIGSTR              shift, and go to state 344
+    tStr                 shift, and go to state 345
+    tSprintf             shift, and go to state 346
+    tStrCat              shift, and go to state 347
+    tStrPrefix           shift, and go to state 348
+    tStrRelative         shift, and go to state 349
+    tStrReplace          shift, and go to state 350
+    tAbsolutePath        shift, and go to state 351
+    tDirName             shift, and go to state 352
+    tStrSub              shift, and go to state 353
+    tStrChoice           shift, and go to state 354
+    tUpperCase           shift, and go to state 355
+    tLowerCase           shift, and go to state 356
+    tLowerCaseIn         shift, and go to state 357
+    tToday               shift, and go to state 358
+    tFixRelativePath     shift, and go to state 359
+    tCurrentDirectory    shift, and go to state 360
+    tOnelabAction        shift, and go to state 361
+    tCodeName            shift, and go to state 362
+    tNameStruct          shift, and go to state 363
+    tDefineString        shift, and go to state 364
+    tGetStringValue      shift, and go to state 365
+    tGetEnv              shift, and go to state 366
+    tGetString           shift, and go to state 367
+    tGetForcedStr        shift, and go to state 368
+    tGmshExecutableName  shift, and go to state 369
+    tNameToString        shift, and go to state 370
+
+    $default  reduce using rule 62 (NumericAffectation)
+
+    StringExpr  go to state 1819
+
+
+state 1682
+
+   93 Affectation: String__Index '[' FExpr ']' '.' tSTRING NumericAffectation . FExpr tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1820
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1683
+
+   95 Affectation: String__Index '[' FExpr ']' '.' tSTRING NumericIncrement . tEND
+
+    tEND  shift, and go to state 1821
+
+
+state 1684
+
+   97 Affectation: String__Index '[' FExpr ']' '.' tColor '.' . tSTRING tAFFECT ColorExpr tEND
+
+    tSTRING  shift, and go to state 1822
+
+
+state 1685
+
+   99 Affectation: String__Index '[' FExpr ']' '.' tColorTable tAFFECT . ListOfColor tEND
+
+    tSTRING        shift, and go to state 150
+    tStringToName  shift, and go to state 107
+    '{'            shift, and go to state 1282
+
+    ListOfColor    go to state 1823
+    StringIndex    go to state 131
+    String__Index  go to state 1284
+
+
+state 1686
+
+   82 Affectation: String__Index '[' FExpr ']' NumericAffectation FExpr tEND .
+
+    $default  reduce using rule 82 (Affectation)
+
+
+state 1687
+
+   96 Affectation: String__Index '.' tColor '.' tSTRING tAFFECT ColorExpr . tEND
+
+    tEND  shift, and go to state 1824
+
+
+state 1688
+
+  529 ListOfColor: '{' RecursiveListOfColor '}' .
+
+    $default  reduce using rule 529 (ListOfColor)
+
+
+state 1689
+
+  532 RecursiveListOfColor: RecursiveListOfColor ',' . ColorExpr
+
+    tSTRING        shift, and go to state 333
+    tStringToName  shift, and go to state 107
+    '{'            shift, and go to state 334
+
+    ColorExpr      go to state 1825
+    StringIndex    go to state 131
+    String__Index  go to state 336
+
+
+state 1690
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  530 ListOfColor: String__Index '[' FExpr . ']' '.' tColorTable
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ']'              shift, and go to state 1826
+
+
+state 1691
+
+   81 Affectation: String__Index LP '{' RecursiveListOfDouble '}' RP NumericAffectation . ListOfDouble tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 247
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '{'                   shift, and go to state 250
+    '#'                   shift, and go to state 251
+
+    Transform        go to state 252
+    Extrude          go to state 253
+    BooleanOperator  go to state 254
+    Boolean          go to state 255
+    FExpr            go to state 256
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    ListOfDouble     go to state 1827
+    FExpr_Multi      go to state 261
+    StringIndex      go to state 131
+    String__Index    go to state 262
+
+
+state 1692
+
+   87 Affectation: String__Index LP RP tAFFECT tStr LP RP . tEND
+
+    tEND  shift, and go to state 1828
+
+
+state 1693
+
+   88 Affectation: String__Index LP RP tAFFECT tStr LP RecursiveListOfStringExprVar . RP tEND
+  581 RecursiveListOfStringExprVar: RecursiveListOfStringExprVar . ',' StringExprVar
+
+    ')'  shift, and go to state 699
+    ']'  shift, and go to state 700
+    ','  shift, and go to state 732
+
+    RP  go to state 1829
+
+
+state 1694
+
+   89 Affectation: String__Index LP RP tAFFECTPLUS tStr LP RecursiveListOfStringExprVar . RP tEND
+  581 RecursiveListOfStringExprVar: RecursiveListOfStringExprVar . ',' StringExprVar
+
+    ')'  shift, and go to state 699
+    ']'  shift, and go to state 700
+    ','  shift, and go to state 732
+
+    RP  go to state 1830
+
+
+state 1695
+
+   49 Element: tSTRING @1 '(' . ElementCoords ')' @2 '{' ElementValues '}' tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    ElementCoords    go to state 1831
+    FExpr            go to state 1832
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1696
+
+   53 Text2D: tText2D '(' FExpr . ',' FExpr ',' FExpr ')' @3 '{' Text2DValues '}' tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ','              shift, and go to state 1833
+
+
+state 1697
+
+   57 Text3D: tText3D '(' FExpr . ',' FExpr ',' FExpr ',' FExpr ')' @4 '{' Text3DValues '}' tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ','              shift, and go to state 1834
+
+
+state 1698
+
+   58 InterpolationMatrix: tInterpolationScheme '{' RecursiveListOfListOfDouble . '}' '{' RecursiveListOfListOfDouble '}' tEND
+   59                    | tInterpolationScheme '{' RecursiveListOfListOfDouble . '}' '{' RecursiveListOfListOfDouble '}' '{' RecursiveListOfListOfDouble '}' '{' RecursiveListOfListOfDouble '}' tEND
+  480 RecursiveListOfListOfDouble: RecursiveListOfListOfDouble . ',' ListOfDouble
+
+    '}'  shift, and go to state 1835
+    ','  shift, and go to state 1836
+
+
+state 1699
+
+  479 RecursiveListOfListOfDouble: ListOfDouble .
+
+    $default  reduce using rule 479 (RecursiveListOfListOfDouble)
+
+
+state 1700
+
+   61 Time: tTime @5 '{' . ElementValues '}' tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    ElementValues    go to state 1837
+    FExpr            go to state 1838
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1701
+
+  447 FExpr_Single: String__Index tSCOPE String__Index '.' tSTRING_Member_Float '(' . FExpr ')'
+  540 StringExprVar: String__Index tSCOPE String__Index '.' tSTRING_Member_Float '(' . FExpr ')'
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1839
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1702
+
+  448 FExpr_Single: String__Index '[' FExpr ']' '.' tSTRING .
+  450             | String__Index '[' FExpr ']' '.' tSTRING . NumericIncrement
+  541 StringExprVar: String__Index '[' FExpr ']' '.' tSTRING .
+
+    tMINUSMINUS  shift, and go to state 399
+    tPLUSPLUS    shift, and go to state 400
+
+    '{'       reduce using rule 541 (StringExprVar)
+    $default  reduce using rule 448 (FExpr_Single)
+
+    NumericIncrement  go to state 1749
+
+
+state 1703
+
+  243 Command: String__Index String__Index '[' FExpr ']' StringExprVar tEND .
+
+    $default  reduce using rule 243 (Command)
+
+
+state 1704
+
+  446 FExpr_Single: String__Index '.' tSTRING_Member_Float '(' FExpr ')' .
+  539 StringExprVar: String__Index '.' tSTRING_Member_Float '(' FExpr ')' .
+
+    '{'       reduce using rule 539 (StringExprVar)
+    $default  reduce using rule 446 (FExpr_Single)
+
+
+state 1705
+
+  244 Command: String__Index String__Index String__Index '[' FExpr ']' tEND .
+
+    $default  reduce using rule 244 (Command)
+
+
+state 1706
+
+  209 ListOfShapes: ListOfShapes tPoint '{' RecursiveListOfDouble '}' tEND .
+
+    $default  reduce using rule 209 (ListOfShapes)
+
+
+state 1707
+
+  210 ListOfShapes: ListOfShapes tLine '{' RecursiveListOfDouble '}' tEND .
+
+    $default  reduce using rule 210 (ListOfShapes)
+
+
+state 1708
+
+  211 ListOfShapes: ListOfShapes tSurface '{' RecursiveListOfDouble '}' tEND .
+
+    $default  reduce using rule 211 (ListOfShapes)
+
+
+state 1709
+
+  212 ListOfShapes: ListOfShapes tVolume '{' RecursiveListOfDouble '}' tEND .
+
+    $default  reduce using rule 212 (ListOfShapes)
+
+
+state 1710
+
+  191 Shape: tRuled tThruSections '(' FExpr ')' . tAFFECT ListOfDouble tEND
+
+    tAFFECT  shift, and go to state 1394
+
+
+state 1711
+
+  167 Shape: tCompound tLine '(' FExpr ')' . tAFFECT ListOfDouble tEND
+
+    tAFFECT  shift, and go to state 1406
+
+
+state 1712
+
+  186 Shape: tCompound tSurface '(' FExpr ')' . tAFFECT ListOfDouble tEND
+  187      | tCompound tSurface '(' FExpr ')' . tAFFECT ListOfDouble tSTRING '{' RecursiveListOfListOfDouble '}' tEND
+
+    tAFFECT  shift, and go to state 1407
+
+
+state 1713
+
+  192 Shape: tCompound tVolume '(' FExpr ')' . tAFFECT ListOfDouble tEND
+
+    tAFFECT  shift, and go to state 1408
+
+
+state 1714
+
+   32 Printf: tPrintf '(' StringExprVar ',' RecursiveListOfDouble ')' SendToFile StringExprVar . tEND
+
+    tEND  shift, and go to state 1840
+
+
+state 1715
+
+  540 StringExprVar: String__Index tSCOPE String__Index '.' tSTRING_Member_Float '(' . FExpr ')'
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1841
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1716
+
+  541 StringExprVar: String__Index '[' FExpr ']' '.' tSTRING .
+
+    $default  reduce using rule 541 (StringExprVar)
+
+
+state 1717
+
+  539 StringExprVar: String__Index '.' tSTRING_Member_Float '(' FExpr ')' .
+
+    $default  reduce using rule 539 (StringExprVar)
+
+
+state 1718
+
+  253 Command: tBoundingBox '{' FExpr ',' FExpr ',' FExpr ',' . FExpr ',' FExpr ',' FExpr '}' tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1842
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1719
+
+  114 DefineConstants: DefineConstants Comma String__Index tAFFECT '{' ListOfDouble . @6 FloatParameterOptionsOrNone '}'
+
+    $default  reduce using rule 113 (@6)
+
+    @6  go to state 1843
+
+
+state 1720
+
+  119 DefineConstants: DefineConstants Comma String__Index tAFFECT '{' StringExpr . @8 CharParameterOptionsOrNone '}'
+
+    $default  reduce using rule 118 (@8)
+
+    @8  go to state 1844
+
+
+state 1721
+
+  116 DefineConstants: DefineConstants Comma String__Index LP RP tAFFECT . '{' ListOfDouble @7 FloatParameterOptionsOrNone '}'
+
+    '{'  shift, and go to state 1845
+
+
+state 1722
+
+  123 Enumeration: Enumeration . ',' FExpr tAFFECT StringExpr
+  133 FloatParameterOption: tSTRING '{' Enumeration . '}'
+
+    '}'  shift, and go to state 1846
+    ','  shift, and go to state 1847
+
+
+state 1723
+
+  122 Enumeration: FExpr . tAFFECT StringExpr
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  490 FExpr_Multi: FExpr . '*' FExpr_Multi
+  491            | FExpr . tDOTS FExpr
+  492            | FExpr . tDOTS FExpr tDOTS FExpr
+  521 RecursiveListOfDouble: FExpr .
+
+    tAFFECT          shift, and go to state 1848
+    tDOTS            shift, and go to state 531
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 745
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+
+    $default  reduce using rule 521 (RecursiveListOfDouble)
+
+
+state 1724
+
+  124 Enumeration: FExpr_Multi . tAFFECT String__Index '(' ')'
+  522 RecursiveListOfDouble: FExpr_Multi .
+
+    tAFFECT  shift, and go to state 1849
+
+    $default  reduce using rule 522 (RecursiveListOfDouble)
+
+
+state 1725
+
+  130 FloatParameterOptions: FloatParameterOptions ',' FloatParameterOption .
+
+    $default  reduce using rule 130 (FloatParameterOptions)
+
+
+state 1726
+
+  342 Constraints: tPoint '{' RecursiveListOfDouble '}' tIn tSurface '{' FExpr . '}' tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    '}'              shift, and go to state 1850
+
+
+state 1727
+
+  344 Constraints: tPoint '{' RecursiveListOfDouble '}' tIn tVolume '{' FExpr . '}' tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    '}'              shift, and go to state 1851
+
+
+state 1728
+
+  158 CircleOptions: tPlane VExpr .
+  473 VExpr: VExpr . '-' VExpr
+  474      | VExpr . '+' VExpr
+
+    '+'  shift, and go to state 592
+    '-'  shift, and go to state 593
+
+    $default  reduce using rule 158 (CircleOptions)
+
+
+state 1729
+
+  162 Shape: tCircle '(' FExpr ')' tAFFECT ListOfDouble CircleOptions tEND .
+
+    $default  reduce using rule 162 (Shape)
+
+
+state 1730
+
+  163 Shape: tEllipse '(' FExpr ')' tAFFECT ListOfDouble CircleOptions tEND .
+
+    $default  reduce using rule 163 (Shape)
+
+
+state 1731
+
+  169 Shape: tLine tSTRING '(' FExpr ')' tAFFECT ListOfDouble tEND .
+
+    $default  reduce using rule 169 (Shape)
+
+
+state 1732
+
+  343 Constraints: tLine '{' RecursiveListOfDouble '}' tIn tSurface '{' FExpr . '}' tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    '}'              shift, and go to state 1852
+
+
+state 1733
+
+  345 Constraints: tLine '{' RecursiveListOfDouble '}' tIn tVolume '{' FExpr . '}' tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    '}'              shift, and go to state 1853
+
+
+state 1734
+
+  188 Shape: tSurface tSTRING '(' FExpr ')' tAFFECT ListOfDouble tEND .
+
+    $default  reduce using rule 188 (Shape)
+
+
+state 1735
+
+  156 InSphereCenter: tIn tSphere . '{' FExpr '}'
+
+    '{'  shift, and go to state 1854
+
+
+state 1736
+
+  171 Shape: tSurface '(' FExpr ')' tAFFECT ListOfDouble InSphereCenter tEND .
+
+    $default  reduce using rule 171 (Shape)
+
+
+state 1737
+
+  346 Constraints: tSurface '{' RecursiveListOfDouble '}' tIn tVolume '{' FExpr . '}' tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    '}'              shift, and go to state 1855
+
+
+state 1738
+
+  175 Shape: tParametric tSurface '(' FExpr ')' tAFFECT tBIGSTR tBIGSTR . tBIGSTR tEND
+
+    tBIGSTR  shift, and go to state 1856
+
+
+state 1739
+
+  259 Command: tAdaptMesh '{' RecursiveListOfDouble '}' '{' RecursiveListOfDouble '}' '{' . RecursiveListOfListOfDouble '}' '{' FExpr ',' FExpr '}' tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 247
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '{'                   shift, and go to state 250
+    '#'                   shift, and go to state 251
+
+    Transform                    go to state 252
+    Extrude                      go to state 253
+    BooleanOperator              go to state 254
+    Boolean                      go to state 255
+    FExpr                        go to state 256
+    FExpr_Single                 go to state 257
+    DefineStruct                 go to state 258
+    Struct_FullName              go to state 259
+    RecursiveListOfListOfDouble  go to state 1857
+    ListOfDouble                 go to state 1699
+    FExpr_Multi                  go to state 261
+    StringIndex                  go to state 131
+    String__Index                go to state 262
+
+
+state 1740
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  515 FExpr_Multi: tLinSpace LP FExpr ',' FExpr ',' FExpr . RP
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 699
+    ']'              shift, and go to state 700
+
+    RP  go to state 1858
+
+
+state 1741
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  516 FExpr_Multi: tLogSpace LP FExpr ',' FExpr ',' FExpr . RP
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 699
+    ']'              shift, and go to state 700
+
+    RP  go to state 1859
+
+
+state 1742
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  518 FExpr_Multi: tCatenary LP FExpr ',' FExpr ',' FExpr . ',' FExpr ',' FExpr ',' FExpr RP
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ','              shift, and go to state 1860
+
+
+state 1743
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  502 FExpr_Multi: tPoint tIn tBoundingBox '{' FExpr ',' FExpr . ',' FExpr ',' FExpr ',' FExpr ',' FExpr '}'
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ','              shift, and go to state 1861
+
+
+state 1744
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  503 FExpr_Multi: tLine tIn tBoundingBox '{' FExpr ',' FExpr . ',' FExpr ',' FExpr ',' FExpr ',' FExpr '}'
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ','              shift, and go to state 1862
+
+
+state 1745
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  504 FExpr_Multi: tSurface tIn tBoundingBox '{' FExpr ',' FExpr . ',' FExpr ',' FExpr ',' FExpr ',' FExpr '}'
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ','              shift, and go to state 1863
+
+
+state 1746
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  505 FExpr_Multi: tVolume tIn tBoundingBox '{' FExpr ',' FExpr . ',' FExpr ',' FExpr ',' FExpr ',' FExpr '}'
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ','              shift, and go to state 1864
+
+
+state 1747
+
+  435 FExpr_Single: tGetForced '(' Struct_FullName '.' tSTRING_Member_Float GetForced_Default ')' .
+
+    $default  reduce using rule 435 (FExpr_Single)
+
+
+state 1748
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  447 FExpr_Single: String__Index tSCOPE String__Index '.' tSTRING_Member_Float '(' FExpr . ')'
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 1865
+
+
+state 1749
+
+  450 FExpr_Single: String__Index '[' FExpr ']' '.' tSTRING NumericIncrement .
+
+    $default  reduce using rule 450 (FExpr_Single)
+
+
+state 1750
+
+  289 Extrude: tFillet '{' RecursiveListOfDouble '}' '{' RecursiveListOfDouble '}' '{' . FExpr '}'
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1866
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1751
+
+  170 Shape: tPlane tSurface '(' FExpr ')' tAFFECT ListOfDouble tEND .
+
+    $default  reduce using rule 170 (Shape)
+
+
+state 1752
+
+  172 Shape: tRuled tSurface '(' FExpr ')' tAFFECT ListOfDouble InSphereCenter . tEND
+
+    tEND  shift, and go to state 1867
+
+
+state 1753
+
+  191 Shape: tRuled tThruSections '(' FExpr ')' tAFFECT ListOfDouble tEND .
+
+    $default  reduce using rule 191 (Shape)
+
+
+state 1754
+
+  317 TransfiniteType: tUsing tSTRING FExpr .
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+
+    $default  reduce using rule 317 (TransfiniteType)
+
+
+state 1755
+
+  193 Shape: tPhysical tPoint '(' PhysicalId0 ')' NumericAffectation ListOfDouble tEND .
+
+    $default  reduce using rule 193 (Shape)
+
+
+state 1756
+
+  194 Shape: tPhysical tLine '(' PhysicalId1 ')' NumericAffectation ListOfDouble tEND .
+
+    $default  reduce using rule 194 (Shape)
+
+
+state 1757
+
+  195 Shape: tPhysical tSurface '(' PhysicalId2 ')' NumericAffectation ListOfDouble tEND .
+
+    $default  reduce using rule 195 (Shape)
+
+
+state 1758
+
+  196 Shape: tPhysical tVolume '(' PhysicalId3 ')' NumericAffectation ListOfDouble tEND .
+
+    $default  reduce using rule 196 (Shape)
+
+
+state 1759
+
+  167 Shape: tCompound tLine '(' FExpr ')' tAFFECT ListOfDouble tEND .
+
+    $default  reduce using rule 167 (Shape)
+
+
+state 1760
+
+  187 Shape: tCompound tSurface '(' FExpr ')' tAFFECT ListOfDouble tSTRING . '{' RecursiveListOfListOfDouble '}' tEND
+
+    '{'  shift, and go to state 1868
+
+
+state 1761
+
+  186 Shape: tCompound tSurface '(' FExpr ')' tAFFECT ListOfDouble tEND .
+
+    $default  reduce using rule 186 (Shape)
+
+
+state 1762
+
+  192 Shape: tCompound tVolume '(' FExpr ')' tAFFECT ListOfDouble tEND .
+
+    $default  reduce using rule 192 (Shape)
+
+
+state 1763
+
+  335 Constraints: tPeriodic tLine '{' RecursiveListOfDouble '}' tAFFECT '{' RecursiveListOfDouble . '}' PeriodicTransform tEND
+  337            | tPeriodic tLine '{' RecursiveListOfDouble '}' tAFFECT '{' RecursiveListOfDouble . '}' tRotate '{' VExpr ',' VExpr ',' FExpr '}' tEND
+  339            | tPeriodic tLine '{' RecursiveListOfDouble '}' tAFFECT '{' RecursiveListOfDouble . '}' tTranslate VExpr tEND
+  523 RecursiveListOfDouble: RecursiveListOfDouble . ',' FExpr
+  524                      | RecursiveListOfDouble . ',' FExpr_Multi
+
+    '}'  shift, and go to state 1869
+    ','  shift, and go to state 747
+
+
+state 1764
+
+  336 Constraints: tPeriodic tSurface '{' RecursiveListOfDouble '}' tAFFECT '{' RecursiveListOfDouble . '}' PeriodicTransform tEND
+  338            | tPeriodic tSurface '{' RecursiveListOfDouble '}' tAFFECT '{' RecursiveListOfDouble . '}' tRotate '{' VExpr ',' VExpr ',' FExpr '}' tEND
+  340            | tPeriodic tSurface '{' RecursiveListOfDouble '}' tAFFECT '{' RecursiveListOfDouble . '}' tTranslate VExpr tEND
+  523 RecursiveListOfDouble: RecursiveListOfDouble . ',' FExpr
+  524                      | RecursiveListOfDouble . ',' FExpr_Multi
+
+    '}'  shift, and go to state 1870
+    ','  shift, and go to state 747
+
+
+state 1765
+
+  341 Constraints: tPeriodic tSurface FExpr '{' RecursiveListOfDouble '}' tAFFECT FExpr . '{' RecursiveListOfDouble '}' tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    '{'              shift, and go to state 1871
+
+
+state 1766
+
+  106 Affectation: tPlugin '(' tSTRING ')' '.' tSTRING tAFFECT FExpr . tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    tEND             shift, and go to state 1872
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+
+
+state 1767
+
+  107 Affectation: tPlugin '(' tSTRING ')' '.' tSTRING tAFFECT StringExpr . tEND
+
+    tEND  shift, and go to state 1873
+
+
+state 1768
+
+  198 Transform: tRotate '{' VExpr ',' VExpr ',' FExpr '}' . '{' MultipleShape '}'
+
+    '{'  shift, and go to state 1874
+
+
+state 1769
+
+  478 VExpr_Single: '(' FExpr ',' FExpr ',' FExpr ')' .
+
+    $default  reduce using rule 478 (VExpr_Single)
+
+
+state 1770
+
+  477 VExpr_Single: '{' FExpr ',' FExpr ',' FExpr '}' .
+
+    $default  reduce using rule 477 (VExpr_Single)
+
+
+state 1771
+
+  475 VExpr_Single: '{' FExpr ',' FExpr ',' FExpr ',' . FExpr ',' FExpr '}'
+  476             | '{' FExpr ',' FExpr ',' FExpr ',' . FExpr '}'
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1875
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1772
+
+  200 Transform: tDilate '{' VExpr ',' FExpr '}' '{' MultipleShape . '}'
+
+    '}'  shift, and go to state 1876
+
+
+state 1773
+
+  201 Transform: tDilate '{' VExpr ',' VExpr '}' '{' MultipleShape . '}'
+
+    '}'  shift, and go to state 1877
+
+
+state 1774
+
+  286 Extrude: tExtrude '{' ListOfShapes '}' tUsing tWire '{' FExpr . '}'
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    '}'              shift, and go to state 1878
+
+
+state 1775
+
+  302 ExtrudeParameter: tUsing tSTRING '[' FExpr . ']' tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ']'              shift, and go to state 1879
+
+
+state 1776
+
+  292 ExtrudeParameter: tLayers '{' FExpr '}' . tEND
+
+    tEND  shift, and go to state 1880
+
+
+state 1777
+
+  293 ExtrudeParameter: tLayers '{' ListOfDouble ',' . ListOfDouble '}' tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 247
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '{'                   shift, and go to state 250
+    '#'                   shift, and go to state 251
+
+    Transform        go to state 252
+    Extrude          go to state 253
+    BooleanOperator  go to state 254
+    Boolean          go to state 255
+    FExpr            go to state 256
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    ListOfDouble     go to state 1881
+    FExpr_Multi      go to state 261
+    StringIndex      go to state 131
+    String__Index    go to state 262
+
+
+state 1778
+
+  301 ExtrudeParameter: tHole '(' FExpr ')' . tAFFECT ListOfDouble tUsing FExpr tEND
+
+    tAFFECT  shift, and go to state 1882
+
+
+state 1779
+
+  276 Extrude: tExtrude '{' VExpr ',' VExpr ',' FExpr '}' . '{' ListOfShapes '}'
+  281        | tExtrude '{' VExpr ',' VExpr ',' FExpr '}' . '{' ListOfShapes @10 ExtrudeParameters '}'
+
+    '{'  shift, and go to state 1883
+
+
+state 1780
+
+  277 Extrude: tExtrude '{' VExpr ',' VExpr ',' VExpr ',' . FExpr '}' '{' ListOfShapes '}'
+  283        | tExtrude '{' VExpr ',' VExpr ',' VExpr ',' . FExpr '}' '{' ListOfShapes @11 ExtrudeParameters '}'
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1884
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1781
+
+  223 LevelSet: tLevelset tSTRING '(' FExpr ')' tAFFECT tBIGSTR tEND .
+
+    $default  reduce using rule 223 (LevelSet)
+
+
+state 1782
+
+  222 LevelSet: tLevelset tSTRING '(' FExpr ')' tAFFECT ListOfDouble tEND .
+
+    $default  reduce using rule 222 (LevelSet)
+
+
+state 1783
+
+  214 LevelSet: tLevelset tPoint '(' FExpr ')' tAFFECT '{' RecursiveListOfListOfDouble . '}' tEND
+  480 RecursiveListOfListOfDouble: RecursiveListOfListOfDouble . ',' ListOfDouble
+
+    '}'  shift, and go to state 1885
+    ','  shift, and go to state 1836
+
+
+state 1784
+
+  217 LevelSet: tLevelset tSphere '(' FExpr ')' tAFFECT '{' VExpr . ',' RecursiveListOfDouble '}' tEND
+  473 VExpr: VExpr . '-' VExpr
+  474      | VExpr . '+' VExpr
+
+    '+'  shift, and go to state 592
+    '-'  shift, and go to state 593
+    ','  shift, and go to state 1886
+
+
+state 1785
+
+  218 LevelSet: tLevelset tCylinder '(' FExpr ')' tAFFECT '{' VExpr . ',' VExpr ',' RecursiveListOfDouble '}' tEND
+  473 VExpr: VExpr . '-' VExpr
+  474      | VExpr . '+' VExpr
+
+    '+'  shift, and go to state 592
+    '-'  shift, and go to state 593
+    ','  shift, and go to state 1887
+
+
+state 1786
+
+  219 LevelSet: tLevelset tCone '(' FExpr ')' tAFFECT '{' VExpr . ',' VExpr ',' RecursiveListOfDouble '}' tEND
+  473 VExpr: VExpr . '-' VExpr
+  474      | VExpr . '+' VExpr
+
+    '+'  shift, and go to state 592
+    '-'  shift, and go to state 593
+    ','  shift, and go to state 1888
+
+
+state 1787
+
+  220 LevelSet: tLevelset tEllipsoid '(' FExpr ')' tAFFECT '{' VExpr . ',' VExpr ',' RecursiveListOfDouble '}' tEND
+  473 VExpr: VExpr . '-' VExpr
+  474      | VExpr . '+' VExpr
+
+    '+'  shift, and go to state 592
+    '-'  shift, and go to state 593
+    ','  shift, and go to state 1889
+
+
+state 1788
+
+  221 LevelSet: tLevelset tQuadric '(' FExpr ')' tAFFECT '{' VExpr . ',' VExpr ',' RecursiveListOfDouble '}' tEND
+  473 VExpr: VExpr . '-' VExpr
+  474      | VExpr . '+' VExpr
+
+    '+'  shift, and go to state 592
+    '-'  shift, and go to state 593
+    ','  shift, and go to state 1890
+
+
+state 1789
+
+  368 FExpr: '-' . FExpr
+  471 VExpr: '-' . VExpr
+  489 FExpr_Multi: '-' . FExpr_Multi
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 597
+    '-'                   shift, and go to state 1789
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 599
+    '{'                   shift, and go to state 290
+    '#'                   shift, and go to state 251
+
+    Transform        go to state 252
+    Extrude          go to state 253
+    BooleanOperator  go to state 254
+    Boolean          go to state 255
+    FExpr            go to state 523
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    VExpr            go to state 589
+    VExpr_Single     go to state 292
+    FExpr_Multi      go to state 524
+    StringIndex      go to state 131
+    String__Index    go to state 262
+
+
+state 1790
+
+  215 LevelSet: tLevelset tPlane '(' FExpr ')' tAFFECT '{' VExpr . ',' VExpr ',' RecursiveListOfDouble '}' tEND
+  216         | tLevelset tPlane '(' FExpr ')' tAFFECT '{' VExpr . ',' VExpr ',' VExpr ',' RecursiveListOfDouble '}' tEND
+  473 VExpr: VExpr . '-' VExpr
+  474      | VExpr . '+' VExpr
+
+    '+'  shift, and go to state 592
+    '-'  shift, and go to state 593
+    ','  shift, and go to state 1891
+
+
+state 1791
+
+  213 LevelSet: tLevelset tPlane '(' FExpr ')' tAFFECT ListOfDouble tEND .
+
+    $default  reduce using rule 213 (LevelSet)
+
+
+state 1792
+
+  204 Transform: tSplit tLine '(' FExpr ')' '{' RecursiveListOfDouble '}' . tEND
+
+    tEND  shift, and go to state 1892
+
+
+state 1793
+
+  203 Transform: tIntersect tLine '{' RecursiveListOfDouble '}' tSurface '{' FExpr . '}'
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    '}'              shift, and go to state 1893
+
+
+state 1794
+
+  331 Constraints: tMeshAlgorithm tSurface '{' RecursiveListOfDouble '}' tAFFECT FExpr tEND .
+
+    $default  reduce using rule 331 (Constraints)
+
+
+state 1795
+
+   36 View: tCopyOptions tSTRING '[' FExpr ',' FExpr ']' tEND .
+
+    $default  reduce using rule 36 (View)
+
+
+state 1796
+
+  166 Shape: tNurbs '(' FExpr ')' tAFFECT ListOfDouble tNurbsKnots ListOfDouble . tNurbsOrder FExpr tEND
+
+    tNurbsOrder  shift, and go to state 1894
+
+
+state 1797
+
+  526 ColorExpr: '{' FExpr ',' FExpr ',' FExpr '}' .
+
+    $default  reduce using rule 526 (ColorExpr)
+
+
+state 1798
+
+  525 ColorExpr: '{' FExpr ',' FExpr ',' FExpr ',' . FExpr '}'
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1895
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1799
+
+  264 Loop: tFor tSTRING tIn '{' FExpr tDOTS FExpr tDOTS . FExpr '}'
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1896
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1800
+
+  263 Loop: tFor tSTRING tIn '{' FExpr tDOTS FExpr '}' .
+
+    $default  reduce using rule 263 (Loop)
+
+
+state 1801
+
+  262 Loop: tFor '(' FExpr tDOTS FExpr tDOTS FExpr ')' .
+
+    $default  reduce using rule 262 (Loop)
+
+
+state 1802
+
+  104 Affectation: tField '[' FExpr ']' '.' tSTRING tAFFECT '{' . RecursiveListOfDouble '}' tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 433
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '#'                   shift, and go to state 251
+
+    Transform              go to state 252
+    Extrude                go to state 253
+    BooleanOperator        go to state 254
+    Boolean                go to state 255
+    FExpr                  go to state 434
+    FExpr_Single           go to state 257
+    DefineStruct           go to state 258
+    Struct_FullName        go to state 259
+    FExpr_Multi            go to state 435
+    RecursiveListOfDouble  go to state 1897
+    StringIndex            go to state 131
+    String__Index          go to state 262
+
+
+state 1803
+
+  102 Affectation: tField '[' FExpr ']' '.' tSTRING tAFFECT FExpr . tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    tEND             shift, and go to state 1898
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+
+
+state 1804
+
+  103 Affectation: tField '[' FExpr ']' '.' tSTRING tAFFECT StringExpr . tEND
+
+    tEND  shift, and go to state 1899
+
+
+state 1805
+
+  561 StringExpr: tStrReplace '(' StringExprVar ',' StringExprVar ',' StringExprVar . ')'
+
+    ')'  shift, and go to state 1900
+
+
+state 1806
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  567 StringExpr: tStrSub LP StringExprVar ',' FExpr ',' FExpr . RP
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 699
+    ']'              shift, and go to state 700
+
+    RP  go to state 1901
+
+
+state 1807
+
+  566 StringExpr: tStrChoice LP FExpr ',' StringExprVar ',' StringExprVar . RP
+
+    ')'  shift, and go to state 699
+    ']'  shift, and go to state 700
+
+    RP  go to state 1902
+
+
+state 1808
+
+  142 CharParameterOption: tSTRING '{' . RecursiveListOfStringExprVar '}'
+
+    tSTRING              shift, and go to state 150
+    tBIGSTR              shift, and go to state 344
+    tStr                 shift, and go to state 345
+    tSprintf             shift, and go to state 346
+    tStrCat              shift, and go to state 347
+    tStrPrefix           shift, and go to state 348
+    tStrRelative         shift, and go to state 349
+    tStrReplace          shift, and go to state 350
+    tAbsolutePath        shift, and go to state 351
+    tDirName             shift, and go to state 352
+    tStrSub              shift, and go to state 353
+    tStrChoice           shift, and go to state 354
+    tUpperCase           shift, and go to state 355
+    tLowerCase           shift, and go to state 356
+    tLowerCaseIn         shift, and go to state 357
+    tToday               shift, and go to state 358
+    tFixRelativePath     shift, and go to state 359
+    tCurrentDirectory    shift, and go to state 360
+    tOnelabAction        shift, and go to state 361
+    tCodeName            shift, and go to state 362
+    tNameStruct          shift, and go to state 363
+    tDefineString        shift, and go to state 364
+    tPhysical            shift, and go to state 393
+    tGetStringValue      shift, and go to state 365
+    tGetEnv              shift, and go to state 366
+    tGetString           shift, and go to state 367
+    tGetForcedStr        shift, and go to state 368
+    tGmshExecutableName  shift, and go to state 369
+    tNameToString        shift, and go to state 370
+    tStringToName        shift, and go to state 107
+
+    StringExprVar                 go to state 423
+    StringExpr                    go to state 419
+    RecursiveListOfStringExprVar  go to state 1903
+    StringIndex                   go to state 131
+    String__Index                 go to state 420
+
+
+state 1809
+
+  139 CharParameterOption: tSTRING FExpr .
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+
+    $default  reduce using rule 139 (CharParameterOption)
+
+
+state 1810
+
+  140 CharParameterOption: tSTRING StringExpr .
+
+    $default  reduce using rule 140 (CharParameterOption)
+
+
+state 1811
+
+  141 CharParameterOption: tMacro StringExpr .
+
+    $default  reduce using rule 141 (CharParameterOption)
+
+
+state 1812
+
+  138 CharParameterOptions: CharParameterOptions ',' . CharParameterOption
+
+    tSTRING  shift, and go to state 1665
+    tMacro   shift, and go to state 1666
+
+    CharParameterOption  go to state 1904
+
+
+state 1813
+
+  557 StringExpr: tGetForcedStr '(' Struct_FullName '.' tSTRING_Member_Float GetForcedStr_Default ')' .
+
+    $default  reduce using rule 557 (StringExpr)
+
+
+state 1814
+
+  260 Slide: tSlide '(' '{' RecursiveListOfDouble '}' ',' StringExpr ',' . StringExpr ')' tEND
+
+    tBIGSTR              shift, and go to state 344
+    tStr                 shift, and go to state 345
+    tSprintf             shift, and go to state 346
+    tStrCat              shift, and go to state 347
+    tStrPrefix           shift, and go to state 348
+    tStrRelative         shift, and go to state 349
+    tStrReplace          shift, and go to state 350
+    tAbsolutePath        shift, and go to state 351
+    tDirName             shift, and go to state 352
+    tStrSub              shift, and go to state 353
+    tStrChoice           shift, and go to state 354
+    tUpperCase           shift, and go to state 355
+    tLowerCase           shift, and go to state 356
+    tLowerCaseIn         shift, and go to state 357
+    tToday               shift, and go to state 358
+    tFixRelativePath     shift, and go to state 359
+    tCurrentDirectory    shift, and go to state 360
+    tOnelabAction        shift, and go to state 361
+    tCodeName            shift, and go to state 362
+    tNameStruct          shift, and go to state 363
+    tDefineString        shift, and go to state 364
+    tGetStringValue      shift, and go to state 365
+    tGetEnv              shift, and go to state 366
+    tGetString           shift, and go to state 367
+    tGetForcedStr        shift, and go to state 368
+    tGmshExecutableName  shift, and go to state 369
+    tNameToString        shift, and go to state 370
+
+    StringExpr  go to state 1905
+
+
+state 1815
+
+  584 StringIndex: tStringToName '[' StringExprVar ']' '~' '{' FExpr '}' .
+
+    $default  reduce using rule 584 (StringIndex)
+
+
+state 1816
+
+  315 BooleanShape: BooleanOperator '(' FExpr ')' tAFFECT '{' ListOfShapes BooleanOption . '}' '{' ListOfShapes BooleanOption '}' tEND
+
+    '}'  shift, and go to state 1906
+
+
+state 1817
+
+  313 Boolean: BooleanOperator '{' ListOfShapes BooleanOption '}' '{' ListOfShapes BooleanOption . '}'
+
+    '}'  shift, and go to state 1907
+
+
+state 1818
+
+  365 Homology: HomologyCommand '(' ListOfDouble ')' '{' ListOfDouble ',' ListOfDouble . '}' tEND
+
+    '}'  shift, and go to state 1908
+
+
+state 1819
+
+   91 Affectation: String__Index '[' FExpr ']' '.' tSTRING tAFFECT StringExpr . tEND
+
+    tEND  shift, and go to state 1909
+
+
+state 1820
+
+   93 Affectation: String__Index '[' FExpr ']' '.' tSTRING NumericAffectation FExpr . tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    tEND             shift, and go to state 1910
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+
+
+state 1821
+
+   95 Affectation: String__Index '[' FExpr ']' '.' tSTRING NumericIncrement tEND .
+
+    $default  reduce using rule 95 (Affectation)
+
+
+state 1822
+
+   97 Affectation: String__Index '[' FExpr ']' '.' tColor '.' tSTRING . tAFFECT ColorExpr tEND
+
+    tAFFECT  shift, and go to state 1911
+
+
+state 1823
+
+   99 Affectation: String__Index '[' FExpr ']' '.' tColorTable tAFFECT ListOfColor . tEND
+
+    tEND  shift, and go to state 1912
+
+
+state 1824
+
+   96 Affectation: String__Index '.' tColor '.' tSTRING tAFFECT ColorExpr tEND .
+
+    $default  reduce using rule 96 (Affectation)
+
+
+state 1825
+
+  532 RecursiveListOfColor: RecursiveListOfColor ',' ColorExpr .
+
+    $default  reduce using rule 532 (RecursiveListOfColor)
+
+
+state 1826
+
+  530 ListOfColor: String__Index '[' FExpr ']' . '.' tColorTable
+
+    '.'  shift, and go to state 1913
+
+
+state 1827
+
+   81 Affectation: String__Index LP '{' RecursiveListOfDouble '}' RP NumericAffectation ListOfDouble . tEND
+
+    tEND  shift, and go to state 1914
+
+
+state 1828
+
+   87 Affectation: String__Index LP RP tAFFECT tStr LP RP tEND .
+
+    $default  reduce using rule 87 (Affectation)
+
+
+state 1829
+
+   88 Affectation: String__Index LP RP tAFFECT tStr LP RecursiveListOfStringExprVar RP . tEND
+
+    tEND  shift, and go to state 1915
+
+
+state 1830
+
+   89 Affectation: String__Index LP RP tAFFECTPLUS tStr LP RecursiveListOfStringExprVar RP . tEND
+
+    tEND  shift, and go to state 1916
+
+
+state 1831
+
+   44 ElementCoords: ElementCoords . ',' FExpr
+   49 Element: tSTRING @1 '(' ElementCoords . ')' @2 '{' ElementValues '}' tEND
+
+    ')'  shift, and go to state 1917
+    ','  shift, and go to state 1918
+
+
+state 1832
+
+   43 ElementCoords: FExpr .
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+
+    $default  reduce using rule 43 (ElementCoords)
+
+
+state 1833
+
+   53 Text2D: tText2D '(' FExpr ',' . FExpr ',' FExpr ')' @3 '{' Text2DValues '}' tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1919
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1834
+
+   57 Text3D: tText3D '(' FExpr ',' . FExpr ',' FExpr ',' FExpr ')' @4 '{' Text3DValues '}' tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1920
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1835
+
+   58 InterpolationMatrix: tInterpolationScheme '{' RecursiveListOfListOfDouble '}' . '{' RecursiveListOfListOfDouble '}' tEND
+   59                    | tInterpolationScheme '{' RecursiveListOfListOfDouble '}' . '{' RecursiveListOfListOfDouble '}' '{' RecursiveListOfListOfDouble '}' '{' RecursiveListOfListOfDouble '}' tEND
+
+    '{'  shift, and go to state 1921
+
+
+state 1836
+
+  480 RecursiveListOfListOfDouble: RecursiveListOfListOfDouble ',' . ListOfDouble
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 247
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '{'                   shift, and go to state 250
+    '#'                   shift, and go to state 251
+
+    Transform        go to state 252
+    Extrude          go to state 253
+    BooleanOperator  go to state 254
+    Boolean          go to state 255
+    FExpr            go to state 256
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    ListOfDouble     go to state 1922
+    FExpr_Multi      go to state 261
+    StringIndex      go to state 131
+    String__Index    go to state 262
+
+
+state 1837
+
+   46 ElementValues: ElementValues . ',' FExpr
+   61 Time: tTime @5 '{' ElementValues . '}' tEND
+
+    '}'  shift, and go to state 1923
+    ','  shift, and go to state 1924
+
+
+state 1838
+
+   45 ElementValues: FExpr .
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+
+    $default  reduce using rule 45 (ElementValues)
+
+
+state 1839
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  447 FExpr_Single: String__Index tSCOPE String__Index '.' tSTRING_Member_Float '(' FExpr . ')'
+  540 StringExprVar: String__Index tSCOPE String__Index '.' tSTRING_Member_Float '(' FExpr . ')'
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 1925
+
+
+state 1840
+
+   32 Printf: tPrintf '(' StringExprVar ',' RecursiveListOfDouble ')' SendToFile StringExprVar tEND .
+
+    $default  reduce using rule 32 (Printf)
+
+
+state 1841
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  540 StringExprVar: String__Index tSCOPE String__Index '.' tSTRING_Member_Float '(' FExpr . ')'
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 1926
+
+
+state 1842
+
+  253 Command: tBoundingBox '{' FExpr ',' FExpr ',' FExpr ',' FExpr . ',' FExpr ',' FExpr '}' tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ','              shift, and go to state 1927
+
+
+state 1843
+
+  114 DefineConstants: DefineConstants Comma String__Index tAFFECT '{' ListOfDouble @6 . FloatParameterOptionsOrNone '}'
+
+    ','  shift, and go to state 1367
+
+    $default  reduce using rule 125 (FloatParameterOptionsOrNone)
+
+    FloatParameterOptionsOrNone  go to state 1928
+
+
+state 1844
+
+  119 DefineConstants: DefineConstants Comma String__Index tAFFECT '{' StringExpr @8 . CharParameterOptionsOrNone '}'
+
+    ','  shift, and go to state 1469
+
+    $default  reduce using rule 135 (CharParameterOptionsOrNone)
+
+    CharParameterOptionsOrNone  go to state 1929
+
+
+state 1845
+
+  116 DefineConstants: DefineConstants Comma String__Index LP RP tAFFECT '{' . ListOfDouble @7 FloatParameterOptionsOrNone '}'
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 247
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '{'                   shift, and go to state 250
+    '#'                   shift, and go to state 251
+
+    Transform        go to state 252
+    Extrude          go to state 253
+    BooleanOperator  go to state 254
+    Boolean          go to state 255
+    FExpr            go to state 256
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    ListOfDouble     go to state 1930
+    FExpr_Multi      go to state 261
+    StringIndex      go to state 131
+    String__Index    go to state 262
+
+
+state 1846
+
+  133 FloatParameterOption: tSTRING '{' Enumeration '}' .
+
+    $default  reduce using rule 133 (FloatParameterOption)
+
+
+state 1847
+
+  123 Enumeration: Enumeration ',' . FExpr tAFFECT StringExpr
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1931
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1848
+
+  122 Enumeration: FExpr tAFFECT . StringExpr
+
+    tBIGSTR              shift, and go to state 344
+    tStr                 shift, and go to state 345
+    tSprintf             shift, and go to state 346
+    tStrCat              shift, and go to state 347
+    tStrPrefix           shift, and go to state 348
+    tStrRelative         shift, and go to state 349
+    tStrReplace          shift, and go to state 350
+    tAbsolutePath        shift, and go to state 351
+    tDirName             shift, and go to state 352
+    tStrSub              shift, and go to state 353
+    tStrChoice           shift, and go to state 354
+    tUpperCase           shift, and go to state 355
+    tLowerCase           shift, and go to state 356
+    tLowerCaseIn         shift, and go to state 357
+    tToday               shift, and go to state 358
+    tFixRelativePath     shift, and go to state 359
+    tCurrentDirectory    shift, and go to state 360
+    tOnelabAction        shift, and go to state 361
+    tCodeName            shift, and go to state 362
+    tNameStruct          shift, and go to state 363
+    tDefineString        shift, and go to state 364
+    tGetStringValue      shift, and go to state 365
+    tGetEnv              shift, and go to state 366
+    tGetString           shift, and go to state 367
+    tGetForcedStr        shift, and go to state 368
+    tGmshExecutableName  shift, and go to state 369
+    tNameToString        shift, and go to state 370
+
+    StringExpr  go to state 1932
+
+
+state 1849
+
+  124 Enumeration: FExpr_Multi tAFFECT . String__Index '(' ')'
+
+    tSTRING        shift, and go to state 150
+    tStringToName  shift, and go to state 107
+
+    StringIndex    go to state 131
+    String__Index  go to state 1933
+
+
+state 1850
+
+  342 Constraints: tPoint '{' RecursiveListOfDouble '}' tIn tSurface '{' FExpr '}' . tEND
+
+    tEND  shift, and go to state 1934
+
+
+state 1851
+
+  344 Constraints: tPoint '{' RecursiveListOfDouble '}' tIn tVolume '{' FExpr '}' . tEND
+
+    tEND  shift, and go to state 1935
+
+
+state 1852
+
+  343 Constraints: tLine '{' RecursiveListOfDouble '}' tIn tSurface '{' FExpr '}' . tEND
+
+    tEND  shift, and go to state 1936
+
+
+state 1853
+
+  345 Constraints: tLine '{' RecursiveListOfDouble '}' tIn tVolume '{' FExpr '}' . tEND
+
+    tEND  shift, and go to state 1937
+
+
+state 1854
+
+  156 InSphereCenter: tIn tSphere '{' . FExpr '}'
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1938
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1855
+
+  346 Constraints: tSurface '{' RecursiveListOfDouble '}' tIn tVolume '{' FExpr '}' . tEND
+
+    tEND  shift, and go to state 1939
+
+
+state 1856
+
+  175 Shape: tParametric tSurface '(' FExpr ')' tAFFECT tBIGSTR tBIGSTR tBIGSTR . tEND
+
+    tEND  shift, and go to state 1940
+
+
+state 1857
+
+  259 Command: tAdaptMesh '{' RecursiveListOfDouble '}' '{' RecursiveListOfDouble '}' '{' RecursiveListOfListOfDouble . '}' '{' FExpr ',' FExpr '}' tEND
+  480 RecursiveListOfListOfDouble: RecursiveListOfListOfDouble . ',' ListOfDouble
+
+    '}'  shift, and go to state 1941
+    ','  shift, and go to state 1836
+
+
+state 1858
+
+  515 FExpr_Multi: tLinSpace LP FExpr ',' FExpr ',' FExpr RP .
+
+    $default  reduce using rule 515 (FExpr_Multi)
+
+
+state 1859
+
+  516 FExpr_Multi: tLogSpace LP FExpr ',' FExpr ',' FExpr RP .
+
+    $default  reduce using rule 516 (FExpr_Multi)
+
+
+state 1860
+
+  518 FExpr_Multi: tCatenary LP FExpr ',' FExpr ',' FExpr ',' . FExpr ',' FExpr ',' FExpr RP
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1942
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1861
+
+  502 FExpr_Multi: tPoint tIn tBoundingBox '{' FExpr ',' FExpr ',' . FExpr ',' FExpr ',' FExpr ',' FExpr '}'
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1943
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1862
+
+  503 FExpr_Multi: tLine tIn tBoundingBox '{' FExpr ',' FExpr ',' . FExpr ',' FExpr ',' FExpr ',' FExpr '}'
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1944
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1863
+
+  504 FExpr_Multi: tSurface tIn tBoundingBox '{' FExpr ',' FExpr ',' . FExpr ',' FExpr ',' FExpr ',' FExpr '}'
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1945
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1864
+
+  505 FExpr_Multi: tVolume tIn tBoundingBox '{' FExpr ',' FExpr ',' . FExpr ',' FExpr ',' FExpr ',' FExpr '}'
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1946
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1865
+
+  447 FExpr_Single: String__Index tSCOPE String__Index '.' tSTRING_Member_Float '(' FExpr ')' .
+
+    $default  reduce using rule 447 (FExpr_Single)
+
+
+state 1866
+
+  289 Extrude: tFillet '{' RecursiveListOfDouble '}' '{' RecursiveListOfDouble '}' '{' FExpr . '}'
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    '}'              shift, and go to state 1947
+
+
+state 1867
+
+  172 Shape: tRuled tSurface '(' FExpr ')' tAFFECT ListOfDouble InSphereCenter tEND .
+
+    $default  reduce using rule 172 (Shape)
+
+
+state 1868
+
+  187 Shape: tCompound tSurface '(' FExpr ')' tAFFECT ListOfDouble tSTRING '{' . RecursiveListOfListOfDouble '}' tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 247
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '{'                   shift, and go to state 250
+    '#'                   shift, and go to state 251
+
+    Transform                    go to state 252
+    Extrude                      go to state 253
+    BooleanOperator              go to state 254
+    Boolean                      go to state 255
+    FExpr                        go to state 256
+    FExpr_Single                 go to state 257
+    DefineStruct                 go to state 258
+    Struct_FullName              go to state 259
+    RecursiveListOfListOfDouble  go to state 1948
+    ListOfDouble                 go to state 1699
+    FExpr_Multi                  go to state 261
+    StringIndex                  go to state 131
+    String__Index                go to state 262
+
+
+state 1869
+
+  335 Constraints: tPeriodic tLine '{' RecursiveListOfDouble '}' tAFFECT '{' RecursiveListOfDouble '}' . PeriodicTransform tEND
+  337            | tPeriodic tLine '{' RecursiveListOfDouble '}' tAFFECT '{' RecursiveListOfDouble '}' . tRotate '{' VExpr ',' VExpr ',' FExpr '}' tEND
+  339            | tPeriodic tLine '{' RecursiveListOfDouble '}' tAFFECT '{' RecursiveListOfDouble '}' . tTranslate VExpr tEND
+
+    tRotate     shift, and go to state 1949
+    tTranslate  shift, and go to state 1950
+    tAffine     shift, and go to state 1951
+
+    $default  reduce using rule 324 (PeriodicTransform)
+
+    PeriodicTransform  go to state 1952
+
+
+state 1870
+
+  336 Constraints: tPeriodic tSurface '{' RecursiveListOfDouble '}' tAFFECT '{' RecursiveListOfDouble '}' . PeriodicTransform tEND
+  338            | tPeriodic tSurface '{' RecursiveListOfDouble '}' tAFFECT '{' RecursiveListOfDouble '}' . tRotate '{' VExpr ',' VExpr ',' FExpr '}' tEND
+  340            | tPeriodic tSurface '{' RecursiveListOfDouble '}' tAFFECT '{' RecursiveListOfDouble '}' . tTranslate VExpr tEND
+
+    tRotate     shift, and go to state 1953
+    tTranslate  shift, and go to state 1954
+    tAffine     shift, and go to state 1951
+
+    $default  reduce using rule 324 (PeriodicTransform)
+
+    PeriodicTransform  go to state 1955
+
+
+state 1871
+
+  341 Constraints: tPeriodic tSurface FExpr '{' RecursiveListOfDouble '}' tAFFECT FExpr '{' . RecursiveListOfDouble '}' tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 433
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '#'                   shift, and go to state 251
+
+    Transform              go to state 252
+    Extrude                go to state 253
+    BooleanOperator        go to state 254
+    Boolean                go to state 255
+    FExpr                  go to state 434
+    FExpr_Single           go to state 257
+    DefineStruct           go to state 258
+    Struct_FullName        go to state 259
+    FExpr_Multi            go to state 435
+    RecursiveListOfDouble  go to state 1956
+    StringIndex            go to state 131
+    String__Index          go to state 262
+
+
+state 1872
+
+  106 Affectation: tPlugin '(' tSTRING ')' '.' tSTRING tAFFECT FExpr tEND .
+
+    $default  reduce using rule 106 (Affectation)
+
+
+state 1873
+
+  107 Affectation: tPlugin '(' tSTRING ')' '.' tSTRING tAFFECT StringExpr tEND .
+
+    $default  reduce using rule 107 (Affectation)
+
+
+state 1874
+
+  198 Transform: tRotate '{' VExpr ',' VExpr ',' FExpr '}' '{' . MultipleShape '}'
+
+    tSTRING     shift, and go to state 411
+    tRotate     shift, and go to state 59
+    tTranslate  shift, and go to state 60
+    tSymmetry   shift, and go to state 61
+    tDilate     shift, and go to state 62
+    tSplit      shift, and go to state 73
+    tIntersect  shift, and go to state 76
+
+    $default  reduce using rule 207 (ListOfShapes)
+
+    Transform      go to state 412
+    MultipleShape  go to state 1957
+    ListOfShapes   go to state 414
+
+
+state 1875
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  475 VExpr_Single: '{' FExpr ',' FExpr ',' FExpr ',' FExpr . ',' FExpr '}'
+  476             | '{' FExpr ',' FExpr ',' FExpr ',' FExpr . '}'
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    '}'              shift, and go to state 1958
+    ','              shift, and go to state 1959
+
+
+state 1876
+
+  200 Transform: tDilate '{' VExpr ',' FExpr '}' '{' MultipleShape '}' .
+
+    $default  reduce using rule 200 (Transform)
+
+
+state 1877
+
+  201 Transform: tDilate '{' VExpr ',' VExpr '}' '{' MultipleShape '}' .
+
+    $default  reduce using rule 201 (Transform)
+
+
+state 1878
+
+  286 Extrude: tExtrude '{' ListOfShapes '}' tUsing tWire '{' FExpr '}' .
+
+    $default  reduce using rule 286 (Extrude)
+
+
+state 1879
+
+  302 ExtrudeParameter: tUsing tSTRING '[' FExpr ']' . tEND
+
+    tEND  shift, and go to state 1960
+
+
+state 1880
+
+  292 ExtrudeParameter: tLayers '{' FExpr '}' tEND .
+
+    $default  reduce using rule 292 (ExtrudeParameter)
+
+
+state 1881
+
+  293 ExtrudeParameter: tLayers '{' ListOfDouble ',' ListOfDouble . '}' tEND
+
+    '}'  shift, and go to state 1961
+
+
+state 1882
+
+  301 ExtrudeParameter: tHole '(' FExpr ')' tAFFECT . ListOfDouble tUsing FExpr tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 247
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '{'                   shift, and go to state 250
+    '#'                   shift, and go to state 251
+
+    Transform        go to state 252
+    Extrude          go to state 253
+    BooleanOperator  go to state 254
+    Boolean          go to state 255
+    FExpr            go to state 256
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    ListOfDouble     go to state 1962
+    FExpr_Multi      go to state 261
+    StringIndex      go to state 131
+    String__Index    go to state 262
+
+
+state 1883
+
+  276 Extrude: tExtrude '{' VExpr ',' VExpr ',' FExpr '}' '{' . ListOfShapes '}'
+  281        | tExtrude '{' VExpr ',' VExpr ',' FExpr '}' '{' . ListOfShapes @10 ExtrudeParameters '}'
+
+    $default  reduce using rule 207 (ListOfShapes)
+
+    ListOfShapes  go to state 1963
+
+
+state 1884
+
+  277 Extrude: tExtrude '{' VExpr ',' VExpr ',' VExpr ',' FExpr . '}' '{' ListOfShapes '}'
+  283        | tExtrude '{' VExpr ',' VExpr ',' VExpr ',' FExpr . '}' '{' ListOfShapes @11 ExtrudeParameters '}'
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    '}'              shift, and go to state 1964
+
+
+state 1885
+
+  214 LevelSet: tLevelset tPoint '(' FExpr ')' tAFFECT '{' RecursiveListOfListOfDouble '}' . tEND
+
+    tEND  shift, and go to state 1965
+
+
+state 1886
+
+  217 LevelSet: tLevelset tSphere '(' FExpr ')' tAFFECT '{' VExpr ',' . RecursiveListOfDouble '}' tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 433
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '#'                   shift, and go to state 251
+
+    Transform              go to state 252
+    Extrude                go to state 253
+    BooleanOperator        go to state 254
+    Boolean                go to state 255
+    FExpr                  go to state 434
+    FExpr_Single           go to state 257
+    DefineStruct           go to state 258
+    Struct_FullName        go to state 259
+    FExpr_Multi            go to state 435
+    RecursiveListOfDouble  go to state 1966
+    StringIndex            go to state 131
+    String__Index          go to state 262
+
+
+state 1887
+
+  218 LevelSet: tLevelset tCylinder '(' FExpr ')' tAFFECT '{' VExpr ',' . VExpr ',' RecursiveListOfDouble '}' tEND
+
+    '+'  shift, and go to state 287
+    '-'  shift, and go to state 288
+    '('  shift, and go to state 289
+    '{'  shift, and go to state 290
+
+    VExpr         go to state 1967
+    VExpr_Single  go to state 292
+
+
+state 1888
+
+  219 LevelSet: tLevelset tCone '(' FExpr ')' tAFFECT '{' VExpr ',' . VExpr ',' RecursiveListOfDouble '}' tEND
+
+    '+'  shift, and go to state 287
+    '-'  shift, and go to state 288
+    '('  shift, and go to state 289
+    '{'  shift, and go to state 290
+
+    VExpr         go to state 1968
+    VExpr_Single  go to state 292
+
+
+state 1889
+
+  220 LevelSet: tLevelset tEllipsoid '(' FExpr ')' tAFFECT '{' VExpr ',' . VExpr ',' RecursiveListOfDouble '}' tEND
+
+    '+'  shift, and go to state 287
+    '-'  shift, and go to state 288
+    '('  shift, and go to state 289
+    '{'  shift, and go to state 290
+
+    VExpr         go to state 1969
+    VExpr_Single  go to state 292
+
+
+state 1890
+
+  221 LevelSet: tLevelset tQuadric '(' FExpr ')' tAFFECT '{' VExpr ',' . VExpr ',' RecursiveListOfDouble '}' tEND
+
+    '+'  shift, and go to state 287
+    '-'  shift, and go to state 288
+    '('  shift, and go to state 289
+    '{'  shift, and go to state 290
+
+    VExpr         go to state 1970
+    VExpr_Single  go to state 292
+
+
+state 1891
+
+  215 LevelSet: tLevelset tPlane '(' FExpr ')' tAFFECT '{' VExpr ',' . VExpr ',' RecursiveListOfDouble '}' tEND
+  216         | tLevelset tPlane '(' FExpr ')' tAFFECT '{' VExpr ',' . VExpr ',' VExpr ',' RecursiveListOfDouble '}' tEND
+
+    '+'  shift, and go to state 287
+    '-'  shift, and go to state 288
+    '('  shift, and go to state 289
+    '{'  shift, and go to state 290
+
+    VExpr         go to state 1971
+    VExpr_Single  go to state 292
+
+
+state 1892
+
+  204 Transform: tSplit tLine '(' FExpr ')' '{' RecursiveListOfDouble '}' tEND .
+
+    $default  reduce using rule 204 (Transform)
+
+
+state 1893
+
+  203 Transform: tIntersect tLine '{' RecursiveListOfDouble '}' tSurface '{' FExpr '}' .
+
+    $default  reduce using rule 203 (Transform)
+
+
+state 1894
+
+  166 Shape: tNurbs '(' FExpr ')' tAFFECT ListOfDouble tNurbsKnots ListOfDouble tNurbsOrder . FExpr tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1972
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1895
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  525 ColorExpr: '{' FExpr ',' FExpr ',' FExpr ',' FExpr . '}'
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    '}'              shift, and go to state 1973
+
+
+state 1896
+
+  264 Loop: tFor tSTRING tIn '{' FExpr tDOTS FExpr tDOTS FExpr . '}'
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    '}'              shift, and go to state 1974
+
+
+state 1897
+
+  104 Affectation: tField '[' FExpr ']' '.' tSTRING tAFFECT '{' RecursiveListOfDouble . '}' tEND
+  523 RecursiveListOfDouble: RecursiveListOfDouble . ',' FExpr
+  524                      | RecursiveListOfDouble . ',' FExpr_Multi
+
+    '}'  shift, and go to state 1975
+    ','  shift, and go to state 747
+
+
+state 1898
+
+  102 Affectation: tField '[' FExpr ']' '.' tSTRING tAFFECT FExpr tEND .
+
+    $default  reduce using rule 102 (Affectation)
+
+
+state 1899
+
+  103 Affectation: tField '[' FExpr ']' '.' tSTRING tAFFECT StringExpr tEND .
+
+    $default  reduce using rule 103 (Affectation)
+
+
+state 1900
+
+  561 StringExpr: tStrReplace '(' StringExprVar ',' StringExprVar ',' StringExprVar ')' .
+
+    $default  reduce using rule 561 (StringExpr)
+
+
+state 1901
+
+  567 StringExpr: tStrSub LP StringExprVar ',' FExpr ',' FExpr RP .
+
+    $default  reduce using rule 567 (StringExpr)
+
+
+state 1902
+
+  566 StringExpr: tStrChoice LP FExpr ',' StringExprVar ',' StringExprVar RP .
+
+    $default  reduce using rule 566 (StringExpr)
+
+
+state 1903
+
+  142 CharParameterOption: tSTRING '{' RecursiveListOfStringExprVar . '}'
+  581 RecursiveListOfStringExprVar: RecursiveListOfStringExprVar . ',' StringExprVar
+
+    '}'  shift, and go to state 1976
+    ','  shift, and go to state 732
+
+
+state 1904
+
+  138 CharParameterOptions: CharParameterOptions ',' CharParameterOption .
+
+    $default  reduce using rule 138 (CharParameterOptions)
+
+
+state 1905
+
+  260 Slide: tSlide '(' '{' RecursiveListOfDouble '}' ',' StringExpr ',' StringExpr . ')' tEND
+
+    ')'  shift, and go to state 1977
+
+
+state 1906
+
+  315 BooleanShape: BooleanOperator '(' FExpr ')' tAFFECT '{' ListOfShapes BooleanOption '}' . '{' ListOfShapes BooleanOption '}' tEND
+
+    '{'  shift, and go to state 1978
+
+
+state 1907
+
+  313 Boolean: BooleanOperator '{' ListOfShapes BooleanOption '}' '{' ListOfShapes BooleanOption '}' .
+
+    $default  reduce using rule 313 (Boolean)
+
+
+state 1908
+
+  365 Homology: HomologyCommand '(' ListOfDouble ')' '{' ListOfDouble ',' ListOfDouble '}' . tEND
+
+    tEND  shift, and go to state 1979
+
+
+state 1909
+
+   91 Affectation: String__Index '[' FExpr ']' '.' tSTRING tAFFECT StringExpr tEND .
+
+    $default  reduce using rule 91 (Affectation)
+
+
+state 1910
+
+   93 Affectation: String__Index '[' FExpr ']' '.' tSTRING NumericAffectation FExpr tEND .
+
+    $default  reduce using rule 93 (Affectation)
+
+
+state 1911
+
+   97 Affectation: String__Index '[' FExpr ']' '.' tColor '.' tSTRING tAFFECT . ColorExpr tEND
+
+    tSTRING        shift, and go to state 333
+    tStringToName  shift, and go to state 107
+    '{'            shift, and go to state 334
+
+    ColorExpr      go to state 1980
+    StringIndex    go to state 131
+    String__Index  go to state 336
+
+
+state 1912
+
+   99 Affectation: String__Index '[' FExpr ']' '.' tColorTable tAFFECT ListOfColor tEND .
+
+    $default  reduce using rule 99 (Affectation)
+
+
+state 1913
+
+  530 ListOfColor: String__Index '[' FExpr ']' '.' . tColorTable
+
+    tColorTable  shift, and go to state 1981
+
+
+state 1914
+
+   81 Affectation: String__Index LP '{' RecursiveListOfDouble '}' RP NumericAffectation ListOfDouble tEND .
+
+    $default  reduce using rule 81 (Affectation)
+
+
+state 1915
+
+   88 Affectation: String__Index LP RP tAFFECT tStr LP RecursiveListOfStringExprVar RP tEND .
+
+    $default  reduce using rule 88 (Affectation)
+
+
+state 1916
+
+   89 Affectation: String__Index LP RP tAFFECTPLUS tStr LP RecursiveListOfStringExprVar RP tEND .
+
+    $default  reduce using rule 89 (Affectation)
+
+
+state 1917
+
+   49 Element: tSTRING @1 '(' ElementCoords ')' . @2 '{' ElementValues '}' tEND
+
+    $default  reduce using rule 48 (@2)
+
+    @2  go to state 1982
+
+
+state 1918
+
+   44 ElementCoords: ElementCoords ',' . FExpr
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1983
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1919
+
+   53 Text2D: tText2D '(' FExpr ',' FExpr . ',' FExpr ')' @3 '{' Text2DValues '}' tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ','              shift, and go to state 1984
+
+
+state 1920
+
+   57 Text3D: tText3D '(' FExpr ',' FExpr . ',' FExpr ',' FExpr ')' @4 '{' Text3DValues '}' tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ','              shift, and go to state 1985
+
+
+state 1921
+
+   58 InterpolationMatrix: tInterpolationScheme '{' RecursiveListOfListOfDouble '}' '{' . RecursiveListOfListOfDouble '}' tEND
+   59                    | tInterpolationScheme '{' RecursiveListOfListOfDouble '}' '{' . RecursiveListOfListOfDouble '}' '{' RecursiveListOfListOfDouble '}' '{' RecursiveListOfListOfDouble '}' tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 247
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '{'                   shift, and go to state 250
+    '#'                   shift, and go to state 251
+
+    Transform                    go to state 252
+    Extrude                      go to state 253
+    BooleanOperator              go to state 254
+    Boolean                      go to state 255
+    FExpr                        go to state 256
+    FExpr_Single                 go to state 257
+    DefineStruct                 go to state 258
+    Struct_FullName              go to state 259
+    RecursiveListOfListOfDouble  go to state 1986
+    ListOfDouble                 go to state 1699
+    FExpr_Multi                  go to state 261
+    StringIndex                  go to state 131
+    String__Index                go to state 262
+
+
+state 1922
+
+  480 RecursiveListOfListOfDouble: RecursiveListOfListOfDouble ',' ListOfDouble .
+
+    $default  reduce using rule 480 (RecursiveListOfListOfDouble)
+
+
+state 1923
+
+   61 Time: tTime @5 '{' ElementValues '}' . tEND
+
+    tEND  shift, and go to state 1987
+
+
+state 1924
+
+   46 ElementValues: ElementValues ',' . FExpr
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1988
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1925
+
+  447 FExpr_Single: String__Index tSCOPE String__Index '.' tSTRING_Member_Float '(' FExpr ')' .
+  540 StringExprVar: String__Index tSCOPE String__Index '.' tSTRING_Member_Float '(' FExpr ')' .
+
+    '{'       reduce using rule 540 (StringExprVar)
+    $default  reduce using rule 447 (FExpr_Single)
+
+
+state 1926
+
+  540 StringExprVar: String__Index tSCOPE String__Index '.' tSTRING_Member_Float '(' FExpr ')' .
+
+    $default  reduce using rule 540 (StringExprVar)
+
+
+state 1927
+
+  253 Command: tBoundingBox '{' FExpr ',' FExpr ',' FExpr ',' FExpr ',' . FExpr ',' FExpr '}' tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 1989
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1928
+
+  114 DefineConstants: DefineConstants Comma String__Index tAFFECT '{' ListOfDouble @6 FloatParameterOptionsOrNone . '}'
+
+    '}'  shift, and go to state 1990
+
+
+state 1929
+
+  119 DefineConstants: DefineConstants Comma String__Index tAFFECT '{' StringExpr @8 CharParameterOptionsOrNone . '}'
+
+    '}'  shift, and go to state 1991
+
+
+state 1930
+
+  116 DefineConstants: DefineConstants Comma String__Index LP RP tAFFECT '{' ListOfDouble . @7 FloatParameterOptionsOrNone '}'
+
+    $default  reduce using rule 115 (@7)
+
+    @7  go to state 1992
+
+
+state 1931
+
+  123 Enumeration: Enumeration ',' FExpr . tAFFECT StringExpr
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    tAFFECT          shift, and go to state 1993
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+
+
+state 1932
+
+  122 Enumeration: FExpr tAFFECT StringExpr .
+
+    $default  reduce using rule 122 (Enumeration)
+
+
+state 1933
+
+  124 Enumeration: FExpr_Multi tAFFECT String__Index . '(' ')'
+
+    '('  shift, and go to state 1994
+
+
+state 1934
+
+  342 Constraints: tPoint '{' RecursiveListOfDouble '}' tIn tSurface '{' FExpr '}' tEND .
+
+    $default  reduce using rule 342 (Constraints)
+
+
+state 1935
+
+  344 Constraints: tPoint '{' RecursiveListOfDouble '}' tIn tVolume '{' FExpr '}' tEND .
+
+    $default  reduce using rule 344 (Constraints)
+
+
+state 1936
+
+  343 Constraints: tLine '{' RecursiveListOfDouble '}' tIn tSurface '{' FExpr '}' tEND .
+
+    $default  reduce using rule 343 (Constraints)
+
+
+state 1937
+
+  345 Constraints: tLine '{' RecursiveListOfDouble '}' tIn tVolume '{' FExpr '}' tEND .
+
+    $default  reduce using rule 345 (Constraints)
+
+
+state 1938
+
+  156 InSphereCenter: tIn tSphere '{' FExpr . '}'
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    '}'              shift, and go to state 1995
+
+
+state 1939
+
+  346 Constraints: tSurface '{' RecursiveListOfDouble '}' tIn tVolume '{' FExpr '}' tEND .
+
+    $default  reduce using rule 346 (Constraints)
+
+
+state 1940
+
+  175 Shape: tParametric tSurface '(' FExpr ')' tAFFECT tBIGSTR tBIGSTR tBIGSTR tEND .
+
+    $default  reduce using rule 175 (Shape)
+
+
+state 1941
+
+  259 Command: tAdaptMesh '{' RecursiveListOfDouble '}' '{' RecursiveListOfDouble '}' '{' RecursiveListOfListOfDouble '}' . '{' FExpr ',' FExpr '}' tEND
+
+    '{'  shift, and go to state 1996
+
+
+state 1942
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  518 FExpr_Multi: tCatenary LP FExpr ',' FExpr ',' FExpr ',' FExpr . ',' FExpr ',' FExpr RP
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ','              shift, and go to state 1997
+
+
+state 1943
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  502 FExpr_Multi: tPoint tIn tBoundingBox '{' FExpr ',' FExpr ',' FExpr . ',' FExpr ',' FExpr ',' FExpr '}'
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ','              shift, and go to state 1998
+
+
+state 1944
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  503 FExpr_Multi: tLine tIn tBoundingBox '{' FExpr ',' FExpr ',' FExpr . ',' FExpr ',' FExpr ',' FExpr '}'
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ','              shift, and go to state 1999
+
+
+state 1945
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  504 FExpr_Multi: tSurface tIn tBoundingBox '{' FExpr ',' FExpr ',' FExpr . ',' FExpr ',' FExpr ',' FExpr '}'
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ','              shift, and go to state 2000
+
+
+state 1946
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  505 FExpr_Multi: tVolume tIn tBoundingBox '{' FExpr ',' FExpr ',' FExpr . ',' FExpr ',' FExpr ',' FExpr '}'
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ','              shift, and go to state 2001
+
+
+state 1947
+
+  289 Extrude: tFillet '{' RecursiveListOfDouble '}' '{' RecursiveListOfDouble '}' '{' FExpr '}' .
+
+    $default  reduce using rule 289 (Extrude)
+
+
+state 1948
+
+  187 Shape: tCompound tSurface '(' FExpr ')' tAFFECT ListOfDouble tSTRING '{' RecursiveListOfListOfDouble . '}' tEND
+  480 RecursiveListOfListOfDouble: RecursiveListOfListOfDouble . ',' ListOfDouble
+
+    '}'  shift, and go to state 2002
+    ','  shift, and go to state 1836
+
+
+state 1949
+
+  337 Constraints: tPeriodic tLine '{' RecursiveListOfDouble '}' tAFFECT '{' RecursiveListOfDouble '}' tRotate . '{' VExpr ',' VExpr ',' FExpr '}' tEND
+
+    '{'  shift, and go to state 2003
+
+
+state 1950
+
+  339 Constraints: tPeriodic tLine '{' RecursiveListOfDouble '}' tAFFECT '{' RecursiveListOfDouble '}' tTranslate . VExpr tEND
+
+    '+'  shift, and go to state 287
+    '-'  shift, and go to state 288
+    '('  shift, and go to state 289
+    '{'  shift, and go to state 290
+
+    VExpr         go to state 2004
+    VExpr_Single  go to state 292
+
+
+state 1951
+
+  325 PeriodicTransform: tAffine . ListOfDouble
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 247
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '{'                   shift, and go to state 250
+    '#'                   shift, and go to state 251
+
+    Transform        go to state 252
+    Extrude          go to state 253
+    BooleanOperator  go to state 254
+    Boolean          go to state 255
+    FExpr            go to state 256
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    ListOfDouble     go to state 2005
+    FExpr_Multi      go to state 261
+    StringIndex      go to state 131
+    String__Index    go to state 262
+
+
+state 1952
+
+  335 Constraints: tPeriodic tLine '{' RecursiveListOfDouble '}' tAFFECT '{' RecursiveListOfDouble '}' PeriodicTransform . tEND
+
+    tEND  shift, and go to state 2006
+
+
+state 1953
+
+  338 Constraints: tPeriodic tSurface '{' RecursiveListOfDouble '}' tAFFECT '{' RecursiveListOfDouble '}' tRotate . '{' VExpr ',' VExpr ',' FExpr '}' tEND
+
+    '{'  shift, and go to state 2007
+
+
+state 1954
+
+  340 Constraints: tPeriodic tSurface '{' RecursiveListOfDouble '}' tAFFECT '{' RecursiveListOfDouble '}' tTranslate . VExpr tEND
+
+    '+'  shift, and go to state 287
+    '-'  shift, and go to state 288
+    '('  shift, and go to state 289
+    '{'  shift, and go to state 290
+
+    VExpr         go to state 2008
+    VExpr_Single  go to state 292
+
+
+state 1955
+
+  336 Constraints: tPeriodic tSurface '{' RecursiveListOfDouble '}' tAFFECT '{' RecursiveListOfDouble '}' PeriodicTransform . tEND
+
+    tEND  shift, and go to state 2009
+
+
+state 1956
+
+  341 Constraints: tPeriodic tSurface FExpr '{' RecursiveListOfDouble '}' tAFFECT FExpr '{' RecursiveListOfDouble . '}' tEND
+  523 RecursiveListOfDouble: RecursiveListOfDouble . ',' FExpr
+  524                      | RecursiveListOfDouble . ',' FExpr_Multi
+
+    '}'  shift, and go to state 2010
+    ','  shift, and go to state 747
+
+
+state 1957
+
+  198 Transform: tRotate '{' VExpr ',' VExpr ',' FExpr '}' '{' MultipleShape . '}'
+
+    '}'  shift, and go to state 2011
+
+
+state 1958
+
+  476 VExpr_Single: '{' FExpr ',' FExpr ',' FExpr ',' FExpr '}' .
+
+    $default  reduce using rule 476 (VExpr_Single)
+
+
+state 1959
+
+  475 VExpr_Single: '{' FExpr ',' FExpr ',' FExpr ',' FExpr ',' . FExpr '}'
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 2012
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1960
+
+  302 ExtrudeParameter: tUsing tSTRING '[' FExpr ']' tEND .
+
+    $default  reduce using rule 302 (ExtrudeParameter)
+
+
+state 1961
+
+  293 ExtrudeParameter: tLayers '{' ListOfDouble ',' ListOfDouble '}' . tEND
+
+    tEND  shift, and go to state 2013
+
+
+state 1962
+
+  301 ExtrudeParameter: tHole '(' FExpr ')' tAFFECT ListOfDouble . tUsing FExpr tEND
+
+    tUsing  shift, and go to state 2014
+
+
+state 1963
+
+  208 ListOfShapes: ListOfShapes . Shape
+  209             | ListOfShapes . tPoint '{' RecursiveListOfDouble '}' tEND
+  210             | ListOfShapes . tLine '{' RecursiveListOfDouble '}' tEND
+  211             | ListOfShapes . tSurface '{' RecursiveListOfDouble '}' tEND
+  212             | ListOfShapes . tVolume '{' RecursiveListOfDouble '}' tEND
+  276 Extrude: tExtrude '{' VExpr ',' VExpr ',' FExpr '}' '{' ListOfShapes . '}'
+  281        | tExtrude '{' VExpr ',' VExpr ',' FExpr '}' '{' ListOfShapes . @10 ExtrudeParameters '}'
+
+    tEuclidian     shift, and go to state 7
+    tCoordinates   shift, and go to state 8
+    tPoint         shift, and go to state 712
+    tCircle        shift, and go to state 25
+    tEllipse       shift, and go to state 26
+    tLine          shift, and go to state 713
+    tSphere        shift, and go to state 28
+    tPolarSphere   shift, and go to state 29
+    tSurface       shift, and go to state 714
+    tSpline        shift, and go to state 31
+    tVolume        shift, and go to state 715
+    tBlock         shift, and go to state 33
+    tCylinder      shift, and go to state 34
+    tCone          shift, and go to state 35
+    tTorus         shift, and go to state 36
+    tRectangle     shift, and go to state 38
+    tDisk          shift, and go to state 39
+    tWire          shift, and go to state 40
+    tParametric    shift, and go to state 42
+    tThruSections  shift, and go to state 716
+    tWedge         shift, and go to state 48
+    tPlane         shift, and go to state 50
+    tRuled         shift, and go to state 717
+    tPhysical      shift, and go to state 53
+    tCompound      shift, and go to state 718
+    tThickSolid    shift, and go to state 70
+    tBSpline       shift, and go to state 84
+    tBezier        shift, and go to state 85
+    tNurbs         shift, and go to state 86
+    '}'            shift, and go to state 2015
+
+    $default  reduce using rule 280 (@10)
+
+    Shape  go to state 719
+    @10    go to state 2016
+
+
+state 1964
+
+  277 Extrude: tExtrude '{' VExpr ',' VExpr ',' VExpr ',' FExpr '}' . '{' ListOfShapes '}'
+  283        | tExtrude '{' VExpr ',' VExpr ',' VExpr ',' FExpr '}' . '{' ListOfShapes @11 ExtrudeParameters '}'
+
+    '{'  shift, and go to state 2017
+
+
+state 1965
+
+  214 LevelSet: tLevelset tPoint '(' FExpr ')' tAFFECT '{' RecursiveListOfListOfDouble '}' tEND .
+
+    $default  reduce using rule 214 (LevelSet)
+
+
+state 1966
+
+  217 LevelSet: tLevelset tSphere '(' FExpr ')' tAFFECT '{' VExpr ',' RecursiveListOfDouble . '}' tEND
+  523 RecursiveListOfDouble: RecursiveListOfDouble . ',' FExpr
+  524                      | RecursiveListOfDouble . ',' FExpr_Multi
+
+    '}'  shift, and go to state 2018
+    ','  shift, and go to state 747
+
+
+state 1967
+
+  218 LevelSet: tLevelset tCylinder '(' FExpr ')' tAFFECT '{' VExpr ',' VExpr . ',' RecursiveListOfDouble '}' tEND
+  473 VExpr: VExpr . '-' VExpr
+  474      | VExpr . '+' VExpr
+
+    '+'  shift, and go to state 592
+    '-'  shift, and go to state 593
+    ','  shift, and go to state 2019
+
+
+state 1968
+
+  219 LevelSet: tLevelset tCone '(' FExpr ')' tAFFECT '{' VExpr ',' VExpr . ',' RecursiveListOfDouble '}' tEND
+  473 VExpr: VExpr . '-' VExpr
+  474      | VExpr . '+' VExpr
+
+    '+'  shift, and go to state 592
+    '-'  shift, and go to state 593
+    ','  shift, and go to state 2020
+
+
+state 1969
+
+  220 LevelSet: tLevelset tEllipsoid '(' FExpr ')' tAFFECT '{' VExpr ',' VExpr . ',' RecursiveListOfDouble '}' tEND
+  473 VExpr: VExpr . '-' VExpr
+  474      | VExpr . '+' VExpr
+
+    '+'  shift, and go to state 592
+    '-'  shift, and go to state 593
+    ','  shift, and go to state 2021
+
+
+state 1970
+
+  221 LevelSet: tLevelset tQuadric '(' FExpr ')' tAFFECT '{' VExpr ',' VExpr . ',' RecursiveListOfDouble '}' tEND
+  473 VExpr: VExpr . '-' VExpr
+  474      | VExpr . '+' VExpr
+
+    '+'  shift, and go to state 592
+    '-'  shift, and go to state 593
+    ','  shift, and go to state 2022
+
+
+state 1971
+
+  215 LevelSet: tLevelset tPlane '(' FExpr ')' tAFFECT '{' VExpr ',' VExpr . ',' RecursiveListOfDouble '}' tEND
+  216         | tLevelset tPlane '(' FExpr ')' tAFFECT '{' VExpr ',' VExpr . ',' VExpr ',' RecursiveListOfDouble '}' tEND
+  473 VExpr: VExpr . '-' VExpr
+  474      | VExpr . '+' VExpr
+
+    '+'  shift, and go to state 592
+    '-'  shift, and go to state 593
+    ','  shift, and go to state 2023
+
+
+state 1972
+
+  166 Shape: tNurbs '(' FExpr ')' tAFFECT ListOfDouble tNurbsKnots ListOfDouble tNurbsOrder FExpr . tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    tEND             shift, and go to state 2024
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+
+
+state 1973
+
+  525 ColorExpr: '{' FExpr ',' FExpr ',' FExpr ',' FExpr '}' .
+
+    $default  reduce using rule 525 (ColorExpr)
+
+
+state 1974
+
+  264 Loop: tFor tSTRING tIn '{' FExpr tDOTS FExpr tDOTS FExpr '}' .
+
+    $default  reduce using rule 264 (Loop)
+
+
+state 1975
+
+  104 Affectation: tField '[' FExpr ']' '.' tSTRING tAFFECT '{' RecursiveListOfDouble '}' . tEND
+
+    tEND  shift, and go to state 2025
+
+
+state 1976
+
+  142 CharParameterOption: tSTRING '{' RecursiveListOfStringExprVar '}' .
+
+    $default  reduce using rule 142 (CharParameterOption)
+
+
+state 1977
+
+  260 Slide: tSlide '(' '{' RecursiveListOfDouble '}' ',' StringExpr ',' StringExpr ')' . tEND
+
+    tEND  shift, and go to state 2026
+
+
+state 1978
+
+  315 BooleanShape: BooleanOperator '(' FExpr ')' tAFFECT '{' ListOfShapes BooleanOption '}' '{' . ListOfShapes BooleanOption '}' tEND
+
+    $default  reduce using rule 207 (ListOfShapes)
+
+    ListOfShapes  go to state 2027
+
+
+state 1979
+
+  365 Homology: HomologyCommand '(' ListOfDouble ')' '{' ListOfDouble ',' ListOfDouble '}' tEND .
+
+    $default  reduce using rule 365 (Homology)
+
+
+state 1980
+
+   97 Affectation: String__Index '[' FExpr ']' '.' tColor '.' tSTRING tAFFECT ColorExpr . tEND
+
+    tEND  shift, and go to state 2028
+
+
+state 1981
+
+  530 ListOfColor: String__Index '[' FExpr ']' '.' tColorTable .
+
+    $default  reduce using rule 530 (ListOfColor)
+
+
+state 1982
+
+   49 Element: tSTRING @1 '(' ElementCoords ')' @2 . '{' ElementValues '}' tEND
+
+    '{'  shift, and go to state 2029
+
+
+state 1983
+
+   44 ElementCoords: ElementCoords ',' FExpr .
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+
+    $default  reduce using rule 44 (ElementCoords)
+
+
+state 1984
+
+   53 Text2D: tText2D '(' FExpr ',' FExpr ',' . FExpr ')' @3 '{' Text2DValues '}' tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 2030
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1985
+
+   57 Text3D: tText3D '(' FExpr ',' FExpr ',' . FExpr ',' FExpr ')' @4 '{' Text3DValues '}' tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 2031
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1986
+
+   58 InterpolationMatrix: tInterpolationScheme '{' RecursiveListOfListOfDouble '}' '{' RecursiveListOfListOfDouble . '}' tEND
+   59                    | tInterpolationScheme '{' RecursiveListOfListOfDouble '}' '{' RecursiveListOfListOfDouble . '}' '{' RecursiveListOfListOfDouble '}' '{' RecursiveListOfListOfDouble '}' tEND
+  480 RecursiveListOfListOfDouble: RecursiveListOfListOfDouble . ',' ListOfDouble
+
+    '}'  shift, and go to state 2032
+    ','  shift, and go to state 1836
+
+
+state 1987
+
+   61 Time: tTime @5 '{' ElementValues '}' tEND .
+
+    $default  reduce using rule 61 (Time)
+
+
+state 1988
+
+   46 ElementValues: ElementValues ',' FExpr .
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+
+    $default  reduce using rule 46 (ElementValues)
+
+
+state 1989
+
+  253 Command: tBoundingBox '{' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr . ',' FExpr '}' tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ','              shift, and go to state 2033
+
+
+state 1990
+
+  114 DefineConstants: DefineConstants Comma String__Index tAFFECT '{' ListOfDouble @6 FloatParameterOptionsOrNone '}' .
+
+    $default  reduce using rule 114 (DefineConstants)
+
+
+state 1991
+
+  119 DefineConstants: DefineConstants Comma String__Index tAFFECT '{' StringExpr @8 CharParameterOptionsOrNone '}' .
+
+    $default  reduce using rule 119 (DefineConstants)
+
+
+state 1992
+
+  116 DefineConstants: DefineConstants Comma String__Index LP RP tAFFECT '{' ListOfDouble @7 . FloatParameterOptionsOrNone '}'
+
+    ','  shift, and go to state 1367
+
+    $default  reduce using rule 125 (FloatParameterOptionsOrNone)
+
+    FloatParameterOptionsOrNone  go to state 2034
+
+
+state 1993
+
+  123 Enumeration: Enumeration ',' FExpr tAFFECT . StringExpr
+
+    tBIGSTR              shift, and go to state 344
+    tStr                 shift, and go to state 345
+    tSprintf             shift, and go to state 346
+    tStrCat              shift, and go to state 347
+    tStrPrefix           shift, and go to state 348
+    tStrRelative         shift, and go to state 349
+    tStrReplace          shift, and go to state 350
+    tAbsolutePath        shift, and go to state 351
+    tDirName             shift, and go to state 352
+    tStrSub              shift, and go to state 353
+    tStrChoice           shift, and go to state 354
+    tUpperCase           shift, and go to state 355
+    tLowerCase           shift, and go to state 356
+    tLowerCaseIn         shift, and go to state 357
+    tToday               shift, and go to state 358
+    tFixRelativePath     shift, and go to state 359
+    tCurrentDirectory    shift, and go to state 360
+    tOnelabAction        shift, and go to state 361
+    tCodeName            shift, and go to state 362
+    tNameStruct          shift, and go to state 363
+    tDefineString        shift, and go to state 364
+    tGetStringValue      shift, and go to state 365
+    tGetEnv              shift, and go to state 366
+    tGetString           shift, and go to state 367
+    tGetForcedStr        shift, and go to state 368
+    tGmshExecutableName  shift, and go to state 369
+    tNameToString        shift, and go to state 370
+
+    StringExpr  go to state 2035
+
+
+state 1994
+
+  124 Enumeration: FExpr_Multi tAFFECT String__Index '(' . ')'
+
+    ')'  shift, and go to state 2036
+
+
+state 1995
+
+  156 InSphereCenter: tIn tSphere '{' FExpr '}' .
+
+    $default  reduce using rule 156 (InSphereCenter)
+
+
+state 1996
+
+  259 Command: tAdaptMesh '{' RecursiveListOfDouble '}' '{' RecursiveListOfDouble '}' '{' RecursiveListOfListOfDouble '}' '{' . FExpr ',' FExpr '}' tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 2037
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1997
+
+  518 FExpr_Multi: tCatenary LP FExpr ',' FExpr ',' FExpr ',' FExpr ',' . FExpr ',' FExpr RP
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 2038
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1998
+
+  502 FExpr_Multi: tPoint tIn tBoundingBox '{' FExpr ',' FExpr ',' FExpr ',' . FExpr ',' FExpr ',' FExpr '}'
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 2039
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 1999
+
+  503 FExpr_Multi: tLine tIn tBoundingBox '{' FExpr ',' FExpr ',' FExpr ',' . FExpr ',' FExpr ',' FExpr '}'
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 2040
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 2000
+
+  504 FExpr_Multi: tSurface tIn tBoundingBox '{' FExpr ',' FExpr ',' FExpr ',' . FExpr ',' FExpr ',' FExpr '}'
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 2041
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 2001
+
+  505 FExpr_Multi: tVolume tIn tBoundingBox '{' FExpr ',' FExpr ',' FExpr ',' . FExpr ',' FExpr ',' FExpr '}'
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 2042
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 2002
+
+  187 Shape: tCompound tSurface '(' FExpr ')' tAFFECT ListOfDouble tSTRING '{' RecursiveListOfListOfDouble '}' . tEND
+
+    tEND  shift, and go to state 2043
+
+
+state 2003
+
+  337 Constraints: tPeriodic tLine '{' RecursiveListOfDouble '}' tAFFECT '{' RecursiveListOfDouble '}' tRotate '{' . VExpr ',' VExpr ',' FExpr '}' tEND
+
+    '+'  shift, and go to state 287
+    '-'  shift, and go to state 288
+    '('  shift, and go to state 289
+    '{'  shift, and go to state 290
+
+    VExpr         go to state 2044
+    VExpr_Single  go to state 292
+
+
+state 2004
+
+  339 Constraints: tPeriodic tLine '{' RecursiveListOfDouble '}' tAFFECT '{' RecursiveListOfDouble '}' tTranslate VExpr . tEND
+  473 VExpr: VExpr . '-' VExpr
+  474      | VExpr . '+' VExpr
+
+    tEND  shift, and go to state 2045
+    '+'   shift, and go to state 592
+    '-'   shift, and go to state 593
+
+
+state 2005
+
+  325 PeriodicTransform: tAffine ListOfDouble .
+
+    $default  reduce using rule 325 (PeriodicTransform)
+
+
+state 2006
+
+  335 Constraints: tPeriodic tLine '{' RecursiveListOfDouble '}' tAFFECT '{' RecursiveListOfDouble '}' PeriodicTransform tEND .
+
+    $default  reduce using rule 335 (Constraints)
+
+
+state 2007
+
+  338 Constraints: tPeriodic tSurface '{' RecursiveListOfDouble '}' tAFFECT '{' RecursiveListOfDouble '}' tRotate '{' . VExpr ',' VExpr ',' FExpr '}' tEND
+
+    '+'  shift, and go to state 287
+    '-'  shift, and go to state 288
+    '('  shift, and go to state 289
+    '{'  shift, and go to state 290
+
+    VExpr         go to state 2046
+    VExpr_Single  go to state 292
+
+
+state 2008
+
+  340 Constraints: tPeriodic tSurface '{' RecursiveListOfDouble '}' tAFFECT '{' RecursiveListOfDouble '}' tTranslate VExpr . tEND
+  473 VExpr: VExpr . '-' VExpr
+  474      | VExpr . '+' VExpr
+
+    tEND  shift, and go to state 2047
+    '+'   shift, and go to state 592
+    '-'   shift, and go to state 593
+
+
+state 2009
+
+  336 Constraints: tPeriodic tSurface '{' RecursiveListOfDouble '}' tAFFECT '{' RecursiveListOfDouble '}' PeriodicTransform tEND .
+
+    $default  reduce using rule 336 (Constraints)
+
+
+state 2010
+
+  341 Constraints: tPeriodic tSurface FExpr '{' RecursiveListOfDouble '}' tAFFECT FExpr '{' RecursiveListOfDouble '}' . tEND
+
+    tEND  shift, and go to state 2048
+
+
+state 2011
+
+  198 Transform: tRotate '{' VExpr ',' VExpr ',' FExpr '}' '{' MultipleShape '}' .
+
+    $default  reduce using rule 198 (Transform)
+
+
+state 2012
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  475 VExpr_Single: '{' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr . '}'
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    '}'              shift, and go to state 2049
+
+
+state 2013
+
+  293 ExtrudeParameter: tLayers '{' ListOfDouble ',' ListOfDouble '}' tEND .
+
+    $default  reduce using rule 293 (ExtrudeParameter)
+
+
+state 2014
+
+  301 ExtrudeParameter: tHole '(' FExpr ')' tAFFECT ListOfDouble tUsing . FExpr tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 2050
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 2015
+
+  276 Extrude: tExtrude '{' VExpr ',' VExpr ',' FExpr '}' '{' ListOfShapes '}' .
+
+    $default  reduce using rule 276 (Extrude)
+
+
+state 2016
+
+  281 Extrude: tExtrude '{' VExpr ',' VExpr ',' FExpr '}' '{' ListOfShapes @10 . ExtrudeParameters '}'
+
+    tUsing              shift, and go to state 1184
+    tRecombine          shift, and go to state 1185
+    tLayers             shift, and go to state 1186
+    tScaleLast          shift, and go to state 1187
+    tHole               shift, and go to state 1188
+    tQuadTriAddVerts    shift, and go to state 1189
+    tQuadTriNoNewVerts  shift, and go to state 1190
+
+    ExtrudeParameters  go to state 2051
+    ExtrudeParameter   go to state 1192
+
+
+state 2017
+
+  277 Extrude: tExtrude '{' VExpr ',' VExpr ',' VExpr ',' FExpr '}' '{' . ListOfShapes '}'
+  283        | tExtrude '{' VExpr ',' VExpr ',' VExpr ',' FExpr '}' '{' . ListOfShapes @11 ExtrudeParameters '}'
+
+    $default  reduce using rule 207 (ListOfShapes)
+
+    ListOfShapes  go to state 2052
+
+
+state 2018
+
+  217 LevelSet: tLevelset tSphere '(' FExpr ')' tAFFECT '{' VExpr ',' RecursiveListOfDouble '}' . tEND
+
+    tEND  shift, and go to state 2053
+
+
+state 2019
+
+  218 LevelSet: tLevelset tCylinder '(' FExpr ')' tAFFECT '{' VExpr ',' VExpr ',' . RecursiveListOfDouble '}' tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 433
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '#'                   shift, and go to state 251
+
+    Transform              go to state 252
+    Extrude                go to state 253
+    BooleanOperator        go to state 254
+    Boolean                go to state 255
+    FExpr                  go to state 434
+    FExpr_Single           go to state 257
+    DefineStruct           go to state 258
+    Struct_FullName        go to state 259
+    FExpr_Multi            go to state 435
+    RecursiveListOfDouble  go to state 2054
+    StringIndex            go to state 131
+    String__Index          go to state 262
+
+
+state 2020
+
+  219 LevelSet: tLevelset tCone '(' FExpr ')' tAFFECT '{' VExpr ',' VExpr ',' . RecursiveListOfDouble '}' tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 433
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '#'                   shift, and go to state 251
+
+    Transform              go to state 252
+    Extrude                go to state 253
+    BooleanOperator        go to state 254
+    Boolean                go to state 255
+    FExpr                  go to state 434
+    FExpr_Single           go to state 257
+    DefineStruct           go to state 258
+    Struct_FullName        go to state 259
+    FExpr_Multi            go to state 435
+    RecursiveListOfDouble  go to state 2055
+    StringIndex            go to state 131
+    String__Index          go to state 262
+
+
+state 2021
+
+  220 LevelSet: tLevelset tEllipsoid '(' FExpr ')' tAFFECT '{' VExpr ',' VExpr ',' . RecursiveListOfDouble '}' tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 433
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '#'                   shift, and go to state 251
+
+    Transform              go to state 252
+    Extrude                go to state 253
+    BooleanOperator        go to state 254
+    Boolean                go to state 255
+    FExpr                  go to state 434
+    FExpr_Single           go to state 257
+    DefineStruct           go to state 258
+    Struct_FullName        go to state 259
+    FExpr_Multi            go to state 435
+    RecursiveListOfDouble  go to state 2056
+    StringIndex            go to state 131
+    String__Index          go to state 262
+
+
+state 2022
+
+  221 LevelSet: tLevelset tQuadric '(' FExpr ')' tAFFECT '{' VExpr ',' VExpr ',' . RecursiveListOfDouble '}' tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 433
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '#'                   shift, and go to state 251
+
+    Transform              go to state 252
+    Extrude                go to state 253
+    BooleanOperator        go to state 254
+    Boolean                go to state 255
+    FExpr                  go to state 434
+    FExpr_Single           go to state 257
+    DefineStruct           go to state 258
+    Struct_FullName        go to state 259
+    FExpr_Multi            go to state 435
+    RecursiveListOfDouble  go to state 2057
+    StringIndex            go to state 131
+    String__Index          go to state 262
+
+
+state 2023
+
+  215 LevelSet: tLevelset tPlane '(' FExpr ')' tAFFECT '{' VExpr ',' VExpr ',' . RecursiveListOfDouble '}' tEND
+  216         | tLevelset tPlane '(' FExpr ')' tAFFECT '{' VExpr ',' VExpr ',' . VExpr ',' RecursiveListOfDouble '}' tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 597
+    '-'                   shift, and go to state 1789
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 599
+    '{'                   shift, and go to state 290
+    '#'                   shift, and go to state 251
+
+    Transform              go to state 252
+    Extrude                go to state 253
+    BooleanOperator        go to state 254
+    Boolean                go to state 255
+    FExpr                  go to state 434
+    FExpr_Single           go to state 257
+    DefineStruct           go to state 258
+    Struct_FullName        go to state 259
+    VExpr                  go to state 2058
+    VExpr_Single           go to state 292
+    FExpr_Multi            go to state 435
+    RecursiveListOfDouble  go to state 2059
+    StringIndex            go to state 131
+    String__Index          go to state 262
+
+
+state 2024
+
+  166 Shape: tNurbs '(' FExpr ')' tAFFECT ListOfDouble tNurbsKnots ListOfDouble tNurbsOrder FExpr tEND .
+
+    $default  reduce using rule 166 (Shape)
+
+
+state 2025
+
+  104 Affectation: tField '[' FExpr ']' '.' tSTRING tAFFECT '{' RecursiveListOfDouble '}' tEND .
+
+    $default  reduce using rule 104 (Affectation)
+
+
+state 2026
+
+  260 Slide: tSlide '(' '{' RecursiveListOfDouble '}' ',' StringExpr ',' StringExpr ')' tEND .
+
+    $default  reduce using rule 260 (Slide)
+
+
+state 2027
+
+  208 ListOfShapes: ListOfShapes . Shape
+  209             | ListOfShapes . tPoint '{' RecursiveListOfDouble '}' tEND
+  210             | ListOfShapes . tLine '{' RecursiveListOfDouble '}' tEND
+  211             | ListOfShapes . tSurface '{' RecursiveListOfDouble '}' tEND
+  212             | ListOfShapes . tVolume '{' RecursiveListOfDouble '}' tEND
+  315 BooleanShape: BooleanOperator '(' FExpr ')' tAFFECT '{' ListOfShapes BooleanOption '}' '{' ListOfShapes . BooleanOption '}' tEND
+
+    tEuclidian     shift, and go to state 7
+    tCoordinates   shift, and go to state 8
+    tPoint         shift, and go to state 712
+    tCircle        shift, and go to state 25
+    tEllipse       shift, and go to state 26
+    tLine          shift, and go to state 713
+    tSphere        shift, and go to state 28
+    tPolarSphere   shift, and go to state 29
+    tSurface       shift, and go to state 714
+    tSpline        shift, and go to state 31
+    tVolume        shift, and go to state 715
+    tBlock         shift, and go to state 33
+    tCylinder      shift, and go to state 34
+    tCone          shift, and go to state 35
+    tTorus         shift, and go to state 36
+    tRectangle     shift, and go to state 38
+    tDisk          shift, and go to state 39
+    tWire          shift, and go to state 40
+    tParametric    shift, and go to state 42
+    tThruSections  shift, and go to state 716
+    tWedge         shift, and go to state 48
+    tPlane         shift, and go to state 50
+    tRuled         shift, and go to state 717
+    tPhysical      shift, and go to state 53
+    tCompound      shift, and go to state 718
+    tRecursive     shift, and go to state 986
+    tThickSolid    shift, and go to state 70
+    tDelete        shift, and go to state 987
+    tBSpline       shift, and go to state 84
+    tBezier        shift, and go to state 85
+    tNurbs         shift, and go to state 86
+
+    $default  reduce using rule 308 (BooleanOption)
+
+    Shape          go to state 719
+    BooleanOption  go to state 2060
+
+
+state 2028
+
+   97 Affectation: String__Index '[' FExpr ']' '.' tColor '.' tSTRING tAFFECT ColorExpr tEND .
+
+    $default  reduce using rule 97 (Affectation)
+
+
+state 2029
+
+   49 Element: tSTRING @1 '(' ElementCoords ')' @2 '{' . ElementValues '}' tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    ElementValues    go to state 2061
+    FExpr            go to state 1838
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 2030
+
+   53 Text2D: tText2D '(' FExpr ',' FExpr ',' FExpr . ')' @3 '{' Text2DValues '}' tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 2062
+
+
+state 2031
+
+   57 Text3D: tText3D '(' FExpr ',' FExpr ',' FExpr . ',' FExpr ')' @4 '{' Text3DValues '}' tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ','              shift, and go to state 2063
+
+
+state 2032
+
+   58 InterpolationMatrix: tInterpolationScheme '{' RecursiveListOfListOfDouble '}' '{' RecursiveListOfListOfDouble '}' . tEND
+   59                    | tInterpolationScheme '{' RecursiveListOfListOfDouble '}' '{' RecursiveListOfListOfDouble '}' . '{' RecursiveListOfListOfDouble '}' '{' RecursiveListOfListOfDouble '}' tEND
+
+    tEND  shift, and go to state 2064
+    '{'   shift, and go to state 2065
+
+
+state 2033
+
+  253 Command: tBoundingBox '{' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr ',' . FExpr '}' tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 2066
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 2034
+
+  116 DefineConstants: DefineConstants Comma String__Index LP RP tAFFECT '{' ListOfDouble @7 FloatParameterOptionsOrNone . '}'
+
+    '}'  shift, and go to state 2067
+
+
+state 2035
+
+  123 Enumeration: Enumeration ',' FExpr tAFFECT StringExpr .
+
+    $default  reduce using rule 123 (Enumeration)
+
+
+state 2036
+
+  124 Enumeration: FExpr_Multi tAFFECT String__Index '(' ')' .
+
+    $default  reduce using rule 124 (Enumeration)
+
+
+state 2037
+
+  259 Command: tAdaptMesh '{' RecursiveListOfDouble '}' '{' RecursiveListOfDouble '}' '{' RecursiveListOfListOfDouble '}' '{' FExpr . ',' FExpr '}' tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ','              shift, and go to state 2068
+
+
+state 2038
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  518 FExpr_Multi: tCatenary LP FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr . ',' FExpr RP
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ','              shift, and go to state 2069
+
+
+state 2039
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  502 FExpr_Multi: tPoint tIn tBoundingBox '{' FExpr ',' FExpr ',' FExpr ',' FExpr . ',' FExpr ',' FExpr '}'
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ','              shift, and go to state 2070
+
+
+state 2040
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  503 FExpr_Multi: tLine tIn tBoundingBox '{' FExpr ',' FExpr ',' FExpr ',' FExpr . ',' FExpr ',' FExpr '}'
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ','              shift, and go to state 2071
+
+
+state 2041
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  504 FExpr_Multi: tSurface tIn tBoundingBox '{' FExpr ',' FExpr ',' FExpr ',' FExpr . ',' FExpr ',' FExpr '}'
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ','              shift, and go to state 2072
+
+
+state 2042
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  505 FExpr_Multi: tVolume tIn tBoundingBox '{' FExpr ',' FExpr ',' FExpr ',' FExpr . ',' FExpr ',' FExpr '}'
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ','              shift, and go to state 2073
+
+
+state 2043
+
+  187 Shape: tCompound tSurface '(' FExpr ')' tAFFECT ListOfDouble tSTRING '{' RecursiveListOfListOfDouble '}' tEND .
+
+    $default  reduce using rule 187 (Shape)
+
+
+state 2044
+
+  337 Constraints: tPeriodic tLine '{' RecursiveListOfDouble '}' tAFFECT '{' RecursiveListOfDouble '}' tRotate '{' VExpr . ',' VExpr ',' FExpr '}' tEND
+  473 VExpr: VExpr . '-' VExpr
+  474      | VExpr . '+' VExpr
+
+    '+'  shift, and go to state 592
+    '-'  shift, and go to state 593
+    ','  shift, and go to state 2074
+
+
+state 2045
+
+  339 Constraints: tPeriodic tLine '{' RecursiveListOfDouble '}' tAFFECT '{' RecursiveListOfDouble '}' tTranslate VExpr tEND .
+
+    $default  reduce using rule 339 (Constraints)
+
+
+state 2046
+
+  338 Constraints: tPeriodic tSurface '{' RecursiveListOfDouble '}' tAFFECT '{' RecursiveListOfDouble '}' tRotate '{' VExpr . ',' VExpr ',' FExpr '}' tEND
+  473 VExpr: VExpr . '-' VExpr
+  474      | VExpr . '+' VExpr
+
+    '+'  shift, and go to state 592
+    '-'  shift, and go to state 593
+    ','  shift, and go to state 2075
+
+
+state 2047
+
+  340 Constraints: tPeriodic tSurface '{' RecursiveListOfDouble '}' tAFFECT '{' RecursiveListOfDouble '}' tTranslate VExpr tEND .
+
+    $default  reduce using rule 340 (Constraints)
+
+
+state 2048
+
+  341 Constraints: tPeriodic tSurface FExpr '{' RecursiveListOfDouble '}' tAFFECT FExpr '{' RecursiveListOfDouble '}' tEND .
+
+    $default  reduce using rule 341 (Constraints)
+
+
+state 2049
+
+  475 VExpr_Single: '{' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr '}' .
+
+    $default  reduce using rule 475 (VExpr_Single)
+
+
+state 2050
+
+  301 ExtrudeParameter: tHole '(' FExpr ')' tAFFECT ListOfDouble tUsing FExpr . tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    tEND             shift, and go to state 2076
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+
+
+state 2051
+
+  281 Extrude: tExtrude '{' VExpr ',' VExpr ',' FExpr '}' '{' ListOfShapes @10 ExtrudeParameters . '}'
+  291 ExtrudeParameters: ExtrudeParameters . ExtrudeParameter
+
+    tUsing              shift, and go to state 1184
+    tRecombine          shift, and go to state 1185
+    tLayers             shift, and go to state 1186
+    tScaleLast          shift, and go to state 1187
+    tHole               shift, and go to state 1188
+    tQuadTriAddVerts    shift, and go to state 1189
+    tQuadTriNoNewVerts  shift, and go to state 1190
+    '}'                 shift, and go to state 2077
+
+    ExtrudeParameter  go to state 1431
+
+
+state 2052
+
+  208 ListOfShapes: ListOfShapes . Shape
+  209             | ListOfShapes . tPoint '{' RecursiveListOfDouble '}' tEND
+  210             | ListOfShapes . tLine '{' RecursiveListOfDouble '}' tEND
+  211             | ListOfShapes . tSurface '{' RecursiveListOfDouble '}' tEND
+  212             | ListOfShapes . tVolume '{' RecursiveListOfDouble '}' tEND
+  277 Extrude: tExtrude '{' VExpr ',' VExpr ',' VExpr ',' FExpr '}' '{' ListOfShapes . '}'
+  283        | tExtrude '{' VExpr ',' VExpr ',' VExpr ',' FExpr '}' '{' ListOfShapes . @11 ExtrudeParameters '}'
+
+    tEuclidian     shift, and go to state 7
+    tCoordinates   shift, and go to state 8
+    tPoint         shift, and go to state 712
+    tCircle        shift, and go to state 25
+    tEllipse       shift, and go to state 26
+    tLine          shift, and go to state 713
+    tSphere        shift, and go to state 28
+    tPolarSphere   shift, and go to state 29
+    tSurface       shift, and go to state 714
+    tSpline        shift, and go to state 31
+    tVolume        shift, and go to state 715
+    tBlock         shift, and go to state 33
+    tCylinder      shift, and go to state 34
+    tCone          shift, and go to state 35
+    tTorus         shift, and go to state 36
+    tRectangle     shift, and go to state 38
+    tDisk          shift, and go to state 39
+    tWire          shift, and go to state 40
+    tParametric    shift, and go to state 42
+    tThruSections  shift, and go to state 716
+    tWedge         shift, and go to state 48
+    tPlane         shift, and go to state 50
+    tRuled         shift, and go to state 717
+    tPhysical      shift, and go to state 53
+    tCompound      shift, and go to state 718
+    tThickSolid    shift, and go to state 70
+    tBSpline       shift, and go to state 84
+    tBezier        shift, and go to state 85
+    tNurbs         shift, and go to state 86
+    '}'            shift, and go to state 2078
+
+    $default  reduce using rule 282 (@11)
+
+    Shape  go to state 719
+    @11    go to state 2079
+
+
+state 2053
+
+  217 LevelSet: tLevelset tSphere '(' FExpr ')' tAFFECT '{' VExpr ',' RecursiveListOfDouble '}' tEND .
+
+    $default  reduce using rule 217 (LevelSet)
+
+
+state 2054
+
+  218 LevelSet: tLevelset tCylinder '(' FExpr ')' tAFFECT '{' VExpr ',' VExpr ',' RecursiveListOfDouble . '}' tEND
+  523 RecursiveListOfDouble: RecursiveListOfDouble . ',' FExpr
+  524                      | RecursiveListOfDouble . ',' FExpr_Multi
+
+    '}'  shift, and go to state 2080
+    ','  shift, and go to state 747
+
+
+state 2055
+
+  219 LevelSet: tLevelset tCone '(' FExpr ')' tAFFECT '{' VExpr ',' VExpr ',' RecursiveListOfDouble . '}' tEND
+  523 RecursiveListOfDouble: RecursiveListOfDouble . ',' FExpr
+  524                      | RecursiveListOfDouble . ',' FExpr_Multi
+
+    '}'  shift, and go to state 2081
+    ','  shift, and go to state 747
+
+
+state 2056
+
+  220 LevelSet: tLevelset tEllipsoid '(' FExpr ')' tAFFECT '{' VExpr ',' VExpr ',' RecursiveListOfDouble . '}' tEND
+  523 RecursiveListOfDouble: RecursiveListOfDouble . ',' FExpr
+  524                      | RecursiveListOfDouble . ',' FExpr_Multi
+
+    '}'  shift, and go to state 2082
+    ','  shift, and go to state 747
+
+
+state 2057
+
+  221 LevelSet: tLevelset tQuadric '(' FExpr ')' tAFFECT '{' VExpr ',' VExpr ',' RecursiveListOfDouble . '}' tEND
+  523 RecursiveListOfDouble: RecursiveListOfDouble . ',' FExpr
+  524                      | RecursiveListOfDouble . ',' FExpr_Multi
+
+    '}'  shift, and go to state 2083
+    ','  shift, and go to state 747
+
+
+state 2058
+
+  216 LevelSet: tLevelset tPlane '(' FExpr ')' tAFFECT '{' VExpr ',' VExpr ',' VExpr . ',' RecursiveListOfDouble '}' tEND
+  473 VExpr: VExpr . '-' VExpr
+  474      | VExpr . '+' VExpr
+
+    '+'  shift, and go to state 592
+    '-'  shift, and go to state 593
+    ','  shift, and go to state 2084
+
+
+state 2059
+
+  215 LevelSet: tLevelset tPlane '(' FExpr ')' tAFFECT '{' VExpr ',' VExpr ',' RecursiveListOfDouble . '}' tEND
+  523 RecursiveListOfDouble: RecursiveListOfDouble . ',' FExpr
+  524                      | RecursiveListOfDouble . ',' FExpr_Multi
+
+    '}'  shift, and go to state 2085
+    ','  shift, and go to state 747
+
+
+state 2060
+
+  315 BooleanShape: BooleanOperator '(' FExpr ')' tAFFECT '{' ListOfShapes BooleanOption '}' '{' ListOfShapes BooleanOption . '}' tEND
+
+    '}'  shift, and go to state 2086
+
+
+state 2061
+
+   46 ElementValues: ElementValues . ',' FExpr
+   49 Element: tSTRING @1 '(' ElementCoords ')' @2 '{' ElementValues . '}' tEND
+
+    '}'  shift, and go to state 2087
+    ','  shift, and go to state 1924
+
+
+state 2062
+
+   53 Text2D: tText2D '(' FExpr ',' FExpr ',' FExpr ')' . @3 '{' Text2DValues '}' tEND
+
+    $default  reduce using rule 52 (@3)
+
+    @3  go to state 2088
+
+
+state 2063
+
+   57 Text3D: tText3D '(' FExpr ',' FExpr ',' FExpr ',' . FExpr ')' @4 '{' Text3DValues '}' tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 2089
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 2064
+
+   58 InterpolationMatrix: tInterpolationScheme '{' RecursiveListOfListOfDouble '}' '{' RecursiveListOfListOfDouble '}' tEND .
+
+    $default  reduce using rule 58 (InterpolationMatrix)
+
+
+state 2065
+
+   59 InterpolationMatrix: tInterpolationScheme '{' RecursiveListOfListOfDouble '}' '{' RecursiveListOfListOfDouble '}' '{' . RecursiveListOfListOfDouble '}' '{' RecursiveListOfListOfDouble '}' tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 247
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '{'                   shift, and go to state 250
+    '#'                   shift, and go to state 251
+
+    Transform                    go to state 252
+    Extrude                      go to state 253
+    BooleanOperator              go to state 254
+    Boolean                      go to state 255
+    FExpr                        go to state 256
+    FExpr_Single                 go to state 257
+    DefineStruct                 go to state 258
+    Struct_FullName              go to state 259
+    RecursiveListOfListOfDouble  go to state 2090
+    ListOfDouble                 go to state 1699
+    FExpr_Multi                  go to state 261
+    StringIndex                  go to state 131
+    String__Index                go to state 262
+
+
+state 2066
+
+  253 Command: tBoundingBox '{' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr . '}' tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    '}'              shift, and go to state 2091
+
+
+state 2067
+
+  116 DefineConstants: DefineConstants Comma String__Index LP RP tAFFECT '{' ListOfDouble @7 FloatParameterOptionsOrNone '}' .
+
+    $default  reduce using rule 116 (DefineConstants)
+
+
+state 2068
+
+  259 Command: tAdaptMesh '{' RecursiveListOfDouble '}' '{' RecursiveListOfDouble '}' '{' RecursiveListOfListOfDouble '}' '{' FExpr ',' . FExpr '}' tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 2092
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 2069
+
+  518 FExpr_Multi: tCatenary LP FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr ',' . FExpr RP
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 2093
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 2070
+
+  502 FExpr_Multi: tPoint tIn tBoundingBox '{' FExpr ',' FExpr ',' FExpr ',' FExpr ',' . FExpr ',' FExpr '}'
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 2094
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 2071
+
+  503 FExpr_Multi: tLine tIn tBoundingBox '{' FExpr ',' FExpr ',' FExpr ',' FExpr ',' . FExpr ',' FExpr '}'
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 2095
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 2072
+
+  504 FExpr_Multi: tSurface tIn tBoundingBox '{' FExpr ',' FExpr ',' FExpr ',' FExpr ',' . FExpr ',' FExpr '}'
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 2096
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 2073
+
+  505 FExpr_Multi: tVolume tIn tBoundingBox '{' FExpr ',' FExpr ',' FExpr ',' FExpr ',' . FExpr ',' FExpr '}'
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 2097
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 2074
+
+  337 Constraints: tPeriodic tLine '{' RecursiveListOfDouble '}' tAFFECT '{' RecursiveListOfDouble '}' tRotate '{' VExpr ',' . VExpr ',' FExpr '}' tEND
+
+    '+'  shift, and go to state 287
+    '-'  shift, and go to state 288
+    '('  shift, and go to state 289
+    '{'  shift, and go to state 290
+
+    VExpr         go to state 2098
+    VExpr_Single  go to state 292
+
+
+state 2075
+
+  338 Constraints: tPeriodic tSurface '{' RecursiveListOfDouble '}' tAFFECT '{' RecursiveListOfDouble '}' tRotate '{' VExpr ',' . VExpr ',' FExpr '}' tEND
+
+    '+'  shift, and go to state 287
+    '-'  shift, and go to state 288
+    '('  shift, and go to state 289
+    '{'  shift, and go to state 290
+
+    VExpr         go to state 2099
+    VExpr_Single  go to state 292
+
+
+state 2076
+
+  301 ExtrudeParameter: tHole '(' FExpr ')' tAFFECT ListOfDouble tUsing FExpr tEND .
+
+    $default  reduce using rule 301 (ExtrudeParameter)
+
+
+state 2077
+
+  281 Extrude: tExtrude '{' VExpr ',' VExpr ',' FExpr '}' '{' ListOfShapes @10 ExtrudeParameters '}' .
+
+    $default  reduce using rule 281 (Extrude)
+
+
+state 2078
+
+  277 Extrude: tExtrude '{' VExpr ',' VExpr ',' VExpr ',' FExpr '}' '{' ListOfShapes '}' .
+
+    $default  reduce using rule 277 (Extrude)
+
+
+state 2079
+
+  283 Extrude: tExtrude '{' VExpr ',' VExpr ',' VExpr ',' FExpr '}' '{' ListOfShapes @11 . ExtrudeParameters '}'
+
+    tUsing              shift, and go to state 1184
+    tRecombine          shift, and go to state 1185
+    tLayers             shift, and go to state 1186
+    tScaleLast          shift, and go to state 1187
+    tHole               shift, and go to state 1188
+    tQuadTriAddVerts    shift, and go to state 1189
+    tQuadTriNoNewVerts  shift, and go to state 1190
+
+    ExtrudeParameters  go to state 2100
+    ExtrudeParameter   go to state 1192
+
+
+state 2080
+
+  218 LevelSet: tLevelset tCylinder '(' FExpr ')' tAFFECT '{' VExpr ',' VExpr ',' RecursiveListOfDouble '}' . tEND
+
+    tEND  shift, and go to state 2101
+
+
+state 2081
+
+  219 LevelSet: tLevelset tCone '(' FExpr ')' tAFFECT '{' VExpr ',' VExpr ',' RecursiveListOfDouble '}' . tEND
+
+    tEND  shift, and go to state 2102
+
+
+state 2082
+
+  220 LevelSet: tLevelset tEllipsoid '(' FExpr ')' tAFFECT '{' VExpr ',' VExpr ',' RecursiveListOfDouble '}' . tEND
+
+    tEND  shift, and go to state 2103
+
+
+state 2083
+
+  221 LevelSet: tLevelset tQuadric '(' FExpr ')' tAFFECT '{' VExpr ',' VExpr ',' RecursiveListOfDouble '}' . tEND
+
+    tEND  shift, and go to state 2104
+
+
+state 2084
+
+  216 LevelSet: tLevelset tPlane '(' FExpr ')' tAFFECT '{' VExpr ',' VExpr ',' VExpr ',' . RecursiveListOfDouble '}' tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 433
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '#'                   shift, and go to state 251
+
+    Transform              go to state 252
+    Extrude                go to state 253
+    BooleanOperator        go to state 254
+    Boolean                go to state 255
+    FExpr                  go to state 434
+    FExpr_Single           go to state 257
+    DefineStruct           go to state 258
+    Struct_FullName        go to state 259
+    FExpr_Multi            go to state 435
+    RecursiveListOfDouble  go to state 2105
+    StringIndex            go to state 131
+    String__Index          go to state 262
+
+
+state 2085
+
+  215 LevelSet: tLevelset tPlane '(' FExpr ')' tAFFECT '{' VExpr ',' VExpr ',' RecursiveListOfDouble '}' . tEND
+
+    tEND  shift, and go to state 2106
+
+
+state 2086
+
+  315 BooleanShape: BooleanOperator '(' FExpr ')' tAFFECT '{' ListOfShapes BooleanOption '}' '{' ListOfShapes BooleanOption '}' . tEND
+
+    tEND  shift, and go to state 2107
+
+
+state 2087
+
+   49 Element: tSTRING @1 '(' ElementCoords ')' @2 '{' ElementValues '}' . tEND
+
+    tEND  shift, and go to state 2108
+
+
+state 2088
+
+   53 Text2D: tText2D '(' FExpr ',' FExpr ',' FExpr ')' @3 . '{' Text2DValues '}' tEND
+
+    '{'  shift, and go to state 2109
+
+
+state 2089
+
+   57 Text3D: tText3D '(' FExpr ',' FExpr ',' FExpr ',' FExpr . ')' @4 '{' Text3DValues '}' tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 2110
+
+
+state 2090
+
+   59 InterpolationMatrix: tInterpolationScheme '{' RecursiveListOfListOfDouble '}' '{' RecursiveListOfListOfDouble '}' '{' RecursiveListOfListOfDouble . '}' '{' RecursiveListOfListOfDouble '}' tEND
+  480 RecursiveListOfListOfDouble: RecursiveListOfListOfDouble . ',' ListOfDouble
+
+    '}'  shift, and go to state 2111
+    ','  shift, and go to state 1836
+
+
+state 2091
+
+  253 Command: tBoundingBox '{' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr '}' . tEND
+
+    tEND  shift, and go to state 2112
+
+
+state 2092
+
+  259 Command: tAdaptMesh '{' RecursiveListOfDouble '}' '{' RecursiveListOfDouble '}' '{' RecursiveListOfListOfDouble '}' '{' FExpr ',' FExpr . '}' tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    '}'              shift, and go to state 2113
+
+
+state 2093
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  518 FExpr_Multi: tCatenary LP FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr . RP
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ')'              shift, and go to state 699
+    ']'              shift, and go to state 700
+
+    RP  go to state 2114
+
+
+state 2094
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  502 FExpr_Multi: tPoint tIn tBoundingBox '{' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr . ',' FExpr '}'
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ','              shift, and go to state 2115
+
+
+state 2095
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  503 FExpr_Multi: tLine tIn tBoundingBox '{' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr . ',' FExpr '}'
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ','              shift, and go to state 2116
+
+
+state 2096
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  504 FExpr_Multi: tSurface tIn tBoundingBox '{' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr . ',' FExpr '}'
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ','              shift, and go to state 2117
+
+
+state 2097
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  505 FExpr_Multi: tVolume tIn tBoundingBox '{' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr . ',' FExpr '}'
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    ','              shift, and go to state 2118
+
+
+state 2098
+
+  337 Constraints: tPeriodic tLine '{' RecursiveListOfDouble '}' tAFFECT '{' RecursiveListOfDouble '}' tRotate '{' VExpr ',' VExpr . ',' FExpr '}' tEND
+  473 VExpr: VExpr . '-' VExpr
+  474      | VExpr . '+' VExpr
+
+    '+'  shift, and go to state 592
+    '-'  shift, and go to state 593
+    ','  shift, and go to state 2119
+
+
+state 2099
+
+  338 Constraints: tPeriodic tSurface '{' RecursiveListOfDouble '}' tAFFECT '{' RecursiveListOfDouble '}' tRotate '{' VExpr ',' VExpr . ',' FExpr '}' tEND
+  473 VExpr: VExpr . '-' VExpr
+  474      | VExpr . '+' VExpr
+
+    '+'  shift, and go to state 592
+    '-'  shift, and go to state 593
+    ','  shift, and go to state 2120
+
+
+state 2100
+
+  283 Extrude: tExtrude '{' VExpr ',' VExpr ',' VExpr ',' FExpr '}' '{' ListOfShapes @11 ExtrudeParameters . '}'
+  291 ExtrudeParameters: ExtrudeParameters . ExtrudeParameter
+
+    tUsing              shift, and go to state 1184
+    tRecombine          shift, and go to state 1185
+    tLayers             shift, and go to state 1186
+    tScaleLast          shift, and go to state 1187
+    tHole               shift, and go to state 1188
+    tQuadTriAddVerts    shift, and go to state 1189
+    tQuadTriNoNewVerts  shift, and go to state 1190
+    '}'                 shift, and go to state 2121
+
+    ExtrudeParameter  go to state 1431
+
+
+state 2101
+
+  218 LevelSet: tLevelset tCylinder '(' FExpr ')' tAFFECT '{' VExpr ',' VExpr ',' RecursiveListOfDouble '}' tEND .
+
+    $default  reduce using rule 218 (LevelSet)
+
+
+state 2102
+
+  219 LevelSet: tLevelset tCone '(' FExpr ')' tAFFECT '{' VExpr ',' VExpr ',' RecursiveListOfDouble '}' tEND .
+
+    $default  reduce using rule 219 (LevelSet)
+
+
+state 2103
+
+  220 LevelSet: tLevelset tEllipsoid '(' FExpr ')' tAFFECT '{' VExpr ',' VExpr ',' RecursiveListOfDouble '}' tEND .
+
+    $default  reduce using rule 220 (LevelSet)
+
+
+state 2104
+
+  221 LevelSet: tLevelset tQuadric '(' FExpr ')' tAFFECT '{' VExpr ',' VExpr ',' RecursiveListOfDouble '}' tEND .
+
+    $default  reduce using rule 221 (LevelSet)
+
+
+state 2105
+
+  216 LevelSet: tLevelset tPlane '(' FExpr ')' tAFFECT '{' VExpr ',' VExpr ',' VExpr ',' RecursiveListOfDouble . '}' tEND
+  523 RecursiveListOfDouble: RecursiveListOfDouble . ',' FExpr
+  524                      | RecursiveListOfDouble . ',' FExpr_Multi
+
+    '}'  shift, and go to state 2122
+    ','  shift, and go to state 747
+
+
+state 2106
+
+  215 LevelSet: tLevelset tPlane '(' FExpr ')' tAFFECT '{' VExpr ',' VExpr ',' RecursiveListOfDouble '}' tEND .
+
+    $default  reduce using rule 215 (LevelSet)
+
+
+state 2107
+
+  315 BooleanShape: BooleanOperator '(' FExpr ')' tAFFECT '{' ListOfShapes BooleanOption '}' '{' ListOfShapes BooleanOption '}' tEND .
+
+    $default  reduce using rule 315 (BooleanShape)
+
+
+state 2108
+
+   49 Element: tSTRING @1 '(' ElementCoords ')' @2 '{' ElementValues '}' tEND .
+
+    $default  reduce using rule 49 (Element)
+
+
+state 2109
+
+   53 Text2D: tText2D '(' FExpr ',' FExpr ',' FExpr ')' @3 '{' . Text2DValues '}' tEND
+
+    tSTRING              shift, and go to state 150
+    tBIGSTR              shift, and go to state 344
+    tStr                 shift, and go to state 345
+    tSprintf             shift, and go to state 346
+    tStrCat              shift, and go to state 347
+    tStrPrefix           shift, and go to state 348
+    tStrRelative         shift, and go to state 349
+    tStrReplace          shift, and go to state 350
+    tAbsolutePath        shift, and go to state 351
+    tDirName             shift, and go to state 352
+    tStrSub              shift, and go to state 353
+    tStrChoice           shift, and go to state 354
+    tUpperCase           shift, and go to state 355
+    tLowerCase           shift, and go to state 356
+    tLowerCaseIn         shift, and go to state 357
+    tToday               shift, and go to state 358
+    tFixRelativePath     shift, and go to state 359
+    tCurrentDirectory    shift, and go to state 360
+    tOnelabAction        shift, and go to state 361
+    tCodeName            shift, and go to state 362
+    tNameStruct          shift, and go to state 363
+    tDefineString        shift, and go to state 364
+    tPhysical            shift, and go to state 393
+    tGetStringValue      shift, and go to state 365
+    tGetEnv              shift, and go to state 366
+    tGetString           shift, and go to state 367
+    tGetForcedStr        shift, and go to state 368
+    tGmshExecutableName  shift, and go to state 369
+    tNameToString        shift, and go to state 370
+    tStringToName        shift, and go to state 107
+
+    Text2DValues   go to state 2123
+    StringExprVar  go to state 2124
+    StringExpr     go to state 419
+    StringIndex    go to state 131
+    String__Index  go to state 420
+
+
+state 2110
+
+   57 Text3D: tText3D '(' FExpr ',' FExpr ',' FExpr ',' FExpr ')' . @4 '{' Text3DValues '}' tEND
+
+    $default  reduce using rule 56 (@4)
+
+    @4  go to state 2125
+
+
+state 2111
+
+   59 InterpolationMatrix: tInterpolationScheme '{' RecursiveListOfListOfDouble '}' '{' RecursiveListOfListOfDouble '}' '{' RecursiveListOfListOfDouble '}' . '{' RecursiveListOfListOfDouble '}' tEND
+
+    '{'  shift, and go to state 2126
+
+
+state 2112
+
+  253 Command: tBoundingBox '{' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr '}' tEND .
+
+    $default  reduce using rule 253 (Command)
+
+
+state 2113
+
+  259 Command: tAdaptMesh '{' RecursiveListOfDouble '}' '{' RecursiveListOfDouble '}' '{' RecursiveListOfListOfDouble '}' '{' FExpr ',' FExpr '}' . tEND
+
+    tEND  shift, and go to state 2127
+
+
+state 2114
+
+  518 FExpr_Multi: tCatenary LP FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr RP .
+
+    $default  reduce using rule 518 (FExpr_Multi)
+
+
+state 2115
+
+  502 FExpr_Multi: tPoint tIn tBoundingBox '{' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr ',' . FExpr '}'
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 2128
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 2116
+
+  503 FExpr_Multi: tLine tIn tBoundingBox '{' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr ',' . FExpr '}'
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 2129
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 2117
+
+  504 FExpr_Multi: tSurface tIn tBoundingBox '{' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr ',' . FExpr '}'
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 2130
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 2118
+
+  505 FExpr_Multi: tVolume tIn tBoundingBox '{' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr ',' . FExpr '}'
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 2131
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 2119
+
+  337 Constraints: tPeriodic tLine '{' RecursiveListOfDouble '}' tAFFECT '{' RecursiveListOfDouble '}' tRotate '{' VExpr ',' VExpr ',' . FExpr '}' tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 2132
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 2120
+
+  338 Constraints: tPeriodic tSurface '{' RecursiveListOfDouble '}' tAFFECT '{' RecursiveListOfDouble '}' tRotate '{' VExpr ',' VExpr ',' . FExpr '}' tEND
+
+    tDOUBLE              shift, and go to state 187
+    tSTRING              shift, and go to state 150
+    tPi                  shift, and go to state 188
+    tMPI_Rank            shift, and go to state 189
+    tMPI_Size            shift, and go to state 190
+    tTestLevel           shift, and go to state 191
+    tExp                 shift, and go to state 192
+    tLog                 shift, and go to state 193
+    tLog10               shift, and go to state 194
+    tSqrt                shift, and go to state 195
+    tSin                 shift, and go to state 196
+    tAsin                shift, and go to state 197
+    tCos                 shift, and go to state 198
+    tAcos                shift, and go to state 199
+    tTan                 shift, and go to state 200
+    tRand                shift, and go to state 201
+    tAtan                shift, and go to state 202
+    tAtan2               shift, and go to state 203
+    tSinh                shift, and go to state 204
+    tCosh                shift, and go to state 205
+    tTanh                shift, and go to state 206
+    tFabs                shift, and go to state 207
+    tAbs                 shift, and go to state 380
+    tFloor               shift, and go to state 209
+    tCeil                shift, and go to state 210
+    tRound               shift, and go to state 211
+    tFmod                shift, and go to state 212
+    tModulo              shift, and go to state 213
+    tHypot               shift, and go to state 214
+    tStrLen              shift, and go to state 220
+    tFind                shift, and go to state 221
+    tStrFind             shift, and go to state 222
+    tStrCmp              shift, and go to state 223
+    tTextAttributes      shift, and go to state 224
+    tCpu                 shift, and go to state 225
+    tMemory              shift, and go to state 226
+    tTotalMemory         shift, and go to state 227
+    tDefineNumber        shift, and go to state 228
+    tDefineStruct        shift, and go to state 21
+    tDimNameSpace        shift, and go to state 229
+    tGetValue            shift, and go to state 237
+    tGetNumber           shift, and go to state 238
+    tExists              shift, and go to state 240
+    tFileExists          shift, and go to state 241
+    tGetForced           shift, and go to state 242
+    tGMSH_MAJOR_VERSION  shift, and go to state 243
+    tGMSH_MINOR_VERSION  shift, and go to state 244
+    tGMSH_PATCH_VERSION  shift, and go to state 245
+    tStringToName        shift, and go to state 107
+    '+'                  shift, and go to state 246
+    '-'                  shift, and go to state 381
+    '!'                  shift, and go to state 248
+    '('                  shift, and go to state 326
+    '#'                  shift, and go to state 251
+
+    FExpr            go to state 2133
+    FExpr_Single     go to state 257
+    DefineStruct     go to state 258
+    Struct_FullName  go to state 259
+    StringIndex      go to state 131
+    String__Index    go to state 383
+
+
+state 2121
+
+  283 Extrude: tExtrude '{' VExpr ',' VExpr ',' VExpr ',' FExpr '}' '{' ListOfShapes @11 ExtrudeParameters '}' .
+
+    $default  reduce using rule 283 (Extrude)
+
+
+state 2122
+
+  216 LevelSet: tLevelset tPlane '(' FExpr ')' tAFFECT '{' VExpr ',' VExpr ',' VExpr ',' RecursiveListOfDouble '}' . tEND
+
+    tEND  shift, and go to state 2134
+
+
+state 2123
+
+   51 Text2DValues: Text2DValues . ',' StringExprVar
+   53 Text2D: tText2D '(' FExpr ',' FExpr ',' FExpr ')' @3 '{' Text2DValues . '}' tEND
+
+    '}'  shift, and go to state 2135
+    ','  shift, and go to state 2136
+
+
+state 2124
+
+   50 Text2DValues: StringExprVar .
+
+    $default  reduce using rule 50 (Text2DValues)
+
+
+state 2125
+
+   57 Text3D: tText3D '(' FExpr ',' FExpr ',' FExpr ',' FExpr ')' @4 . '{' Text3DValues '}' tEND
+
+    '{'  shift, and go to state 2137
+
+
+state 2126
+
+   59 InterpolationMatrix: tInterpolationScheme '{' RecursiveListOfListOfDouble '}' '{' RecursiveListOfListOfDouble '}' '{' RecursiveListOfListOfDouble '}' '{' . RecursiveListOfListOfDouble '}' tEND
+
+    tDOUBLE               shift, and go to state 187
+    tSTRING               shift, and go to state 6
+    tPi                   shift, and go to state 188
+    tMPI_Rank             shift, and go to state 189
+    tMPI_Size             shift, and go to state 190
+    tTestLevel            shift, and go to state 191
+    tExp                  shift, and go to state 192
+    tLog                  shift, and go to state 193
+    tLog10                shift, and go to state 194
+    tSqrt                 shift, and go to state 195
+    tSin                  shift, and go to state 196
+    tAsin                 shift, and go to state 197
+    tCos                  shift, and go to state 198
+    tAcos                 shift, and go to state 199
+    tTan                  shift, and go to state 200
+    tRand                 shift, and go to state 201
+    tAtan                 shift, and go to state 202
+    tAtan2                shift, and go to state 203
+    tSinh                 shift, and go to state 204
+    tCosh                 shift, and go to state 205
+    tTanh                 shift, and go to state 206
+    tFabs                 shift, and go to state 207
+    tAbs                  shift, and go to state 208
+    tFloor                shift, and go to state 209
+    tCeil                 shift, and go to state 210
+    tRound                shift, and go to state 211
+    tFmod                 shift, and go to state 212
+    tModulo               shift, and go to state 213
+    tHypot                shift, and go to state 214
+    tList                 shift, and go to state 215
+    tLinSpace             shift, and go to state 216
+    tLogSpace             shift, and go to state 217
+    tListFromFile         shift, and go to state 218
+    tCatenary             shift, and go to state 219
+    tStrLen               shift, and go to state 220
+    tFind                 shift, and go to state 221
+    tStrFind              shift, and go to state 222
+    tStrCmp               shift, and go to state 223
+    tTextAttributes       shift, and go to state 224
+    tCpu                  shift, and go to state 225
+    tMemory               shift, and go to state 226
+    tTotalMemory          shift, and go to state 227
+    tDefineNumber         shift, and go to state 228
+    tDefineStruct         shift, and go to state 21
+    tDimNameSpace         shift, and go to state 229
+    tPoint                shift, and go to state 230
+    tLine                 shift, and go to state 231
+    tSurface              shift, and go to state 232
+    tVolume               shift, and go to state 233
+    tShapeFromFile        shift, and go to state 37
+    tThruSections         shift, and go to state 234
+    tFillet               shift, and go to state 49
+    tRuled                shift, and go to state 235
+    tPhysical             shift, and go to state 236
+    tRotate               shift, and go to state 59
+    tTranslate            shift, and go to state 60
+    tSymmetry             shift, and go to state 61
+    tDilate               shift, and go to state 62
+    tExtrude              shift, and go to state 63
+    tBooleanUnion         shift, and go to state 65
+    tBooleanIntersection  shift, and go to state 66
+    tBooleanDifference    shift, and go to state 67
+    tBooleanSection       shift, and go to state 68
+    tBooleanFragments     shift, and go to state 69
+    tSplit                shift, and go to state 73
+    tIntersect            shift, and go to state 76
+    tGetValue             shift, and go to state 237
+    tGetNumber            shift, and go to state 238
+    tUnique               shift, and go to state 239
+    tExists               shift, and go to state 240
+    tFileExists           shift, and go to state 241
+    tGetForced            shift, and go to state 242
+    tGMSH_MAJOR_VERSION   shift, and go to state 243
+    tGMSH_MINOR_VERSION   shift, and go to state 244
+    tGMSH_PATCH_VERSION   shift, and go to state 245
+    tStringToName         shift, and go to state 107
+    '+'                   shift, and go to state 246
+    '-'                   shift, and go to state 247
+    '!'                   shift, and go to state 248
+    '('                   shift, and go to state 326
+    '{'                   shift, and go to state 250
+    '#'                   shift, and go to state 251
+
+    Transform                    go to state 252
+    Extrude                      go to state 253
+    BooleanOperator              go to state 254
+    Boolean                      go to state 255
+    FExpr                        go to state 256
+    FExpr_Single                 go to state 257
+    DefineStruct                 go to state 258
+    Struct_FullName              go to state 259
+    RecursiveListOfListOfDouble  go to state 2138
+    ListOfDouble                 go to state 1699
+    FExpr_Multi                  go to state 261
+    StringIndex                  go to state 131
+    String__Index                go to state 262
+
+
+state 2127
+
+  259 Command: tAdaptMesh '{' RecursiveListOfDouble '}' '{' RecursiveListOfDouble '}' '{' RecursiveListOfListOfDouble '}' '{' FExpr ',' FExpr '}' tEND .
+
+    $default  reduce using rule 259 (Command)
+
+
+state 2128
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  502 FExpr_Multi: tPoint tIn tBoundingBox '{' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr . '}'
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    '}'              shift, and go to state 2139
+
+
+state 2129
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  503 FExpr_Multi: tLine tIn tBoundingBox '{' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr . '}'
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    '}'              shift, and go to state 2140
+
+
+state 2130
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  504 FExpr_Multi: tSurface tIn tBoundingBox '{' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr . '}'
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    '}'              shift, and go to state 2141
+
+
+state 2131
+
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+  505 FExpr_Multi: tVolume tIn tBoundingBox '{' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr . '}'
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    '}'              shift, and go to state 2142
+
+
+state 2132
+
+  337 Constraints: tPeriodic tLine '{' RecursiveListOfDouble '}' tAFFECT '{' RecursiveListOfDouble '}' tRotate '{' VExpr ',' VExpr ',' FExpr . '}' tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    '}'              shift, and go to state 2143
+
+
+state 2133
+
+  338 Constraints: tPeriodic tSurface '{' RecursiveListOfDouble '}' tAFFECT '{' RecursiveListOfDouble '}' tRotate '{' VExpr ',' VExpr ',' FExpr . '}' tEND
+  371 FExpr: FExpr . '-' FExpr
+  372      | FExpr . '+' FExpr
+  373      | FExpr . '*' FExpr
+  374      | FExpr . '/' FExpr
+  375      | FExpr . '|' FExpr
+  376      | FExpr . '&' FExpr
+  377      | FExpr . '%' FExpr
+  378      | FExpr . '^' FExpr
+  379      | FExpr . '<' FExpr
+  380      | FExpr . '>' FExpr
+  381      | FExpr . tLESSOREQUAL FExpr
+  382      | FExpr . tGREATEROREQUAL FExpr
+  383      | FExpr . tEQUAL FExpr
+  384      | FExpr . tNOTEQUAL FExpr
+  385      | FExpr . tAND FExpr
+  386      | FExpr . tOR FExpr
+  387      | FExpr . tGREATERGREATER FExpr
+  388      | FExpr . tLESSLESS FExpr
+  389      | FExpr . '?' FExpr tDOTS FExpr
+
+    '?'              shift, and go to state 532
+    tOR              shift, and go to state 533
+    tAND             shift, and go to state 534
+    tNOTEQUAL        shift, and go to state 535
+    tEQUAL           shift, and go to state 536
+    '<'              shift, and go to state 537
+    '>'              shift, and go to state 538
+    tGREATERGREATER  shift, and go to state 539
+    tLESSLESS        shift, and go to state 540
+    tGREATEROREQUAL  shift, and go to state 541
+    tLESSOREQUAL     shift, and go to state 542
+    '+'              shift, and go to state 543
+    '-'              shift, and go to state 544
+    '*'              shift, and go to state 676
+    '/'              shift, and go to state 546
+    '%'              shift, and go to state 547
+    '|'              shift, and go to state 548
+    '&'              shift, and go to state 549
+    '^'              shift, and go to state 550
+    '}'              shift, and go to state 2144
+
+
+state 2134
+
+  216 LevelSet: tLevelset tPlane '(' FExpr ')' tAFFECT '{' VExpr ',' VExpr ',' VExpr ',' RecursiveListOfDouble '}' tEND .
+
+    $default  reduce using rule 216 (LevelSet)
+
+
+state 2135
+
+   53 Text2D: tText2D '(' FExpr ',' FExpr ',' FExpr ')' @3 '{' Text2DValues '}' . tEND
+
+    tEND  shift, and go to state 2145
+
+
+state 2136
+
+   51 Text2DValues: Text2DValues ',' . StringExprVar
+
+    tSTRING              shift, and go to state 150
+    tBIGSTR              shift, and go to state 344
+    tStr                 shift, and go to state 345
+    tSprintf             shift, and go to state 346
+    tStrCat              shift, and go to state 347
+    tStrPrefix           shift, and go to state 348
+    tStrRelative         shift, and go to state 349
+    tStrReplace          shift, and go to state 350
+    tAbsolutePath        shift, and go to state 351
+    tDirName             shift, and go to state 352
+    tStrSub              shift, and go to state 353
+    tStrChoice           shift, and go to state 354
+    tUpperCase           shift, and go to state 355
+    tLowerCase           shift, and go to state 356
+    tLowerCaseIn         shift, and go to state 357
+    tToday               shift, and go to state 358
+    tFixRelativePath     shift, and go to state 359
+    tCurrentDirectory    shift, and go to state 360
+    tOnelabAction        shift, and go to state 361
+    tCodeName            shift, and go to state 362
+    tNameStruct          shift, and go to state 363
+    tDefineString        shift, and go to state 364
+    tPhysical            shift, and go to state 393
+    tGetStringValue      shift, and go to state 365
+    tGetEnv              shift, and go to state 366
+    tGetString           shift, and go to state 367
+    tGetForcedStr        shift, and go to state 368
+    tGmshExecutableName  shift, and go to state 369
+    tNameToString        shift, and go to state 370
+    tStringToName        shift, and go to state 107
+
+    StringExprVar  go to state 2146
+    StringExpr     go to state 419
+    StringIndex    go to state 131
+    String__Index  go to state 420
+
+
+state 2137
+
+   57 Text3D: tText3D '(' FExpr ',' FExpr ',' FExpr ',' FExpr ')' @4 '{' . Text3DValues '}' tEND
+
+    tSTRING              shift, and go to state 150
+    tBIGSTR              shift, and go to state 344
+    tStr                 shift, and go to state 345
+    tSprintf             shift, and go to state 346
+    tStrCat              shift, and go to state 347
+    tStrPrefix           shift, and go to state 348
+    tStrRelative         shift, and go to state 349
+    tStrReplace          shift, and go to state 350
+    tAbsolutePath        shift, and go to state 351
+    tDirName             shift, and go to state 352
+    tStrSub              shift, and go to state 353
+    tStrChoice           shift, and go to state 354
+    tUpperCase           shift, and go to state 355
+    tLowerCase           shift, and go to state 356
+    tLowerCaseIn         shift, and go to state 357
+    tToday               shift, and go to state 358
+    tFixRelativePath     shift, and go to state 359
+    tCurrentDirectory    shift, and go to state 360
+    tOnelabAction        shift, and go to state 361
+    tCodeName            shift, and go to state 362
+    tNameStruct          shift, and go to state 363
+    tDefineString        shift, and go to state 364
+    tPhysical            shift, and go to state 393
+    tGetStringValue      shift, and go to state 365
+    tGetEnv              shift, and go to state 366
+    tGetString           shift, and go to state 367
+    tGetForcedStr        shift, and go to state 368
+    tGmshExecutableName  shift, and go to state 369
+    tNameToString        shift, and go to state 370
+    tStringToName        shift, and go to state 107
+
+    Text3DValues   go to state 2147
+    StringExprVar  go to state 2148
+    StringExpr     go to state 419
+    StringIndex    go to state 131
+    String__Index  go to state 420
+
+
+state 2138
+
+   59 InterpolationMatrix: tInterpolationScheme '{' RecursiveListOfListOfDouble '}' '{' RecursiveListOfListOfDouble '}' '{' RecursiveListOfListOfDouble '}' '{' RecursiveListOfListOfDouble . '}' tEND
+  480 RecursiveListOfListOfDouble: RecursiveListOfListOfDouble . ',' ListOfDouble
+
+    '}'  shift, and go to state 2149
+    ','  shift, and go to state 1836
+
+
+state 2139
+
+  502 FExpr_Multi: tPoint tIn tBoundingBox '{' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr '}' .
+
+    $default  reduce using rule 502 (FExpr_Multi)
+
+
+state 2140
+
+  503 FExpr_Multi: tLine tIn tBoundingBox '{' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr '}' .
+
+    $default  reduce using rule 503 (FExpr_Multi)
+
+
+state 2141
+
+  504 FExpr_Multi: tSurface tIn tBoundingBox '{' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr '}' .
+
+    $default  reduce using rule 504 (FExpr_Multi)
+
+
+state 2142
+
+  505 FExpr_Multi: tVolume tIn tBoundingBox '{' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr '}' .
+
+    $default  reduce using rule 505 (FExpr_Multi)
+
+
+state 2143
+
+  337 Constraints: tPeriodic tLine '{' RecursiveListOfDouble '}' tAFFECT '{' RecursiveListOfDouble '}' tRotate '{' VExpr ',' VExpr ',' FExpr '}' . tEND
+
+    tEND  shift, and go to state 2150
+
+
+state 2144
+
+  338 Constraints: tPeriodic tSurface '{' RecursiveListOfDouble '}' tAFFECT '{' RecursiveListOfDouble '}' tRotate '{' VExpr ',' VExpr ',' FExpr '}' . tEND
+
+    tEND  shift, and go to state 2151
+
+
+state 2145
+
+   53 Text2D: tText2D '(' FExpr ',' FExpr ',' FExpr ')' @3 '{' Text2DValues '}' tEND .
+
+    $default  reduce using rule 53 (Text2D)
+
+
+state 2146
+
+   51 Text2DValues: Text2DValues ',' StringExprVar .
+
+    $default  reduce using rule 51 (Text2DValues)
+
+
+state 2147
+
+   55 Text3DValues: Text3DValues . ',' StringExprVar
+   57 Text3D: tText3D '(' FExpr ',' FExpr ',' FExpr ',' FExpr ')' @4 '{' Text3DValues . '}' tEND
+
+    '}'  shift, and go to state 2152
+    ','  shift, and go to state 2153
+
+
+state 2148
+
+   54 Text3DValues: StringExprVar .
+
+    $default  reduce using rule 54 (Text3DValues)
+
+
+state 2149
+
+   59 InterpolationMatrix: tInterpolationScheme '{' RecursiveListOfListOfDouble '}' '{' RecursiveListOfListOfDouble '}' '{' RecursiveListOfListOfDouble '}' '{' RecursiveListOfListOfDouble '}' . tEND
+
+    tEND  shift, and go to state 2154
+
+
+state 2150
+
+  337 Constraints: tPeriodic tLine '{' RecursiveListOfDouble '}' tAFFECT '{' RecursiveListOfDouble '}' tRotate '{' VExpr ',' VExpr ',' FExpr '}' tEND .
+
+    $default  reduce using rule 337 (Constraints)
+
+
+state 2151
+
+  338 Constraints: tPeriodic tSurface '{' RecursiveListOfDouble '}' tAFFECT '{' RecursiveListOfDouble '}' tRotate '{' VExpr ',' VExpr ',' FExpr '}' tEND .
+
+    $default  reduce using rule 338 (Constraints)
+
+
+state 2152
+
+   57 Text3D: tText3D '(' FExpr ',' FExpr ',' FExpr ',' FExpr ')' @4 '{' Text3DValues '}' . tEND
+
+    tEND  shift, and go to state 2155
+
+
+state 2153
+
+   55 Text3DValues: Text3DValues ',' . StringExprVar
+
+    tSTRING              shift, and go to state 150
+    tBIGSTR              shift, and go to state 344
+    tStr                 shift, and go to state 345
+    tSprintf             shift, and go to state 346
+    tStrCat              shift, and go to state 347
+    tStrPrefix           shift, and go to state 348
+    tStrRelative         shift, and go to state 349
+    tStrReplace          shift, and go to state 350
+    tAbsolutePath        shift, and go to state 351
+    tDirName             shift, and go to state 352
+    tStrSub              shift, and go to state 353
+    tStrChoice           shift, and go to state 354
+    tUpperCase           shift, and go to state 355
+    tLowerCase           shift, and go to state 356
+    tLowerCaseIn         shift, and go to state 357
+    tToday               shift, and go to state 358
+    tFixRelativePath     shift, and go to state 359
+    tCurrentDirectory    shift, and go to state 360
+    tOnelabAction        shift, and go to state 361
+    tCodeName            shift, and go to state 362
+    tNameStruct          shift, and go to state 363
+    tDefineString        shift, and go to state 364
+    tPhysical            shift, and go to state 393
+    tGetStringValue      shift, and go to state 365
+    tGetEnv              shift, and go to state 366
+    tGetString           shift, and go to state 367
+    tGetForcedStr        shift, and go to state 368
+    tGmshExecutableName  shift, and go to state 369
+    tNameToString        shift, and go to state 370
+    tStringToName        shift, and go to state 107
+
+    StringExprVar  go to state 2156
+    StringExpr     go to state 419
+    StringIndex    go to state 131
+    String__Index  go to state 420
+
+
+state 2154
+
+   59 InterpolationMatrix: tInterpolationScheme '{' RecursiveListOfListOfDouble '}' '{' RecursiveListOfListOfDouble '}' '{' RecursiveListOfListOfDouble '}' '{' RecursiveListOfListOfDouble '}' tEND .
+
+    $default  reduce using rule 59 (InterpolationMatrix)
+
+
+state 2155
+
+   57 Text3D: tText3D '(' FExpr ',' FExpr ',' FExpr ',' FExpr ')' @4 '{' Text3DValues '}' tEND .
+
+    $default  reduce using rule 57 (Text3D)
+
+
+state 2156
+
+   55 Text3DValues: Text3DValues ',' StringExprVar .
+
+    $default  reduce using rule 55 (Text3DValues)
diff --git a/Parser/Gmsh.tab.c b/Parser/Gmsh.tab.c
new file mode 100644
index 0000000000000000000000000000000000000000..7dd7c50135158ba15c6869728abe505dc2cc5b9c
--- /dev/null
+++ b/Parser/Gmsh.tab.c
@@ -0,0 +1,14619 @@
+/* A Bison parser, made by GNU Bison 2.3.  */
+
+/* Skeleton implementation for Bison's Yacc-like parsers in C
+
+   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+   Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2, or (at your option)
+   any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 51 Franklin Street, Fifth Floor,
+   Boston, MA 02110-1301, USA.  */
+
+/* As a special exception, you may create a larger work that contains
+   part or all of the Bison parser skeleton and distribute that work
+   under terms of your choice, so long as that work isn't itself a
+   parser generator using the skeleton or a modified version thereof
+   as a parser skeleton.  Alternatively, if you modify or redistribute
+   the parser skeleton itself, you may (at your option) remove this
+   special exception, which will cause the skeleton and the resulting
+   Bison output files to be licensed under the GNU General Public
+   License without this special exception.
+
+   This special exception was added by the Free Software Foundation in
+   version 2.2 of Bison.  */
+
+/* C LALR(1) parser skeleton written by Richard Stallman, by
+   simplifying the original so-called "semantic" parser.  */
+
+/* All symbols defined below should begin with yy or YY, to avoid
+   infringing on user name space.  This should be done even for local
+   variables, as they might otherwise be expanded by user macros.
+   There are some unavoidable exceptions within include files to
+   define necessary library symbols; they are noted "INFRINGES ON
+   USER NAME SPACE" below.  */
+
+/* Identify Bison output.  */
+#define YYBISON 1
+
+/* Bison version.  */
+#define YYBISON_VERSION "2.3"
+
+/* Skeleton name.  */
+#define YYSKELETON_NAME "yacc.c"
+
+/* Pure parsers.  */
+#define YYPURE 0
+
+/* Using locations.  */
+#define YYLSP_NEEDED 0
+
+
+
+/* Tokens.  */
+#ifndef YYTOKENTYPE
+# define YYTOKENTYPE
+   /* Put the tokens into the symbol table, so that GDB and other debuggers
+      know about them.  */
+   enum yytokentype {
+     tDOUBLE = 258,
+     tSTRING = 259,
+     tBIGSTR = 260,
+     tEND = 261,
+     tAFFECT = 262,
+     tDOTS = 263,
+     tSCOPE = 264,
+     tPi = 265,
+     tMPI_Rank = 266,
+     tMPI_Size = 267,
+     tEuclidian = 268,
+     tCoordinates = 269,
+     tTestLevel = 270,
+     tExp = 271,
+     tLog = 272,
+     tLog10 = 273,
+     tSqrt = 274,
+     tSin = 275,
+     tAsin = 276,
+     tCos = 277,
+     tAcos = 278,
+     tTan = 279,
+     tRand = 280,
+     tAtan = 281,
+     tAtan2 = 282,
+     tSinh = 283,
+     tCosh = 284,
+     tTanh = 285,
+     tFabs = 286,
+     tAbs = 287,
+     tFloor = 288,
+     tCeil = 289,
+     tRound = 290,
+     tFmod = 291,
+     tModulo = 292,
+     tHypot = 293,
+     tList = 294,
+     tLinSpace = 295,
+     tLogSpace = 296,
+     tListFromFile = 297,
+     tCatenary = 298,
+     tPrintf = 299,
+     tError = 300,
+     tStr = 301,
+     tSprintf = 302,
+     tStrCat = 303,
+     tStrPrefix = 304,
+     tStrRelative = 305,
+     tStrReplace = 306,
+     tAbsolutePath = 307,
+     tDirName = 308,
+     tStrSub = 309,
+     tStrLen = 310,
+     tFind = 311,
+     tStrFind = 312,
+     tStrCmp = 313,
+     tStrChoice = 314,
+     tUpperCase = 315,
+     tLowerCase = 316,
+     tLowerCaseIn = 317,
+     tTextAttributes = 318,
+     tBoundingBox = 319,
+     tDraw = 320,
+     tSetChanged = 321,
+     tToday = 322,
+     tFixRelativePath = 323,
+     tCurrentDirectory = 324,
+     tSyncModel = 325,
+     tNewModel = 326,
+     tOnelabAction = 327,
+     tOnelabRun = 328,
+     tCodeName = 329,
+     tCpu = 330,
+     tMemory = 331,
+     tTotalMemory = 332,
+     tCreateTopology = 333,
+     tCreateTopologyNoHoles = 334,
+     tDistanceFunction = 335,
+     tDefineConstant = 336,
+     tUndefineConstant = 337,
+     tDefineNumber = 338,
+     tDefineStruct = 339,
+     tNameStruct = 340,
+     tDimNameSpace = 341,
+     tAppend = 342,
+     tDefineString = 343,
+     tSetNumber = 344,
+     tSetString = 345,
+     tPoint = 346,
+     tCircle = 347,
+     tEllipse = 348,
+     tLine = 349,
+     tSphere = 350,
+     tPolarSphere = 351,
+     tSurface = 352,
+     tSpline = 353,
+     tVolume = 354,
+     tBlock = 355,
+     tCylinder = 356,
+     tCone = 357,
+     tTorus = 358,
+     tEllipsoid = 359,
+     tQuadric = 360,
+     tShapeFromFile = 361,
+     tRectangle = 362,
+     tDisk = 363,
+     tWire = 364,
+     tCharacteristic = 365,
+     tLength = 366,
+     tParametric = 367,
+     tElliptic = 368,
+     tRefineMesh = 369,
+     tAdaptMesh = 370,
+     tRelocateMesh = 371,
+     tSetFactory = 372,
+     tThruSections = 373,
+     tWedge = 374,
+     tFillet = 375,
+     tChamfer = 376,
+     tPlane = 377,
+     tRuled = 378,
+     tTransfinite = 379,
+     tPhysical = 380,
+     tCompound = 381,
+     tPeriodic = 382,
+     tUsing = 383,
+     tPlugin = 384,
+     tDegenerated = 385,
+     tRecursive = 386,
+     tRotate = 387,
+     tTranslate = 388,
+     tSymmetry = 389,
+     tDilate = 390,
+     tExtrude = 391,
+     tLevelset = 392,
+     tAffine = 393,
+     tBooleanUnion = 394,
+     tBooleanIntersection = 395,
+     tBooleanDifference = 396,
+     tBooleanSection = 397,
+     tBooleanFragments = 398,
+     tThickSolid = 399,
+     tRecombine = 400,
+     tSmoother = 401,
+     tSplit = 402,
+     tDelete = 403,
+     tCoherence = 404,
+     tIntersect = 405,
+     tMeshAlgorithm = 406,
+     tReverse = 407,
+     tLayers = 408,
+     tScaleLast = 409,
+     tHole = 410,
+     tAlias = 411,
+     tAliasWithOptions = 412,
+     tCopyOptions = 413,
+     tQuadTriAddVerts = 414,
+     tQuadTriNoNewVerts = 415,
+     tRecombLaterals = 416,
+     tTransfQuadTri = 417,
+     tText2D = 418,
+     tText3D = 419,
+     tInterpolationScheme = 420,
+     tTime = 421,
+     tCombine = 422,
+     tBSpline = 423,
+     tBezier = 424,
+     tNurbs = 425,
+     tNurbsOrder = 426,
+     tNurbsKnots = 427,
+     tColor = 428,
+     tColorTable = 429,
+     tFor = 430,
+     tIn = 431,
+     tEndFor = 432,
+     tIf = 433,
+     tElseIf = 434,
+     tElse = 435,
+     tEndIf = 436,
+     tExit = 437,
+     tAbort = 438,
+     tField = 439,
+     tReturn = 440,
+     tCall = 441,
+     tSlide = 442,
+     tMacro = 443,
+     tShow = 444,
+     tHide = 445,
+     tGetValue = 446,
+     tGetStringValue = 447,
+     tGetEnv = 448,
+     tGetString = 449,
+     tGetNumber = 450,
+     tUnique = 451,
+     tHomology = 452,
+     tCohomology = 453,
+     tBetti = 454,
+     tExists = 455,
+     tFileExists = 456,
+     tGetForced = 457,
+     tGetForcedStr = 458,
+     tGMSH_MAJOR_VERSION = 459,
+     tGMSH_MINOR_VERSION = 460,
+     tGMSH_PATCH_VERSION = 461,
+     tGmshExecutableName = 462,
+     tSetPartition = 463,
+     tNameToString = 464,
+     tStringToName = 465,
+     tAFFECTDIVIDE = 466,
+     tAFFECTTIMES = 467,
+     tAFFECTMINUS = 468,
+     tAFFECTPLUS = 469,
+     tOR = 470,
+     tAND = 471,
+     tNOTEQUAL = 472,
+     tEQUAL = 473,
+     tGREATERGREATER = 474,
+     tLESSLESS = 475,
+     tGREATEROREQUAL = 476,
+     tLESSOREQUAL = 477,
+     UNARYPREC = 478,
+     tMINUSMINUS = 479,
+     tPLUSPLUS = 480
+   };
+#endif
+/* Tokens.  */
+#define tDOUBLE 258
+#define tSTRING 259
+#define tBIGSTR 260
+#define tEND 261
+#define tAFFECT 262
+#define tDOTS 263
+#define tSCOPE 264
+#define tPi 265
+#define tMPI_Rank 266
+#define tMPI_Size 267
+#define tEuclidian 268
+#define tCoordinates 269
+#define tTestLevel 270
+#define tExp 271
+#define tLog 272
+#define tLog10 273
+#define tSqrt 274
+#define tSin 275
+#define tAsin 276
+#define tCos 277
+#define tAcos 278
+#define tTan 279
+#define tRand 280
+#define tAtan 281
+#define tAtan2 282
+#define tSinh 283
+#define tCosh 284
+#define tTanh 285
+#define tFabs 286
+#define tAbs 287
+#define tFloor 288
+#define tCeil 289
+#define tRound 290
+#define tFmod 291
+#define tModulo 292
+#define tHypot 293
+#define tList 294
+#define tLinSpace 295
+#define tLogSpace 296
+#define tListFromFile 297
+#define tCatenary 298
+#define tPrintf 299
+#define tError 300
+#define tStr 301
+#define tSprintf 302
+#define tStrCat 303
+#define tStrPrefix 304
+#define tStrRelative 305
+#define tStrReplace 306
+#define tAbsolutePath 307
+#define tDirName 308
+#define tStrSub 309
+#define tStrLen 310
+#define tFind 311
+#define tStrFind 312
+#define tStrCmp 313
+#define tStrChoice 314
+#define tUpperCase 315
+#define tLowerCase 316
+#define tLowerCaseIn 317
+#define tTextAttributes 318
+#define tBoundingBox 319
+#define tDraw 320
+#define tSetChanged 321
+#define tToday 322
+#define tFixRelativePath 323
+#define tCurrentDirectory 324
+#define tSyncModel 325
+#define tNewModel 326
+#define tOnelabAction 327
+#define tOnelabRun 328
+#define tCodeName 329
+#define tCpu 330
+#define tMemory 331
+#define tTotalMemory 332
+#define tCreateTopology 333
+#define tCreateTopologyNoHoles 334
+#define tDistanceFunction 335
+#define tDefineConstant 336
+#define tUndefineConstant 337
+#define tDefineNumber 338
+#define tDefineStruct 339
+#define tNameStruct 340
+#define tDimNameSpace 341
+#define tAppend 342
+#define tDefineString 343
+#define tSetNumber 344
+#define tSetString 345
+#define tPoint 346
+#define tCircle 347
+#define tEllipse 348
+#define tLine 349
+#define tSphere 350
+#define tPolarSphere 351
+#define tSurface 352
+#define tSpline 353
+#define tVolume 354
+#define tBlock 355
+#define tCylinder 356
+#define tCone 357
+#define tTorus 358
+#define tEllipsoid 359
+#define tQuadric 360
+#define tShapeFromFile 361
+#define tRectangle 362
+#define tDisk 363
+#define tWire 364
+#define tCharacteristic 365
+#define tLength 366
+#define tParametric 367
+#define tElliptic 368
+#define tRefineMesh 369
+#define tAdaptMesh 370
+#define tRelocateMesh 371
+#define tSetFactory 372
+#define tThruSections 373
+#define tWedge 374
+#define tFillet 375
+#define tChamfer 376
+#define tPlane 377
+#define tRuled 378
+#define tTransfinite 379
+#define tPhysical 380
+#define tCompound 381
+#define tPeriodic 382
+#define tUsing 383
+#define tPlugin 384
+#define tDegenerated 385
+#define tRecursive 386
+#define tRotate 387
+#define tTranslate 388
+#define tSymmetry 389
+#define tDilate 390
+#define tExtrude 391
+#define tLevelset 392
+#define tAffine 393
+#define tBooleanUnion 394
+#define tBooleanIntersection 395
+#define tBooleanDifference 396
+#define tBooleanSection 397
+#define tBooleanFragments 398
+#define tThickSolid 399
+#define tRecombine 400
+#define tSmoother 401
+#define tSplit 402
+#define tDelete 403
+#define tCoherence 404
+#define tIntersect 405
+#define tMeshAlgorithm 406
+#define tReverse 407
+#define tLayers 408
+#define tScaleLast 409
+#define tHole 410
+#define tAlias 411
+#define tAliasWithOptions 412
+#define tCopyOptions 413
+#define tQuadTriAddVerts 414
+#define tQuadTriNoNewVerts 415
+#define tRecombLaterals 416
+#define tTransfQuadTri 417
+#define tText2D 418
+#define tText3D 419
+#define tInterpolationScheme 420
+#define tTime 421
+#define tCombine 422
+#define tBSpline 423
+#define tBezier 424
+#define tNurbs 425
+#define tNurbsOrder 426
+#define tNurbsKnots 427
+#define tColor 428
+#define tColorTable 429
+#define tFor 430
+#define tIn 431
+#define tEndFor 432
+#define tIf 433
+#define tElseIf 434
+#define tElse 435
+#define tEndIf 436
+#define tExit 437
+#define tAbort 438
+#define tField 439
+#define tReturn 440
+#define tCall 441
+#define tSlide 442
+#define tMacro 443
+#define tShow 444
+#define tHide 445
+#define tGetValue 446
+#define tGetStringValue 447
+#define tGetEnv 448
+#define tGetString 449
+#define tGetNumber 450
+#define tUnique 451
+#define tHomology 452
+#define tCohomology 453
+#define tBetti 454
+#define tExists 455
+#define tFileExists 456
+#define tGetForced 457
+#define tGetForcedStr 458
+#define tGMSH_MAJOR_VERSION 459
+#define tGMSH_MINOR_VERSION 460
+#define tGMSH_PATCH_VERSION 461
+#define tGmshExecutableName 462
+#define tSetPartition 463
+#define tNameToString 464
+#define tStringToName 465
+#define tAFFECTDIVIDE 466
+#define tAFFECTTIMES 467
+#define tAFFECTMINUS 468
+#define tAFFECTPLUS 469
+#define tOR 470
+#define tAND 471
+#define tNOTEQUAL 472
+#define tEQUAL 473
+#define tGREATERGREATER 474
+#define tLESSLESS 475
+#define tGREATEROREQUAL 476
+#define tLESSOREQUAL 477
+#define UNARYPREC 478
+#define tMINUSMINUS 479
+#define tPLUSPLUS 480
+
+
+
+
+/* Copy the first part of user declarations.  */
+#line 1 "Gmsh.y"
+
+// Gmsh - Copyright (C) 1997-2017 C. Geuzaine, J.-F. Remacle
+//
+// See the LICENSE.txt file for license information. Please report all
+// bugs and problems to the public mailing list <gmsh@onelab.info>.
+
+#include <sstream>
+#include <map>
+#include <string.h>
+#include <stdarg.h>
+#include <time.h>
+#include "GmshConfig.h"
+#include "GmshMessage.h"
+#include "fullMatrix.h"
+#include "MallocUtils.h"
+#include "ListUtils.h"
+#include "TreeUtils.h"
+#include "StringUtils.h"
+#include "Numeric.h"
+#include "Context.h"
+#include "GModel.h"
+#include "GModelIO_GEO.h"
+#include "GModelIO_OCC.h"
+#include "GeoDefines.h"
+#include "ExtrudeParams.h"
+#include "Options.h"
+#include "Parser.h"
+#include "OpenFile.h"
+#include "CommandLine.h"
+#include "FunctionManager.h"
+#include "ColorTable.h"
+#include "OS.h"
+#include "CreateFile.h"
+#include "gmshSurface.h"
+#include "gmshLevelset.h"
+#include "fullMatrix.h"
+
+#if defined(HAVE_MESH)
+#include "Generator.h"
+#include "Field.h"
+#include "BackgroundMesh.h"
+#include "HighOrder.h"
+#endif
+
+#if defined(HAVE_POST)
+#include "PView.h"
+#include "PViewDataList.h"
+#endif
+
+#if defined(HAVE_PLUGINS)
+#include "PluginManager.h"
+#endif
+
+#if defined(HAVE_OPENGL)
+#include "drawContext.h"
+#endif
+
+#if defined(HAVE_POPPLER)
+#include "gmshPopplerWrapper.h"
+#endif
+
+#define MAX_RECUR_TESTS 100
+#define MAX_RECUR_LOOPS 100
+
+// global parser variables
+std::string gmsh_yyname;
+int gmsh_yyerrorstate = 0;
+int gmsh_yyviewindex = 0;
+std::map<std::string, gmsh_yysymbol> gmsh_yysymbols;
+std::map<std::string, std::vector<std::string> > gmsh_yystringsymbols;
+NameSpaces nameSpaces;
+
+// static parser variables (accessible only in this file)
+#if defined(HAVE_POST)
+static PViewDataList *ViewData = 0;
+#endif
+static std::vector<double> ViewCoord;
+static std::vector<double> *ViewValueList = 0;
+static int *ViewNumList = 0;
+static ExtrudeParams extr;
+static gmshSurface *myGmshSurface = 0;
+static int statusImbricatedTests[MAX_RECUR_TESTS];
+static int ImbricatedLoop = 0, ImbricatedTest = 0;
+static gmshfpos_t yyposImbricatedLoopsTab[MAX_RECUR_LOOPS];
+static int yylinenoImbricatedLoopsTab[MAX_RECUR_LOOPS];
+static double LoopControlVariablesTab[MAX_RECUR_LOOPS][3];
+static std::string LoopControlVariablesNameTab[MAX_RECUR_LOOPS];
+static std::string factory;
+static std::string struct_name, struct_namespace;
+static int flag_tSTRING_alloc = 0;
+
+static std::map<std::string, std::vector<double> > floatOptions;
+static std::map<std::string, std::vector<std::string> > charOptions;
+static int flag_Enum, member_ValMax;
+
+void init_options(int member_ValMax_ = 0)
+{
+  floatOptions.clear(); charOptions.clear();
+  flag_Enum = 0; member_ValMax = member_ValMax_;
+}
+
+// parser functions defined at the end of this file
+void yyerror(const char *s);
+void yymsg(int level, const char *fmt, ...);
+char *strsave(char *ptr);
+void skip(const char *skip, const char *until);
+void skipTest(const char *skip, const char *until,
+              const char *until2, int l_until2_sub, int *type_until2);
+void assignVariable(const std::string &name, int index, int assignType,
+                    double value);
+void assignVariables(const std::string &name, List_T *indices, int assignType,
+                     List_T *values);
+void incrementVariable(const std::string &name, int index, double value);
+int printListOfDouble(char *format, List_T *list, char *buffer);
+fullMatrix<double> ListOfListOfDouble2Matrix(List_T *list);
+void ListOfDouble2Vector(List_T *list, std::vector<int> &v);
+void ListOfDouble2Vector(List_T *list, std::vector<double> &v);
+void ListOfShapes2VectorOfPairs(List_T *list, std::vector<std::pair<int, int> > &v);
+void VectorOfPairs2ListOfShapes(const std::vector<std::pair<int, int> > &v, List_T *list);
+void addPeriodicEdge(int, int, const std::vector<double>&);
+void addPeriodicFace(int, int, const std::map<int, int>&);
+void addPeriodicFace(int, int, const std::vector<double>&);
+void computeAffineTransformation(SPoint3&, SPoint3&, double, SPoint3&,
+                                 std::vector<double>&);
+void addEmbedded(int dim, std::vector<int> tags, int dim2, int tag2);
+void getAllElementaryTags(int dim, List_T *in);
+void getAllPhysicalTags(int dim, List_T *in);
+void getElementaryTagsForPhysicalGroups(int dim, List_T *in, List_T *out);
+void getElementaryTagsInBoundingBox(int dim, double x1, double y1, double z1,
+                                    double x2, double y2, double z2, List_T *out);
+void setVisibility(int dim, int visible, bool recursive);
+void setVisibility(const std::vector<std::pair<int, int> > &dimTags, int visible,
+                   bool recursive);
+void setColor(const std::vector<std::pair<int, int> > &dimTags, unsigned int val,
+              bool recursive);
+
+double treat_Struct_FullName_Float
+  (char* c1, char* c2, int type_var = 1, int index = 0,
+   double val_default = 0., int type_treat = 0);
+double treat_Struct_FullName_dot_tSTRING_Float
+  (char* c1, char* c2, char* c3, int index = 0,
+   double val_default = 0., int type_treat = 0);
+int treat_Struct_FullName_dot_tSTRING_Float_getDim
+  (char* c1, char* c2, char* c3);
+char* treat_Struct_FullName_String
+  (char* c1, char* c2, int type_var = 1, int index = 0,
+   char* val_default = NULL, int type_treat = 0);
+char* treat_Struct_FullName_dot_tSTRING_String
+  (char* c1, char* c2, char* c3, int index = 0,
+   char* val_default = NULL, int type_treat = 0);
+
+struct doubleXstring{
+  double d;
+  char *s;
+};
+
+
+
+/* Enabling traces.  */
+#ifndef YYDEBUG
+# define YYDEBUG 0
+#endif
+
+/* Enabling verbose error messages.  */
+#ifdef YYERROR_VERBOSE
+# undef YYERROR_VERBOSE
+# define YYERROR_VERBOSE 1
+#else
+# define YYERROR_VERBOSE 0
+#endif
+
+/* Enabling the token table.  */
+#ifndef YYTOKEN_TABLE
+# define YYTOKEN_TABLE 0
+#endif
+
+#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
+typedef union YYSTYPE
+#line 159 "Gmsh.y"
+{
+  char *c;
+  int i;
+  unsigned int u;
+  double d;
+  double v[5];
+  Shape s;
+  List_T *l;
+  struct TwoChar c2;
+}
+/* Line 193 of yacc.c.  */
+#line 715 "Gmsh.tab.c"
+	YYSTYPE;
+# define yystype YYSTYPE /* obsolescent; will be withdrawn */
+# define YYSTYPE_IS_DECLARED 1
+# define YYSTYPE_IS_TRIVIAL 1
+#endif
+
+
+
+/* Copy the second part of user declarations.  */
+
+
+/* Line 216 of yacc.c.  */
+#line 728 "Gmsh.tab.c"
+
+#ifdef short
+# undef short
+#endif
+
+#ifdef YYTYPE_UINT8
+typedef YYTYPE_UINT8 yytype_uint8;
+#else
+typedef unsigned char yytype_uint8;
+#endif
+
+#ifdef YYTYPE_INT8
+typedef YYTYPE_INT8 yytype_int8;
+#elif (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+typedef signed char yytype_int8;
+#else
+typedef short int yytype_int8;
+#endif
+
+#ifdef YYTYPE_UINT16
+typedef YYTYPE_UINT16 yytype_uint16;
+#else
+typedef unsigned short int yytype_uint16;
+#endif
+
+#ifdef YYTYPE_INT16
+typedef YYTYPE_INT16 yytype_int16;
+#else
+typedef short int yytype_int16;
+#endif
+
+#ifndef YYSIZE_T
+# ifdef __SIZE_TYPE__
+#  define YYSIZE_T __SIZE_TYPE__
+# elif defined size_t
+#  define YYSIZE_T size_t
+# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+#  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
+#  define YYSIZE_T size_t
+# else
+#  define YYSIZE_T unsigned int
+# endif
+#endif
+
+#define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
+
+#ifndef YY_
+# if defined YYENABLE_NLS && YYENABLE_NLS
+#  if ENABLE_NLS
+#   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
+#   define YY_(msgid) dgettext ("bison-runtime", msgid)
+#  endif
+# endif
+# ifndef YY_
+#  define YY_(msgid) msgid
+# endif
+#endif
+
+/* Suppress unused-variable warnings by "using" E.  */
+#if ! defined lint || defined __GNUC__
+# define YYUSE(e) ((void) (e))
+#else
+# define YYUSE(e) /* empty */
+#endif
+
+/* Identity function, used to suppress warnings about constant conditions.  */
+#ifndef lint
+# define YYID(n) (n)
+#else
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+static int
+YYID (int i)
+#else
+static int
+YYID (i)
+    int i;
+#endif
+{
+  return i;
+}
+#endif
+
+#if ! defined yyoverflow || YYERROR_VERBOSE
+
+/* The parser invokes alloca or malloc; define the necessary symbols.  */
+
+# ifdef YYSTACK_USE_ALLOCA
+#  if YYSTACK_USE_ALLOCA
+#   ifdef __GNUC__
+#    define YYSTACK_ALLOC __builtin_alloca
+#   elif defined __BUILTIN_VA_ARG_INCR
+#    include <alloca.h> /* INFRINGES ON USER NAME SPACE */
+#   elif defined _AIX
+#    define YYSTACK_ALLOC __alloca
+#   elif defined _MSC_VER
+#    include <malloc.h> /* INFRINGES ON USER NAME SPACE */
+#    define alloca _alloca
+#   else
+#    define YYSTACK_ALLOC alloca
+#    if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+#     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
+#     ifndef _STDLIB_H
+#      define _STDLIB_H 1
+#     endif
+#    endif
+#   endif
+#  endif
+# endif
+
+# ifdef YYSTACK_ALLOC
+   /* Pacify GCC's `empty if-body' warning.  */
+#  define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
+#  ifndef YYSTACK_ALLOC_MAXIMUM
+    /* The OS might guarantee only one guard page at the bottom of the stack,
+       and a page size can be as small as 4096 bytes.  So we cannot safely
+       invoke alloca (N) if N exceeds 4096.  Use a slightly smaller number
+       to allow for a few compiler-allocated temporary stack slots.  */
+#   define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
+#  endif
+# else
+#  define YYSTACK_ALLOC YYMALLOC
+#  define YYSTACK_FREE YYFREE
+#  ifndef YYSTACK_ALLOC_MAXIMUM
+#   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
+#  endif
+#  if (defined __cplusplus && ! defined _STDLIB_H \
+       && ! ((defined YYMALLOC || defined malloc) \
+	     && (defined YYFREE || defined free)))
+#   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
+#   ifndef _STDLIB_H
+#    define _STDLIB_H 1
+#   endif
+#  endif
+#  ifndef YYMALLOC
+#   define YYMALLOC malloc
+#   if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
+#   endif
+#  endif
+#  ifndef YYFREE
+#   define YYFREE free
+#   if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+void free (void *); /* INFRINGES ON USER NAME SPACE */
+#   endif
+#  endif
+# endif
+#endif /* ! defined yyoverflow || YYERROR_VERBOSE */
+
+
+#if (! defined yyoverflow \
+     && (! defined __cplusplus \
+	 || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
+
+/* A type that is properly aligned for any stack member.  */
+union yyalloc
+{
+  yytype_int16 yyss;
+  YYSTYPE yyvs;
+  };
+
+/* The size of the maximum gap between one aligned stack and the next.  */
+# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
+
+/* The size of an array large to enough to hold all stacks, each with
+   N elements.  */
+# define YYSTACK_BYTES(N) \
+     ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
+      + YYSTACK_GAP_MAXIMUM)
+
+/* Copy COUNT objects from FROM to TO.  The source and destination do
+   not overlap.  */
+# ifndef YYCOPY
+#  if defined __GNUC__ && 1 < __GNUC__
+#   define YYCOPY(To, From, Count) \
+      __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
+#  else
+#   define YYCOPY(To, From, Count)		\
+      do					\
+	{					\
+	  YYSIZE_T yyi;				\
+	  for (yyi = 0; yyi < (Count); yyi++)	\
+	    (To)[yyi] = (From)[yyi];		\
+	}					\
+      while (YYID (0))
+#  endif
+# endif
+
+/* Relocate STACK from its old location to the new one.  The
+   local variables YYSIZE and YYSTACKSIZE give the old and new number of
+   elements in the stack, and YYPTR gives the new location of the
+   stack.  Advance YYPTR to a properly aligned location for the next
+   stack.  */
+# define YYSTACK_RELOCATE(Stack)					\
+    do									\
+      {									\
+	YYSIZE_T yynewbytes;						\
+	YYCOPY (&yyptr->Stack, Stack, yysize);				\
+	Stack = &yyptr->Stack;						\
+	yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
+	yyptr += yynewbytes / sizeof (*yyptr);				\
+      }									\
+    while (YYID (0))
+
+#endif
+
+/* YYFINAL -- State number of the termination state.  */
+#define YYFINAL  5
+/* YYLAST -- Last index in YYTABLE.  */
+#define YYLAST   15296
+
+/* YYNTOKENS -- Number of terminals.  */
+#define YYNTOKENS  248
+/* YYNNTS -- Number of nonterminals.  */
+#define YYNNTS  107
+/* YYNRULES -- Number of rules.  */
+#define YYNRULES  588
+/* YYNRULES -- Number of states.  */
+#define YYNSTATES  2157
+
+/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
+#define YYUNDEFTOK  2
+#define YYMAXUTOK   480
+
+#define YYTRANSLATE(YYX)						\
+  ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
+
+/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
+static const yytype_uint8 yytranslate[] =
+{
+       0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,   233,     2,   245,     2,   230,   232,     2,
+     238,   239,   228,   226,   247,   227,   244,   229,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+     220,     2,   221,   215,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,   240,     2,   241,   237,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,   242,   231,   243,   246,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
+       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
+      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
+      25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
+      35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
+      45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
+      55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
+      65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
+      75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
+      85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
+      95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
+     105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
+     115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
+     125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
+     135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
+     145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
+     155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
+     165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
+     175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
+     185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
+     195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
+     205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
+     216,   217,   218,   219,   222,   223,   224,   225,   234,   235,
+     236
+};
+
+#if YYDEBUG
+/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
+   YYRHS.  */
+static const yytype_uint16 yyprhs[] =
+{
+       0,     0,     3,     5,     8,     9,    12,    14,    16,    18,
+      24,    26,    28,    30,    32,    34,    36,    38,    40,    42,
+      44,    46,    48,    50,    52,    54,    56,    58,    60,    66,
+      72,    80,    88,    96,   106,   113,   120,   127,   136,   137,
+     140,   143,   146,   149,   152,   154,   158,   160,   164,   165,
+     166,   177,   179,   183,   184,   198,   200,   204,   205,   221,
+     230,   245,   246,   253,   255,   257,   259,   261,   263,   265,
+     267,   269,   271,   273,   275,   281,   287,   290,   298,   306,
+     311,   315,   322,   332,   340,   347,   355,   362,   367,   376,
+     386,   396,   403,   413,   420,   430,   436,   445,   454,   466,
+     473,   483,   489,   497,   507,   517,   529,   537,   547,   557,
+     558,   560,   561,   565,   571,   572,   582,   583,   595,   601,
+     602,   612,   613,   617,   621,   627,   633,   634,   637,   638,
+     640,   642,   646,   649,   651,   656,   659,   660,   663,   665,
+     669,   672,   675,   678,   683,   685,   687,   691,   693,   695,
+     699,   701,   703,   707,   709,   711,   715,   716,   722,   723,
+     726,   734,   742,   750,   759,   768,   776,   784,   796,   805,
+     813,   822,   831,   840,   850,   854,   859,   870,   878,   886,
+     894,   902,   910,   918,   926,   934,   942,   950,   959,   972,
+     981,   989,   997,  1006,  1015,  1024,  1033,  1042,  1051,  1057,
+    1069,  1075,  1085,  1095,  1100,  1110,  1120,  1122,  1124,  1125,
+    1128,  1135,  1142,  1149,  1156,  1165,  1176,  1191,  1208,  1221,
+    1236,  1251,  1266,  1281,  1290,  1299,  1306,  1311,  1317,  1324,
+    1331,  1335,  1340,  1344,  1350,  1357,  1363,  1367,  1371,  1376,
+    1382,  1387,  1393,  1397,  1403,  1411,  1419,  1423,  1431,  1435,
+    1438,  1441,  1444,  1447,  1450,  1466,  1469,  1472,  1475,  1478,
+    1481,  1498,  1510,  1517,  1526,  1535,  1546,  1548,  1551,  1554,
+    1556,  1560,  1564,  1569,  1574,  1576,  1578,  1584,  1596,  1610,
+    1611,  1619,  1620,  1634,  1635,  1651,  1652,  1659,  1669,  1672,
+    1676,  1687,  1689,  1692,  1698,  1706,  1709,  1712,  1716,  1719,
+    1723,  1726,  1730,  1740,  1747,  1749,  1751,  1753,  1755,  1757,
+    1758,  1761,  1765,  1769,  1774,  1784,  1789,  1804,  1805,  1809,
+    1810,  1812,  1813,  1816,  1817,  1820,  1821,  1824,  1831,  1839,
+    1846,  1852,  1856,  1865,  1871,  1876,  1883,  1895,  1907,  1926,
+    1945,  1958,  1971,  1984,  1995,  2006,  2017,  2028,  2039,  2044,
+    2049,  2054,  2059,  2064,  2069,  2074,  2079,  2084,  2087,  2091,
+    2098,  2100,  2102,  2104,  2107,  2113,  2121,  2132,  2134,  2138,
+    2141,  2144,  2147,  2151,  2155,  2159,  2163,  2167,  2171,  2175,
+    2179,  2183,  2187,  2191,  2195,  2199,  2203,  2207,  2211,  2215,
+    2219,  2225,  2230,  2235,  2240,  2245,  2250,  2255,  2260,  2265,
+    2270,  2275,  2282,  2287,  2292,  2297,  2302,  2307,  2312,  2317,
+    2322,  2329,  2336,  2343,  2348,  2350,  2352,  2354,  2356,  2358,
+    2360,  2362,  2364,  2366,  2368,  2370,  2371,  2378,  2380,  2385,
+    2392,  2394,  2399,  2404,  2409,  2416,  2422,  2430,  2435,  2440,
+    2447,  2452,  2456,  2459,  2465,  2471,  2475,  2481,  2488,  2497,
+    2504,  2509,  2517,  2524,  2531,  2538,  2543,  2550,  2555,  2556,
+    2559,  2560,  2563,  2564,  2572,  2574,  2578,  2580,  2582,  2585,
+    2586,  2590,  2592,  2595,  2598,  2602,  2606,  2618,  2628,  2636,
+    2644,  2646,  2650,  2652,  2654,  2657,  2661,  2666,  2672,  2674,
+    2676,  2679,  2683,  2687,  2693,  2698,  2701,  2704,  2707,  2710,
+    2714,  2718,  2722,  2726,  2743,  2760,  2777,  2794,  2796,  2798,
+    2800,  2804,  2809,  2814,  2819,  2826,  2833,  2842,  2851,  2856,
+    2871,  2876,  2881,  2883,  2885,  2889,  2893,  2903,  2911,  2913,
+    2919,  2923,  2930,  2932,  2936,  2938,  2940,  2945,  2950,  2954,
+    2960,  2967,  2976,  2983,  2989,  2995,  3001,  3007,  3009,  3014,
+    3016,  3018,  3020,  3022,  3027,  3034,  3039,  3046,  3052,  3060,
+    3065,  3070,  3075,  3084,  3089,  3094,  3099,  3104,  3113,  3122,
+    3129,  3134,  3141,  3146,  3148,  3153,  3158,  3159,  3166,  3171,
+    3174,  3179,  3181,  3185,  3191,  3197,  3206,  3208,  3210
+};
+
+/* YYRHS -- A `-1'-separated list of the rules' RHS.  */
+static const yytype_int16 yyrhs[] =
+{
+     249,     0,    -1,   250,    -1,     1,     6,    -1,    -1,   250,
+     251,    -1,   253,    -1,   254,    -1,   274,    -1,   117,   238,
+     348,   239,     6,    -1,   295,    -1,   296,    -1,   300,    -1,
+     301,    -1,   302,    -1,   303,    -1,   307,    -1,   316,    -1,
+     317,    -1,   323,    -1,   324,    -1,   306,    -1,   305,    -1,
+     304,    -1,   299,    -1,   326,    -1,   221,    -1,   222,    -1,
+      44,   238,   348,   239,     6,    -1,    45,   238,   348,   239,
+       6,    -1,    44,   238,   348,   239,   252,   348,     6,    -1,
+      44,   238,   348,   247,   344,   239,     6,    -1,    45,   238,
+     348,   247,   344,   239,     6,    -1,    44,   238,   348,   247,
+     344,   239,   252,   348,     6,    -1,   354,   348,   242,   255,
+     243,     6,    -1,   156,     4,   240,   327,   241,     6,    -1,
+     157,     4,   240,   327,   241,     6,    -1,   158,     4,   240,
+     327,   247,   327,   241,     6,    -1,    -1,   255,   258,    -1,
+     255,   262,    -1,   255,   265,    -1,   255,   267,    -1,   255,
+     268,    -1,   327,    -1,   256,   247,   327,    -1,   327,    -1,
+     257,   247,   327,    -1,    -1,    -1,     4,   259,   238,   256,
+     239,   260,   242,   257,   243,     6,    -1,   348,    -1,   261,
+     247,   348,    -1,    -1,   163,   238,   327,   247,   327,   247,
+     327,   239,   263,   242,   261,   243,     6,    -1,   348,    -1,
+     264,   247,   348,    -1,    -1,   164,   238,   327,   247,   327,
+     247,   327,   247,   327,   239,   266,   242,   264,   243,     6,
+      -1,   165,   242,   340,   243,   242,   340,   243,     6,    -1,
+     165,   242,   340,   243,   242,   340,   243,   242,   340,   243,
+     242,   340,   243,     6,    -1,    -1,   166,   269,   242,   257,
+     243,     6,    -1,     7,    -1,   214,    -1,   213,    -1,   212,
+      -1,   211,    -1,   236,    -1,   235,    -1,   238,    -1,   240,
+      -1,   239,    -1,   241,    -1,    81,   240,   276,   241,     6,
+      -1,    82,   240,   280,   241,     6,    -1,   332,     6,    -1,
+      89,   272,   349,   247,   327,   273,     6,    -1,    90,   272,
+     354,   247,   349,   273,     6,    -1,   354,   270,   341,     6,
+      -1,   354,   271,     6,    -1,   354,   272,   273,   270,   341,
+       6,    -1,   354,   272,   242,   344,   243,   273,   270,   341,
+       6,    -1,   354,   240,   327,   241,   270,   327,     6,    -1,
+     354,   240,   327,   241,   271,     6,    -1,   354,   238,   327,
+     239,   270,   327,     6,    -1,   354,   238,   327,   239,   271,
+       6,    -1,   354,     7,   349,     6,    -1,   354,   272,   273,
+       7,    46,   272,   273,     6,    -1,   354,   272,   273,     7,
+      46,   272,   352,   273,     6,    -1,   354,   272,   273,   214,
+      46,   272,   352,   273,     6,    -1,   354,   244,     4,     7,
+     349,     6,    -1,   354,   240,   327,   241,   244,     4,     7,
+     349,     6,    -1,   354,   244,     4,   270,   327,     6,    -1,
+     354,   240,   327,   241,   244,     4,   270,   327,     6,    -1,
+     354,   244,     4,   271,     6,    -1,   354,   240,   327,   241,
+     244,     4,   271,     6,    -1,   354,   244,   173,   244,     4,
+       7,   345,     6,    -1,   354,   240,   327,   241,   244,   173,
+     244,     4,     7,   345,     6,    -1,   354,   244,   174,     7,
+     346,     6,    -1,   354,   240,   327,   241,   244,   174,     7,
+     346,     6,    -1,   354,   184,     7,   327,     6,    -1,   184,
+     240,   327,   241,     7,     4,     6,    -1,   184,   240,   327,
+     241,   244,     4,     7,   327,     6,    -1,   184,   240,   327,
+     241,   244,     4,     7,   349,     6,    -1,   184,   240,   327,
+     241,   244,     4,     7,   242,   344,   243,     6,    -1,   184,
+     240,   327,   241,   244,     4,     6,    -1,   129,   238,     4,
+     239,   244,     4,     7,   327,     6,    -1,   129,   238,     4,
+     239,   244,     4,     7,   349,     6,    -1,    -1,   247,    -1,
+      -1,   276,   275,   354,    -1,   276,   275,   354,     7,   327,
+      -1,    -1,   276,   275,   354,     7,   242,   341,   277,   282,
+     243,    -1,    -1,   276,   275,   354,   272,   273,     7,   242,
+     341,   278,   282,   243,    -1,   276,   275,   354,     7,   349,
+      -1,    -1,   276,   275,   354,     7,   242,   349,   279,   286,
+     243,    -1,    -1,   280,   275,   348,    -1,   327,     7,   349,
+      -1,   281,   247,   327,     7,   349,    -1,   343,     7,   354,
+     238,   239,    -1,    -1,   247,   284,    -1,    -1,   284,    -1,
+     285,    -1,   284,   247,   285,    -1,     4,   341,    -1,     4,
+      -1,     4,   242,   281,   243,    -1,     4,   349,    -1,    -1,
+     247,   287,    -1,   288,    -1,   287,   247,   288,    -1,     4,
+     327,    -1,     4,   349,    -1,   188,   349,    -1,     4,   242,
+     352,   243,    -1,   327,    -1,   349,    -1,   349,   247,   327,
+      -1,   327,    -1,   349,    -1,   349,   247,   327,    -1,   327,
+      -1,   349,    -1,   349,   247,   327,    -1,   327,    -1,   349,
+      -1,   349,   247,   327,    -1,    -1,   176,    95,   242,   327,
+     243,    -1,    -1,   122,   338,    -1,    91,   238,   327,   239,
+       7,   338,     6,    -1,    94,   238,   327,   239,     7,   341,
+       6,    -1,    98,   238,   327,   239,     7,   341,     6,    -1,
+      92,   238,   327,   239,     7,   341,   294,     6,    -1,    93,
+     238,   327,   239,     7,   341,   294,     6,    -1,   168,   238,
+     327,   239,     7,   341,     6,    -1,   169,   238,   327,   239,
+       7,   341,     6,    -1,   170,   238,   327,   239,     7,   341,
+     172,   341,   171,   327,     6,    -1,   126,    94,   238,   327,
+     239,     7,   341,     6,    -1,   109,   238,   327,   239,     7,
+     341,     6,    -1,    94,     4,   238,   327,   239,     7,   341,
+       6,    -1,   122,    97,   238,   327,   239,     7,   341,     6,
+      -1,    97,   238,   327,   239,     7,   341,   293,     6,    -1,
+     123,    97,   238,   327,   239,     7,   341,   293,     6,    -1,
+      13,    14,     6,    -1,    14,    97,   327,     6,    -1,   112,
+      97,   238,   327,   239,     7,     5,     5,     5,     6,    -1,
+      95,   238,   327,   239,     7,   341,     6,    -1,    96,   238,
+     327,   239,     7,   341,     6,    -1,   100,   238,   327,   239,
+       7,   341,     6,    -1,   103,   238,   327,   239,     7,   341,
+       6,    -1,   107,   238,   327,   239,     7,   341,     6,    -1,
+     108,   238,   327,   239,     7,   341,     6,    -1,   101,   238,
+     327,   239,     7,   341,     6,    -1,   102,   238,   327,   239,
+       7,   341,     6,    -1,   119,   238,   327,   239,     7,   341,
+       6,    -1,   144,   238,   327,   239,     7,   341,     6,    -1,
+     126,    97,   238,   327,   239,     7,   341,     6,    -1,   126,
+      97,   238,   327,   239,     7,   341,     4,   242,   340,   243,
+       6,    -1,    97,     4,   238,   327,   239,     7,   341,     6,
+      -1,    99,   238,   327,   239,     7,   341,     6,    -1,   118,
+     238,   327,   239,     7,   341,     6,    -1,   123,   118,   238,
+     327,   239,     7,   341,     6,    -1,   126,    99,   238,   327,
+     239,     7,   341,     6,    -1,   125,    91,   238,   289,   239,
+     270,   341,     6,    -1,   125,    94,   238,   290,   239,   270,
+     341,     6,    -1,   125,    97,   238,   291,   239,   270,   341,
+       6,    -1,   125,    99,   238,   292,   239,   270,   341,     6,
+      -1,   133,   338,   242,   297,   243,    -1,   132,   242,   338,
+     247,   338,   247,   327,   243,   242,   297,   243,    -1,   134,
+     338,   242,   297,   243,    -1,   135,   242,   338,   247,   327,
+     243,   242,   297,   243,    -1,   135,   242,   338,   247,   338,
+     243,   242,   297,   243,    -1,     4,   242,   297,   243,    -1,
+     150,    94,   242,   344,   243,    97,   242,   327,   243,    -1,
+     147,    94,   238,   327,   239,   242,   344,   243,     6,    -1,
+     298,    -1,   296,    -1,    -1,   298,   295,    -1,   298,    91,
+     242,   344,   243,     6,    -1,   298,    94,   242,   344,   243,
+       6,    -1,   298,    97,   242,   344,   243,     6,    -1,   298,
+      99,   242,   344,   243,     6,    -1,   137,   122,   238,   327,
+     239,     7,   341,     6,    -1,   137,    91,   238,   327,   239,
+       7,   242,   340,   243,     6,    -1,   137,   122,   238,   327,
+     239,     7,   242,   338,   247,   338,   247,   344,   243,     6,
+      -1,   137,   122,   238,   327,   239,     7,   242,   338,   247,
+     338,   247,   338,   247,   344,   243,     6,    -1,   137,    95,
+     238,   327,   239,     7,   242,   338,   247,   344,   243,     6,
+      -1,   137,   101,   238,   327,   239,     7,   242,   338,   247,
+     338,   247,   344,   243,     6,    -1,   137,   102,   238,   327,
+     239,     7,   242,   338,   247,   338,   247,   344,   243,     6,
+      -1,   137,   104,   238,   327,   239,     7,   242,   338,   247,
+     338,   247,   344,   243,     6,    -1,   137,   105,   238,   327,
+     239,     7,   242,   338,   247,   338,   247,   344,   243,     6,
+      -1,   137,     4,   238,   327,   239,     7,   341,     6,    -1,
+     137,     4,   238,   327,   239,     7,     5,     6,    -1,   137,
+       4,   242,   327,   243,     6,    -1,   148,   242,   298,   243,
+      -1,   131,   148,   242,   298,   243,    -1,   148,   184,   240,
+     327,   241,     6,    -1,   148,     4,   240,   327,   241,     6,
+      -1,   148,   354,     6,    -1,   148,     4,     4,     6,    -1,
+     148,    84,     6,    -1,   173,   345,   242,   298,   243,    -1,
+     131,   173,   345,   242,   298,   243,    -1,   208,   327,   242,
+     298,   243,    -1,   189,     5,     6,    -1,   190,     5,     6,
+      -1,   189,   242,   298,   243,    -1,   131,   189,   242,   298,
+     243,    -1,   190,   242,   298,   243,    -1,   131,   190,   242,
+     298,   243,    -1,   354,   349,     6,    -1,    73,   238,   352,
+     239,     6,    -1,   354,   354,   240,   327,   241,   348,     6,
+      -1,   354,   354,   354,   240,   327,   241,     6,    -1,   354,
+     327,     6,    -1,   129,   238,     4,   239,   244,     4,     6,
+      -1,   167,     4,     6,    -1,   182,     6,    -1,   183,     6,
+      -1,    70,     6,    -1,    71,     6,    -1,    64,     6,    -1,
+      64,   242,   327,   247,   327,   247,   327,   247,   327,   247,
+     327,   247,   327,   243,     6,    -1,    65,     6,    -1,    66,
+       6,    -1,    78,     6,    -1,    79,     6,    -1,   114,     6,
+      -1,   115,   242,   344,   243,   242,   344,   243,   242,   340,
+     243,   242,   327,   247,   327,   243,     6,    -1,   187,   238,
+     242,   344,   243,   247,   349,   247,   349,   239,     6,    -1,
+     175,   238,   327,     8,   327,   239,    -1,   175,   238,   327,
+       8,   327,     8,   327,   239,    -1,   175,     4,   176,   242,
+     327,     8,   327,   243,    -1,   175,     4,   176,   242,   327,
+       8,   327,     8,   327,   243,    -1,   177,    -1,   188,     4,
+      -1,   188,   349,    -1,   185,    -1,   186,   354,     6,    -1,
+     186,   349,     6,    -1,   178,   238,   327,   239,    -1,   179,
+     238,   327,   239,    -1,   180,    -1,   181,    -1,   136,   338,
+     242,   298,   243,    -1,   136,   242,   338,   247,   338,   247,
+     327,   243,   242,   298,   243,    -1,   136,   242,   338,   247,
+     338,   247,   338,   247,   327,   243,   242,   298,   243,    -1,
+      -1,   136,   338,   242,   298,   308,   312,   243,    -1,    -1,
+     136,   242,   338,   247,   338,   247,   327,   243,   242,   298,
+     309,   312,   243,    -1,    -1,   136,   242,   338,   247,   338,
+     247,   338,   247,   327,   243,   242,   298,   310,   312,   243,
+      -1,    -1,   136,   242,   298,   311,   312,   243,    -1,   136,
+     242,   298,   243,   128,   109,   242,   327,   243,    -1,   118,
+     341,    -1,   123,   118,   341,    -1,   120,   242,   344,   243,
+     242,   344,   243,   242,   327,   243,    -1,   313,    -1,   312,
+     313,    -1,   153,   242,   327,   243,     6,    -1,   153,   242,
+     341,   247,   341,   243,     6,    -1,   154,     6,    -1,   145,
+       6,    -1,   145,   327,     6,    -1,   159,     6,    -1,   159,
+     161,     6,    -1,   160,     6,    -1,   160,   161,     6,    -1,
+     155,   238,   327,   239,     7,   341,   128,   327,     6,    -1,
+     128,     4,   240,   327,   241,     6,    -1,   139,    -1,   140,
+      -1,   141,    -1,   142,    -1,   143,    -1,    -1,   148,     6,
+      -1,   131,   148,     6,    -1,   148,   327,     6,    -1,   131,
+     148,   327,     6,    -1,   314,   242,   298,   315,   243,   242,
+     298,   315,   243,    -1,   106,   238,   348,   239,    -1,   314,
+     238,   327,   239,     7,   242,   298,   315,   243,   242,   298,
+     315,   243,     6,    -1,    -1,   128,     4,   327,    -1,    -1,
+       4,    -1,    -1,     7,   341,    -1,    -1,     7,   327,    -1,
+      -1,   138,   341,    -1,   110,   111,   341,     7,   327,     6,
+      -1,   124,    94,   342,     7,   327,   318,     6,    -1,   124,
+      97,   342,   320,   319,     6,    -1,   124,    99,   342,   320,
+       6,    -1,   162,   342,     6,    -1,   151,    97,   242,   344,
+     243,     7,   327,     6,    -1,   145,    97,   342,   321,     6,
+      -1,   145,    99,   342,     6,    -1,   146,    97,   342,     7,
+     327,     6,    -1,   127,    94,   242,   344,   243,     7,   242,
+     344,   243,   322,     6,    -1,   127,    97,   242,   344,   243,
+       7,   242,   344,   243,   322,     6,    -1,   127,    94,   242,
+     344,   243,     7,   242,   344,   243,   132,   242,   338,   247,
+     338,   247,   327,   243,     6,    -1,   127,    97,   242,   344,
+     243,     7,   242,   344,   243,   132,   242,   338,   247,   338,
+     247,   327,   243,     6,    -1,   127,    94,   242,   344,   243,
+       7,   242,   344,   243,   133,   338,     6,    -1,   127,    97,
+     242,   344,   243,     7,   242,   344,   243,   133,   338,     6,
+      -1,   127,    97,   327,   242,   344,   243,     7,   327,   242,
+     344,   243,     6,    -1,    91,   242,   344,   243,   176,    97,
+     242,   327,   243,     6,    -1,    94,   242,   344,   243,   176,
+      97,   242,   327,   243,     6,    -1,    91,   242,   344,   243,
+     176,    99,   242,   327,   243,     6,    -1,    94,   242,   344,
+     243,   176,    99,   242,   327,   243,     6,    -1,    97,   242,
+     344,   243,   176,    99,   242,   327,   243,     6,    -1,   152,
+      97,   342,     6,    -1,   152,    94,   342,     6,    -1,   116,
+      91,   342,     6,    -1,   116,    94,   342,     6,    -1,   116,
+      97,   342,     6,    -1,   130,    94,   341,     6,    -1,   126,
+      94,   341,     6,    -1,   126,    97,   341,     6,    -1,   126,
+      99,   341,     6,    -1,   149,     6,    -1,   149,     4,     6,
+      -1,   149,    91,   242,   344,   243,     6,    -1,   197,    -1,
+     198,    -1,   199,    -1,   325,     6,    -1,   325,   242,   341,
+     243,     6,    -1,   325,   242,   341,   247,   341,   243,     6,
+      -1,   325,   238,   341,   239,   242,   341,   247,   341,   243,
+       6,    -1,   328,    -1,   238,   327,   239,    -1,   227,   327,
+      -1,   226,   327,    -1,   233,   327,    -1,   327,   227,   327,
+      -1,   327,   226,   327,    -1,   327,   228,   327,    -1,   327,
+     229,   327,    -1,   327,   231,   327,    -1,   327,   232,   327,
+      -1,   327,   230,   327,    -1,   327,   237,   327,    -1,   327,
+     220,   327,    -1,   327,   221,   327,    -1,   327,   225,   327,
+      -1,   327,   224,   327,    -1,   327,   219,   327,    -1,   327,
+     218,   327,    -1,   327,   217,   327,    -1,   327,   216,   327,
+      -1,   327,   222,   327,    -1,   327,   223,   327,    -1,   327,
+     215,   327,     8,   327,    -1,    16,   272,   327,   273,    -1,
+      17,   272,   327,   273,    -1,    18,   272,   327,   273,    -1,
+      19,   272,   327,   273,    -1,    20,   272,   327,   273,    -1,
+      21,   272,   327,   273,    -1,    22,   272,   327,   273,    -1,
+      23,   272,   327,   273,    -1,    24,   272,   327,   273,    -1,
+      26,   272,   327,   273,    -1,    27,   272,   327,   247,   327,
+     273,    -1,    28,   272,   327,   273,    -1,    29,   272,   327,
+     273,    -1,    30,   272,   327,   273,    -1,    31,   272,   327,
+     273,    -1,    32,   272,   327,   273,    -1,    33,   272,   327,
+     273,    -1,    34,   272,   327,   273,    -1,    35,   272,   327,
+     273,    -1,    36,   272,   327,   247,   327,   273,    -1,    37,
+     272,   327,   247,   327,   273,    -1,    38,   272,   327,   247,
+     327,   273,    -1,    25,   272,   327,   273,    -1,     3,    -1,
+      10,    -1,    15,    -1,    11,    -1,    12,    -1,   204,    -1,
+     205,    -1,   206,    -1,    75,    -1,    76,    -1,    77,    -1,
+      -1,    83,   272,   327,   329,   282,   273,    -1,   332,    -1,
+     195,   272,   348,   273,    -1,   195,   272,   348,   247,   327,
+     273,    -1,   334,    -1,   334,   240,   327,   241,    -1,   334,
+     238,   327,   239,    -1,   200,   238,   334,   239,    -1,   200,
+     238,   334,   244,   335,   239,    -1,   202,   238,   334,   330,
+     239,    -1,   202,   238,   334,   244,   335,   330,   239,    -1,
+     201,   238,   349,   239,    -1,   245,   354,   272,   273,    -1,
+     245,   334,   244,   335,   238,   239,    -1,    86,   272,   354,
+     273,    -1,    86,   272,   273,    -1,   354,   271,    -1,   354,
+     240,   327,   241,   271,    -1,   354,   238,   327,   239,   271,
+      -1,   354,   244,   335,    -1,   354,     9,   354,   244,   335,
+      -1,   354,   244,   335,   238,   327,   239,    -1,   354,     9,
+     354,   244,   335,   238,   327,   239,    -1,   354,   240,   327,
+     241,   244,     4,    -1,   354,   244,     4,   271,    -1,   354,
+     240,   327,   241,   244,     4,   271,    -1,   191,   238,   348,
+     247,   327,   239,    -1,    56,   238,   341,   247,   341,   239,
+      -1,    57,   272,   348,   247,   348,   273,    -1,    55,   272,
+     348,   273,    -1,    58,   272,   348,   247,   348,   273,    -1,
+      63,   238,   352,   239,    -1,    -1,   247,   327,    -1,    -1,
+     247,   348,    -1,    -1,    84,   334,   337,   333,   240,   283,
+     241,    -1,   354,    -1,   354,     9,   354,    -1,     4,    -1,
+      87,    -1,    87,   327,    -1,    -1,   238,   336,   239,    -1,
+     339,    -1,   227,   338,    -1,   226,   338,    -1,   338,   227,
+     338,    -1,   338,   226,   338,    -1,   242,   327,   247,   327,
+     247,   327,   247,   327,   247,   327,   243,    -1,   242,   327,
+     247,   327,   247,   327,   247,   327,   243,    -1,   242,   327,
+     247,   327,   247,   327,   243,    -1,   238,   327,   247,   327,
+     247,   327,   239,    -1,   341,    -1,   340,   247,   341,    -1,
+     327,    -1,   343,    -1,   242,   243,    -1,   242,   344,   243,
+      -1,   227,   242,   344,   243,    -1,   327,   228,   242,   344,
+     243,    -1,   341,    -1,     5,    -1,   227,   343,    -1,   327,
+     228,   343,    -1,   327,     8,   327,    -1,   327,     8,   327,
+       8,   327,    -1,    91,   242,   327,   243,    -1,    91,     5,
+      -1,    94,     5,    -1,    97,     5,    -1,    99,     5,    -1,
+     125,    91,   342,    -1,   125,    94,   342,    -1,   125,    97,
+     342,    -1,   125,    99,   342,    -1,    91,   176,    64,   242,
+     327,   247,   327,   247,   327,   247,   327,   247,   327,   247,
+     327,   243,    -1,    94,   176,    64,   242,   327,   247,   327,
+     247,   327,   247,   327,   247,   327,   247,   327,   243,    -1,
+      97,   176,    64,   242,   327,   247,   327,   247,   327,   247,
+     327,   247,   327,   247,   327,   243,    -1,    99,   176,    64,
+     242,   327,   247,   327,   247,   327,   247,   327,   247,   327,
+     247,   327,   243,    -1,   296,    -1,   307,    -1,   316,    -1,
+     354,   272,   273,    -1,    39,   240,   354,   241,    -1,    39,
+     240,   343,   241,    -1,    39,   238,   343,   239,    -1,    39,
+     272,   242,   344,   243,   273,    -1,   354,   272,   242,   344,
+     243,   273,    -1,    40,   272,   327,   247,   327,   247,   327,
+     273,    -1,    41,   272,   327,   247,   327,   247,   327,   273,
+      -1,    42,   272,   348,   273,    -1,    43,   272,   327,   247,
+     327,   247,   327,   247,   327,   247,   327,   247,   327,   273,
+      -1,   196,   272,   343,   273,    -1,    32,   272,   343,   273,
+      -1,   327,    -1,   343,    -1,   344,   247,   327,    -1,   344,
+     247,   343,    -1,   242,   327,   247,   327,   247,   327,   247,
+     327,   243,    -1,   242,   327,   247,   327,   247,   327,   243,
+      -1,   354,    -1,     4,   244,   173,   244,     4,    -1,   242,
+     347,   243,    -1,   354,   240,   327,   241,   244,   174,    -1,
+     345,    -1,   347,   247,   345,    -1,   349,    -1,   354,    -1,
+     354,   240,   327,   241,    -1,   354,   238,   327,   239,    -1,
+     354,   244,   335,    -1,   354,     9,   354,   244,   335,    -1,
+     354,   244,   335,   238,   327,   239,    -1,   354,     9,   354,
+     244,   335,   238,   327,   239,    -1,   354,   240,   327,   241,
+     244,     4,    -1,   125,    91,   242,   327,   243,    -1,   125,
+      94,   242,   327,   243,    -1,   125,    97,   242,   327,   243,
+      -1,   125,    99,   242,   327,   243,    -1,     5,    -1,   209,
+     240,   354,   241,    -1,    67,    -1,   207,    -1,    72,    -1,
+      74,    -1,   193,   238,   348,   239,    -1,   192,   238,   348,
+     247,   348,   239,    -1,   194,   272,   348,   273,    -1,   194,
+     272,   348,   247,   348,   273,    -1,   203,   238,   334,   331,
+     239,    -1,   203,   238,   334,   244,   335,   331,   239,    -1,
+      48,   272,   352,   273,    -1,    49,   238,   348,   239,    -1,
+      50,   238,   348,   239,    -1,    51,   238,   348,   247,   348,
+     247,   348,   239,    -1,    46,   272,   352,   273,    -1,    60,
+     272,   348,   273,    -1,    61,   272,   348,   273,    -1,    62,
+     272,   348,   273,    -1,    59,   272,   327,   247,   348,   247,
+     348,   273,    -1,    54,   272,   348,   247,   327,   247,   327,
+     273,    -1,    54,   272,   348,   247,   327,   273,    -1,    47,
+     272,   348,   273,    -1,    47,   272,   348,   247,   344,   273,
+      -1,    68,   272,   348,   273,    -1,    69,    -1,    53,   272,
+     348,   273,    -1,    52,   272,   348,   273,    -1,    -1,    88,
+     272,   349,   350,   286,   273,    -1,    85,   272,   351,   273,
+      -1,   245,   327,    -1,   354,     9,   245,   327,    -1,   348,
+      -1,   352,   247,   348,    -1,     4,   246,   242,   327,   243,
+      -1,   353,   246,   242,   327,   243,    -1,   210,   240,   348,
+     241,   246,   242,   327,   243,    -1,     4,    -1,   353,    -1,
+     210,   240,   348,   241,    -1
+};
+
+/* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
+static const yytype_uint16 yyrline[] =
+{
+       0,   259,   259,   260,   265,   267,   271,   272,   273,   274,
+     293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
+     303,   304,   305,   306,   307,   308,   312,   316,   323,   328,
+     333,   347,   360,   373,   401,   415,   428,   441,   460,   465,
+     466,   467,   468,   469,   473,   475,   480,   482,   488,   592,
+     487,   610,   617,   628,   627,   645,   652,   663,   662,   679,
+     696,   719,   718,   732,   733,   734,   735,   736,   740,   741,
+     747,   747,   748,   748,   754,   755,   756,   757,   762,   768,
+     830,   845,   874,   884,   889,   897,   902,   910,   919,   924,
+     936,   953,   959,   968,   986,  1004,  1013,  1025,  1030,  1038,
+    1058,  1081,  1092,  1100,  1122,  1145,  1183,  1204,  1216,  1230,
+    1230,  1232,  1234,  1243,  1253,  1252,  1273,  1272,  1290,  1300,
+    1299,  1313,  1315,  1323,  1329,  1334,  1360,  1362,  1365,  1367,
+    1371,  1372,  1376,  1388,  1401,  1416,  1426,  1428,  1432,  1433,
+    1438,  1446,  1455,  1463,  1481,  1485,  1492,  1500,  1504,  1511,
+    1519,  1523,  1530,  1538,  1542,  1549,  1558,  1561,  1568,  1571,
+    1578,  1602,  1618,  1634,  1671,  1711,  1727,  1743,  1765,  1775,
+    1791,  1808,  1824,  1845,  1856,  1862,  1868,  1875,  1906,  1921,
+    1943,  1966,  1989,  2012,  2036,  2060,  2083,  2108,  2118,  2141,
+    2158,  2174,  2192,  2210,  2220,  2232,  2244,  2256,  2273,  2289,
+    2305,  2320,  2337,  2354,  2389,  2411,  2435,  2436,  2441,  2444,
+    2448,  2459,  2470,  2481,  2497,  2516,  2537,  2552,  2568,  2586,
+    2637,  2658,  2680,  2703,  2808,  2824,  2859,  2870,  2881,  2887,
+    2902,  2930,  2942,  2951,  2958,  2970,  2989,  2995,  3001,  3008,
+    3015,  3022,  3034,  3107,  3125,  3142,  3157,  3190,  3202,  3226,
+    3230,  3235,  3242,  3247,  3257,  3262,  3268,  3276,  3280,  3284,
+    3293,  3357,  3373,  3390,  3407,  3429,  3451,  3486,  3494,  3502,
+    3508,  3515,  3522,  3542,  3568,  3580,  3592,  3610,  3628,  3647,
+    3646,  3671,  3670,  3697,  3696,  3721,  3720,  3743,  3759,  3776,
+    3793,  3816,  3819,  3825,  3837,  3857,  3861,  3865,  3869,  3873,
+    3877,  3881,  3885,  3894,  3907,  3908,  3909,  3910,  3911,  3915,
+    3916,  3917,  3918,  3919,  3922,  3945,  3964,  3986,  3989,  4005,
+    4008,  4025,  4028,  4034,  4037,  4044,  4047,  4054,  4071,  4112,
+    4156,  4195,  4220,  4229,  4259,  4285,  4311,  4343,  4370,  4396,
+    4422,  4448,  4474,  4496,  4502,  4508,  4514,  4520,  4526,  4552,
+    4578,  4595,  4612,  4629,  4641,  4647,  4653,  4665,  4669,  4679,
+    4690,  4691,  4692,  4696,  4702,  4714,  4732,  4760,  4761,  4762,
+    4763,  4764,  4765,  4766,  4767,  4768,  4775,  4776,  4777,  4778,
+    4779,  4780,  4781,  4782,  4783,  4784,  4785,  4786,  4787,  4788,
+    4789,  4790,  4791,  4792,  4793,  4794,  4795,  4796,  4797,  4798,
+    4799,  4800,  4801,  4802,  4803,  4804,  4805,  4806,  4807,  4808,
+    4809,  4810,  4811,  4812,  4821,  4822,  4823,  4824,  4825,  4826,
+    4827,  4828,  4829,  4830,  4831,  4836,  4835,  4843,  4845,  4850,
+    4855,  4860,  4882,  4903,  4907,  4911,  4915,  4919,  4925,  4941,
+    4946,  4952,  4958,  4977,  4998,  5031,  5035,  5040,  5044,  5049,
+    5054,  5064,  5074,  5079,  5090,  5099,  5104,  5109,  5137,  5138,
+    5144,  5145,  5151,  5150,  5173,  5175,  5180,  5189,  5191,  5197,
+    5198,  5204,  5208,  5212,  5216,  5220,  5227,  5231,  5235,  5239,
+    5246,  5251,  5258,  5263,  5267,  5272,  5276,  5284,  5295,  5299,
+    5311,  5319,  5327,  5334,  5344,  5367,  5373,  5379,  5385,  5391,
+    5402,  5413,  5424,  5435,  5441,  5447,  5453,  5459,  5469,  5479,
+    5489,  5502,  5514,  5518,  5522,  5526,  5544,  5552,  5560,  5589,
+    5599,  5615,  5626,  5631,  5635,  5639,  5651,  5655,  5667,  5684,
+    5694,  5698,  5713,  5718,  5725,  5729,  5734,  5748,  5765,  5769,
+    5774,  5778,  5783,  5791,  5797,  5803,  5809,  5818,  5822,  5826,
+    5834,  5840,  5846,  5850,  5858,  5866,  5873,  5883,  5888,  5893,
+    5908,  5922,  5936,  5948,  5964,  5973,  5982,  5992,  6003,  6011,
+    6019,  6023,  6042,  6049,  6055,  6062,  6070,  6069,  6079,  6103,
+    6105,  6111,  6116,  6124,  6133,  6142,  6154,  6157,  6161
+};
+#endif
+
+#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
+/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
+   First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
+static const char *const yytname[] =
+{
+  "$end", "error", "$undefined", "tDOUBLE", "tSTRING", "tBIGSTR", "tEND",
+  "tAFFECT", "tDOTS", "tSCOPE", "tPi", "tMPI_Rank", "tMPI_Size",
+  "tEuclidian", "tCoordinates", "tTestLevel", "tExp", "tLog", "tLog10",
+  "tSqrt", "tSin", "tAsin", "tCos", "tAcos", "tTan", "tRand", "tAtan",
+  "tAtan2", "tSinh", "tCosh", "tTanh", "tFabs", "tAbs", "tFloor", "tCeil",
+  "tRound", "tFmod", "tModulo", "tHypot", "tList", "tLinSpace",
+  "tLogSpace", "tListFromFile", "tCatenary", "tPrintf", "tError", "tStr",
+  "tSprintf", "tStrCat", "tStrPrefix", "tStrRelative", "tStrReplace",
+  "tAbsolutePath", "tDirName", "tStrSub", "tStrLen", "tFind", "tStrFind",
+  "tStrCmp", "tStrChoice", "tUpperCase", "tLowerCase", "tLowerCaseIn",
+  "tTextAttributes", "tBoundingBox", "tDraw", "tSetChanged", "tToday",
+  "tFixRelativePath", "tCurrentDirectory", "tSyncModel", "tNewModel",
+  "tOnelabAction", "tOnelabRun", "tCodeName", "tCpu", "tMemory",
+  "tTotalMemory", "tCreateTopology", "tCreateTopologyNoHoles",
+  "tDistanceFunction", "tDefineConstant", "tUndefineConstant",
+  "tDefineNumber", "tDefineStruct", "tNameStruct", "tDimNameSpace",
+  "tAppend", "tDefineString", "tSetNumber", "tSetString", "tPoint",
+  "tCircle", "tEllipse", "tLine", "tSphere", "tPolarSphere", "tSurface",
+  "tSpline", "tVolume", "tBlock", "tCylinder", "tCone", "tTorus",
+  "tEllipsoid", "tQuadric", "tShapeFromFile", "tRectangle", "tDisk",
+  "tWire", "tCharacteristic", "tLength", "tParametric", "tElliptic",
+  "tRefineMesh", "tAdaptMesh", "tRelocateMesh", "tSetFactory",
+  "tThruSections", "tWedge", "tFillet", "tChamfer", "tPlane", "tRuled",
+  "tTransfinite", "tPhysical", "tCompound", "tPeriodic", "tUsing",
+  "tPlugin", "tDegenerated", "tRecursive", "tRotate", "tTranslate",
+  "tSymmetry", "tDilate", "tExtrude", "tLevelset", "tAffine",
+  "tBooleanUnion", "tBooleanIntersection", "tBooleanDifference",
+  "tBooleanSection", "tBooleanFragments", "tThickSolid", "tRecombine",
+  "tSmoother", "tSplit", "tDelete", "tCoherence", "tIntersect",
+  "tMeshAlgorithm", "tReverse", "tLayers", "tScaleLast", "tHole", "tAlias",
+  "tAliasWithOptions", "tCopyOptions", "tQuadTriAddVerts",
+  "tQuadTriNoNewVerts", "tRecombLaterals", "tTransfQuadTri", "tText2D",
+  "tText3D", "tInterpolationScheme", "tTime", "tCombine", "tBSpline",
+  "tBezier", "tNurbs", "tNurbsOrder", "tNurbsKnots", "tColor",
+  "tColorTable", "tFor", "tIn", "tEndFor", "tIf", "tElseIf", "tElse",
+  "tEndIf", "tExit", "tAbort", "tField", "tReturn", "tCall", "tSlide",
+  "tMacro", "tShow", "tHide", "tGetValue", "tGetStringValue", "tGetEnv",
+  "tGetString", "tGetNumber", "tUnique", "tHomology", "tCohomology",
+  "tBetti", "tExists", "tFileExists", "tGetForced", "tGetForcedStr",
+  "tGMSH_MAJOR_VERSION", "tGMSH_MINOR_VERSION", "tGMSH_PATCH_VERSION",
+  "tGmshExecutableName", "tSetPartition", "tNameToString", "tStringToName",
+  "tAFFECTDIVIDE", "tAFFECTTIMES", "tAFFECTMINUS", "tAFFECTPLUS", "'?'",
+  "tOR", "tAND", "tNOTEQUAL", "tEQUAL", "'<'", "'>'", "tGREATERGREATER",
+  "tLESSLESS", "tGREATEROREQUAL", "tLESSOREQUAL", "'+'", "'-'", "'*'",
+  "'/'", "'%'", "'|'", "'&'", "'!'", "UNARYPREC", "tMINUSMINUS",
+  "tPLUSPLUS", "'^'", "'('", "')'", "'['", "']'", "'{'", "'}'", "'.'",
+  "'#'", "'~'", "','", "$accept", "All", "GeoFormatItems", "GeoFormatItem",
+  "SendToFile", "Printf", "View", "Views", "ElementCoords",
+  "ElementValues", "Element", "@1", "@2", "Text2DValues", "Text2D", "@3",
+  "Text3DValues", "Text3D", "@4", "InterpolationMatrix", "Time", "@5",
+  "NumericAffectation", "NumericIncrement", "LP", "RP", "Affectation",
+  "Comma", "DefineConstants", "@6", "@7", "@8", "UndefineConstants",
+  "Enumeration", "FloatParameterOptionsOrNone",
+  "FloatParameterOptionsOrNone_NoComma", "FloatParameterOptions",
+  "FloatParameterOption", "CharParameterOptionsOrNone",
+  "CharParameterOptions", "CharParameterOption", "PhysicalId0",
+  "PhysicalId1", "PhysicalId2", "PhysicalId3", "InSphereCenter",
+  "CircleOptions", "Shape", "Transform", "MultipleShape", "ListOfShapes",
+  "LevelSet", "Delete", "Colorify", "SetPartition", "Visibility",
+  "Command", "Slide", "Loop", "Extrude", "@9", "@10", "@11", "@12",
+  "ExtrudeParameters", "ExtrudeParameter", "BooleanOperator",
+  "BooleanOption", "Boolean", "BooleanShape", "TransfiniteType",
+  "TransfiniteArrangement", "TransfiniteCorners", "RecombineAngle",
+  "PeriodicTransform", "Constraints", "Coherence", "HomologyCommand",
+  "Homology", "FExpr", "FExpr_Single", "@13", "GetForced_Default",
+  "GetForcedStr_Default", "DefineStruct", "@14", "Struct_FullName",
+  "tSTRING_Member_Float", "Append", "AppendOrNot", "VExpr", "VExpr_Single",
+  "RecursiveListOfListOfDouble", "ListOfDouble", "ListOfDoubleOrAll",
+  "FExpr_Multi", "RecursiveListOfDouble", "ColorExpr", "ListOfColor",
+  "RecursiveListOfColor", "StringExprVar", "StringExpr", "@15",
+  "NameStruct_Arg", "RecursiveListOfStringExprVar", "StringIndex",
+  "String__Index", 0
+};
+#endif
+
+# ifdef YYPRINT
+/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
+   token YYLEX-NUM.  */
+static const yytype_uint16 yytoknum[] =
+{
+       0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
+     265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
+     275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
+     285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
+     295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
+     305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
+     315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
+     325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
+     335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
+     345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
+     355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
+     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
+     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
+     385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
+     395,   396,   397,   398,   399,   400,   401,   402,   403,   404,
+     405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
+     415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
+     425,   426,   427,   428,   429,   430,   431,   432,   433,   434,
+     435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
+     445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
+     455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
+     465,   466,   467,   468,   469,    63,   470,   471,   472,   473,
+      60,    62,   474,   475,   476,   477,    43,    45,    42,    47,
+      37,   124,    38,    33,   478,   479,   480,    94,    40,    41,
+      91,    93,   123,   125,    46,    35,   126,    44
+};
+# endif
+
+/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
+static const yytype_uint16 yyr1[] =
+{
+       0,   248,   249,   249,   250,   250,   251,   251,   251,   251,
+     251,   251,   251,   251,   251,   251,   251,   251,   251,   251,
+     251,   251,   251,   251,   251,   251,   252,   252,   253,   253,
+     253,   253,   253,   253,   254,   254,   254,   254,   255,   255,
+     255,   255,   255,   255,   256,   256,   257,   257,   259,   260,
+     258,   261,   261,   263,   262,   264,   264,   266,   265,   267,
+     267,   269,   268,   270,   270,   270,   270,   270,   271,   271,
+     272,   272,   273,   273,   274,   274,   274,   274,   274,   274,
+     274,   274,   274,   274,   274,   274,   274,   274,   274,   274,
+     274,   274,   274,   274,   274,   274,   274,   274,   274,   274,
+     274,   274,   274,   274,   274,   274,   274,   274,   274,   275,
+     275,   276,   276,   276,   277,   276,   278,   276,   276,   279,
+     276,   280,   280,   281,   281,   281,   282,   282,   283,   283,
+     284,   284,   285,   285,   285,   285,   286,   286,   287,   287,
+     288,   288,   288,   288,   289,   289,   289,   290,   290,   290,
+     291,   291,   291,   292,   292,   292,   293,   293,   294,   294,
+     295,   295,   295,   295,   295,   295,   295,   295,   295,   295,
+     295,   295,   295,   295,   295,   295,   295,   295,   295,   295,
+     295,   295,   295,   295,   295,   295,   295,   295,   295,   295,
+     295,   295,   295,   295,   295,   295,   295,   295,   296,   296,
+     296,   296,   296,   296,   296,   296,   297,   297,   298,   298,
+     298,   298,   298,   298,   299,   299,   299,   299,   299,   299,
+     299,   299,   299,   299,   299,   299,   300,   300,   300,   300,
+     300,   300,   300,   301,   301,   302,   303,   303,   303,   303,
+     303,   303,   304,   304,   304,   304,   304,   304,   304,   304,
+     304,   304,   304,   304,   304,   304,   304,   304,   304,   304,
+     304,   305,   306,   306,   306,   306,   306,   306,   306,   306,
+     306,   306,   306,   306,   306,   306,   307,   307,   307,   308,
+     307,   309,   307,   310,   307,   311,   307,   307,   307,   307,
+     307,   312,   312,   313,   313,   313,   313,   313,   313,   313,
+     313,   313,   313,   313,   314,   314,   314,   314,   314,   315,
+     315,   315,   315,   315,   316,   316,   317,   318,   318,   319,
+     319,   320,   320,   321,   321,   322,   322,   323,   323,   323,
+     323,   323,   323,   323,   323,   323,   323,   323,   323,   323,
+     323,   323,   323,   323,   323,   323,   323,   323,   323,   323,
+     323,   323,   323,   323,   323,   323,   323,   324,   324,   324,
+     325,   325,   325,   326,   326,   326,   326,   327,   327,   327,
+     327,   327,   327,   327,   327,   327,   327,   327,   327,   327,
+     327,   327,   327,   327,   327,   327,   327,   327,   327,   327,
+     327,   327,   327,   327,   327,   327,   327,   327,   327,   327,
+     327,   327,   327,   327,   327,   327,   327,   327,   327,   327,
+     327,   327,   327,   327,   328,   328,   328,   328,   328,   328,
+     328,   328,   328,   328,   328,   329,   328,   328,   328,   328,
+     328,   328,   328,   328,   328,   328,   328,   328,   328,   328,
+     328,   328,   328,   328,   328,   328,   328,   328,   328,   328,
+     328,   328,   328,   328,   328,   328,   328,   328,   330,   330,
+     331,   331,   333,   332,   334,   334,   335,   336,   336,   337,
+     337,   338,   338,   338,   338,   338,   339,   339,   339,   339,
+     340,   340,   341,   341,   341,   341,   341,   341,   342,   342,
+     343,   343,   343,   343,   343,   343,   343,   343,   343,   343,
+     343,   343,   343,   343,   343,   343,   343,   343,   343,   343,
+     343,   343,   343,   343,   343,   343,   343,   343,   343,   343,
+     343,   343,   344,   344,   344,   344,   345,   345,   345,   345,
+     346,   346,   347,   347,   348,   348,   348,   348,   348,   348,
+     348,   348,   348,   348,   348,   348,   348,   349,   349,   349,
+     349,   349,   349,   349,   349,   349,   349,   349,   349,   349,
+     349,   349,   349,   349,   349,   349,   349,   349,   349,   349,
+     349,   349,   349,   349,   349,   349,   350,   349,   349,   351,
+     351,   352,   352,   353,   353,   353,   354,   354,   354
+};
+
+/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
+static const yytype_uint8 yyr2[] =
+{
+       0,     2,     1,     2,     0,     2,     1,     1,     1,     5,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     5,     5,
+       7,     7,     7,     9,     6,     6,     6,     8,     0,     2,
+       2,     2,     2,     2,     1,     3,     1,     3,     0,     0,
+      10,     1,     3,     0,    13,     1,     3,     0,    15,     8,
+      14,     0,     6,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     5,     5,     2,     7,     7,     4,
+       3,     6,     9,     7,     6,     7,     6,     4,     8,     9,
+       9,     6,     9,     6,     9,     5,     8,     8,    11,     6,
+       9,     5,     7,     9,     9,    11,     7,     9,     9,     0,
+       1,     0,     3,     5,     0,     9,     0,    11,     5,     0,
+       9,     0,     3,     3,     5,     5,     0,     2,     0,     1,
+       1,     3,     2,     1,     4,     2,     0,     2,     1,     3,
+       2,     2,     2,     4,     1,     1,     3,     1,     1,     3,
+       1,     1,     3,     1,     1,     3,     0,     5,     0,     2,
+       7,     7,     7,     8,     8,     7,     7,    11,     8,     7,
+       8,     8,     8,     9,     3,     4,    10,     7,     7,     7,
+       7,     7,     7,     7,     7,     7,     7,     8,    12,     8,
+       7,     7,     8,     8,     8,     8,     8,     8,     5,    11,
+       5,     9,     9,     4,     9,     9,     1,     1,     0,     2,
+       6,     6,     6,     6,     8,    10,    14,    16,    12,    14,
+      14,    14,    14,     8,     8,     6,     4,     5,     6,     6,
+       3,     4,     3,     5,     6,     5,     3,     3,     4,     5,
+       4,     5,     3,     5,     7,     7,     3,     7,     3,     2,
+       2,     2,     2,     2,    15,     2,     2,     2,     2,     2,
+      16,    11,     6,     8,     8,    10,     1,     2,     2,     1,
+       3,     3,     4,     4,     1,     1,     5,    11,    13,     0,
+       7,     0,    13,     0,    15,     0,     6,     9,     2,     3,
+      10,     1,     2,     5,     7,     2,     2,     3,     2,     3,
+       2,     3,     9,     6,     1,     1,     1,     1,     1,     0,
+       2,     3,     3,     4,     9,     4,    14,     0,     3,     0,
+       1,     0,     2,     0,     2,     0,     2,     6,     7,     6,
+       5,     3,     8,     5,     4,     6,    11,    11,    18,    18,
+      12,    12,    12,    10,    10,    10,    10,    10,     4,     4,
+       4,     4,     4,     4,     4,     4,     4,     2,     3,     6,
+       1,     1,     1,     2,     5,     7,    10,     1,     3,     2,
+       2,     2,     3,     3,     3,     3,     3,     3,     3,     3,
+       3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
+       5,     4,     4,     4,     4,     4,     4,     4,     4,     4,
+       4,     6,     4,     4,     4,     4,     4,     4,     4,     4,
+       6,     6,     6,     4,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     0,     6,     1,     4,     6,
+       1,     4,     4,     4,     6,     5,     7,     4,     4,     6,
+       4,     3,     2,     5,     5,     3,     5,     6,     8,     6,
+       4,     7,     6,     6,     6,     4,     6,     4,     0,     2,
+       0,     2,     0,     7,     1,     3,     1,     1,     2,     0,
+       3,     1,     2,     2,     3,     3,    11,     9,     7,     7,
+       1,     3,     1,     1,     2,     3,     4,     5,     1,     1,
+       2,     3,     3,     5,     4,     2,     2,     2,     2,     3,
+       3,     3,     3,    16,    16,    16,    16,     1,     1,     1,
+       3,     4,     4,     4,     6,     6,     8,     8,     4,    14,
+       4,     4,     1,     1,     3,     3,     9,     7,     1,     5,
+       3,     6,     1,     3,     1,     1,     4,     4,     3,     5,
+       6,     8,     6,     5,     5,     5,     5,     1,     4,     1,
+       1,     1,     1,     4,     6,     4,     6,     5,     7,     4,
+       4,     4,     8,     4,     4,     4,     4,     8,     8,     6,
+       4,     6,     4,     1,     4,     4,     0,     6,     4,     2,
+       4,     1,     3,     5,     5,     8,     1,     1,     4
+};
+
+/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
+   STATE-NUM when YYTABLE doesn't specify something else to do.  Zero
+   means the default is an error.  */
+static const yytype_uint16 yydefact[] =
+{
+       0,     0,     0,     2,     3,     1,   586,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,   304,   305,   306,   307,   308,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,   266,
+       0,     0,   274,   275,     0,     0,     0,   269,     0,     0,
+       0,     0,     0,   360,   361,   362,     0,     0,     5,     6,
+       7,     8,    10,    11,    24,    12,    13,    14,    15,    23,
+      22,    21,    16,     0,    17,    18,    19,    20,     0,    25,
+       0,   587,     0,   208,     0,     0,     0,     0,     0,   253,
+       0,   255,   256,   251,   252,     0,   257,   258,   111,   121,
+     586,   469,   464,    70,    71,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,   259,     0,     0,     0,     0,     0,   414,   415,   417,
+     418,   416,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,   422,   423,   424,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,   419,   420,   421,     0,     0,     0,     0,
+       0,     0,   507,   508,     0,   509,   482,   367,   427,   430,
+     288,   483,   464,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,   471,     0,     0,   208,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+     586,     0,     0,   208,     0,     0,   357,     0,     0,     0,
+       0,     0,     0,     0,     0,   489,     0,   488,     0,     0,
+       0,     0,     0,   586,     0,     0,   528,     0,     0,     0,
+       0,   249,   250,     0,   547,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   549,     0,
+     573,   551,   552,     0,     0,     0,     0,     0,     0,   550,
+       0,     0,     0,     0,   267,   268,     0,   208,     0,   208,
+       0,     0,     0,   464,     0,     0,   208,   363,     0,     0,
+      76,     0,    63,     0,     0,    67,    66,    65,    64,    69,
+      68,    70,    71,     0,     0,     0,     0,     0,     0,   534,
+     464,     0,   207,     0,   206,     0,   174,     0,     0,   534,
+     535,     0,     0,   581,     0,   109,   109,     0,   462,     0,
+       0,     0,     0,     0,   522,   523,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,    70,    71,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,   495,     0,     0,   496,     0,   497,     0,   498,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,   370,     0,   369,   490,   371,     0,   484,     0,     0,
+     464,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,    70,    71,     0,   442,     0,     0,
+       0,     0,     0,     0,   289,     0,   321,   321,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,   208,     0,   208,   208,     0,   473,   472,
+       0,     0,     0,     0,   208,   208,     0,     0,     0,     0,
+     285,     0,   208,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,   323,     0,     0,     0,     0,     0,   232,
+       0,     0,   230,   358,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,   331,   248,     0,     0,     0,     0,     0,
+     208,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,   271,   270,     0,
+     236,     0,   237,     0,     0,   369,     0,   208,     0,     0,
+       0,     0,   309,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,    80,    72,
+      73,     0,     0,   246,    38,   242,     0,     0,     0,     0,
+       0,   203,     0,     0,     0,     0,     0,     0,     0,   209,
+       0,   175,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,   110,     0,     0,     0,   467,     0,
+       0,   465,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,   315,     0,     0,     0,     0,     0,
+       0,   350,   351,   352,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,   464,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,   425,   441,     0,     0,     0,     0,     0,
+       0,   499,   500,   501,   502,     0,     0,     0,     0,     0,
+     458,     0,   368,   485,     0,     0,   492,     0,   387,   386,
+     385,   384,   380,   381,   388,   389,   383,   382,   373,   372,
+       0,   374,   491,   375,   378,   376,   377,   379,     0,     0,
+     465,     0,     0,   466,   445,     0,   510,     0,     0,     0,
+       0,     0,     0,     0,   319,     0,     0,   144,   145,     0,
+     147,   148,     0,   150,   151,     0,   153,   154,     0,   354,
+       0,   355,     0,   356,     0,     0,     0,     0,   353,     0,
+     208,     0,     0,     0,     0,     0,   475,   474,     0,     0,
+       0,     0,     0,     0,     0,   279,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   334,     0,
+       0,   231,     0,     0,   226,     0,     0,     0,   349,   348,
+       0,     0,     0,   368,     0,     0,     0,     0,     0,     0,
+       0,     0,   272,   273,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,   576,     0,     0,     0,   460,     0,     0,   238,
+     240,     0,   374,     0,   588,     0,     0,     0,     0,     0,
+       0,     0,     0,    87,     0,     0,     0,     0,     0,   368,
+       0,    63,     0,     0,     0,     0,    79,     0,    63,    64,
+       0,     0,   465,     0,     0,   445,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,   583,    28,    26,    27,
+       0,     0,     0,     0,     0,   466,   538,    29,     0,     0,
+     243,   582,    74,   112,    75,   122,   468,   470,   128,     0,
+       0,     0,     0,   524,   525,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     9,   391,   392,
+     393,   394,   395,   396,   397,   398,   399,   413,   400,     0,
+     402,   403,   404,   405,   406,   521,   407,   408,   409,     0,
+       0,     0,   513,   512,   511,     0,     0,     0,   518,     0,
+     455,     0,     0,     0,   457,   126,   440,     0,   494,     0,
+       0,     0,     0,     0,   428,   520,   433,     0,   437,     0,
+       0,     0,   486,     0,     0,   438,     0,     0,     0,   432,
+     431,     0,     0,     0,   450,     0,     0,     0,     0,     0,
+       0,   368,   317,   322,   320,     0,   330,     0,     0,     0,
+       0,     0,     0,     0,     0,   368,   368,   368,     0,     0,
+       0,     0,   227,     0,   239,   241,     0,     0,     0,   198,
+     200,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,   291,     0,   276,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,   324,   333,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,   233,     0,     0,     0,     0,   563,     0,
+     570,   559,   560,   561,     0,   575,   574,     0,     0,   564,
+     565,   566,   572,   579,   578,     0,   136,     0,   553,     0,
+     555,     0,     0,     0,   548,     0,   235,     0,     0,     0,
+     310,     0,     0,     0,   364,     0,   584,     0,     0,     0,
+       0,   101,    63,     0,     0,     0,     0,     0,     0,     0,
+      95,     0,     0,     0,     0,     0,     0,     0,     0,    48,
+       0,     0,     0,    61,     0,    39,    40,    41,    42,    43,
+       0,   537,   536,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,   537,   536,     0,
+       0,     0,     0,     0,   133,     0,   129,   130,     0,     0,
+       0,     0,     0,   158,   158,     0,     0,     0,     0,     0,
+       0,     0,   156,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,   327,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,   458,   459,   435,     0,
+       0,   493,   390,   487,   446,   444,     0,   443,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,   329,     0,   146,
+       0,   149,     0,   152,     0,   155,     0,     0,     0,     0,
+       0,     0,     0,   234,     0,     0,     0,     0,     0,     0,
+       0,   296,     0,     0,   295,     0,   298,     0,   300,     0,
+     286,   292,     0,     0,     0,   225,     0,     0,     0,     0,
+       0,     0,     0,     0,   335,     0,   229,   228,   359,     0,
+       0,    35,    36,     0,     0,     0,     0,   529,     0,     0,
+       0,   262,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,   460,   461,   557,     0,     0,   208,   311,
+       0,   312,   208,     0,     0,   543,   544,   545,   546,     0,
+      86,     0,     0,     0,     0,    84,    91,    93,     0,   532,
+       0,    99,     0,     0,     0,     0,    81,     0,     0,     0,
+       0,     0,    34,   446,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,    30,    31,     0,
+     539,     0,     0,    32,     0,     0,   113,   118,     0,     0,
+     132,   135,   463,     0,    77,    78,   160,     0,     0,     0,
+       0,     0,     0,   161,     0,     0,   177,   178,     0,     0,
+       0,     0,   162,   190,   179,   183,   184,   180,   181,   182,
+     169,     0,     0,   401,   410,   411,   412,   514,     0,     0,
+       0,   453,   454,   456,   127,   426,     0,     0,     0,     0,
+     452,   429,   434,     0,   191,   439,     0,   449,   447,   515,
+     185,     0,     0,   156,     0,     0,   328,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,   247,     0,     0,
+       0,     0,   208,   208,     0,     0,   297,   482,     0,     0,
+     299,   301,     0,     0,   280,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,   186,     0,     0,     0,     0,
+     165,   166,     0,     0,     0,     0,   102,   106,     0,   571,
+       0,     0,   569,     0,   580,     0,     0,   137,   138,   577,
+     554,   556,     0,     0,     0,   309,   313,   309,     0,   365,
+      85,    63,     0,     0,     0,     0,    83,     0,   530,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,   480,
+       0,     0,   449,   244,   447,   245,   210,   211,   212,   213,
+       0,     0,     0,     0,     0,     0,   542,   540,     0,   114,
+     119,     0,     0,   522,   523,   131,     0,     0,   159,   163,
+     164,   170,     0,     0,   189,     0,   172,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,   436,     0,   451,
+       0,   171,     0,   192,   318,   194,   195,   196,   197,   168,
+       0,   187,   193,     0,     0,     0,     0,     0,     0,   479,
+     478,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,   224,   223,     0,     0,     0,     0,     0,     0,     0,
+       0,   214,     0,     0,   332,    37,     0,   527,     0,     0,
+     264,   263,     0,     0,     0,     0,     0,     0,     0,   140,
+     141,   142,     0,   558,     0,   585,     0,     0,     0,     0,
+       0,    96,     0,     0,    97,   533,     0,     0,    88,     0,
+       0,     0,    44,     0,     0,     0,     0,     0,    46,     0,
+      33,     0,     0,   126,   136,     0,   134,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   516,   517,
+       0,     0,     0,     0,     0,   448,     0,   173,     0,   325,
+     325,     0,   107,   108,   208,     0,   201,   202,   287,     0,
+     293,     0,     0,   208,     0,     0,     0,     0,     0,     0,
+       0,     0,   205,   204,     0,     0,     0,     0,   103,   104,
+     562,   568,   567,     0,   139,     0,     0,   314,     0,    92,
+      94,     0,   100,     0,    82,    89,    90,    49,     0,     0,
+       0,     0,   481,     0,     0,   448,   541,     0,     0,     0,
+     116,     0,   123,     0,   343,   345,   344,   346,     0,   347,
+     176,     0,     0,     0,     0,     0,     0,   290,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   477,     0,
+     303,     0,     0,   281,     0,   215,     0,     0,     0,     0,
+       0,     0,     0,   526,   265,     0,   143,     0,   208,   366,
+       0,   531,     0,    45,     0,     0,     0,    62,    47,     0,
+     115,   120,   126,     0,     0,   157,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,   326,   336,     0,     0,   337,
+       0,   199,     0,   294,     0,   277,     0,   208,     0,     0,
+       0,     0,     0,     0,   167,   105,   261,   309,    98,     0,
+       0,     0,     0,     0,     0,   124,   125,     0,     0,     0,
+       0,     0,     0,   188,     0,   340,     0,   341,   342,   476,
+       0,     0,   283,   218,     0,     0,     0,     0,     0,     0,
+       0,     0,    53,     0,    59,     0,     0,   117,     0,     0,
+       0,     0,     0,     0,     0,     0,   302,   282,   278,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,   219,   220,   221,   222,     0,   216,   316,    50,     0,
+      57,     0,   254,     0,   519,     0,     0,     0,     0,     0,
+       0,   284,     0,     0,    51,     0,     0,   260,     0,     0,
+       0,     0,     0,     0,   217,     0,     0,     0,     0,   503,
+     504,   505,   506,     0,     0,    54,    52,     0,    55,     0,
+     338,   339,     0,     0,    60,    58,    56
+};
+
+/* YYDEFGOTO[NTERM-NUM].  */
+static const yytype_int16 yydefgoto[] =
+{
+      -1,     2,     3,   108,  1030,   109,   110,  1011,  1831,  1837,
+    1295,  1507,  1982,  2123,  1296,  2088,  2147,  1297,  2125,  1298,
+    1299,  1511,   404,   557,   558,  1094,   111,   735,   425,  1843,
+    1992,  1844,   426,  1722,  1368,  1325,  1326,  1327,  1470,  1667,
+    1668,   876,   879,   882,   885,  1560,  1550,   719,   252,   413,
+     414,   114,   115,   116,   117,   118,   119,   120,   121,   253,
+    1195,  2016,  2079,   913,  1191,  1192,   254,   988,   255,   125,
+    1396,  1155,   874,   927,  1952,   126,   127,   128,   129,   256,
+     257,  1115,  1131,  1253,   258,   740,   259,   864,   739,   428,
+     589,   292,  1698,   327,   328,   261,   528,   335,  1283,  1500,
+     423,   419,  1246,   970,   424,   131,   383
+};
+
+/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
+   STATE-NUM.  */
+#define YYPACT_NINF -1836
+static const yytype_int16 yypact[] =
+{
+   10103,    36,    56, 10253, -1836, -1836,   -76,    51,     1,  -131,
+    -111,    17,   171,   182,   250,   285,   -12,   315,   330,     6,
+     103,    22,  -122,  -122,    74,   129,   140,    12,   153,   181,
+      20,   190,   197,   203,   208,   221,   237,   248,   322,   335,
+     352,   494,   514,   621,   370,   483,   380,  5833,   397,   410,
+     567,   -70,   283,   574,   683,    42,   420,   582,  -113,   443,
+     -52,   -52,   474,   317,   613, -1836, -1836, -1836, -1836, -1836,
+     492,   419,   655,   642,    39,    24,   647,   658,   484,   742,
+     774,   792,  5125,   804,   500,   556,   569,    29,    45, -1836,
+     583,   588, -1836, -1836,   814,   826,   601, -1836,  8050,   608,
+   10420,    26,    27, -1836, -1836, -1836,  9933,   626, -1836, -1836,
+   -1836, -1836, -1836, -1836, -1836, -1836, -1836, -1836, -1836, -1836,
+   -1836, -1836, -1836,   183, -1836, -1836, -1836, -1836,    64, -1836,
+     883,   630,  4229,   549,   662,   910,  9933,  2847,  2847, -1836,
+    9933, -1836, -1836, -1836, -1836,  2847, -1836, -1836, -1836, -1836,
+     691,   706,   965, -1836, -1836, 10450,    22,  9933,  8987,  9933,
+    9933,   746,  9933,  8987,  9933,  9933,   747,  9933,  8987,  9933,
+    9933,  9933,  9933,  9933,  9933,  2847,  9933,  9933,  9933,  6069,
+     748, -1836,  8987,  5125,  5125,  5125,  2847, -1836, -1836, -1836,
+   -1836, -1836,  -122,  -122,  -122,  -122,  -122,  -122,  -122,  -122,
+    -122,  -122,  -122,  -122,  -122,  -122,  -122,  -122,  -122,  -122,
+    -122,  -122,  -122,  -122,  -122,   -51,  -122,  -122,  -122,  -122,
+    -122,   765,  -122,  -122,   767, -1836, -1836, -1836,  -122,  -122,
+      54,     2,     8,    48,  6069,   893,   634,   780,  -122,  -122,
+     785,   787,   802, -1836, -1836, -1836,  9933,  6305,  9933,  9933,
+    6541,    22, -1836, -1836,   807, -1836,  3972, -1836, -1836,    69,
+   -1836, -1836,   176,  9933,  8987,   813,   818,  6777,  5125,  5125,
+    5125,   821,   823,   833,   836,  7013,  7249,  7485,   844,  1734,
+    1083,  6069,   852,    29,   853,   862,   -52,   -52,   -52,  9933,
+    9933,   -94, -1836,   337,   -52,  9304,   377,   290,   858,   884,
+     885,   888,   889,   890,   891,  9933,  5125,  5125,  5125,   894,
+      11,  1109,   895, -1836,  1125,  1127, -1836,   892,   896,   897,
+    5125,  5125,   900,   901,   902, -1836,  9933, -1836,  1130,  1131,
+    9933,  9933,  9933,   255,  9933,   904, -1836,   967,  9933,  9933,
+    9933, -1836, -1836,  9933, -1836,  -122,  -122,  -122,   909,   911,
+     912,  -122,  -122,  -122,  -122,  -122,  -122,  -122, -1836,  -122,
+   -1836, -1836, -1836,  -122,  -122,   913,   914,  -122,   915, -1836,
+     908,  1148,  1149,   916, -1836, -1836,  1151, -1836,  1153, -1836,
+    -122,  9933, 12920,   220,  2847,  9933, -1836, -1836,  6069,  6069,
+   -1836,   918, 10450,   646,  1154, -1836, -1836, -1836, -1836, -1836,
+   -1836,  9933,  9933,   289,  6069,  1156,   436,  1342,   923,  1160,
+      90,   925, -1836,   927,  7788,  9933, -1836,  1632,  -117, -1836,
+      91,   -88,  8464, -1836,   -83,  -201,  -158,  1081, -1836,    22,
+     924,   928, 13409,  8987,  4103, -1836,   394, 13434, 13459,  9933,
+   13484,   395, 13509, 13534,  9933, 13559,   427, 13584, 13609, 13634,
+   13659, 13684, 13709,   933, 13734, 13759, 13784,  1167,  9933,   466,
+    1170,  1171,  1172,   940,  9933,  9933,  9933,  9933,  9933,  9933,
+    9933,  9933,  9933,  9933,  9933,  9933,  9933,  9933,  9933,  9933,
+    8987,  9933,  9933,  9933,  9933,  9933,  9933,  8987,  8987,   938,
+    9933,  9933,  2847,  9933,  2847,  6069,  2847,  2847,  2847,  9933,
+      53, -1836,  1117,  9933, -1836,  1119, -1836,  1121, -1836,  1122,
+    6069,  5125,  5125,  5125,  5125,  2847,  2847,  8987,    22, 10450,
+      22,   951,  8987,   951, -1836,   951, 13809, -1836,   476,   945,
+      82,  9933,  9933,  9933,  9933,  9933,  9933,  9933,  9933,  9933,
+    9933,  9933,  9933,  9933,  9933,  7721,  9933,  9933,  9933,  9933,
+    9933,  9933,  9933,    22,  9933,  9933,  1186, -1836,   771, 13834,
+     536,  9933,  9933,  9933, -1836,  1184,  1185,  1185,  9218,  9218,
+    9218,  9218,  9933,  1187,  9933,  1189,  9933,  1194,  8987,  8987,
+   12948,   962,  1198, -1836,   963, -1836, -1836,  -172, -1836, -1836,
+    9497,  9572,   -52,   -52,   549,   549,  -165,  9304,  9304,  9933,
+    3876,  -146, -1836,  9933,  9933,  9933,  9933,  9933,  9933,  9933,
+    9933,  9933, 13859,  1199,  1202,  1203,  9933,  1205,  9933, -1836,
+    9933,  4432, -1836, -1836,  8987,  8987,  8987,  1206,  1207,  9933,
+    9933,  9933, 13884, -1836, -1836, 13909, 13934, 13959,  1036,  9805,
+   -1836,   972,  4157, 13984, 14009, 13031,  2847,  2847,  2847,  2847,
+    2847,  2847,  2847,  2847,  2847,  9933,  2847,  2847,  2847,  2847,
+      15, 10450,  2847,  2847,  2847,    22,    22, -1836, -1836,  8987,
+   -1836,  5192, -1836,  5428,  9933,   951,  9933, -1836,  9933,  9933,
+     977, 14034,  3544,   980,   541,  9933,  1215,   985,   986,   987,
+     988,  9933, 14059, 13058,   269,   978,  1225,  1227, -1836, -1836,
+   -1836,  8987,   396, -1836, -1836, -1836,    22,  9933,  9933,  1186,
+     996, -1836,   557,    37,    46,   577,  1001,   -28,   737, -1836,
+   11963, -1836,    31,  8987,    22,  9933,  9933,  1238,  1237,  8987,
+    9933,  1239,  2847,  1244, -1836,    22,  1245,  2847,  9933,  1013,
+    1014, -1836,  9933, 10450,  1246,  8987,  1080,  8987,  1252,  1254,
+   14084,  1255,  1087,  1257,  1258, 14109,  1261,  1093,  1263,  1264,
+    1265,  1266,  1267,  1269, -1836,  1270,  1271,  1273,  9933, 14134,
+    1015, -1836, -1836, -1836,  1275, 13004, 13004, 13004, 13004, 13004,
+   13004, 13004, 13004, 13004, 13004, 13004, 10324, 13004, 13004, 13004,
+   13004,  1155,   461, 13004, 13004, 13004, 10357, 10445, 10478,  4103,
+    1045,  1046,   152,  8987, 10511, 10544,   461, 10577,   461,  1041,
+    1042,  1043,   166, 15059, -1836,   461,  1049, 11992,  1050,  1051,
+    1052, -1836, -1836, -1836, -1836,  1048,  -127,   461,   -71,  1057,
+     463,   606,  1290, -1836,  1238,   461,  4388,  4567,   731,  1362,
+     769,   769,   460,   460,   460,   460,   460,   460,   561,   561,
+    8987,   402, -1836,   402,   402,   951,   951,   951, 14159, 13085,
+    1054, 14184, 13112,   164,  1062,  8987, -1836,  1295,  1061, 14209,
+   14234, 14259,  9933,  6069,  1300,  1299,  1067, 15059,  1060,  1069,
+   15059,  1063,  1070, 15059,  1064,  1074, 15059,  1068, 14284, -1836,
+   14309, -1836, 14334, -1836,   611,   612,  8987,  1072, -1836,  5664,
+   -1836,  5900,  6136,   -52,  9933,  9933, -1836, -1836,  1071,  1075,
+    9304,  8129,  1191,   685,   -52,  6372, 14359, 12021, 14384, 14409,
+   14434, 14459, 14484, 14509, 14534,  1310,  9933,  1314, -1836,  9933,
+   14559, -1836, 13139, 13166, -1836,   617,   620,   622, -1836, -1836,
+   13193, 13220, 10610, -1836,  1315,  1316,  1317,  1082,  9933,  6608,
+    9933,  9933, -1836, -1836,    38,   -98,   201,   -98,  1086,  1089,
+    1084,   461,   461,  1088, 10643,   461,   461,   461,   461,  9933,
+     461,  1320, -1836,  1090,  1091,   249,   480,  1092,   625, -1836,
+   -1836, 13004,   402,  6844,  1094,  1327,  1188,  9541,  1096,  1099,
+    1336,  6069, 12050, -1836,  9933,  9933,  9933,  9933,  1772,   326,
+     162, 10450,  9933,  1337,  1340,    35, -1836,   628,  1304,  1307,
+    6069,    70,  1101, 14584, 13247,   635,  9933,  8987,  8987,  8987,
+    8987,  9933,  1128,  1129,  1150,  1162, -1836, -1836, -1836, -1836,
+    2847,   232,  1111, 14609, 13274, -1836,  1168, -1836,   259, 10676,
+   -1836, -1836, -1836,    61, -1836, -1836, 15059, -1836,  1361, 13004,
+     461,   -52,   736,  4103, -1836,  6069,  6069,  1386,  6069,   867,
+    6069,  6069,  1391,  6069,  1308,  6069,  6069,  6069,  6069,  6069,
+    6069,  6069,  6069,  6069,  1999,  1402,  8987, -1836, -1836, -1836,
+   -1836, -1836, -1836, -1836, -1836, -1836, -1836, -1836, -1836,  9933,
+   -1836, -1836, -1836, -1836, -1836, -1836, -1836, -1836, -1836,  9933,
+    9933,  9933, -1836, -1836, -1836,   631,  9933,  9933, -1836,  9933,
+   -1836,  6069,  2847,  2847, -1836,  1163, -1836,  9933, -1836,  9933,
+    9933,  9933,  9933,  9933, -1836, -1836, -1836,  1238, -1836,  1238,
+    9933,  1173, -1836,  6069,  1175, -1836,  9933,  9933,   636, -1836,
+   -1836,  1238,   164,   -73, -1836,  9933,   638,  6069,  8987,  1407,
+    1408,  1409,  2541, -1836, -1836,  1363, -1836,   417,  9933,   417,
+    9933,   417,  9933,   417,  9933,  1410,  1411,  1412,  1414,  1415,
+     639,  1364, -1836,  7080, -1836, -1836,  -139, 10709, 10742, -1836,
+   -1836, 12079,  -134,  1318,  1419,  9625,  1183,  1420,  1190,    79,
+      80,   594, -1836,  -130, -1836,   685,  1422,  1424,  1425,  1426,
+    1427,  1429,  1433,  1434,  1436,  6069, 15059, -1836,  2098,  1204,
+    1438,  1439,  1441,  1351,  1442,  1444,  1445,  9933,  6069,  6069,
+    6069,  1449, 10775, -1836,  4831,  1250,  1450,  1451, -1836,  8987,
+   -1836, -1836, -1836, -1836,  2847, -1836, -1836,  9933,  2847, -1836,
+   -1836, -1836, -1836, 15059, -1836,  1211,  1210,  2847, -1836,  2847,
+   -1836,  1238,  2847,  1219, -1836,  1212, -1836,  1218,  1220,  9856,
+   -1836,  2142,  1221,  6069, -1836,  1240, -1836, 12108, 12137, 12166,
+   12195, -1836, -1836,  9933,  1455,   353,  9933,  1478,  1479,  2424,
+   -1836,  1481,    29,  1480,  1251,   461,  -122,  -122,  1484, -1836,
+    1256,  1259,  1262, -1836,  1486, -1836, -1836, -1836, -1836, -1836,
+    1238,   164,  1031,  9933, 13301,   641,   644,   649,   651, 14634,
+    9933,  9933,  9933,  9933,  1487,   138,  1238, -1836,  1268,  9933,
+    1492,  9933,  7957,   461,  4631,  1272,  1253, -1836,  1493,  1497,
+      97,  1274,  1276,  1383,  1383,  6069,  1500,  1277,  1278,  1502,
+    1508,  6069,  1339,  1279,  1511,  1516,  1517,  1518,  1519,  1521,
+    1522,  1523,  1524, -1836,  1526,   652, 13004, 13004, 13004, 13004,
+     461, 10808, 10841, 10874,  1294,   461,   461,  1361,   461, 10907,
+   10940, 10973, 11006, 14659, 13004,  1296,  1287, 15059, -1836,  1531,
+    1301, 15059, 15059, -1836,  1303, -1836,  1534, -1836, 14684,   461,
+    1533,   654,  6069,  6069,  6069,  1538,  1539, -1836,  6069, 15059,
+    6069, 15059,  6069, 15059,  6069, 15059,  6069,  6069,  6069,  1302,
+    1305,  1541,   462, -1836,  9933,  9933,  9933,  1309,  1311,  1313,
+    1306, -1836,  2618,  6069, -1836,  9933, -1836,  1543, -1836,  1544,
+   -1836, -1836,  9304,   657,  5361, -1836,  1333,  1334,  1335,  1354,
+    1355,  1358,  8193,  1550, -1836,  8987, -1836, -1836, -1836,  1359,
+    9933, -1836, -1836, 13328,  1572,  1596,  1431, -1836,  9933,  9933,
+    9933, -1836,  1598,   524,   385,  1360,  7841,  1366,  9933,    32,
+     461,  1367,   461,  1369, -1836, -1836, 10450,  9933, -1836, -1836,
+    2958, -1836, -1836,  1370,  1599, -1836, -1836, -1836, -1836,  3030,
+   -1836,   334,  1365,  1603,  3069, -1836, -1836, -1836,    29, -1836,
+     660, -1836,  9933,   417,  2734,  2847, -1836,  1376,  9933,  9933,
+    6069,  1377, -1836,   667,  1614,  1615, 14709,  1616,  1617,  1619,
+    1621,  1622,  1290, 14734, 14759, 14784, 14809, -1836, -1836,  2847,
+    1382,  1627, 14834, -1836, 11039,  4889, 15059, -1836,  1628,  6541,
+   -1836, -1836, -1836,  1361, -1836, -1836, -1836,  9933,  9933,   -52,
+    1630,  1631,  1633, -1836,  9933,  9933, -1836, -1836,  1641,  1555,
+    1645,  9933, -1836, -1836, -1836, -1836, -1836, -1836, -1836, -1836,
+   -1836,  1647,  1413, -1836, -1836, -1836, -1836, -1836,  9933,  9933,
+    9933, -1836, -1836, -1836,  1253, -1836,  9933,  9933,  9933,  9933,
+   -1836, -1836, -1836,  1417, -1836, -1836,  9933,   164, -1836, -1836,
+   -1836,  1416,  1648,  1339,  1653,  9933, -1836,  1655,  1656,  1657,
+    1658,  1659,   974,  1660,  8987,  8987,  9933, -1836,  9218, 12224,
+   14859,  8687,   549,   549,  9933,  9933, -1836,   544,  1406, 14884,
+   -1836, -1836, 12253,  -121, -1836,  1661,  1662,  6069,   -52,   -52,
+     -52,   -52,   -52,  5597,  1663, -1836,   668,  9933,  3115,  1664,
+   -1836, -1836,  6069,  8923,   704, 14909, -1836, -1836,  8429, -1836,
+    2847,  9933, -1836,  2847, 15059,  8515, 10450,  1430, -1836, -1836,
+   -1836, -1836,  1432,  1440, 12282,  3544, -1836,  3544,  6069, -1836,
+   -1836, 10450,  9933,  1666,  1669,    35, -1836,  1668, -1836,    29,
+   13355,  6069,  1670,   -98,   -98,  9933, 11072, 11105,   671, -1836,
+    9933,  9933,  -184, -1836,  1437, -1836, -1836, -1836, -1836, -1836,
+    1409,  1410,  1411,  1412,  1672,  9933, -1836, -1836,  9933, -1836,
+   -1836,  1448,   695,  3835,  1673, -1836, 12311, 12340,   467, -1836,
+   -1836, -1836, 12369, 12398, -1836,  1452, -1836, 12427,  1676,  6069,
+   13004, 13004, 11138, 11171, 11204, 11237, 11270, -1836, 14934, -1836,
+    9933, -1836,  1686, -1836, 15059, -1836, -1836, -1836, -1836, -1836,
+    1454, -1836, -1836,   696,   724, 12976,  3150,  1694,  1459, -1836,
+   -1836,  9933,  1461,  1462, 12456, 13382,  1696,  6069,  1699,  1465,
+    9933, -1836, -1836,   726,  -102,   -89,   -80,   142,   157,  8751,
+     168, -1836,  1702, 12485, -1836, -1836,  1540, -1836,  9933,  9933,
+   -1836, -1836,  8987,  3187,  1703,  1471, 13004,   461,  2847, 15059,
+   -1836, -1836,    32, -1836, 10450, -1836,  1469,  1470,  1472,  1710,
+    3511, -1836,  1711,  1713, -1836, -1836,  1473,  1714, -1836,  1715,
+    1716,   318, 15059,  9933,  9933,  1482,  6069,   729, 15059, 14959,
+   -1836, 14984, 11303,  1163,  1210,  6069, -1836,  9933, 10450,    22,
+    1717,  1720,  1721,  1722,  9933,  1723,  1724,   732, -1836, -1836,
+    9933,  9933,  9933,  9933,  9933, -1836, 12514, -1836,  6069,   573,
+     618,  8987, -1836, -1836,   549,  9249, -1836, -1836, -1836,  1725,
+   -1836,  1489,  6069, -1836, 12543,  1728,  8987,   -52,   -52,   -52,
+     -52,   -52, -1836, -1836,  9933, 12572, 12601,   734, -1836, -1836,
+   -1836, -1836, -1836,   740, -1836,  1496,  1498, -1836,  1733, -1836,
+   -1836,    29, -1836,  1567, -1836, -1836, -1836, -1836,  9933, 11336,
+   11369,  6069, -1836,  1737,  9933,  1505, -1836,  9933,  1536,  1537,
+   -1836,  3932, -1836,  1510, -1836, -1836, -1836, -1836, 12630, -1836,
+   -1836,  1535, 11402, 11435, 11468, 11501, 11534, -1836,   781,  1542,
+     -52,  6069,  1770,  1545,   -52,  1775,   783,  1552, -1836,  9933,
+   -1836,  1776,  1674,  7316,  1546, -1836,   790,   191,   207,   210,
+     218,   226,  3543, -1836, -1836,  1777, -1836,  1779, -1836, -1836,
+    1790, -1836,  1556, 15059,  9933,  9933,   791, -1836, 15059, 11567,
+   -1836, -1836,  1163, 10450,  1561, -1836,  9933,  9933,  9933,  9933,
+    9933,  9933,  1797,   -52,   113, -1836, -1836,   -52,   122, -1836,
+    1798, -1836, 12659, -1836,  9933, -1836,   685, -1836,  1800,  8987,
+    8987,  8987,  8987,  8751, -1836, -1836, -1836,  3544, -1836,  9933,
+   15009, 11600,    28,  9933,  1564, -1836, -1836, 11633, 11666, 11699,
+   11732, 11765, 11798, -1836,   240, -1836,   276, -1836, -1836, -1836,
+    3595,   669,  7552, -1836,   796,   798,   803,   829,   294,   854,
+    1565,   859, -1836,  9933, -1836,  6069, 12688, -1836,  9933,  9933,
+    9933,  9933,  9933,  9933,   -52,   -52, -1836, -1836, -1836,   685,
+    1806,  1807,  1808,  1809,  8987,  1810,  1813,  1815,  1580, 15034,
+     864,  1817, 12717, 13004, 11831, 11864, 11897, 11930,   307,   309,
+     697, -1836, -1836, -1836, -1836,   870, -1836, -1836, -1836,  2847,
+   -1836,  1582, -1836,  1819, -1836,  9933,  9933,  9933,  9933,  9933,
+    9933, -1836,  1821,   871, -1836,  1586,  6069, -1836, 12746, 12775,
+   12804, 12833, 12862, 12891, -1836,  1823,  2847,  2847,   877, -1836,
+   -1836, -1836, -1836,  1824,  1825, -1836, -1836,   878, -1836,  1826,
+   -1836, -1836,  1828,  2847, -1836, -1836, -1836
+};
+
+/* YYPGOTO[NTERM-NUM].  */
+static const yytype_int16 yypgoto[] =
+{
+   -1836, -1836, -1836, -1836,   520, -1836, -1836, -1836, -1836,  -193,
+   -1836, -1836, -1836, -1836, -1836, -1836, -1836, -1836, -1836, -1836,
+   -1836, -1836,  -685,   -54,    -1,  3127, -1836,  1418, -1836, -1836,
+   -1836, -1836, -1836, -1836, -1835, -1836,   470,   295,    -5, -1836,
+      33, -1836, -1836, -1836, -1836,   238,   506,  1840,     7,  -591,
+    -275, -1836, -1836, -1836, -1836, -1836, -1836, -1836, -1836,  1863,
+   -1836, -1836, -1836, -1836, -1189, -1190,  1864, -1663,  1867, -1836,
+   -1836, -1836,  1319, -1836,     5, -1836, -1836, -1836, -1836,  2007,
+   -1836, -1836,   495,   399,  1870, -1836,     4,  -680, -1836, -1836,
+       3, -1836, -1626,   291,   102,  2344,   179,  -278,   189, -1836,
+     -65,   451, -1836, -1836,  -496, -1836,    -3
+};
+
+/* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
+   positive, shift that token.  If negative, reduce the rule which
+   number is the opposite.  If zero, do what YYDEFACT says.
+   If YYTABLE_NINF, syntax error.  */
+#define YYTABLE_NINF -543
+static const yytype_int16 yytable[] =
+{
+     132,  1431,   812,   908,   909,   584,  1433,   504,  1928,  1002,
+     113,  1783,  1816,   506,  1817,   617,   161,  1010,   152,   150,
+     600,   155,   156,   139,   166,   151,   150,   266,   315,  1015,
+     316,   376,   378,   333,  2064,   282,  1665,  1027,   621,   150,
+     733,   161,     4,   310,   262,  1226,   734,  1036,   267,   337,
+     166,   399,   400,   508,   592,   593,     5,   150,  -542,   501,
+     283,   592,   593,   291,   293,   135,   296,   408,  1322,   266,
+     387,   314,   418,   421,  1289,   903,   284,   285,   405,   262,
+     592,   593,   910,   736,   336,  1426,  1428,   592,   593,   734,
+    1022,   429,   592,   593,   150,   372,   592,   593,   136,   706,
+     724,   914,   671,  1546,   673,   592,   593,   137,  1414,  1418,
+     453,   682,   699,  1857,   700,   317,   153,  1432,   154,  2045,
+    1123,   463,   722,   311,   592,   593,  1780,   138,  2047,   410,
+     723,   406,   592,   593,   420,   420,   278,   592,   593,   279,
+     412,   699,   420,   700,  1528,  1886,   592,   593,   594,   732,
+     955,   728,   957,   431,  1134,   262,   731,  2034,  1887,   729,
+     262,   553,   399,   400,   732,   262,   133,  1888,  1126,  1272,
+     134,  1386,   420,  1127,   287,   288,   262,   141,   505,   262,
+     262,   262,   262,   420,   507,   553,   289,   487,   142,   488,
+     290,   464,   465,   466,   467,   468,   469,   470,   471,   472,
+     473,   474,   475,   476,   477,   478,   479,   480,   481,   482,
+     483,   484,   485,   486,   489,   490,   491,   492,   493,   494,
+    1666,   496,   497,   312,   509,   107,   145,   499,   500,   553,
+     502,   262,   107,  1290,  1291,  1292,  1293,   516,   517,   107,
+    1427,  1429,  1948,  1431,   262,   107,   148,   262,   530,   107,
+     162,   618,  1028,  1029,   163,   529,   143,   134,   167,   140,
+     969,   262,   168,   107,   262,   262,   262,   262,   377,   379,
+    2065,   334,   262,   262,   262,   162,  1001,  1282,   262,  1018,
+     336,   313,  1227,   338,   167,   460,   461,   462,  1019,   587,
+     588,   144,   699,   694,   700,  1986,   503,   596,   601,   153,
+     107,   154,   388,   262,   262,   262,   389,   551,   899,   552,
+     901,   902,   157,  1294,  1273,  1276,   158,   262,   262,   680,
+     153,   146,   154,   592,   593,   399,   400,   915,   707,   725,
+     708,   726,  -535,  1272,   709,   727,   147,   436,   260,   592,
+     593,  1681,   441,   149,   646,   647,   648,   446,   592,   593,
+     652,   653,   654,   655,   656,   657,   658,  1491,   659,  1028,
+    1029,   459,   660,   661,  2060,   949,   664,   159,   592,   593,
+     565,   566,   567,   395,   396,   397,   398,   268,   160,   674,
+     269,   420,   270,   592,   593,   262,   262,   399,   400,  1889,
+     554,   164,   555,  1104,   592,   593,   556,   399,   400,   399,
+     400,   262,   983,  1008,  1890,  1114,  1275,   710,   613,   614,
+     615,   399,   400,   732,   554,  1891,   555,   592,   593,   165,
+     556,   385,   627,   628,  1272,   386,   741,   806,   169,   808,
+     262,   810,   811,   592,   593,   170,   592,   593,  2019,  2090,
+     699,   171,   700,   560,   592,   593,   172,  1375,  1229,  1376,
+     825,   826,   592,   593,  2020,   399,   400,  2021,   678,   173,
+     679,  1384,   695,   696,   556,  2022,   592,   593,  1617,  1618,
+     457,  1315,  1398,  2023,  1400,   174,  1402,   262,  1404,   747,
+     395,   396,   397,   398,   262,   802,   175,  2074,   699,   420,
+     700,   420,   262,   420,   420,   420,  1249,   815,  1320,   638,
+    2138,   134,   592,   593,   399,   400,   747,   262,   262,   262,
+     262,   262,   420,   420,   262,   152,   306,   152,   307,   262,
+     592,   593,   828,  2075,   830,   260,  1492,  1493,   603,   835,
+    1657,  1658,   604,   592,   593,   592,   593,   395,   396,   397,
+     398,  2084,   262,   287,   288,   395,   396,   397,   398,   371,
+     860,   375,   531,   411,  2119,   289,  2120,  1917,   564,   295,
+     176,   399,   400,   592,   593,  1918,   573,   575,   577,   399,
+     400,  1473,   582,   177,   183,   262,   262,   184,   320,   595,
+     185,   321,   956,   409,   958,   959,   960,   961,   962,   963,
+     178,   965,   966,   967,   968,   906,   907,   973,   974,   975,
+     588,   412,   412,   592,   593,   179,   430,   395,   396,   397,
+    1009,   180,   182,   821,   822,   823,   824,   297,   186,   602,
+    1513,   262,   262,   262,   699,  1173,   700,   181,   395,   396,
+     397,   398,   747,   548,   549,   263,  1530,   746,   752,   550,
+    1003,   747,   747,   420,   420,   420,   420,   420,   420,   420,
+     420,   420,   264,   420,   420,   420,   420,   971,   280,   420,
+     420,   420,   152,   977,   265,   271,   262,  1041,   272,   976,
+     757,   273,  1045,   274,   747,   699,   281,   700,   701,   683,
+     684,    59,    60,    61,    62,   286,   543,   544,   676,   546,
+     547,   548,   549,   592,   593,   697,    73,   550,   262,    76,
+     699,   831,   700,  1012,   298,  1949,  1950,  1129,   299,   770,
+    1130,  1951,  1799,   747,   300,   301,   294,   302,   303,   833,
+     262,  1032,  1184,   747,  1251,   511,   262,  1252,   512,   420,
+     305,   513,  1043,   514,   420,   304,   309,   687,   330,  1185,
+     688,   318,   262,   689,   262,   690,   322,  1186,  1187,  1188,
+    1953,  1954,   308,  1189,  1190,   319,  1951,   894,   895,   532,
+     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
+     543,   544,   545,   546,   547,   548,   549,   275,   323,   868,
+     276,   550,   277,   747,   990,  1184,   809,  1776,   991,   676,
+     546,   547,   548,   549,   331,   157,   324,  1184,   550,  1017,
+     262,   564,  1185,   935,   936,   937,  1682,   332,   329,  1144,
+    1186,  1187,  1188,  1184,  1185,   170,  1189,  1190,  1691,  1020,
+     341,   339,  1186,  1187,  1188,  1184,   340,  2051,  1189,  1190,
+    1185,  1023,   342,  1331,  1024,  1332,  1025,  1430,  1186,  1187,
+    1188,   343,  1185,   686,  1189,  1190,   373,   262,   978,  1132,
+    1186,  1187,  1188,   747,  1168,  1169,  1189,  1190,   747,   747,
+    1212,  1431,   262,  1213,   747,  1214,   384,   747,  1255,   747,
+     262,  1285,   747,  1303,  1360,   747,   391,  -538,   747,  1383,
+    1007,  1389,  1411,   747,  1518,   747,   747,  1519,   747,   390,
+    2100,   747,  1520,   262,  1521,  1572,   747,  1601,   747,   747,
+    1634,   747,  1031,  1688,   415,  1701,  1176,  1689,  1038,  -539,
+    1431,  1792,  2077,  1182,  1835,   747,   416,  1193,  1836,   532,
+     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
+     543,   544,   676,   546,   547,   548,   549,   134,  1846,  1869,
+    2121,   550,  1847,   747,   427,  1274,  1277,  1800,   534,   535,
+     536,   537,   538,   539,   540,   541,   542,   543,   544,   676,
+     546,   547,   548,   549,  1337,  1314,  1338,  1870,   550,  1885,
+     829,   747,  1923,  1836,   429,  1941,  1924,  1975,  1760,  1836,
+    1761,   747,  1105,  1976,   439,   444,   458,   732,   262,   537,
+     538,   539,   540,   541,   542,   543,   544,   676,   546,   547,
+     548,   549,  1284,   495,  1499,   498,   550,   262,  1693,  1694,
+     699,   510,   700,   865,   262,   262,   262,   262,   515,   878,
+     881,   884,   887,   518,  2002,   519,  2010,   420,  1836,  1138,
+     747,  1772,  1773,  2018,  2032,   150,   344,   747,  1836,  2080,
+     520,  2081,  1323,   747,  1146,   747,  2082,  1365,  1366,   386,
+     747,   561,   262,   262,  1330,   262,   562,   262,   262,   568,
+     262,   569,   262,   262,   262,   262,   262,   262,   262,   262,
+     262,   570,  2083,   262,   571,  1170,   747,   345,   346,   347,
+     348,   349,   350,   351,   352,   353,   578,   581,  1385,  1387,
+     354,   355,   356,   357,   583,   585,   605,  2085,   358,   359,
+     360,   747,  2087,   361,   586,   362,  1924,  2111,   262,   420,
+     420,  1836,   972,  2122,  2135,   619,   363,   747,  2136,   364,
+    2149,  2152,   606,   607,  1836,  2153,   608,   609,   610,   611,
+     262,   622,   616,   623,   624,   620,   633,   634,   625,   626,
+     629,   630,   631,   641,   262,   262,   640,   649,   666,   650,
+     651,   662,   663,   665,   667,   668,   393,   670,   669,   672,
+     685,   691,   698,   531,  1153,   704,   705,   133,   738,  1465,
+     711,   742,   764,  1467,   768,   743,   771,   772,   773,   774,
+     803,   816,  1471,   818,  1472,   819,   820,  1474,   550,   834,
+     863,   872,   873,   889,  1050,   891,  1305,  1306,  1307,  1308,
+     893,   897,   262,  1675,   898,   900,   926,  1677,   928,   947,
+     929,   931,   938,   939,   950,   262,   262,   262,   984,   989,
+    1687,   993,  1004,   365,   366,   367,   262,   994,   995,   996,
+     997,   420,  1005,  1006,   368,   420,  1016,  1515,   369,  1021,
+     370,   107,  1035,  1037,   420,  1040,   420,  1385,  1387,   420,
+    1042,  1044,  1047,  1051,  1048,  1355,  1052,  1076,  1460,  1055,
+     262,  1056,  1058,  1059,  1060,  1061,   399,   400,  1063,  1064,
+    1065,  1066,  1067,  1068,  1069,  1514,  1070,  1071,  1072,   336,
+    1073,  1077,  1265,  1957,  1102,  1504,  1505,  1103,  1111,  1112,
+    1113,  1117,  1119,  1120,  1121,  1122,  1128,  1133,  1141,   420,
+    1145,  1288,  1147,  1148,  1154,  1156,  1157,  1158,  1159,  1161,
+    1160,  1162,  1903,  1163,  1179,  1164,  1171,  1205,  1180,  1183,
+    1207,   262,  1218,  1219,  1220,  1232,  1221,  1391,  1233,  1245,
+    1248,  1234,   262,  1254,  1258,  1237,  1259,  1247,   262,  1262,
+    1257,  1263,  1264,  1280,  1281,  1300,  1333,  1334,   703,  1336,
+    1286,  1339,  1340,  1287,  1342,  1316,  1344,  1345,  1346,  1347,
+    1348,  1349,  1350,  1351,  1352,  1324,  1310,  1311,  1412,  1397,
+     532,   533,   534,   535,   536,   537,   538,   539,   540,   541,
+     542,   543,   544,   745,   546,   547,   548,   549,  1312,   262,
+     262,   262,   550,  1335,   699,   262,   700,   262,  1341,   262,
+    1313,   262,  1364,   262,   262,   262,  1319,  1343,  1464,  1354,
+    1367,  1825,  1378,  1380,  1392,  1393,  1394,  1406,  1407,  1408,
+     262,  1409,  1410,  1420,  1379,  1423,  1424,  1419,  1425,  1434,
+    1435,   262,  1436,  1437,  1438,  1633,  1439,  1683,  1390,   262,
+    1440,  1441,   262,  1442,  1446,  1447,  1445,  1448,  1449,  1450,
+    1451,  1452,  1278,  1457,  1462,  1463,  1468,  1469,  1475,  1476,
+    1477,  1490,  1478,  1482,  1714,   532,   533,   534,   535,   536,
+     537,   538,   539,   540,   541,   542,   543,   544,   676,   546,
+     547,   548,   549,  1484,  1495,  1496,  1501,   550,  1498,  1461,
+    1506,  1502,  1512,  1527,  1508,   336,  1443,  1509,  1533,  1544,
+    1543,   420,   420,  1545,  1510,  1549,  1553,   262,  1556,  1454,
+    1455,  1456,  1531,  1542,  1557,  1559,  1547,  1562,  1548,  1554,
+    1555,  1561,  1563,  1564,  1565,  1566,   420,  1567,  1568,  1569,
+    1570,  1571,   262,  1581,  1130,  1592,   262,  1594,  1597,  1600,
+    1595,  1596,  1605,  1749,  1614,  1606,  1625,  1615,  1616,  1630,
+    1631,  1622,  1728,  1623,  1483,  1624,  1645,   532,   533,   534,
+     535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
+     676,   546,   547,   548,   549,  1637,  1638,  1639,  1650,   550,
+     535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
+     676,   546,   547,   548,   549,  1805,  1640,  1641,  1807,   550,
+    1642,  1647,  1651,  1652,  1656,  1679,  1670,  1660,  1963,  1684,
+    1685,   262,   262,  1663,  1695,  1540,  1252,  1678,  1702,  1700,
+    1715,  1703,  1705,  1706,  1646,  1707,  1552,  1708,  1709,   412,
+     412,  1716,  1558,  1980,   262,  1721,  1729,  1730,   721,  1731,
+     262,  1784,  1785,  1786,  1787,  1788,  1790,  1734,  1749,   262,
+    1735,  1736,  1738,  1777,  1751,  1739,  1747,   420,  1750,  1753,
+     420,  1755,  1756,  1757,  1758,  1759,  1762,  1781,  1782,  1791,
+    1795,  1813,  1821,  1822,  1824,   262,  1828,  1812,  1840,  -540,
+    1849,  1856,  1284,  1602,  1603,  1604,   336,  1814,   262,  1607,
+    1845,  1608,  1867,  1609,  1854,  1610,  1868,  1611,  1612,  1613,
+    1873,  1874,  1880,  2027,  1876,  1877,  1882,  1883,  1892,  1899,
+    1900,  1894,  1906,  1907,  1628,  1908,  1909,  1913,  1911,  1912,
+    1914,  1915,  1916,  1934,  1921,  1636,  1935,  1936,  1937,  1939,
+    1940,  1960,  1961,  1644,  1965,  1977,   262,   187,   150,  1979,
+    1978,  1981,  2052,  1987,   188,   189,   190,  -541,  1994,   191,
+     192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
+     202,   203,   204,   205,   206,   207,   380,   209,   210,   211,
+     212,   213,   214,  1537,   262,  1541,  2006,  1996,  1271,  1990,
+    1991,  2009,  2013,  2025,  2003,  2026,   262,  2007,  2017,   220,
+     221,   222,   223,  1763,  1764,  2011,  2028,   224,  2029,   262,
+    2036,  1699,  2014,  2043,  2048,   420,  2053,  2067,  2086,   225,
+     226,   227,  2101,  2102,  2103,  2104,  2106,   228,    21,  2107,
+     229,  2108,  2109,  2112,  2126,  2127,  1719,  2134,  2137,  2145,
+    2150,  2151,  2154,   262,  2155,  1529,  2061,  1584,  1725,  1929,
+    1551,  1752,   262,   112,   737,  1904,  1933,   532,   533,   534,
+     535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
+     676,   546,   547,   548,   549,   262,   122,   123,   262,   550,
+     124,  1593,  1672,   130,  1823,  1955,     0,     0,     0,   262,
+       0,   412,     0,   262,     0,     0,   875,     0,     0,     0,
+    1967,  1968,  1969,  1970,  1971,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   336,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   262,     0,
+       0,     0,     0,     0,     0,   237,     0,  1673,  1699,   238,
+       0,     0,     0,     0,   240,   241,   242,     0,   243,   244,
+     245,     0,     0,  1796,   107,     0,     0,     0,   262,     0,
+       0,     0,     0,  2004,     0,     0,     0,  2008,     0,     0,
+     246,   381,     0,     0,     0,     0,     0,   248,     0,  1818,
+       0,     0,   326,     0,     0,     0,   579,     0,     0,   251,
+       0,  1897,  1827,     0,     0,     0,  1720,   532,   533,   534,
+     535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
+     676,   546,   547,   548,   549,  1353,  2044,     0,     0,   550,
+    2046,     0,     0,     0,     0,     0,   262,   262,   262,   262,
+     262,     0,     0,     0,     0,     0,  2058,     0,     0,     0,
+    1699,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,  2124,     0,     0,     0,     0,     0,
+    1956,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,   262,     0,     0,  1966,     0,     0,  1881,  1767,
+       0,  2146,  2148,     0,     0,     0,     0,  2098,  2099,     0,
+       0,   262,     0,     0,     0,     0,     0,     0,  2156,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,  1444,     0,   420,     0,     0,  1804,
+       0,     0,     0,   382,     0,     0,  1810,  1811,     0,     0,
+       0,     0,     0,   262,     0,     0,     0,  1922,     0,     0,
+       0,     0,  1819,   420,   420,     0,  1930,     0,     0,   407,
+       0,     0,     0,   417,     0,     0,     0,   422,  1481,     0,
+     420,     0,     0,     0,     0,     0,     0,     0,     0,  1699,
+       0,     0,     0,     0,   432,   434,   437,   438,     0,   440,
+     434,   442,   443,  1962,   445,   434,   447,   448,   449,   450,
+     451,   452,     0,   454,   455,   456,     0,     0,     0,   434,
+       0,     0,     0,     0,     0,     0,     0,     0,  2054,  2055,
+    2056,  2057,  2059,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,  1699,     0,   532,   533,   534,   535,   536,   537,
+     538,   539,   540,   541,   542,   543,   544,   676,   546,   547,
+     548,   549,     0,     0,     0,     0,   550,     0,     0,     0,
+       0,     0,  2005,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,   521,   523,   525,   526,   434,     0,     0,
+       0,     0,     0,  2105,     0,  1905,     0,     0,     0,     0,
+     559,   434,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,   580,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,   590,   591,     0,  1932,
+       0,     0,   591,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,   612,   532,   533,   534,   535,   536,   537,   538,
+     539,   540,   541,   542,   543,   544,   676,   546,   547,   548,
+     549,     0,     0,   632,     0,   550,     0,   635,   636,   637,
+       0,   639,     0,     0,     0,   642,   643,   644,     0,     0,
+     645,     0,     0,     0,     0,     0,  1699,   532,   533,   534,
+     535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
+     676,   546,   547,   548,   549,     0,     0,     0,     0,   550,
+       0,     0,     0,     0,     0,     0,     0,     0,   675,     0,
+       0,     0,   681,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   692,   693,
+       0,     0,     0,     0,     0,     0,     0,  1699,     0,     0,
+       0,     0,   720,     0,     0,     0,     0,     0,     0,     0,
+    1497,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+     523,     0,     0,     0,  2035,     0,   750,     0,     0,     0,
+       0,   755,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,   769,     0,     0,     0,     0,
+       0,   775,   776,   777,   778,   779,   780,   781,   782,   783,
+     784,   785,   786,   787,   788,   789,   790,   791,   793,   794,
+     795,   796,   797,   798,   799,   799,     0,   804,   805,     0,
+     807,     0,   435,     0,     0,     0,   813,   435,     0,     0,
+     817,     0,   435,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,   799,     0,   435,     0,     0,   434,
+       0,     0,     0,     0,     0,     0,     0,     0,   836,   837,
+     838,   839,   840,   841,   842,   843,   844,   845,   846,   847,
+     848,   849,   851,   853,   854,   855,   856,   857,   858,   859,
+       0,   861,   862,     0,     0,     0,     0,     0,   869,   870,
+     871,     0,     0,     0,     0,   877,   880,   883,   886,   888,
+       0,   890,     0,   892,     0,   434,   434,     0,     0,     0,
+       0,   524,     0,     0,   435,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,   521,   675,   911,     0,   435,     0,
+     916,   917,   918,   919,   920,   921,   922,   923,   924,     0,
+       0,     0,     0,   930,  1626,   932,     0,   933,     0,     0,
+       0,   434,   434,   434,     0,     0,   940,   941,   942,   532,
+     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
+     543,   544,   676,   546,   547,   548,   549,     0,     0,     0,
+       0,   550,   964,     0,     0,     0,     0,     0,     0,  1395,
+       0,     0,     0,     0,     0,     0,   434,     0,     0,     0,
+       0,   981,     0,   982,     0,   861,   862,     0,     0,     0,
+       0,     0,   992,     0,     0,     0,     0,     0,   998,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   434,     0,
+       0,     0,     0,     0,  1013,  1014,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+     434,     0,  1033,  1034,     0,     0,   434,  1039,   150,   344,
+       0,     0,     0,     0,     0,  1046,     0,     0,     0,  1049,
+       0,     0,   851,     0,  1053,     0,   532,   533,   534,   535,
+     536,   537,   538,   539,   540,   541,   542,   543,   544,   676,
+     546,   547,   548,   549,     0,  1074,     0,   524,   550,     0,
+     345,   346,   347,   348,   349,   350,   351,   352,   353,     0,
+       0,     0,     0,   354,   355,   356,   357,     0,     0,     0,
+       0,   358,   359,   360,     0,     0,   361,     0,   362,     0,
+     434,     0,     0,     0,     0,     0,     0,     0,     0,   363,
+       0,     0,   364,     0,   792,     0,     0,     0,     0,     0,
+       0,   800,   801,   532,   533,   534,   535,   536,   537,   538,
+     539,   540,   541,   542,   543,   544,   676,   546,   547,   548,
+     549,   150,   344,     0,     0,   550,     0,   434,     0,   393,
+       0,   827,     0,     0,     0,     0,   435,     0,     0,     0,
+       0,     0,   434,     0,     0,     0,     0,     0,     0,  1152,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,   852,
+       0,     0,     0,   345,   346,   347,   348,   349,   350,   351,
+     352,   353,     0,   434,     0,     0,   354,   355,   356,   357,
+       0,  1177,  1178,     0,   358,   359,   360,  1181,     0,   361,
+       0,   362,   435,   435,     0,     0,   365,   366,   367,     0,
+       0,     0,   363,  1206,     0,   364,  1208,   368,     0,     0,
+       0,   369,     0,   370,   107,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,  1222,     0,  1224,  1225,     0,
+       0,     0,     0,     0,  1676,     0,     0,     0,   435,   435,
+     435,     0,   393,   699,     0,   700,  1243,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,  1261,     0,     0,     0,     0,     0,
+       0,  1267,  1268,  1269,  1270,     0,     0,     0,     0,  1279,
+       0,     0,     0,   435,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,  1304,   434,   434,   434,   434,  1309,     0,
+       0,     0,     0,     0,     0,     0,  1680,     0,     0,   365,
+     366,   367,     0,     0,     0,   435,     0,     0,     0,     0,
+     368,     0,     0,     0,   369,     0,   370,   107,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,   435,     0,     0,
+       0,     0,     0,   435,     0,  1686,     0,     0,     0,     0,
+       0,     0,     0,   434,     0,     0,     0,     0,     0,   852,
+       0,  1054,     0,     0,     0,     0,  1356,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,  1357,  1358,  1359,     0,
+       0,     0,     0,  1361,  1362,     0,  1363,     0,     0,     0,
+       0,  1794,     0,     0,  1369,     0,  1370,  1371,  1372,  1373,
+    1374,     0,     0,     0,     0,     0,     0,  1377,     0,     0,
+       0,     0,     0,  1381,  1382,     0,     0,   435,     0,     0,
+       0,     0,  1388,     0,     0,   434,  1872,     0,     0,     0,
+       0,     0,     0,     0,     0,  1399,     0,  1401,     0,  1403,
+       0,  1405,     0,   532,   533,   534,   535,   536,   537,   538,
+     539,   540,   541,   542,   543,   544,   676,   546,   547,   548,
+     549,     0,  1422,  1898,   435,   550,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,   435,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,  1453,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,   434,     0,     0,     0,
+     435,     0,     0,     0,  1466,   532,   533,   534,   535,   536,
+     537,   538,   539,   540,   541,   542,   543,   544,   676,   546,
+     547,   548,   549,     0,     0,     0,  1480,   550,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+    1489,     0,     0,  1494,   532,   533,   534,   535,   536,   537,
+     538,   539,   540,   541,   542,   543,   544,   676,   546,   547,
+     548,   549,     0,     0,     0,     0,   550,     0,     0,     0,
+    1516,     0,     0,     0,     0,     0,     0,  1523,  1524,  1525,
+    1526,     0,     0,     0,     0,     0,  1532,     0,  1534,  1536,
+     532,   533,   534,   535,   536,   537,   538,   539,   540,   541,
+     542,   543,   544,   676,   546,   547,   548,   549,     0,     0,
+       0,     0,   550,     0,     0,     0,     0,     0,     0,     0,
+       0,   435,   435,   435,   435,   532,   533,   534,   535,   536,
+     537,   538,   539,   540,   541,   542,   543,   544,   676,   546,
+     547,   548,   549,     0,     0,     0,     0,   550,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,   532,   533,   534,   535,   536,   537,   538,   539,
+     540,   541,   542,   543,   544,   676,   546,   547,   548,   549,
+     435,  1619,  1620,  1621,   550,     0,     0,     0,     0,     0,
+    1627,     0,  1629,     0,     0,     0,     0,     0,     0,  1632,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,   434,     0,     0,     0,     0,  1648,     0,     0,
+       0,     0,     0,     0,     0,  1653,  1654,  1655,     0,     0,
+       0,     0,     0,     0,     0,  1664,     0,     0,     0,     0,
+       0,     0,     0,     0,  1674,     0,     0,     0,     0,     0,
+       0,     0,   435,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,  1690,
+       0,     0,     0,     0,     0,  1696,  1697,  1910,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,   702,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,  1723,     0,     0,  2024,
+       0,     0,     0,     0,  1726,  1727,     0,     7,     8,     0,
+       0,  1732,  1733,     0,     0,     0,     0,     0,  1737,     0,
+       0,     0,     0,   435,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,  1740,  1741,  1742,     0,     0,
+       0,     0,     0,  1743,  1744,  1745,  1746,     0,     0,     0,
+       0,  2076,     0,  1748,     0,     0,     0,     0,     0,     0,
+       0,     0,  1754,     0,     0,     0,     0,     0,     0,     0,
+       0,   434,   434,  1765,     0,  1766,     0,   814,     0,     0,
+       0,  1774,  1775,     0,     0,   712,    25,    26,   713,    28,
+      29,   714,    31,   715,    33,    34,    35,    36,     0,     0,
+     434,    38,    39,    40,  1793,     0,    42,     0,     0,     0,
+       0,     0,   716,    48,     0,  1803,    50,   717,  1806,    53,
+     718,     0,  1809,     0,     0,   986,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,   866,     0,     0,    70,  1820,
+       0,     0,   987,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,  1832,     0,     0,     0,     0,  1838,  1839,     0,
+       0,     0,    84,    85,    86,     0,     0,     0,     0,     0,
+       0,     0,  1841,     0,     0,  1842,   532,   533,   534,   535,
+     536,   537,   538,   539,   540,   541,   542,   543,   544,   676,
+     546,   547,   548,   549,     0,     0,     0,     0,   550,     0,
+       0,     0,     0,     0,     0,     0,     0,  1866,   532,   533,
+     534,   535,   536,   537,   538,   539,   540,   541,   542,   543,
+     544,   676,   546,   547,   548,   549,     0,     0,  1875,     0,
+     550,     0,     0,     0,     0,     0,     0,  1884,     0,   435,
+       0,     0,     0,     0,     0,     0,   523,     0,     0,     0,
+       0,     0,     0,     0,     0,  1895,  1896,     0,     0,   434,
+     532,   533,   534,   535,   536,   537,   538,   539,   540,   541,
+     542,   543,   544,   676,   546,   547,   548,   549,     0,     0,
+       0,     0,   550,     0,     0,     0,     0,     0,     0,     0,
+    1919,  1920,  1848,   531,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,  1931,     0,     0,     0,     0,     0,
+       0,  1938,     0,     0,     0,     0,     0,  1942,  1943,  1944,
+    1945,  1946,     0,     0,     0,     0,     0,     0,   434,     0,
+       0,     0,     0,  1724,     0,     0,     0,     0,     0,     7,
+       8,     0,     0,   434,     0,     0,     0,     0,     0,     0,
+       0,  1972,  1078,  1079,  1080,  1081,  1082,  1083,  1084,  1085,
+    1086,  1087,  1088,     0,  1090,  1091,  1092,  1093,     0,  1095,
+    1096,  1097,  1098,     0,     0,  1983,     0,     0,     0,     0,
+       0,  1988,     0,  1108,  1989,  1110,     0,     0,     0,  1993,
+       0,     0,  1116,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,  1124,  1125,     0,     0,     0,   435,   435,
+       0,     0,  1135,     0,     0,     0,  2012,   712,    25,    26,
+     713,    28,    29,   714,    31,   715,    33,    34,    35,    36,
+     531,     0,     0,    38,    39,    40,     0,   435,    42,     0,
+       0,  2030,  2031,     0,   716,    48,     0,     0,    50,   717,
+       0,    53,   718,  2037,  2038,  2039,  2040,  2041,  2042,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+      70,  2050,     0,     0,     0,     0,   434,   434,   434,   434,
+     434,     0,     0,     0,     0,     0,  1838,     0,     0,     0,
+    2066,     0,     0,     0,    84,    85,    86,     0,     0,     0,
+     532,   533,   534,   535,   536,   537,   538,   539,   540,   541,
+     542,   543,   544,   745,   546,   547,   548,   549,     0,     0,
+    2089,     0,   550,     0,     0,  2092,  2093,  2094,  2095,  2096,
+    2097,     0,  1228,  1230,  1231,     0,     0,     0,  1235,  1236,
+       0,   434,  1239,  1240,  1241,  1242,     0,  1244,     0,     0,
+       0,     0,  1250,     0,     0,     0,     0,     0,     0,     0,
+       0,   531,     0,     0,     0,     0,     0,     0,     0,   912,
+       0,     0,  2128,  2129,  2130,  2131,  2132,  2133,     0,     0,
+       0,     0,     0,   524,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,   435,   532,   533,   534,
+     535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
+     676,   546,   547,   548,   549,   951,     0,     0,     0,   550,
+       0,     0,     0,     0,     0,     0,  1328,  1329,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,   532,   533,   534,
+     535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
+     545,   546,   547,   548,   549,     0,     0,     0,     0,   550,
+       0,     0,     0,     0,     0,   435,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+     435,     0,   187,   150,   344,     0,   392,     0,     0,   188,
+     189,   190,     0,     0,   191,   192,   193,   194,   195,   196,
+     197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
+     207,   380,   209,   210,   211,   212,   213,   214,     0,     0,
+       0,     0,     0,     0,     0,   345,   346,   347,   348,   349,
+     350,   351,   352,   353,   220,   221,   222,   223,   354,   355,
+     356,   357,   224,     0,     0,     0,   358,   359,   360,     0,
+       0,   361,     0,   362,   225,   226,   227,     0,     0,     0,
+       0,     0,   228,    21,   363,   229,     0,   364,   532,   533,
+     534,   535,   536,   537,   538,   539,   540,   541,   542,   543,
+     544,   745,   546,   547,   548,   549,     0,     0,     0,     0,
+     550,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,   393,     0,     0,     0,     0,     0,
+       0,     0,     0,   435,   435,   435,   435,   435,     0,     0,
+       0,     0,   532,   533,   534,   535,   536,   537,   538,   539,
+     540,   541,   542,   543,   544,   676,   546,   547,   548,   549,
+       0,     0,     0,     0,   550,     0,  1136,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,  1503,   394,     0,     0,     0,     0,     0,     0,
+     237,   365,   366,   367,   238,     0,     0,     0,   435,   240,
+     241,   242,   368,   243,   244,   245,   369,     0,   370,   107,
+     395,   396,   397,   398,     0,     7,     8,     0,     0,     0,
+    1538,     0,     0,     0,     0,   246,   381,     0,     0,     0,
+       0,     0,   248,     0,   399,   400,     0,   401,     0,   402,
+       0,     0,     0,   403,   251,     0,     0,     0,     0,     0,
+       0,     0,     0,  1573,  1574,  1575,  1576,  1577,     0,     0,
+       0,     0,  1582,  1583,     0,  1585,     0,     0,     0,     0,
+       0,  1591,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,  1599,     0,     0,     0,
+       0,     0,     0,   712,    25,    26,   713,    28,    29,   714,
+      31,   715,    33,    34,    35,    36,     0,     0,     0,    38,
+      39,    40,     0,     0,    42,     0,     0,     0,     0,     0,
+     716,    48,     0,     0,    50,   717,     0,    53,   718,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,  1137,    70,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,  1659,     0,  1662,     0,     0,     0,  1669,     0,  1671,
+      84,    85,    86,   532,   533,   534,   535,   536,   537,   538,
+     539,   540,   541,   542,   543,   544,   676,   546,   547,   548,
+     549,     0,     0,     0,     0,   550,     0,     0,     0,     0,
+       0,  1692,     0,     0,   187,     6,   344,     0,     0,     0,
+       0,   188,   189,   190,     0,     0,   191,   192,   193,   194,
+     195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
+     205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
+     215,   216,   217,   218,   219,   934,     0,   345,   346,   347,
+     348,   349,   350,   351,   352,   353,   220,   221,   222,   223,
+     354,   355,   356,   357,   224,     0,     0,     0,   358,   359,
+     360,     0,     0,   361,     0,   362,   225,   226,   227,     0,
+       0,     0,     0,     0,   228,    21,   363,   229,     0,   364,
+       0,     0,   230,     0,     0,   231,     0,     0,   232,     0,
+     233,     0,     0,     0,     0,     0,     0,    37,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,   234,
+       0,    49,     0,     0,   235,     0,   236,     0,     0,     0,
+       0,     0,     0,    59,    60,    61,    62,    63,     0,     0,
+      65,    66,    67,    68,    69,     0,     0,     0,    73,     0,
+       0,    76,   532,   533,   534,   535,   536,   537,   538,   539,
+     540,   541,   542,   543,   544,   676,   546,   547,   548,   549,
+       0,     0,     0,     0,   550,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+    1829,  1830,   237,   365,   366,   367,   238,   239,     0,     0,
+       0,   240,   241,   242,   368,   243,   244,   245,   369,  1459,
+     370,   107,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,   246,   247,     0,
+       0,     0,     0,     0,   248,     0,     0,  1858,  1859,   326,
+       0,     0,     0,  1539,     0,     0,   251,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,   187,     6,   344,     0,     0,     0,     0,   188,
+     189,   190,     0,     0,   191,   192,   193,   194,   195,   196,
+     197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
+     207,   208,   209,   210,   211,   212,   213,   214,   215,   216,
+     217,   218,   219,  1901,  1902,   345,   346,   347,   348,   349,
+     350,   351,   352,   353,   220,   221,   222,   223,   354,   355,
+     356,   357,   224,     0,     0,     0,   358,   359,   360,     0,
+       0,   361,     0,   362,   225,   226,   227,     0,     0,     0,
+       0,     0,   228,    21,   363,   229,     0,   364,     0,     0,
+     230,     0,     0,   231,     0,     0,   232,     0,   233,     0,
+       0,     0,     0,     0,     0,    37,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,   234,     0,    49,
+       0,     0,   235,     0,   236,     0,     0,     0,     0,     0,
+       0,    59,    60,    61,    62,    63,     0,     0,    65,    66,
+      67,    68,    69,     0,     0,     0,    73,     0,     0,    76,
+       0,     0,     0,     0,     0,     0,   532,   533,   534,   535,
+     536,   537,   538,   539,   540,   541,   542,   543,   544,   676,
+     546,   547,   548,   549,     0,     0,     0,     0,   550,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+     237,   365,   366,   367,   238,   239,     0,     0,     0,   240,
+     241,   242,   368,   243,   244,   245,   369,     0,   370,   107,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,   246,   247,     0,     0,     0,
+       0,     0,   248,     0,     0,     0,     0,   326,   187,     6,
+     325,   250,     0,     0,   251,   188,   189,   190,     0,     0,
+     191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
+     201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
+     211,   212,   213,   214,   215,   216,   217,   218,   219,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+     220,   221,   222,   223,     0,     0,     0,     0,   224,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+     225,   226,   227,     0,     0,     7,     8,     0,   228,    21,
+       0,   229,     0,     0,     0,     0,   230,     0,     0,   231,
+    2114,     0,   232,     0,   233,     0,     0,     0,     0,     0,
+       0,    37,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,   234,     0,    49,     0,     0,   235,     0,
+     236,     0,     0,     0,     0,     0,     0,    59,    60,    61,
+      62,    63,     0,     0,    65,    66,    67,    68,    69,     0,
+       0,     0,    73,     0,     0,    76,     0,     0,     0,     0,
+       0,     0,     0,   712,    25,    26,   713,    28,    29,   714,
+      31,   715,    33,    34,    35,    36,     0,     0,     0,    38,
+      39,    40,     0,     0,    42,     0,     0,     0,     0,     0,
+     716,    48,     0,     0,    50,   717,   237,    53,   718,     0,
+     238,   239,     0,     0,     0,   240,   241,   242,     0,   243,
+     244,   245,     0,     0,     0,   107,    70,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,   246,   247,     0,     0,     0,     0,     0,   248,     0,
+      84,    85,    86,   326,   187,     6,  1635,   250,     0,     0,
+     251,   188,   189,   190,     0,     0,   191,   192,   193,   194,
+     195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
+     205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
+     215,   216,   217,   218,   219,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,   220,   221,   222,   223,
+       0,     0,     0,     0,   224,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,   979,   225,   226,   227,     0,
+       0,     7,     8,     0,   228,    21,     0,   229,     0,     0,
+       0,     0,   230,     0,     0,   231,     0,     0,   232,     0,
+     233,     0,     0,     0,     0,     0,     0,    37,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,   234,
+       0,    49,     0,     0,   235,     0,   236,     0,     0,     0,
+       0,     0,     0,    59,    60,    61,    62,    63,     0,     0,
+      65,    66,    67,    68,    69,     0,     0,     0,    73,     0,
+       0,    76,     0,     0,     0,     0,     0,     0,     0,   712,
+      25,    26,   713,    28,    29,   714,    31,   715,    33,    34,
+      35,    36,     0,     0,     0,    38,    39,    40,     0,     0,
+      42,     0,     0,     0,     0,     0,   716,    48,     0,     0,
+      50,   717,   237,    53,   718,     0,   238,   239,     0,     0,
+       0,   240,   241,   242,     0,   243,   244,   245,     0,     0,
+       0,   107,    70,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,   246,   247,     0,
+       0,     0,     0,     0,   248,     0,    84,    85,    86,   326,
+     187,     6,     0,   250,     0,     0,   251,   188,   189,   190,
+       0,     0,   191,   192,   193,   194,   195,   196,   197,   198,
+     199,   200,   201,   202,   203,   204,   205,   206,   207,   208,
+     209,   210,   211,   212,   213,   214,   215,   216,   217,   218,
+     219,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,   220,   221,   222,   223,     0,     0,     0,     0,
+     224,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,   980,   225,   226,   227,     0,     0,     7,     8,     0,
+     228,    21,     0,   229,     0,     0,     0,     0,   230,     0,
+       0,   231,     0,     0,   232,     0,   233,     0,     0,     0,
+       0,     0,     0,    37,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,   234,     0,    49,     0,     0,
+     235,     0,   236,     0,     0,     0,     0,     0,     0,    59,
+      60,    61,    62,    63,     0,     0,    65,    66,    67,    68,
+      69,     0,     0,     0,    73,     0,     0,    76,     0,     0,
+       0,     0,     0,     0,     0,   712,    25,    26,   713,    28,
+      29,   714,    31,   715,    33,    34,    35,    36,     0,     0,
+       0,    38,    39,    40,     0,     0,    42,     0,     0,     0,
+       0,     0,   716,    48,     0,     0,    50,   717,   237,    53,
+     718,     0,   238,   239,     0,     0,     0,   240,   241,   242,
+       0,   243,   244,   245,     0,     0,     0,   107,    70,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,   597,  1789,     0,     0,     0,     0,     0,
+     248,     0,    84,    85,    86,   599,   187,     6,     0,   290,
+     527,     0,   251,   188,   189,   190,     0,     0,   191,   192,
+     193,   194,   195,   196,   197,   198,   199,   200,   201,   202,
+     203,   204,   205,   206,   207,   208,   209,   210,   211,   212,
+     213,   214,   215,   216,   217,   218,   219,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   220,   221,
+     222,   223,     0,     0,     0,     0,   224,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,  1172,   225,   226,
+     227,     0,     0,     7,     8,     0,   228,    21,     0,   229,
+       0,     0,     0,     0,   230,     0,     0,   231,     0,     0,
+     232,     0,   233,     0,     0,     0,     0,     0,     0,    37,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,   234,     0,    49,     0,     0,   235,     0,   236,     0,
+       0,     0,     0,     0,     0,    59,    60,    61,    62,    63,
+       0,     0,    65,    66,    67,    68,    69,     0,     0,     0,
+      73,     0,     0,    76,     0,     0,     0,     0,     0,     0,
+       0,   712,    25,    26,   713,    28,    29,   714,    31,   715,
+      33,    34,    35,    36,     0,     0,     0,    38,    39,    40,
+       0,     0,    42,     0,     0,     0,     0,     0,   716,    48,
+       0,     0,    50,   717,   237,    53,   718,     0,   238,   239,
+       0,     0,     0,   240,   241,   242,     0,   243,   244,   245,
+       0,     0,     0,   107,    70,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,   246,
+     247,     0,     0,     0,     0,     0,   248,     0,    84,    85,
+      86,   249,   187,     6,     0,   250,     0,     0,   251,   188,
+     189,   190,     0,     0,   191,   192,   193,   194,   195,   196,
+     197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
+     207,   208,   209,   210,   211,   212,   213,   214,   215,   216,
+     217,   218,   219,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,   220,   221,   222,   223,     0,     0,
+       0,     0,   224,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,  1174,   225,   226,   227,     0,     0,     7,
+       8,     0,   228,    21,     0,   229,     0,     0,     0,     0,
+     230,     0,     0,   231,     0,     0,   232,     0,   233,     0,
+       0,     0,     0,     0,     0,    37,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,   234,     0,    49,
+       0,     0,   235,     0,   236,     0,     0,     0,     0,     0,
+       0,    59,    60,    61,    62,    63,     0,     0,    65,    66,
+      67,    68,    69,     0,     0,     0,    73,     0,     0,    76,
+       0,     0,     0,     0,     0,     0,     0,   712,    25,    26,
+     713,    28,    29,   714,    31,   715,    33,    34,    35,    36,
+       0,     0,     0,    38,    39,    40,     0,     0,    42,     0,
+       0,     0,     0,     0,   716,    48,     0,     0,    50,   717,
+     237,    53,   718,     0,   238,   239,     0,     0,     0,   240,
+     241,   242,     0,   243,   244,   245,     0,     0,     0,   107,
+      70,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,   246,   247,     0,     0,     0,
+       0,     0,   248,     0,    84,    85,    86,   326,   187,     6,
+       0,   250,     0,     0,   251,   188,   189,   190,     0,     0,
+     191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
+     201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
+     211,   212,   213,   214,   215,   216,   217,   218,   219,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+     220,   221,   222,   223,     0,     0,     0,     0,   224,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,  1175,
+     225,   226,   227,     0,     0,     7,     8,     0,   228,    21,
+       0,   229,     0,     0,     0,     0,   230,     0,     0,   231,
+       0,     0,   232,     0,   233,     0,     0,     0,     0,     0,
+       0,    37,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,   234,     0,    49,     0,     0,   235,     0,
+     236,     0,     0,     0,     0,     0,     0,    59,    60,    61,
+      62,    63,     0,     0,    65,    66,    67,    68,    69,     0,
+       0,     0,    73,     0,     0,    76,     0,     0,     0,     0,
+       0,     0,     0,   712,    25,    26,   713,    28,    29,   714,
+      31,   715,    33,    34,    35,    36,     0,     0,     0,    38,
+      39,    40,     0,     0,    42,     0,     0,     0,     0,     0,
+     716,    48,     0,     0,    50,   717,   237,    53,   718,     0,
+     238,   239,     0,     0,     0,   240,   241,   242,     0,   243,
+     244,   245,     0,     0,     0,   107,    70,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,   246,   433,     0,     0,     0,     0,     0,   248,     0,
+      84,    85,    86,   326,   187,     6,     0,   522,     0,     0,
+     251,   188,   189,   190,     0,     0,   191,   192,   193,   194,
+     195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
+     205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
+     215,   216,   217,   218,   219,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,   220,   221,   222,   223,
+       0,     0,     0,     0,   224,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,  1194,   225,   226,   227,     0,
+       0,     7,     8,     0,   228,    21,     0,   229,     0,     0,
+       0,     0,   230,     0,     0,   231,     0,     0,   232,     0,
+     233,     0,     0,     0,     0,     0,     0,    37,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,   234,
+       0,    49,     0,     0,   235,     0,   236,     0,     0,     0,
+       0,     0,     0,    59,    60,    61,    62,    63,     0,     0,
+      65,    66,    67,    68,    69,     0,     0,     0,    73,     0,
+       0,    76,     0,     0,     0,     0,     0,     0,     0,   712,
+      25,    26,   713,    28,    29,   714,    31,   715,    33,    34,
+      35,    36,     0,     0,     0,    38,    39,    40,     0,     0,
+      42,     0,     0,     0,     0,     0,   716,    48,     0,     0,
+      50,   717,   237,    53,   718,     0,   238,   239,     0,     0,
+       0,   240,   241,   242,     0,   243,   244,   245,     0,     0,
+       0,   107,    70,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,   246,   433,     0,
+       0,     0,     0,     0,   248,     0,    84,    85,    86,   326,
+     187,     6,     0,     0,   527,     0,   251,   188,   189,   190,
+       0,     0,   191,   192,   193,   194,   195,   196,   197,   198,
+     199,   200,   201,   202,   203,   204,   205,   206,   207,   208,
+     209,   210,   211,   212,   213,   214,   215,   216,   217,   218,
+     219,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,   220,   221,   222,   223,     0,     0,     0,     0,
+     224,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,  1223,   225,   226,   227,     0,     0,     7,     8,     0,
+     228,    21,     0,   229,     0,     0,     0,     0,   230,     0,
+       0,   231,     0,     0,   232,     0,   233,     0,     0,     0,
+       0,     0,     0,    37,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,   234,     0,    49,     0,     0,
+     235,     0,   236,     0,     0,     0,     0,     0,     0,    59,
+      60,    61,    62,    63,     0,     0,    65,    66,    67,    68,
+      69,     0,     0,     0,    73,     0,     0,    76,     0,     0,
+       0,     0,     0,     0,     0,   712,    25,    26,   713,    28,
+      29,   714,    31,   715,    33,    34,    35,    36,     0,     0,
+       0,    38,    39,    40,     0,     0,    42,     0,     0,     0,
+       0,     0,   716,    48,     0,     0,    50,   717,   237,    53,
+     718,     0,   238,   239,     0,     0,     0,   240,   241,   242,
+       0,   243,   244,   245,     0,     0,     0,   107,    70,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,   246,   247,     0,     0,     0,     0,     0,
+     248,     0,    84,    85,    86,   563,   187,     6,     0,   250,
+       0,     0,   251,   188,   189,   190,     0,     0,   191,   192,
+     193,   194,   195,   196,   197,   198,   199,   200,   201,   202,
+     203,   204,   205,   206,   207,   208,   209,   210,   211,   212,
+     213,   214,   215,   216,   217,   218,   219,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   220,   221,
+     222,   223,     0,     0,     0,     0,   224,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,  1256,   225,   226,
+     227,     0,     0,     7,     8,     0,   228,    21,     0,   229,
+       0,     0,     0,     0,   230,     0,     0,   231,     0,     0,
+     232,     0,   233,     0,     0,     0,     0,     0,     0,    37,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,   234,     0,    49,     0,     0,   235,     0,   236,     0,
+       0,     0,     0,     0,     0,    59,    60,    61,    62,    63,
+       0,     0,    65,    66,    67,    68,    69,     0,     0,     0,
+      73,     0,     0,    76,     0,     0,     0,     0,     0,     0,
+       0,   712,    25,    26,   713,    28,    29,   714,    31,   715,
+      33,    34,    35,    36,     0,     0,     0,    38,    39,    40,
+       0,     0,    42,     0,     0,     0,     0,     0,   716,    48,
+       0,     0,    50,   717,   237,    53,   718,     0,   238,   239,
+       0,     0,     0,   240,   241,   242,     0,   243,   244,   245,
+       0,     0,     0,   107,    70,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,   246,
+     247,     0,     0,     0,     0,     0,   248,     0,    84,    85,
+      86,   572,   187,     6,     0,   250,     0,     0,   251,   188,
+     189,   190,     0,     0,   191,   192,   193,   194,   195,   196,
+     197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
+     207,   208,   209,   210,   211,   212,   213,   214,   215,   216,
+     217,   218,   219,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,   220,   221,   222,   223,     0,     0,
+       0,     0,   224,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,  1413,   225,   226,   227,     0,     0,     7,
+       8,     0,   228,    21,     0,   229,     0,     0,     0,     0,
+     230,     0,     0,   231,     0,     0,   232,     0,   233,     0,
+       0,     0,     0,     0,     0,    37,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,   234,     0,    49,
+       0,     0,   235,     0,   236,     0,     0,     0,     0,     0,
+       0,    59,    60,    61,    62,    63,     0,     0,    65,    66,
+      67,    68,    69,     0,     0,     0,    73,     0,     0,    76,
+       0,     0,     0,     0,     0,     0,     0,   712,    25,    26,
+     713,    28,    29,   714,    31,   715,    33,    34,    35,    36,
+       0,     0,     0,    38,    39,    40,     0,     0,    42,     0,
+       0,     0,     0,     0,   716,    48,     0,     0,    50,   717,
+     237,    53,   718,     0,   238,   239,     0,     0,     0,   240,
+     241,   242,     0,   243,   244,   245,     0,     0,     0,   107,
+      70,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,   246,   247,     0,     0,     0,
+       0,     0,   248,     0,    84,    85,    86,   574,   187,     6,
+       0,   250,     0,     0,   251,   188,   189,   190,     0,     0,
+     191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
+     201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
+     211,   212,   213,   214,   215,   216,   217,   218,   219,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+     220,   221,   222,   223,     0,     0,     0,     0,   224,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,  2015,
+     225,   226,   227,     0,     0,     7,     8,     0,   228,    21,
+       0,   229,     0,     0,     0,     0,   230,     0,     0,   231,
+       0,     0,   232,     0,   233,     0,     0,     0,     0,     0,
+       0,    37,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,   234,     0,    49,     0,     0,   235,     0,
+     236,     0,     0,     0,     0,     0,     0,    59,    60,    61,
+      62,    63,     0,     0,    65,    66,    67,    68,    69,     0,
+       0,     0,    73,     0,     0,    76,     0,     0,     0,     0,
+       0,     0,     0,   712,    25,    26,   713,    28,    29,   714,
+      31,   715,    33,    34,    35,    36,     0,     0,     0,    38,
+      39,    40,     0,     0,    42,     0,     0,     0,     0,     0,
+     716,    48,     0,     0,    50,   717,   237,    53,   718,     0,
+     238,   239,     0,     0,     0,   240,   241,   242,     0,   243,
+     244,   245,     0,     0,     0,   107,    70,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,   246,   247,     0,     0,     0,     0,     0,   248,     0,
+      84,    85,    86,   576,   187,     6,     0,   250,     0,     0,
+     251,   188,   189,   190,     0,     0,   191,   192,   193,   194,
+     195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
+     205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
+     215,   216,   217,   218,   219,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,   220,   221,   222,   223,
+       0,     0,     0,     0,   224,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,  2078,   225,   226,   227,     0,
+       0,     7,     8,     0,   228,    21,     0,   229,     0,     0,
+       0,     0,   230,     0,     0,   231,     0,     0,   232,     0,
+     233,     0,     0,     0,     0,     0,     0,    37,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,   234,
+       0,    49,     0,     0,   235,     0,   236,     0,     0,     0,
+       0,     0,     0,    59,    60,    61,    62,    63,     0,     0,
+      65,    66,    67,    68,    69,     0,     0,     0,    73,     0,
+       0,    76,     0,     0,     0,     0,     0,     0,     0,   712,
+      25,    26,   713,    28,    29,   714,    31,   715,    33,    34,
+      35,    36,     0,     0,     0,    38,    39,    40,     0,     0,
+      42,     0,     0,     0,     0,     0,   716,    48,     0,     0,
+      50,   717,   237,    53,   718,     0,   238,   239,     0,     0,
+       0,   240,   241,   242,     0,   243,   244,   245,     0,     0,
+       0,   107,    70,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,   246,   433,     0,
+       0,     0,     0,     0,   248,     0,    84,    85,    86,   326,
+     187,   150,   344,   850,     0,     0,   251,   188,   189,   190,
+       0,     0,   191,   192,   193,   194,   195,   196,   197,   198,
+     199,   200,   201,   202,   203,   204,   205,   206,   207,   380,
+     209,   210,   211,   212,   213,   214,     0,     0,     0,     0,
+       0,     0,     0,   345,   346,   347,   348,   349,   350,   351,
+     352,   353,   220,   221,   222,   223,   354,   355,   356,   357,
+     224,     0,     0,     0,   358,   359,   360,     0,     0,   361,
+       0,   362,   225,   226,   227,     0,     0,     0,     0,     0,
+     228,    21,   363,   229,     0,   364,     0,     0,     0,     0,
+       0,     0,     0,     0,   150,   344,   532,   533,   534,   535,
+     536,   537,   538,   539,   540,   541,   542,   543,   544,   676,
+     546,   547,   548,   549,     0,     0,     0,     0,   550,     0,
+     699,     0,   700,     0,     0,     0,     0,     0,  1661,     0,
+       0,     0,     0,     0,     0,     0,   345,   346,   347,   348,
+     349,   350,   351,   352,   353,     0,     0,     0,     0,   354,
+     355,   356,   357,     0,     0,     0,     0,   358,   359,   360,
+       0,     0,   361,     0,   362,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,   363,     0,     0,   364,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   237,   365,
+     366,   367,   238,     0,     0,     0,     0,   240,   241,   242,
+     368,   243,   244,   245,   369,     0,   370,   107,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,   246,   381,     0,     0,     0,     0,     0,
+     248,     0,     0,     0,     0,   326,   187,     6,     0,  1535,
+       0,     0,   251,   188,   189,   190,     0,     0,   191,   192,
+     193,   194,   195,   196,   197,   198,   199,   200,   201,   202,
+     203,   204,   205,   206,   207,   208,   209,   210,   211,   212,
+     213,   214,   215,   216,   217,   218,   219,     0,     0,     0,
+       0,     0,   365,   366,   367,     0,     0,     0,   220,   221,
+     222,   223,     0,   368,     0,     0,   224,   369,     0,   370,
+     107,     0,     0,     0,     0,     0,     0,     0,   225,   226,
+     227,     0,     0,     0,     0,     0,   228,    21,     0,   229,
+       0,     0,     0,     0,   230,     0,     0,   231,     0,     0,
+     232,     0,   233,     0,     0,     0,     0,     0,     0,    37,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,   234,     0,    49,     0,     0,   235,     0,   236,     0,
+       0,     0,     0,     0,     0,    59,    60,    61,    62,    63,
+       0,     0,    65,    66,    67,    68,    69,     0,     0,     0,
+      73,     0,     0,    76,   532,   533,   534,   535,   536,   537,
+     538,   539,   540,   541,   542,   543,   544,   676,   546,   547,
+     548,   549,     0,     0,     0,     0,   550,     0,   943,     0,
+       0,     0,     0,     0,     0,     0,   904,     0,     0,     0,
+       0,     0,     0,     0,   237,     0,     0,     0,   238,   239,
+       0,     0,     0,   240,   241,   242,     0,   243,   244,   245,
+       0,     0,     0,   107,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,   246,
+     247,     0,     0,     0,     0,     0,   248,     0,     0,     0,
+       0,   326,   187,   150,   344,  1643,     0,     0,   251,   188,
+     189,   190,     0,     0,   191,   192,   193,   194,   195,   196,
+     197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
+     207,   380,   209,   210,   211,   212,   213,   214,     0,     0,
+       0,     0,     0,     0,     0,   345,   346,   347,   348,   349,
+     350,   351,   352,   353,   220,   221,   222,   223,   354,   355,
+     356,   357,   224,     0,     0,     0,   358,   359,   360,     0,
+       0,   361,     0,   362,   225,   226,   227,     0,     0,     0,
+       0,     0,   228,    21,   363,   229,     0,   364,   187,   150,
+     344,     0,     0,     0,     0,   188,   189,   190,     0,     0,
+     191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
+     201,   202,   203,   204,   205,   206,   207,   380,   209,   210,
+     211,   212,   213,   214,     0,     0,     0,     0,     0,     0,
+       0,   345,   346,   347,   348,   349,   350,   351,   352,   353,
+     220,   221,   222,   223,   354,   355,   356,   357,   224,     0,
+       0,     0,   358,   359,   360,     0,     0,   361,     0,   362,
+     225,   226,   227,     0,     0,     0,     0,     0,   228,    21,
+     363,   229,     0,   364,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+     237,   365,   366,   367,   238,     0,     0,     0,     0,   240,
+     241,   242,   368,   243,   244,   245,   369,     0,   370,   107,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,   246,   381,     0,     0,     0,
+       0,     0,   248,     0,     0,     0,     0,   326,     0,     0,
+       0,  1802,     0,     0,   251,     0,     0,     0,     0,   532,
+     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
+     543,   544,   676,   546,   547,   548,   549,     0,     0,     0,
+       0,   550,     0,     0,     0,     0,   237,   365,   366,   367,
+     238,   730,     0,     0,     0,   240,   241,   242,   368,   243,
+     244,   245,   369,     0,   370,   107,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,   246,   381,     0,     0,     0,     0,     0,   248,     0,
+       0,     0,     0,   326,   187,     6,     0,  1808,     0,     0,
+     251,   188,   189,   190,     0,     0,   191,   192,   193,   194,
+     195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
+     205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
+     215,   216,   217,   218,   219,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,   220,   221,   222,   223,
+       0,     0,     0,     0,   224,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,   225,   226,   227,     0,
+       0,     0,     0,     0,   228,    21,     0,   229,     0,     0,
+       0,     0,   230,     0,     0,   231,     0,     0,   232,     0,
+     233,     0,     0,     0,     0,     0,     0,    37,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,   234,
+       0,    49,     0,     0,   235,     0,   236,     0,     0,     0,
+       0,     0,     0,    59,    60,    61,    62,    63,     0,     0,
+      65,    66,    67,    68,    69,     0,     0,     0,    73,     0,
+       0,    76,   532,   533,   534,   535,   536,   537,   538,   539,
+     540,   541,   542,   543,   544,   676,   546,   547,   548,   549,
+       0,     0,     0,     0,   550,     0,     0,     0,     0,     0,
+    1770,     0,     0,     0,  1771,     0,     0,     0,     0,     0,
+       0,     0,   237,     0,     0,     0,   238,   239,     0,     0,
+       0,   240,   241,   242,     0,   243,   244,   245,     0,     0,
+       0,   107,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,   597,  1789,     0,
+       0,     0,     0,     0,   248,     0,     0,     0,     0,   599,
+     187,     6,     0,   290,     0,     0,   251,   188,   189,   190,
+       0,     0,   191,   192,   193,   194,   195,   196,   197,   198,
+     199,   200,   201,   202,   203,   204,   205,   206,   207,   208,
+     209,   210,   211,   212,   213,   214,   215,   216,   217,   218,
+     219,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,   220,   221,   222,   223,     0,     0,     0,     0,
+     224,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,   225,   226,   227,     0,     0,     0,     0,     0,
+     228,    21,     0,   229,     0,     0,     0,     0,   230,     0,
+       0,   231,     0,     0,   232,     0,   233,     0,     0,     0,
+       0,     0,     0,    37,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,   234,     0,    49,     0,     0,
+     235,     0,   236,     0,     0,     0,     0,     0,     0,    59,
+      60,    61,    62,    63,     0,     0,    65,    66,    67,    68,
+      69,     0,     0,     0,    73,     0,     0,    76,   532,   533,
+     534,   535,   536,   537,   538,   539,   540,   541,   542,   543,
+     544,   676,   546,   547,   548,   549,     0,     0,     0,     0,
+     550,     0,     0,     0,     0,     0,  1797,     0,     0,     0,
+    1798,     0,     0,     0,     0,     0,     0,     0,   237,     0,
+       0,     0,   238,   239,     0,     0,     0,   240,   241,   242,
+       0,   243,   244,   245,     0,     0,     0,   107,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,   246,   433,     0,     0,     0,     0,     0,
+     248,   187,   150,   344,     0,   326,     0,     0,   188,   189,
+     190,     0,   251,   191,   192,   193,   194,   195,   196,   197,
+     198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
+     380,   209,   210,   211,   212,   213,   214,     0,     0,     0,
+       0,     0,     0,     0,   345,   346,   347,   348,   349,   350,
+     351,   352,   353,   220,   221,   222,   223,   354,   355,   356,
+     357,   224,     0,     0,     0,   358,   359,   360,     0,     0,
+     361,     0,   362,   225,   226,   227,     0,     0,     0,     0,
+       0,   228,    21,   363,   229,     0,   364,   187,   150,     0,
+       0,     0,     0,     0,   188,   189,   190,     0,     0,   191,
+     192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
+     202,   203,   204,   205,   206,   207,   380,   209,   210,   211,
+     212,   213,   214,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,   220,
+     221,   222,   223,     0,     0,     0,     0,   224,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,   225,
+     226,   227,     0,     0,     0,     0,     0,   228,    21,     0,
+     229,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,   237,
+     365,   366,   367,   238,     0,     0,     0,     0,   240,   241,
+     242,   368,   243,   244,   245,   369,     0,   370,   107,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,   246,   381,     0,     0,     0,     0,
+       0,   248,     0,     0,     0,     0,   326,     0,     0,     0,
+       0,     0,     0,   251,   532,   533,   534,   535,   536,   537,
+     538,   539,   540,   541,   542,   543,   544,   676,   546,   547,
+     548,   549,     0,     0,     0,     0,   550,     0,     0,     0,
+       0,     0,  1958,     0,     0,   237,  1959,     0,     0,   238,
+       0,     0,     0,     0,   240,   241,   242,     0,   243,   244,
+     245,     0,     0,     0,   107,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+     597,   598,     0,     0,     0,     0,     0,   248,     0,     0,
+       0,     0,   599,     0,   187,   150,   290,  1260,     0,   251,
+       0,   188,   189,   190,     0,     0,   191,   192,   193,   194,
+     195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
+     205,   206,   207,   380,   209,   210,   211,   212,   213,   214,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,   220,   221,   222,   223,
+       0,     0,     0,     0,   224,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,   225,   226,   227,     0,
+       0,     0,     0,     0,   228,    21,     0,   229,   187,   150,
+       0,  1421,     0,     0,     0,   188,   189,   190,     0,     0,
+     191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
+     201,   202,   203,   204,   205,   206,   207,   380,   209,   210,
+     211,   212,   213,   214,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+     220,   221,   222,   223,     0,     0,     0,     0,   224,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+     225,   226,   227,     0,     0,     0,     0,     0,   228,    21,
+       0,   229,   532,   533,   534,   535,   536,   537,   538,   539,
+     540,   541,   542,   543,   544,   676,   546,   547,   548,   549,
+       0,     0,   237,     0,   550,     0,   238,     0,     0,     0,
+       0,   240,   241,   242,   904,   243,   244,   245,     0,     0,
+       0,   107,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,   246,   381,     0,
+       0,     0,     0,     0,   248,     0,     0,     0,     0,   326,
+       0,     0,     0,     0,     0,     0,   251,   532,   533,   534,
+     535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
+     676,   546,   547,   548,   549,     0,     0,     0,     0,   550,
+       0,     0,     0,     0,     0,     0,   237,     0,     0,   905,
+     238,     0,     0,     0,     0,   240,   241,   242,     0,   243,
+     244,   245,     0,     0,     0,   107,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,   246,   381,     0,     0,     0,     0,     0,   248,   187,
+     150,     0,  1479,   326,     0,     0,   188,   189,   190,     0,
+     251,   191,   192,   193,   194,   195,   196,   197,   198,   199,
+     200,   201,   202,   203,   204,   205,   206,   207,   380,   209,
+     210,   211,   212,   213,   214,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,   220,   221,   222,   223,     0,     0,     0,     0,   224,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,   225,   226,   227,     0,     0,   187,   150,     0,   228,
+      21,     0,   229,   188,   189,   190,     0,     0,   191,   192,
+     193,   194,   195,   196,   197,   198,   199,   200,   201,   202,
+     203,   204,   205,   206,   207,   380,   209,   210,   211,   212,
+     213,   214,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   220,   221,
+     222,   223,     0,     0,     0,     0,   224,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   225,   226,
+     227,     0,     0,     0,     0,     0,   228,    21,     0,   229,
+     532,   533,   534,   535,   536,   537,   538,   539,   540,   541,
+     542,   543,   544,   676,   546,   547,   548,   549,     0,     0,
+       0,     0,   550,     0,     0,     0,     0,   237,     0,     0,
+       0,   238,   948,     0,     0,     0,   240,   241,   242,     0,
+     243,   244,   245,     0,     0,     0,   107,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,   246,   381,     0,     0,     0,     0,     0,   248,
+       0,     0,     0,     0,   326,     0,     0,     0,     0,     0,
+       0,   251,     0,    -4,     1,     0,     0,    -4,     0,     0,
+       0,     0,     0,     0,     0,     0,    -4,    -4,     0,     0,
+       0,     0,     0,     0,   237,     0,     0,     0,   238,     0,
+       0,     0,     0,   240,   241,   242,     0,   243,   244,   245,
+       0,     0,     0,   107,     0,     0,     0,    -4,    -4,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,   246,
+     381,     0,     0,     0,     0,     0,   248,    -4,    -4,    -4,
+       0,   326,     0,    -4,    -4,     0,    -4,     0,   251,     0,
+       0,    -4,    -4,     0,    -4,    -4,     0,    -4,     0,     0,
+       0,     0,    -4,    -4,    -4,    -4,    -4,    -4,    -4,    -4,
+      -4,    -4,    -4,    -4,    -4,    -4,    -4,     0,     0,    -4,
+      -4,    -4,    -4,    -4,     0,    -4,     0,    -4,    -4,    -4,
+      -4,    -4,    -4,    -4,     0,    -4,    -4,    -4,    -4,    -4,
+      -4,     0,    -4,    -4,    -4,    -4,    -4,    -4,    -4,    -4,
+      -4,     0,    -4,    -4,    -4,    -4,    -4,    -4,    -4,    -4,
+      -4,    -4,    -4,    -4,    -4,    -4,     0,     6,     0,    -4,
+      -4,    -4,     0,     0,     0,    -4,     7,     8,     0,     0,
+      -4,    -4,    -4,    -4,     0,     0,    -4,     0,    -4,     0,
+      -4,    -4,    -4,    -4,    -4,    -4,    -4,    -4,    -4,    -4,
+      -4,    -4,    -4,    -4,     0,     0,     0,     9,    10,     0,
+      -4,    -4,    -4,     0,     0,     0,     0,     0,     0,     0,
+       0,    -4,     0,    -4,     0,     0,     0,    11,    12,    13,
+       0,     0,     0,    14,    15,     0,    16,     0,     0,     0,
+       0,    17,    18,     0,    19,    20,     0,    21,     0,     0,
+       0,     0,    22,    23,    24,    25,    26,    27,    28,    29,
+      30,    31,    32,    33,    34,    35,    36,     0,     0,    37,
+      38,    39,    40,    41,     0,    42,     0,    43,    44,    45,
+      46,    47,    48,    49,     0,    50,    51,    52,    53,    54,
+      55,     0,    56,    57,    58,    59,    60,    61,    62,    63,
+      64,     0,    65,    66,    67,    68,    69,    70,    71,    72,
+      73,    74,    75,    76,    77,    78,     0,     0,     0,    79,
+      80,    81,     0,     0,     0,    82,     0,     0,     0,     0,
+      83,    84,    85,    86,   374,   344,    87,     0,    88,     0,
+      89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
+      99,   100,   101,   102,     0,     0,     0,     0,     0,     0,
+     103,   104,   105,     0,     0,   344,     0,     0,     0,     0,
+       0,   106,     0,   107,     0,     0,   345,   346,   347,   348,
+     349,   350,   351,   352,   353,     0,     0,     0,     0,   354,
+     355,   356,   357,     0,     0,     0,     0,   358,   359,   360,
+       0,     0,   361,     0,   362,     0,   345,   346,   347,   348,
+     349,   350,   351,   352,   353,   363,     0,     0,   364,   354,
+     355,   356,   357,     0,     0,     0,     0,   358,   359,   360,
+       0,     0,   361,     0,   362,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,   363,     0,     0,   364,   532,
+     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
+     543,   544,   676,   546,   547,   548,   549,     0,     0,     0,
+       0,   550,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,  1089,   532,   533,   534,   535,   536,   537,   538,   539,
+     540,   541,   542,   543,   544,   676,   546,   547,   548,   549,
+       0,     0,     0,     0,   550,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,  1099,     0,     0,     0,     0,     0,
+       0,     0,   365,   366,   367,     0,     0,     0,     0,     0,
+       0,     0,     0,   368,     0,     0,     0,   369,     0,   370,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,   365,   366,   367,     0,     0,     0,     0,     0,
+       0,     0,     0,   368,     0,     0,     0,   369,     0,   370,
+     532,   533,   534,   535,   536,   537,   538,   539,   540,   541,
+     542,   543,   544,   676,   546,   547,   548,   549,     0,     0,
+       0,     0,   550,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,  1100,   532,   533,   534,   535,   536,   537,   538,
+     539,   540,   541,   542,   543,   544,   676,   546,   547,   548,
+     549,     0,     0,     0,     0,   550,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,  1101,   532,   533,   534,   535,
+     536,   537,   538,   539,   540,   541,   542,   543,   544,   676,
+     546,   547,   548,   549,     0,     0,     0,     0,   550,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,  1106,   532,
+     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
+     543,   544,   676,   546,   547,   548,   549,     0,     0,     0,
+       0,   550,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,  1107,   532,   533,   534,   535,   536,   537,   538,   539,
+     540,   541,   542,   543,   544,   676,   546,   547,   548,   549,
+       0,     0,     0,     0,   550,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,  1109,   532,   533,   534,   535,   536,
+     537,   538,   539,   540,   541,   542,   543,   544,   676,   546,
+     547,   548,   549,     0,     0,     0,     0,   550,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,  1217,   532,   533,
+     534,   535,   536,   537,   538,   539,   540,   541,   542,   543,
+     544,   676,   546,   547,   548,   549,     0,     0,     0,     0,
+     550,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+    1238,   532,   533,   534,   535,   536,   537,   538,   539,   540,
+     541,   542,   543,   544,   676,   546,   547,   548,   549,     0,
+       0,     0,     0,   550,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,  1321,   532,   533,   534,   535,   536,   537,
+     538,   539,   540,   541,   542,   543,   544,   676,   546,   547,
+     548,   549,     0,     0,     0,     0,   550,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,  1415,   532,   533,   534,
+     535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
+     676,   546,   547,   548,   549,     0,     0,     0,     0,   550,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,  1416,
+     532,   533,   534,   535,   536,   537,   538,   539,   540,   541,
+     542,   543,   544,   676,   546,   547,   548,   549,     0,     0,
+       0,     0,   550,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,  1458,   532,   533,   534,   535,   536,   537,   538,
+     539,   540,   541,   542,   543,   544,   676,   546,   547,   548,
+     549,     0,     0,     0,     0,   550,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,  1578,   532,   533,   534,   535,
+     536,   537,   538,   539,   540,   541,   542,   543,   544,   676,
+     546,   547,   548,   549,     0,     0,     0,     0,   550,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,  1579,   532,
+     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
+     543,   544,   676,   546,   547,   548,   549,     0,     0,     0,
+       0,   550,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,  1580,   532,   533,   534,   535,   536,   537,   538,   539,
+     540,   541,   542,   543,   544,   676,   546,   547,   548,   549,
+       0,     0,     0,     0,   550,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,  1586,   532,   533,   534,   535,   536,
+     537,   538,   539,   540,   541,   542,   543,   544,   676,   546,
+     547,   548,   549,     0,     0,     0,     0,   550,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,  1587,   532,   533,
+     534,   535,   536,   537,   538,   539,   540,   541,   542,   543,
+     544,   676,   546,   547,   548,   549,     0,     0,     0,     0,
+     550,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+    1588,   532,   533,   534,   535,   536,   537,   538,   539,   540,
+     541,   542,   543,   544,   676,   546,   547,   548,   549,     0,
+       0,     0,     0,   550,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,  1589,   532,   533,   534,   535,   536,   537,
+     538,   539,   540,   541,   542,   543,   544,   676,   546,   547,
+     548,   549,     0,     0,     0,     0,   550,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,  1718,   532,   533,   534,
+     535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
+     676,   546,   547,   548,   549,     0,     0,     0,     0,   550,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,  1833,
+     532,   533,   534,   535,   536,   537,   538,   539,   540,   541,
+     542,   543,   544,   676,   546,   547,   548,   549,     0,     0,
+       0,     0,   550,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,  1834,   532,   533,   534,   535,   536,   537,   538,
+     539,   540,   541,   542,   543,   544,   676,   546,   547,   548,
+     549,     0,     0,     0,     0,   550,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,  1860,   532,   533,   534,   535,
+     536,   537,   538,   539,   540,   541,   542,   543,   544,   676,
+     546,   547,   548,   549,     0,     0,     0,     0,   550,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,  1861,   532,
+     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
+     543,   544,   676,   546,   547,   548,   549,     0,     0,     0,
+       0,   550,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,  1862,   532,   533,   534,   535,   536,   537,   538,   539,
+     540,   541,   542,   543,   544,   676,   546,   547,   548,   549,
+       0,     0,     0,     0,   550,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,  1863,   532,   533,   534,   535,   536,
+     537,   538,   539,   540,   541,   542,   543,   544,   676,   546,
+     547,   548,   549,     0,     0,     0,     0,   550,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,  1864,   532,   533,
+     534,   535,   536,   537,   538,   539,   540,   541,   542,   543,
+     544,   676,   546,   547,   548,   549,     0,     0,     0,     0,
+     550,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+    1927,   532,   533,   534,   535,   536,   537,   538,   539,   540,
+     541,   542,   543,   544,   676,   546,   547,   548,   549,     0,
+       0,     0,     0,   550,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,  1984,   532,   533,   534,   535,   536,   537,
+     538,   539,   540,   541,   542,   543,   544,   676,   546,   547,
+     548,   549,     0,     0,     0,     0,   550,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,  1985,   532,   533,   534,
+     535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
+     676,   546,   547,   548,   549,     0,     0,     0,     0,   550,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,  1997,
+     532,   533,   534,   535,   536,   537,   538,   539,   540,   541,
+     542,   543,   544,   676,   546,   547,   548,   549,     0,     0,
+       0,     0,   550,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,  1998,   532,   533,   534,   535,   536,   537,   538,
+     539,   540,   541,   542,   543,   544,   676,   546,   547,   548,
+     549,     0,     0,     0,     0,   550,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,  1999,   532,   533,   534,   535,
+     536,   537,   538,   539,   540,   541,   542,   543,   544,   676,
+     546,   547,   548,   549,     0,     0,     0,     0,   550,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,  2000,   532,
+     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
+     543,   544,   676,   546,   547,   548,   549,     0,     0,     0,
+       0,   550,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,  2001,   532,   533,   534,   535,   536,   537,   538,   539,
+     540,   541,   542,   543,   544,   676,   546,   547,   548,   549,
+       0,     0,     0,     0,   550,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,  2033,   532,   533,   534,   535,   536,
+     537,   538,   539,   540,   541,   542,   543,   544,   676,   546,
+     547,   548,   549,     0,     0,     0,     0,   550,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,  2063,   532,   533,
+     534,   535,   536,   537,   538,   539,   540,   541,   542,   543,
+     544,   676,   546,   547,   548,   549,     0,     0,     0,     0,
+     550,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+    2068,   532,   533,   534,   535,   536,   537,   538,   539,   540,
+     541,   542,   543,   544,   676,   546,   547,   548,   549,     0,
+       0,     0,     0,   550,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,  2069,   532,   533,   534,   535,   536,   537,
+     538,   539,   540,   541,   542,   543,   544,   676,   546,   547,
+     548,   549,     0,     0,     0,     0,   550,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,  2070,   532,   533,   534,
+     535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
+     676,   546,   547,   548,   549,     0,     0,     0,     0,   550,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,  2071,
+     532,   533,   534,   535,   536,   537,   538,   539,   540,   541,
+     542,   543,   544,   676,   546,   547,   548,   549,     0,     0,
+       0,     0,   550,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,  2072,   532,   533,   534,   535,   536,   537,   538,
+     539,   540,   541,   542,   543,   544,   676,   546,   547,   548,
+     549,     0,     0,     0,     0,   550,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,  2073,   532,   533,   534,   535,
+     536,   537,   538,   539,   540,   541,   542,   543,   544,   676,
+     546,   547,   548,   549,     0,     0,     0,     0,   550,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,  2115,   532,
+     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
+     543,   544,   676,   546,   547,   548,   549,     0,     0,     0,
+       0,   550,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,  2116,   532,   533,   534,   535,   536,   537,   538,   539,
+     540,   541,   542,   543,   544,   676,   546,   547,   548,   549,
+       0,     0,     0,     0,   550,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,  2117,   532,   533,   534,   535,   536,
+     537,   538,   539,   540,   541,   542,   543,   544,   676,   546,
+     547,   548,   549,     0,     0,     0,     0,   550,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,  2118,   532,   533,
+     534,   535,   536,   537,   538,   539,   540,   541,   542,   543,
+     544,   676,   546,   547,   548,   549,     0,     0,     0,     0,
+     550,     0,     0,     0,     0,     0,  1026,   532,   533,   534,
+     535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
+     676,   546,   547,   548,   549,     0,     0,     0,     0,   550,
+       0,     0,     0,     0,     0,  1118,   532,   533,   534,   535,
+     536,   537,   538,   539,   540,   541,   542,   543,   544,   676,
+     546,   547,   548,   549,     0,     0,     0,     0,   550,     0,
+       0,     0,     0,     0,  1197,   532,   533,   534,   535,   536,
+     537,   538,   539,   540,   541,   542,   543,   544,   676,   546,
+     547,   548,   549,     0,     0,     0,     0,   550,     0,     0,
+       0,     0,     0,  1266,   532,   533,   534,   535,   536,   537,
+     538,   539,   540,   541,   542,   543,   544,   676,   546,   547,
+     548,   549,     0,     0,     0,     0,   550,     0,     0,     0,
+       0,     0,  1417,   532,   533,   534,   535,   536,   537,   538,
+     539,   540,   541,   542,   543,   544,   676,   546,   547,   548,
+     549,     0,     0,     0,     0,   550,     0,     0,     0,     0,
+       0,  1485,   532,   533,   534,   535,   536,   537,   538,   539,
+     540,   541,   542,   543,   544,   676,   546,   547,   548,   549,
+       0,     0,     0,     0,   550,     0,     0,     0,     0,     0,
+    1486,   532,   533,   534,   535,   536,   537,   538,   539,   540,
+     541,   542,   543,   544,   676,   546,   547,   548,   549,     0,
+       0,     0,     0,   550,     0,     0,     0,     0,     0,  1487,
+     532,   533,   534,   535,   536,   537,   538,   539,   540,   541,
+     542,   543,   544,   676,   546,   547,   548,   549,     0,     0,
+       0,     0,   550,     0,     0,     0,     0,     0,  1488,   532,
+     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
+     543,   544,   676,   546,   547,   548,   549,     0,     0,     0,
+       0,   550,     0,     0,     0,     0,     0,  1768,   532,   533,
+     534,   535,   536,   537,   538,   539,   540,   541,   542,   543,
+     544,   676,   546,   547,   548,   549,     0,     0,     0,     0,
+     550,     0,     0,     0,     0,     0,  1779,   532,   533,   534,
+     535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
+     676,   546,   547,   548,   549,     0,     0,     0,     0,   550,
+       0,     0,     0,     0,     0,  1815,   532,   533,   534,   535,
+     536,   537,   538,   539,   540,   541,   542,   543,   544,   676,
+     546,   547,   548,   549,     0,     0,     0,     0,   550,     0,
+       0,     0,     0,     0,  1850,   532,   533,   534,   535,   536,
+     537,   538,   539,   540,   541,   542,   543,   544,   676,   546,
+     547,   548,   549,     0,     0,     0,     0,   550,     0,     0,
+       0,     0,     0,  1851,   532,   533,   534,   535,   536,   537,
+     538,   539,   540,   541,   542,   543,   544,   676,   546,   547,
+     548,   549,     0,     0,     0,     0,   550,     0,     0,     0,
+       0,     0,  1852,   532,   533,   534,   535,   536,   537,   538,
+     539,   540,   541,   542,   543,   544,   676,   546,   547,   548,
+     549,     0,     0,     0,     0,   550,     0,     0,     0,     0,
+       0,  1853,   532,   533,   534,   535,   536,   537,   538,   539,
+     540,   541,   542,   543,   544,   676,   546,   547,   548,   549,
+       0,     0,     0,     0,   550,     0,     0,     0,     0,     0,
+    1855,   532,   533,   534,   535,   536,   537,   538,   539,   540,
+     541,   542,   543,   544,   676,   546,   547,   548,   549,     0,
+       0,     0,     0,   550,     0,     0,     0,     0,     0,  1878,
+     532,   533,   534,   535,   536,   537,   538,   539,   540,   541,
+     542,   543,   544,   676,   546,   547,   548,   549,     0,     0,
+       0,     0,   550,     0,     0,     0,     0,     0,  1893,   532,
+     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
+     543,   544,   676,   546,   547,   548,   549,     0,     0,     0,
+       0,   550,     0,     0,     0,     0,     0,  1947,   532,   533,
+     534,   535,   536,   537,   538,   539,   540,   541,   542,   543,
+     544,   676,   546,   547,   548,   549,     0,     0,     0,     0,
+     550,     0,     0,     0,     0,     0,  1964,   532,   533,   534,
+     535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
+     676,   546,   547,   548,   549,     0,     0,     0,     0,   550,
+       0,     0,     0,     0,     0,  1973,   532,   533,   534,   535,
+     536,   537,   538,   539,   540,   541,   542,   543,   544,   676,
+     546,   547,   548,   549,     0,     0,     0,     0,   550,     0,
+       0,     0,     0,     0,  1974,   532,   533,   534,   535,   536,
+     537,   538,   539,   540,   541,   542,   543,   544,   676,   546,
+     547,   548,   549,     0,     0,     0,     0,   550,     0,     0,
+       0,     0,     0,  1995,   532,   533,   534,   535,   536,   537,
+     538,   539,   540,   541,   542,   543,   544,   676,   546,   547,
+     548,   549,     0,     0,     0,     0,   550,     0,     0,     0,
+       0,     0,  2049,   532,   533,   534,   535,   536,   537,   538,
+     539,   540,   541,   542,   543,   544,   676,   546,   547,   548,
+     549,     0,     0,     0,     0,   550,     0,     0,     0,     0,
+       0,  2091,   532,   533,   534,   535,   536,   537,   538,   539,
+     540,   541,   542,   543,   544,   676,   546,   547,   548,   549,
+       0,     0,     0,     0,   550,     0,     0,     0,     0,     0,
+    2113,   532,   533,   534,   535,   536,   537,   538,   539,   540,
+     541,   542,   543,   544,   676,   546,   547,   548,   549,     0,
+       0,     0,     0,   550,     0,     0,     0,     0,     0,  2139,
+     532,   533,   534,   535,   536,   537,   538,   539,   540,   541,
+     542,   543,   544,   676,   546,   547,   548,   549,     0,     0,
+       0,     0,   550,     0,     0,     0,     0,     0,  2140,   532,
+     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
+     543,   544,   676,   546,   547,   548,   549,     0,     0,     0,
+       0,   550,     0,     0,     0,     0,     0,  2141,   532,   533,
+     534,   535,   536,   537,   538,   539,   540,   541,   542,   543,
+     544,   676,   546,   547,   548,   549,     0,     0,     0,     0,
+     550,     0,     0,     0,     0,     0,  2142,   532,   533,   534,
+     535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
+     676,   546,   547,   548,   549,     0,     0,     0,     0,   550,
+       0,     0,     0,     0,     0,  2143,   532,   533,   534,   535,
+     536,   537,   538,   539,   540,   541,   542,   543,   544,   676,
+     546,   547,   548,   549,     0,     0,     0,     0,   550,     0,
+       0,     0,     0,     0,  2144,   532,   533,   534,   535,   536,
+     537,   538,   539,   540,   541,   542,   543,   544,   676,   546,
+     547,   548,   549,     0,     0,     0,     0,   550,     0,     0,
+       0,     0,   677,   532,   533,   534,   535,   536,   537,   538,
+     539,   540,   541,   542,   543,   544,   676,   546,   547,   548,
+     549,     0,     0,     0,     0,   550,     0,     0,     0,     0,
+     896,   532,   533,   534,   535,   536,   537,   538,   539,   540,
+     541,   542,   543,   544,   676,   546,   547,   548,   549,     0,
+       0,     0,     0,   550,     0,     0,     0,     0,  1871,   532,
+     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
+     543,   544,   676,   546,   547,   548,   549,     0,     0,     0,
+       0,   550,     0,   699,     0,   700,   532,   533,   534,   535,
+     536,   537,   538,   539,   540,   541,   542,   543,   544,   676,
+     546,   547,   548,   549,     0,     0,     0,     0,   550,     0,
+       0,     0,   954,   532,   533,   534,   535,   536,   537,   538,
+     539,   540,   541,   542,   543,   544,   676,   546,   547,   548,
+     549,     0,     0,     0,     0,   550,     0,     0,     0,  1000,
+     532,   533,   534,   535,   536,   537,   538,   539,   540,   541,
+     542,   543,   544,   676,   546,   547,   548,   549,     0,     0,
+       0,     0,   550,     0,     0,     0,  1140,   532,   533,   534,
+     535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
+     676,   546,   547,   548,   549,     0,     0,     0,     0,   550,
+       0,     0,     0,  1143,   532,   533,   534,   535,   536,   537,
+     538,   539,   540,   541,   542,   543,   544,   676,   546,   547,
+     548,   549,     0,     0,     0,     0,   550,     0,     0,     0,
+    1210,   532,   533,   534,   535,   536,   537,   538,   539,   540,
+     541,   542,   543,   544,   676,   546,   547,   548,   549,     0,
+       0,     0,     0,   550,     0,     0,     0,  1211,   532,   533,
+     534,   535,   536,   537,   538,   539,   540,   541,   542,   543,
+     544,   676,   546,   547,   548,   549,     0,     0,     0,     0,
+     550,     0,     0,     0,  1215,   532,   533,   534,   535,   536,
+     537,   538,   539,   540,   541,   542,   543,   544,   676,   546,
+     547,   548,   549,     0,     0,     0,     0,   550,     0,     0,
+       0,  1216,   532,   533,   534,   535,   536,   537,   538,   539,
+     540,   541,   542,   543,   544,   676,   546,   547,   548,   549,
+       0,     0,     0,     0,   550,     0,     0,     0,  1302,   532,
+     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
+     543,   544,   676,   546,   547,   548,   549,     0,     0,     0,
+       0,   550,     0,     0,     0,  1318,   532,   533,   534,   535,
+     536,   537,   538,   539,   540,   541,   542,   543,   544,   676,
+     546,   547,   548,   549,     0,     0,     0,     0,   550,     0,
+       0,     0,  1517,   532,   533,   534,   535,   536,   537,   538,
+     539,   540,   541,   542,   543,   544,   676,   546,   547,   548,
+     549,     0,     0,     0,     0,   550,     0,     0,     0,  1649,
+     532,   533,   534,   535,   536,   537,   538,   539,   540,   541,
+     542,   543,   544,   676,   546,   547,   548,   549,     0,     0,
+       0,     0,   550,     0,     0,     0,  1826,   532,   533,   534,
+     535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
+     676,   546,   547,   548,   549,     0,     0,     0,     0,   550,
+       0,     0,     0,  1879,   532,   533,   534,   535,   536,   537,
+     538,   539,   540,   541,   542,   543,   544,   676,   546,   547,
+     548,   549,     0,     0,     0,     0,   550,     0,   744,   532,
+     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
+     543,   544,   676,   546,   547,   548,   549,     0,     0,     0,
+       0,   550,     0,   748,   532,   533,   534,   535,   536,   537,
+     538,   539,   540,   541,   542,   543,   544,   676,   546,   547,
+     548,   549,     0,     0,     0,     0,   550,     0,   749,   532,
+     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
+     543,   544,   676,   546,   547,   548,   549,     0,     0,     0,
+       0,   550,     0,   751,   532,   533,   534,   535,   536,   537,
+     538,   539,   540,   541,   542,   543,   544,   676,   546,   547,
+     548,   549,     0,     0,     0,     0,   550,     0,   753,   532,
+     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
+     543,   544,   676,   546,   547,   548,   549,     0,     0,     0,
+       0,   550,     0,   754,   532,   533,   534,   535,   536,   537,
+     538,   539,   540,   541,   542,   543,   544,   676,   546,   547,
+     548,   549,     0,     0,     0,     0,   550,     0,   756,   532,
+     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
+     543,   544,   676,   546,   547,   548,   549,     0,     0,     0,
+       0,   550,     0,   758,   532,   533,   534,   535,   536,   537,
+     538,   539,   540,   541,   542,   543,   544,   676,   546,   547,
+     548,   549,     0,     0,     0,     0,   550,     0,   759,   532,
+     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
+     543,   544,   676,   546,   547,   548,   549,     0,     0,     0,
+       0,   550,     0,   760,   532,   533,   534,   535,   536,   537,
+     538,   539,   540,   541,   542,   543,   544,   676,   546,   547,
+     548,   549,     0,     0,     0,     0,   550,     0,   761,   532,
+     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
+     543,   544,   676,   546,   547,   548,   549,     0,     0,     0,
+       0,   550,     0,   762,   532,   533,   534,   535,   536,   537,
+     538,   539,   540,   541,   542,   543,   544,   676,   546,   547,
+     548,   549,     0,     0,     0,     0,   550,     0,   763,   532,
+     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
+     543,   544,   676,   546,   547,   548,   549,     0,     0,     0,
+       0,   550,     0,   765,   532,   533,   534,   535,   536,   537,
+     538,   539,   540,   541,   542,   543,   544,   676,   546,   547,
+     548,   549,     0,     0,     0,     0,   550,     0,   766,   532,
+     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
+     543,   544,   676,   546,   547,   548,   549,     0,     0,     0,
+       0,   550,     0,   767,   532,   533,   534,   535,   536,   537,
+     538,   539,   540,   541,   542,   543,   544,   676,   546,   547,
+     548,   549,     0,     0,     0,     0,   550,     0,   832,   532,
+     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
+     543,   544,   676,   546,   547,   548,   549,     0,     0,     0,
+       0,   550,     0,   867,   532,   533,   534,   535,   536,   537,
+     538,   539,   540,   541,   542,   543,   544,   676,   546,   547,
+     548,   549,     0,     0,     0,     0,   550,     0,   925,   532,
+     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
+     543,   544,   676,   546,   547,   548,   549,     0,     0,     0,
+       0,   550,     0,   943,   532,   533,   534,   535,   536,   537,
+     538,   539,   540,   541,   542,   543,   544,   676,   546,   547,
+     548,   549,     0,     0,     0,     0,   550,     0,   944,   532,
+     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
+     543,   544,   676,   546,   547,   548,   549,     0,     0,     0,
+       0,   550,     0,   945,   532,   533,   534,   535,   536,   537,
+     538,   539,   540,   541,   542,   543,   544,   676,   546,   547,
+     548,   549,     0,     0,     0,     0,   550,     0,   946,   532,
+     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
+     543,   544,   676,   546,   547,   548,   549,     0,     0,     0,
+       0,   550,     0,   952,   532,   533,   534,   535,   536,   537,
+     538,   539,   540,   541,   542,   543,   544,   676,   546,   547,
+     548,   549,     0,     0,     0,     0,   550,     0,   953,   532,
+     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
+     543,   544,   676,   546,   547,   548,   549,     0,     0,     0,
+       0,   550,     0,   985,   532,   533,   534,   535,   536,   537,
+     538,   539,   540,   541,   542,   543,   544,   676,   546,   547,
+     548,   549,     0,     0,     0,     0,   550,     0,   999,   532,
+     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
+     543,   544,   676,   546,   547,   548,   549,     0,     0,     0,
+       0,   550,     0,  1057,   532,   533,   534,   535,   536,   537,
+     538,   539,   540,   541,   542,   543,   544,   676,   546,   547,
+     548,   549,     0,     0,     0,     0,   550,     0,  1062,   532,
+     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
+     543,   544,   676,   546,   547,   548,   549,     0,     0,     0,
+       0,   550,     0,  1075,   532,   533,   534,   535,   536,   537,
+     538,   539,   540,   541,   542,   543,   544,   676,   546,   547,
+     548,   549,     0,     0,     0,     0,   550,     0,  1139,   532,
+     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
+     543,   544,   676,   546,   547,   548,   549,     0,     0,     0,
+       0,   550,     0,  1142,   532,   533,   534,   535,   536,   537,
+     538,   539,   540,   541,   542,   543,   544,   676,   546,   547,
+     548,   549,     0,     0,     0,     0,   550,     0,  1149,   532,
+     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
+     543,   544,   676,   546,   547,   548,   549,     0,     0,     0,
+       0,   550,     0,  1150,   532,   533,   534,   535,   536,   537,
+     538,   539,   540,   541,   542,   543,   544,   676,   546,   547,
+     548,   549,     0,     0,     0,     0,   550,     0,  1151,   532,
+     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
+     543,   544,   676,   546,   547,   548,   549,     0,     0,     0,
+       0,   550,     0,  1165,   532,   533,   534,   535,   536,   537,
+     538,   539,   540,   541,   542,   543,   544,   676,   546,   547,
+     548,   549,     0,     0,     0,     0,   550,     0,  1166,   532,
+     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
+     543,   544,   676,   546,   547,   548,   549,     0,     0,     0,
+       0,   550,     0,  1167,   532,   533,   534,   535,   536,   537,
+     538,   539,   540,   541,   542,   543,   544,   676,   546,   547,
+     548,   549,     0,     0,     0,     0,   550,     0,  1196,   532,
+     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
+     543,   544,   676,   546,   547,   548,   549,     0,     0,     0,
+       0,   550,     0,  1198,   532,   533,   534,   535,   536,   537,
+     538,   539,   540,   541,   542,   543,   544,   676,   546,   547,
+     548,   549,     0,     0,     0,     0,   550,     0,  1199,   532,
+     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
+     543,   544,   676,   546,   547,   548,   549,     0,     0,     0,
+       0,   550,     0,  1200,   532,   533,   534,   535,   536,   537,
+     538,   539,   540,   541,   542,   543,   544,   676,   546,   547,
+     548,   549,     0,     0,     0,     0,   550,     0,  1201,   532,
+     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
+     543,   544,   676,   546,   547,   548,   549,     0,     0,     0,
+       0,   550,     0,  1202,   532,   533,   534,   535,   536,   537,
+     538,   539,   540,   541,   542,   543,   544,   676,   546,   547,
+     548,   549,     0,     0,     0,     0,   550,     0,  1203,   532,
+     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
+     543,   544,   676,   546,   547,   548,   549,     0,     0,     0,
+       0,   550,     0,  1204,   532,   533,   534,   535,   536,   537,
+     538,   539,   540,   541,   542,   543,   544,   676,   546,   547,
+     548,   549,     0,     0,     0,     0,   550,     0,  1209,   532,
+     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
+     543,   544,   676,   546,   547,   548,   549,     0,     0,     0,
+       0,   550,     0,  1301,   532,   533,   534,   535,   536,   537,
+     538,   539,   540,   541,   542,   543,   544,   676,   546,   547,
+     548,   549,     0,     0,     0,     0,   550,     0,  1317,   532,
+     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
+     543,   544,   676,   546,   547,   548,   549,     0,     0,     0,
+       0,   550,     0,  1522,   532,   533,   534,   535,   536,   537,
+     538,   539,   540,   541,   542,   543,   544,   676,   546,   547,
+     548,   549,     0,     0,     0,     0,   550,     0,  1590,   532,
+     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
+     543,   544,   676,   546,   547,   548,   549,     0,     0,     0,
+       0,   550,     0,  1598,   532,   533,   534,   535,   536,   537,
+     538,   539,   540,   541,   542,   543,   544,   676,   546,   547,
+     548,   549,     0,     0,     0,     0,   550,     0,  1704,   532,
+     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
+     543,   544,   676,   546,   547,   548,   549,     0,     0,     0,
+       0,   550,     0,  1710,   532,   533,   534,   535,   536,   537,
+     538,   539,   540,   541,   542,   543,   544,   676,   546,   547,
+     548,   549,     0,     0,     0,     0,   550,     0,  1711,   532,
+     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
+     543,   544,   676,   546,   547,   548,   549,     0,     0,     0,
+       0,   550,     0,  1712,   532,   533,   534,   535,   536,   537,
+     538,   539,   540,   541,   542,   543,   544,   676,   546,   547,
+     548,   549,     0,     0,     0,     0,   550,     0,  1713,   532,
+     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
+     543,   544,   676,   546,   547,   548,   549,     0,     0,     0,
+       0,   550,     0,  1717,   532,   533,   534,   535,   536,   537,
+     538,   539,   540,   541,   542,   543,   544,   676,   546,   547,
+     548,   549,     0,     0,     0,     0,   550,     0,  1769,   532,
+     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
+     543,   544,   676,   546,   547,   548,   549,     0,     0,     0,
+       0,   550,     0,  1778,   532,   533,   534,   535,   536,   537,
+     538,   539,   540,   541,   542,   543,   544,   676,   546,   547,
+     548,   549,     0,     0,     0,     0,   550,     0,  1801,   532,
+     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
+     543,   544,   676,   546,   547,   548,   549,     0,     0,     0,
+       0,   550,     0,  1865,   532,   533,   534,   535,   536,   537,
+     538,   539,   540,   541,   542,   543,   544,   676,   546,   547,
+     548,   549,     0,     0,     0,     0,   550,     0,  1925,   532,
+     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
+     543,   544,   676,   546,   547,   548,   549,     0,     0,     0,
+       0,   550,     0,  1926,   532,   533,   534,   535,   536,   537,
+     538,   539,   540,   541,   542,   543,   544,   676,   546,   547,
+     548,   549,     0,     0,     0,     0,   550,     0,  2062,   532,
+     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
+     543,   544,   676,   546,   547,   548,   549,     0,     0,     0,
+       0,   550,     0,  2110,   532,   533,   534,   535,   536,   537,
+     538,   539,   540,   541,   542,   543,   544,   676,   546,   547,
+     548,   549,     0,     0,     0,     0,   550
+};
+
+static const yytype_int16 yycheck[] =
+{
+       3,  1191,   498,   594,   595,   283,  1195,     5,  1843,   694,
+       3,  1637,  1675,     5,  1677,     4,     4,   702,    21,     4,
+     295,    22,    23,     6,     4,    21,     4,    97,     4,   709,
+       6,     5,     5,     4,     6,   148,     4,     6,   313,     4,
+     241,     4,     6,     4,    47,     7,   247,   727,   118,     4,
+       4,   235,   236,     5,   226,   227,     0,     4,   242,     5,
+     173,   226,   227,    60,    61,    14,    63,   132,     7,    97,
+       6,    74,   137,   138,     4,   247,   189,   190,   132,    82,
+     226,   227,   247,   241,    87,     6,     6,   226,   227,   247,
+     118,     9,   226,   227,     4,    98,   226,   227,    97,     9,
+       9,   247,   377,     6,   379,   226,   227,   238,   247,   243,
+     175,   386,   239,  1739,   241,    91,   238,   247,   240,     6,
+     247,   186,   239,    84,   226,   227,   247,   238,     6,   132,
+     247,   132,   226,   227,   137,   138,    94,   226,   227,    97,
+     133,   239,   145,   241,     6,   247,   226,   227,   242,   247,
+     646,   239,   648,   156,   834,   158,   239,  1992,   247,   247,
+     163,     9,   235,   236,   247,   168,   242,   247,   239,     7,
+     246,   244,   175,   244,   226,   227,   179,     6,   176,   182,
+     183,   184,   185,   186,   176,     9,   238,   238,     6,   240,
+     242,   192,   193,   194,   195,   196,   197,   198,   199,   200,
+     201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
+     211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
+     188,   222,   223,   184,   176,   210,   238,   228,   229,     9,
+     176,   234,   210,   163,   164,   165,   166,   238,   239,   210,
+     161,   161,  1868,  1433,   247,   210,   240,   250,   251,   210,
+     238,   240,   221,   222,   242,   251,     6,   246,   238,   242,
+     245,   264,   242,   210,   267,   268,   269,   270,   242,   242,
+     242,   242,   275,   276,   277,   238,     7,   242,   281,   242,
+     283,   242,   244,   238,   238,   183,   184,   185,   242,   286,
+     287,     6,   239,     4,   241,  1921,   242,   294,   295,   238,
+     210,   240,   238,   306,   307,   308,   242,   238,   583,   240,
+     585,   586,   238,   243,   999,  1000,   242,   320,   321,   384,
+     238,     6,   240,   226,   227,   235,   236,   602,   238,   238,
+     240,   240,   242,     7,   244,   244,     6,   158,    47,   226,
+     227,     7,   163,   240,   345,   346,   347,   168,   226,   227,
+     351,   352,   353,   354,   355,   356,   357,     4,   359,   221,
+     222,   182,   363,   364,  2027,   640,   367,   238,   226,   227,
+     268,   269,   270,   211,   212,   213,   214,    94,   238,   380,
+      97,   384,    99,   226,   227,   388,   389,   235,   236,   247,
+     238,   238,   240,   241,   226,   227,   244,   235,   236,   235,
+     236,   404,   677,     7,   247,   239,   244,   410,   306,   307,
+     308,   235,   236,   247,   238,   247,   240,   226,   227,   238,
+     244,   238,   320,   321,     7,   242,   429,   492,   238,   494,
+     433,   496,   497,   226,   227,   238,   226,   227,   247,  2065,
+     239,   238,   241,   264,   226,   227,   238,  1127,   247,  1129,
+     515,   516,   226,   227,   247,   235,   236,   247,   238,   238,
+     240,  1141,   173,   174,   244,   247,   226,   227,     6,     7,
+     179,   239,  1157,   247,  1159,   238,  1161,   480,  1163,   247,
+     211,   212,   213,   214,   487,   488,   238,   247,   239,   492,
+     241,   494,   495,   496,   497,   498,   247,   500,   239,   244,
+    2126,   246,   226,   227,   235,   236,   247,   510,   511,   512,
+     513,   514,   515,   516,   517,   518,    97,   520,    99,   522,
+     226,   227,   518,   247,   520,   234,   173,   174,   238,   530,
+       6,     7,   242,   226,   227,   226,   227,   211,   212,   213,
+     214,   247,   545,   226,   227,   211,   212,   213,   214,    98,
+     553,   100,     8,     4,   247,   238,   247,   239,   267,   242,
+     238,   235,   236,   226,   227,   247,   275,   276,   277,   235,
+     236,  1251,   281,   238,    91,   578,   579,    94,    94,   242,
+      97,    97,   647,   132,   649,   650,   651,   652,   653,   654,
+     238,   656,   657,   658,   659,   592,   593,   662,   663,   664,
+     597,   594,   595,   226,   227,   111,   155,   211,   212,   213,
+     214,    97,   242,   511,   512,   513,   514,     4,   238,   242,
+    1300,   624,   625,   626,   239,   900,   241,     6,   211,   212,
+     213,   214,   247,   231,   232,   238,  1316,   243,   243,   237,
+     694,   247,   247,   646,   647,   648,   649,   650,   651,   652,
+     653,   654,   242,   656,   657,   658,   659,   660,   238,   662,
+     663,   664,   665,   666,    97,    91,   669,   732,    94,   665,
+     243,    97,   737,    99,   247,   239,    94,   241,   242,   388,
+     389,   132,   133,   134,   135,   242,   226,   227,   228,   229,
+     230,   231,   232,   226,   227,   404,   147,   237,   701,   150,
+     239,   522,   241,   706,    91,   132,   133,   244,    95,   243,
+     247,   138,     8,   247,   101,   102,   242,   104,   105,   243,
+     723,   724,   128,   247,   244,    91,   729,   247,    94,   732,
+     238,    97,   735,    99,   737,   122,    94,    91,   238,   145,
+      94,    94,   745,    97,   747,    99,     4,   153,   154,   155,
+     132,   133,    97,   159,   160,    97,   138,   578,   579,   215,
+     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
+     226,   227,   228,   229,   230,   231,   232,    94,     4,   243,
+      97,   237,    99,   247,   243,   128,   495,   243,   247,   228,
+     229,   230,   231,   232,   238,   238,     4,   128,   237,   242,
+     803,   510,   145,   624,   625,   626,  1491,   238,     4,   863,
+     153,   154,   155,   128,   145,   238,   159,   160,  1503,   242,
+       6,   238,   153,   154,   155,   128,   238,  2016,   159,   160,
+     145,    94,     6,    97,    97,    99,    99,   243,   153,   154,
+     155,   240,   145,   392,   159,   160,   238,   850,   669,   243,
+     153,   154,   155,   247,   243,   243,   159,   160,   247,   247,
+     243,  2051,   865,   243,   247,   243,   240,   247,   243,   247,
+     873,   243,   247,   238,   243,   247,   246,   242,   247,   243,
+     701,   243,   243,   247,   243,   247,   247,   243,   247,     6,
+    2079,   247,   243,   896,   243,   243,   247,   243,   247,   247,
+     243,   247,   723,   243,   242,   238,   903,   247,   729,   242,
+    2100,   243,   243,   910,   243,   247,     6,   914,   247,   215,
+     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
+     226,   227,   228,   229,   230,   231,   232,   246,   243,   243,
+     243,   237,   247,   247,   238,   999,  1000,   243,   217,   218,
+     219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
+     229,   230,   231,   232,    97,  1030,    99,   243,   237,   243,
+     519,   247,   243,   247,     9,   243,   247,   243,     4,   247,
+       6,   247,   803,   243,   238,   238,   238,   247,   991,   220,
+     221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
+     231,   232,  1005,   238,  1282,   238,   237,  1010,  1504,  1505,
+     239,   118,   241,   242,  1017,  1018,  1019,  1020,   238,   568,
+     569,   570,   571,   238,   243,   238,   243,  1030,   247,   850,
+     247,  1622,  1623,   243,   243,     4,     5,   247,   247,   243,
+     238,   243,  1043,   247,   865,   247,   243,  1112,  1113,   242,
+     247,   238,  1055,  1056,  1051,  1058,   238,  1060,  1061,   238,
+    1063,   238,  1065,  1066,  1067,  1068,  1069,  1070,  1071,  1072,
+    1073,   238,   243,  1076,   238,   896,   247,    46,    47,    48,
+      49,    50,    51,    52,    53,    54,   242,     4,  1142,  1143,
+      59,    60,    61,    62,   242,   242,   238,   243,    67,    68,
+      69,   247,   243,    72,   242,    74,   247,   243,  1111,  1112,
+    1113,   247,   661,   243,   243,     6,    85,   247,   247,    88,
+     243,   243,   238,   238,   247,   247,   238,   238,   238,   238,
+    1133,     6,   238,     6,   242,   240,     6,     6,   242,   242,
+     240,   240,   240,   176,  1147,  1148,   242,   238,   240,   238,
+     238,   238,   238,   238,     6,     6,   125,     6,   242,     6,
+     242,     7,     6,     8,   873,   242,     6,   242,    87,  1234,
+     243,   247,   239,  1238,     7,   247,     6,     6,     6,   239,
+     242,    64,  1247,    64,  1249,    64,    64,  1252,   237,   244,
+       4,     7,     7,     6,   743,     6,  1017,  1018,  1019,  1020,
+       6,   239,  1205,  1478,     6,   242,     7,  1482,     6,   173,
+       7,     6,     6,     6,   242,  1218,  1219,  1220,   241,   239,
+    1498,     6,   244,   192,   193,   194,  1229,   242,   242,   242,
+     242,  1234,     7,     6,   203,  1238,   240,  1302,   207,   238,
+     209,   210,     4,     6,  1247,     6,  1249,  1301,  1302,  1252,
+       6,     6,   239,     7,   240,  1076,   176,   242,     8,     7,
+    1263,     7,     7,   176,     7,     7,   235,   236,     7,   176,
+       7,     7,     7,     7,     7,   244,     7,     7,     7,  1282,
+       7,     6,   991,  1874,   239,  1286,  1287,   241,   247,   247,
+     247,   242,   242,   242,   242,   247,   239,     7,   244,  1302,
+     238,  1010,     7,   242,     4,     6,   239,   247,   239,   239,
+     247,   247,  1808,   239,   243,   247,   244,     7,   243,   128,
+       6,  1324,     7,     7,     7,   239,   244,  1148,   239,     9,
+     239,   247,  1335,   241,     7,   247,   148,   247,  1341,   243,
+     246,   242,     6,     6,     4,   244,  1055,  1056,     6,  1058,
+      46,  1060,  1061,    46,  1063,   244,  1065,  1066,  1067,  1068,
+    1069,  1070,  1071,  1072,  1073,     4,   238,   238,     4,     6,
+     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
+     225,   226,   227,   228,   229,   230,   231,   232,   238,  1392,
+    1393,  1394,   237,     7,   239,  1398,   241,  1400,     7,  1402,
+     238,  1404,  1111,  1406,  1407,  1408,   238,    99,  1229,     7,
+     247,  1689,   239,   238,     7,     7,     7,     7,     7,     7,
+    1423,     7,     7,     4,  1133,   242,     6,   109,   238,     7,
+       6,  1434,     7,     7,     7,  1432,     7,  1491,  1147,  1442,
+       7,     7,  1445,     7,     6,     6,   242,     6,    97,     7,
+       6,     6,  1001,     4,     4,     4,   245,   247,   239,   247,
+     242,     6,   242,   242,  1529,   215,   216,   217,   218,   219,
+     220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
+     230,   231,   232,   243,     6,     6,     6,   237,     7,   239,
+       6,   240,     6,     6,   238,  1498,  1205,   238,     6,     6,
+     247,  1504,  1505,     6,   242,   122,     6,  1510,     6,  1218,
+    1219,  1220,   244,   241,     6,   176,   242,     6,   242,   242,
+     242,   242,     6,     6,     6,     6,  1529,     6,     6,     6,
+       6,     5,  1535,   239,   247,   239,  1539,     6,     4,     6,
+     239,   238,     4,  1597,   242,     6,   240,   242,     7,     6,
+       6,   242,  1549,   242,  1263,   242,     6,   215,   216,   217,
+     218,   219,   220,   221,   222,   223,   224,   225,   226,   227,
+     228,   229,   230,   231,   232,   242,   242,   242,     6,   237,
+     218,   219,   220,   221,   222,   223,   224,   225,   226,   227,
+     228,   229,   230,   231,   232,  1660,   242,   242,  1663,   237,
+     242,   242,     6,   172,     6,     6,   239,   247,  1883,   244,
+       7,  1614,  1615,   247,   238,  1324,   247,   247,     4,   242,
+     238,     6,     6,     6,  1445,     6,  1335,     6,     6,  1622,
+    1623,     4,  1341,  1911,  1637,     7,     6,     6,     6,     6,
+    1643,  1638,  1639,  1640,  1641,  1642,  1643,     6,  1702,  1652,
+      95,     6,     5,   247,     6,   242,   239,  1660,   242,     6,
+    1663,     6,     6,     6,     6,     6,     6,     6,     6,     6,
+       6,   239,     6,     4,     6,  1678,     6,   247,     6,   242,
+       7,     5,  1685,  1392,  1393,  1394,  1689,   247,  1691,  1398,
+     242,  1400,     6,  1402,   242,  1404,   242,  1406,  1407,  1408,
+       6,   242,     6,  1978,   243,   243,     7,   242,     6,     6,
+     239,   171,   243,   243,  1423,   243,     6,   244,     7,     6,
+       6,     6,     6,     6,   242,  1434,     6,     6,     6,     6,
+       6,     6,   243,  1442,     6,   239,  1739,     3,     4,     6,
+     242,   174,  2017,     6,    10,    11,    12,   242,   238,    15,
+      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
+      26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
+      36,    37,    38,  1322,  1777,  1324,     6,   242,     6,   243,
+     243,     6,     6,     6,   242,     6,  1789,   242,   242,    55,
+      56,    57,    58,  1614,  1615,   243,     6,    63,   242,  1802,
+     239,  1510,   128,     6,     6,  1808,     6,   243,   243,    75,
+      76,    77,     6,     6,     6,     6,     6,    83,    84,     6,
+      86,     6,   242,     6,   242,     6,  1535,     6,   242,     6,
+       6,     6,     6,  1836,     6,  1315,  2029,  1367,  1543,  1844,
+    1334,  1603,  1845,     3,   426,  1812,  1849,   215,   216,   217,
+     218,   219,   220,   221,   222,   223,   224,   225,   226,   227,
+     228,   229,   230,   231,   232,  1868,     3,     3,  1871,   237,
+       3,  1376,  1473,     3,  1685,  1870,    -1,    -1,    -1,  1882,
+      -1,  1874,    -1,  1886,    -1,    -1,   567,    -1,    -1,    -1,
+    1887,  1888,  1889,  1890,  1891,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1911,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1921,    -1,
+      -1,    -1,    -1,    -1,    -1,   191,    -1,  1476,  1637,   195,
+      -1,    -1,    -1,    -1,   200,   201,   202,    -1,   204,   205,
+     206,    -1,    -1,  1652,   210,    -1,    -1,    -1,  1951,    -1,
+      -1,    -1,    -1,  1950,    -1,    -1,    -1,  1954,    -1,    -1,
+     226,   227,    -1,    -1,    -1,    -1,    -1,   233,    -1,  1678,
+      -1,    -1,   238,    -1,    -1,    -1,   242,    -1,    -1,   245,
+      -1,  1802,  1691,    -1,    -1,    -1,  1535,   215,   216,   217,
+     218,   219,   220,   221,   222,   223,   224,   225,   226,   227,
+     228,   229,   230,   231,   232,     6,  2003,    -1,    -1,   237,
+    2007,    -1,    -1,    -1,    -1,    -1,  2019,  2020,  2021,  2022,
+    2023,    -1,    -1,    -1,    -1,    -1,  2023,    -1,    -1,    -1,
+    1739,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,  2109,    -1,    -1,    -1,    -1,    -1,
+    1871,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,  2065,    -1,    -1,  1886,    -1,    -1,  1777,  1618,
+      -1,  2136,  2137,    -1,    -1,    -1,    -1,  2074,  2075,    -1,
+      -1,  2084,    -1,    -1,    -1,    -1,    -1,    -1,  2153,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,     6,    -1,  2109,    -1,    -1,  1658,
+      -1,    -1,    -1,   106,    -1,    -1,  1665,  1666,    -1,    -1,
+      -1,    -1,    -1,  2126,    -1,    -1,    -1,  1836,    -1,    -1,
+      -1,    -1,  1681,  2136,  2137,    -1,  1845,    -1,    -1,   132,
+      -1,    -1,    -1,   136,    -1,    -1,    -1,   140,     6,    -1,
+    2153,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1868,
+      -1,    -1,    -1,    -1,   157,   158,   159,   160,    -1,   162,
+     163,   164,   165,  1882,   167,   168,   169,   170,   171,   172,
+     173,   174,    -1,   176,   177,   178,    -1,    -1,    -1,   182,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2019,  2020,
+    2021,  2022,  2023,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,  1921,    -1,   215,   216,   217,   218,   219,   220,
+     221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
+     231,   232,    -1,    -1,    -1,    -1,   237,    -1,    -1,    -1,
+      -1,    -1,  1951,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,   246,   247,   248,   249,   250,    -1,    -1,
+      -1,    -1,    -1,  2084,    -1,  1814,    -1,    -1,    -1,    -1,
+     263,   264,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,   279,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,   289,   290,    -1,  1848,
+      -1,    -1,   295,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,   305,   215,   216,   217,   218,   219,   220,   221,
+     222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
+     232,    -1,    -1,   326,    -1,   237,    -1,   330,   331,   332,
+      -1,   334,    -1,    -1,    -1,   338,   339,   340,    -1,    -1,
+     343,    -1,    -1,    -1,    -1,    -1,  2065,   215,   216,   217,
+     218,   219,   220,   221,   222,   223,   224,   225,   226,   227,
+     228,   229,   230,   231,   232,    -1,    -1,    -1,    -1,   237,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   381,    -1,
+      -1,    -1,   385,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   401,   402,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,  2126,    -1,    -1,
+      -1,    -1,   415,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       6,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     433,    -1,    -1,    -1,  1993,    -1,   439,    -1,    -1,    -1,
+      -1,   444,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,   458,    -1,    -1,    -1,    -1,
+      -1,   464,   465,   466,   467,   468,   469,   470,   471,   472,
+     473,   474,   475,   476,   477,   478,   479,   480,   481,   482,
+     483,   484,   485,   486,   487,   488,    -1,   490,   491,    -1,
+     493,    -1,   158,    -1,    -1,    -1,   499,   163,    -1,    -1,
+     503,    -1,   168,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,   517,    -1,   182,    -1,    -1,   522,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   531,   532,
+     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
+     543,   544,   545,   546,   547,   548,   549,   550,   551,   552,
+      -1,   554,   555,    -1,    -1,    -1,    -1,    -1,   561,   562,
+     563,    -1,    -1,    -1,    -1,   568,   569,   570,   571,   572,
+      -1,   574,    -1,   576,    -1,   578,   579,    -1,    -1,    -1,
+      -1,   247,    -1,    -1,   250,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,   597,   598,   599,    -1,   264,    -1,
+     603,   604,   605,   606,   607,   608,   609,   610,   611,    -1,
+      -1,    -1,    -1,   616,     6,   618,    -1,   620,    -1,    -1,
+      -1,   624,   625,   626,    -1,    -1,   629,   630,   631,   215,
+     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
+     226,   227,   228,   229,   230,   231,   232,    -1,    -1,    -1,
+      -1,   237,   655,    -1,    -1,    -1,    -1,    -1,    -1,   128,
+      -1,    -1,    -1,    -1,    -1,    -1,   669,    -1,    -1,    -1,
+      -1,   674,    -1,   676,    -1,   678,   679,    -1,    -1,    -1,
+      -1,    -1,   685,    -1,    -1,    -1,    -1,    -1,   691,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   701,    -1,
+      -1,    -1,    -1,    -1,   707,   708,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     723,    -1,   725,   726,    -1,    -1,   729,   730,     4,     5,
+      -1,    -1,    -1,    -1,    -1,   738,    -1,    -1,    -1,   742,
+      -1,    -1,   745,    -1,   747,    -1,   215,   216,   217,   218,
+     219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
+     229,   230,   231,   232,    -1,   768,    -1,   433,   237,    -1,
+      46,    47,    48,    49,    50,    51,    52,    53,    54,    -1,
+      -1,    -1,    -1,    59,    60,    61,    62,    -1,    -1,    -1,
+      -1,    67,    68,    69,    -1,    -1,    72,    -1,    74,    -1,
+     803,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    85,
+      -1,    -1,    88,    -1,   480,    -1,    -1,    -1,    -1,    -1,
+      -1,   487,   488,   215,   216,   217,   218,   219,   220,   221,
+     222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
+     232,     4,     5,    -1,    -1,   237,    -1,   850,    -1,   125,
+      -1,   517,    -1,    -1,    -1,    -1,   522,    -1,    -1,    -1,
+      -1,    -1,   865,    -1,    -1,    -1,    -1,    -1,    -1,   872,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   545,
+      -1,    -1,    -1,    46,    47,    48,    49,    50,    51,    52,
+      53,    54,    -1,   896,    -1,    -1,    59,    60,    61,    62,
+      -1,   904,   905,    -1,    67,    68,    69,   910,    -1,    72,
+      -1,    74,   578,   579,    -1,    -1,   192,   193,   194,    -1,
+      -1,    -1,    85,   926,    -1,    88,   929,   203,    -1,    -1,
+      -1,   207,    -1,   209,   210,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,   948,    -1,   950,   951,    -1,
+      -1,    -1,    -1,    -1,     6,    -1,    -1,    -1,   624,   625,
+     626,    -1,   125,   239,    -1,   241,   969,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,   987,    -1,    -1,    -1,    -1,    -1,
+      -1,   994,   995,   996,   997,    -1,    -1,    -1,    -1,  1002,
+      -1,    -1,    -1,   669,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,  1016,  1017,  1018,  1019,  1020,  1021,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,     6,    -1,    -1,   192,
+     193,   194,    -1,    -1,    -1,   701,    -1,    -1,    -1,    -1,
+     203,    -1,    -1,    -1,   207,    -1,   209,   210,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,   723,    -1,    -1,
+      -1,    -1,    -1,   729,    -1,     6,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,  1076,    -1,    -1,    -1,    -1,    -1,   745,
+      -1,   747,    -1,    -1,    -1,    -1,  1089,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,  1099,  1100,  1101,    -1,
+      -1,    -1,    -1,  1106,  1107,    -1,  1109,    -1,    -1,    -1,
+      -1,     6,    -1,    -1,  1117,    -1,  1119,  1120,  1121,  1122,
+    1123,    -1,    -1,    -1,    -1,    -1,    -1,  1130,    -1,    -1,
+      -1,    -1,    -1,  1136,  1137,    -1,    -1,   803,    -1,    -1,
+      -1,    -1,  1145,    -1,    -1,  1148,     6,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,  1158,    -1,  1160,    -1,  1162,
+      -1,  1164,    -1,   215,   216,   217,   218,   219,   220,   221,
+     222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
+     232,    -1,  1185,     6,   850,   237,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   865,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,  1217,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,  1229,    -1,    -1,    -1,
+     896,    -1,    -1,    -1,  1237,   215,   216,   217,   218,   219,
+     220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
+     230,   231,   232,    -1,    -1,    -1,  1259,   237,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+    1273,    -1,    -1,  1276,   215,   216,   217,   218,   219,   220,
+     221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
+     231,   232,    -1,    -1,    -1,    -1,   237,    -1,    -1,    -1,
+    1303,    -1,    -1,    -1,    -1,    -1,    -1,  1310,  1311,  1312,
+    1313,    -1,    -1,    -1,    -1,    -1,  1319,    -1,  1321,  1322,
+     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
+     225,   226,   227,   228,   229,   230,   231,   232,    -1,    -1,
+      -1,    -1,   237,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,  1017,  1018,  1019,  1020,   215,   216,   217,   218,   219,
+     220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
+     230,   231,   232,    -1,    -1,    -1,    -1,   237,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,   215,   216,   217,   218,   219,   220,   221,   222,
+     223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
+    1076,  1414,  1415,  1416,   237,    -1,    -1,    -1,    -1,    -1,
+    1423,    -1,  1425,    -1,    -1,    -1,    -1,    -1,    -1,  1432,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,  1445,    -1,    -1,    -1,    -1,  1450,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,  1458,  1459,  1460,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,  1468,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,  1477,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,  1148,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1502,
+      -1,    -1,    -1,    -1,    -1,  1508,  1509,     6,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,   406,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,  1539,    -1,    -1,     6,
+      -1,    -1,    -1,    -1,  1547,  1548,    -1,    13,    14,    -1,
+      -1,  1554,  1555,    -1,    -1,    -1,    -1,    -1,  1561,    -1,
+      -1,    -1,    -1,  1229,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,  1578,  1579,  1580,    -1,    -1,
+      -1,    -1,    -1,  1586,  1587,  1588,  1589,    -1,    -1,    -1,
+      -1,     6,    -1,  1596,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,  1605,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,  1614,  1615,  1616,    -1,  1618,    -1,   500,    -1,    -1,
+      -1,  1624,  1625,    -1,    -1,    91,    92,    93,    94,    95,
+      96,    97,    98,    99,   100,   101,   102,   103,    -1,    -1,
+    1643,   107,   108,   109,  1647,    -1,   112,    -1,    -1,    -1,
+      -1,    -1,   118,   119,    -1,  1658,   122,   123,  1661,   125,
+     126,    -1,  1665,    -1,    -1,   131,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,   558,    -1,    -1,   144,  1682,
+      -1,    -1,   148,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,  1695,    -1,    -1,    -1,    -1,  1700,  1701,    -1,
+      -1,    -1,   168,   169,   170,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,  1715,    -1,    -1,  1718,   215,   216,   217,   218,
+     219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
+     229,   230,   231,   232,    -1,    -1,    -1,    -1,   237,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1750,   215,   216,
+     217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
+     227,   228,   229,   230,   231,   232,    -1,    -1,  1771,    -1,
+     237,    -1,    -1,    -1,    -1,    -1,    -1,  1780,    -1,  1445,
+      -1,    -1,    -1,    -1,    -1,    -1,  1789,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,  1798,  1799,    -1,    -1,  1802,
+     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
+     225,   226,   227,   228,   229,   230,   231,   232,    -1,    -1,
+      -1,    -1,   237,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+    1833,  1834,     7,     8,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,  1847,    -1,    -1,    -1,    -1,    -1,
+      -1,  1854,    -1,    -1,    -1,    -1,    -1,  1860,  1861,  1862,
+    1863,  1864,    -1,    -1,    -1,    -1,    -1,    -1,  1871,    -1,
+      -1,    -1,    -1,  1539,    -1,    -1,    -1,    -1,    -1,    13,
+      14,    -1,    -1,  1886,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,  1894,   775,   776,   777,   778,   779,   780,   781,   782,
+     783,   784,   785,    -1,   787,   788,   789,   790,    -1,   792,
+     793,   794,   795,    -1,    -1,  1918,    -1,    -1,    -1,    -1,
+      -1,  1924,    -1,   806,  1927,   808,    -1,    -1,    -1,     7,
+      -1,    -1,   815,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,   826,   827,    -1,    -1,    -1,  1614,  1615,
+      -1,    -1,   835,    -1,    -1,    -1,  1959,    91,    92,    93,
+      94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
+       8,    -1,    -1,   107,   108,   109,    -1,  1643,   112,    -1,
+      -1,  1984,  1985,    -1,   118,   119,    -1,    -1,   122,   123,
+      -1,   125,   126,  1996,  1997,  1998,  1999,  2000,  2001,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     144,  2014,    -1,    -1,    -1,    -1,  2019,  2020,  2021,  2022,
+    2023,    -1,    -1,    -1,    -1,    -1,  2029,    -1,    -1,    -1,
+    2033,    -1,    -1,    -1,   168,   169,   170,    -1,    -1,    -1,
+     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
+     225,   226,   227,   228,   229,   230,   231,   232,    -1,    -1,
+    2063,    -1,   237,    -1,    -1,  2068,  2069,  2070,  2071,  2072,
+    2073,    -1,   955,   956,   957,    -1,    -1,    -1,   961,   962,
+      -1,  2084,   965,   966,   967,   968,    -1,   970,    -1,    -1,
+      -1,    -1,   975,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,     8,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   243,
+      -1,    -1,  2115,  2116,  2117,  2118,  2119,  2120,    -1,    -1,
+      -1,    -1,    -1,  1789,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,  1802,   215,   216,   217,
+     218,   219,   220,   221,   222,   223,   224,   225,   226,   227,
+     228,   229,   230,   231,   232,     8,    -1,    -1,    -1,   237,
+      -1,    -1,    -1,    -1,    -1,    -1,  1049,  1050,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,   215,   216,   217,
+     218,   219,   220,   221,   222,   223,   224,   225,   226,   227,
+     228,   229,   230,   231,   232,    -1,    -1,    -1,    -1,   237,
+      -1,    -1,    -1,    -1,    -1,  1871,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+    1886,    -1,     3,     4,     5,    -1,     7,    -1,    -1,    10,
+      11,    12,    -1,    -1,    15,    16,    17,    18,    19,    20,
+      21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
+      31,    32,    33,    34,    35,    36,    37,    38,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    46,    47,    48,    49,    50,
+      51,    52,    53,    54,    55,    56,    57,    58,    59,    60,
+      61,    62,    63,    -1,    -1,    -1,    67,    68,    69,    -1,
+      -1,    72,    -1,    74,    75,    76,    77,    -1,    -1,    -1,
+      -1,    -1,    83,    84,    85,    86,    -1,    88,   215,   216,
+     217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
+     227,   228,   229,   230,   231,   232,    -1,    -1,    -1,    -1,
+     237,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,   125,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,  2019,  2020,  2021,  2022,  2023,    -1,    -1,
+      -1,    -1,   215,   216,   217,   218,   219,   220,   221,   222,
+     223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
+      -1,    -1,    -1,    -1,   237,    -1,     8,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,  1285,   184,    -1,    -1,    -1,    -1,    -1,    -1,
+     191,   192,   193,   194,   195,    -1,    -1,    -1,  2084,   200,
+     201,   202,   203,   204,   205,   206,   207,    -1,   209,   210,
+     211,   212,   213,   214,    -1,    13,    14,    -1,    -1,    -1,
+    1323,    -1,    -1,    -1,    -1,   226,   227,    -1,    -1,    -1,
+      -1,    -1,   233,    -1,   235,   236,    -1,   238,    -1,   240,
+      -1,    -1,    -1,   244,   245,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,  1356,  1357,  1358,  1359,  1360,    -1,    -1,
+      -1,    -1,  1365,  1366,    -1,  1368,    -1,    -1,    -1,    -1,
+      -1,  1374,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,  1389,    -1,    -1,    -1,
+      -1,    -1,    -1,    91,    92,    93,    94,    95,    96,    97,
+      98,    99,   100,   101,   102,   103,    -1,    -1,    -1,   107,
+     108,   109,    -1,    -1,   112,    -1,    -1,    -1,    -1,    -1,
+     118,   119,    -1,    -1,   122,   123,    -1,   125,   126,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,     8,   144,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,  1464,    -1,  1466,    -1,    -1,    -1,  1470,    -1,  1472,
+     168,   169,   170,   215,   216,   217,   218,   219,   220,   221,
+     222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
+     232,    -1,    -1,    -1,    -1,   237,    -1,    -1,    -1,    -1,
+      -1,  1504,    -1,    -1,     3,     4,     5,    -1,    -1,    -1,
+      -1,    10,    11,    12,    -1,    -1,    15,    16,    17,    18,
+      19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
+      29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
+      39,    40,    41,    42,    43,   243,    -1,    46,    47,    48,
+      49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
+      59,    60,    61,    62,    63,    -1,    -1,    -1,    67,    68,
+      69,    -1,    -1,    72,    -1,    74,    75,    76,    77,    -1,
+      -1,    -1,    -1,    -1,    83,    84,    85,    86,    -1,    88,
+      -1,    -1,    91,    -1,    -1,    94,    -1,    -1,    97,    -1,
+      99,    -1,    -1,    -1,    -1,    -1,    -1,   106,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   118,
+      -1,   120,    -1,    -1,   123,    -1,   125,    -1,    -1,    -1,
+      -1,    -1,    -1,   132,   133,   134,   135,   136,    -1,    -1,
+     139,   140,   141,   142,   143,    -1,    -1,    -1,   147,    -1,
+      -1,   150,   215,   216,   217,   218,   219,   220,   221,   222,
+     223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
+      -1,    -1,    -1,    -1,   237,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+    1693,  1694,   191,   192,   193,   194,   195,   196,    -1,    -1,
+      -1,   200,   201,   202,   203,   204,   205,   206,   207,     8,
+     209,   210,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,   226,   227,    -1,
+      -1,    -1,    -1,    -1,   233,    -1,    -1,  1740,  1741,   238,
+      -1,    -1,    -1,   242,    -1,    -1,   245,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,     3,     4,     5,    -1,    -1,    -1,    -1,    10,
+      11,    12,    -1,    -1,    15,    16,    17,    18,    19,    20,
+      21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
+      31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
+      41,    42,    43,  1806,  1807,    46,    47,    48,    49,    50,
+      51,    52,    53,    54,    55,    56,    57,    58,    59,    60,
+      61,    62,    63,    -1,    -1,    -1,    67,    68,    69,    -1,
+      -1,    72,    -1,    74,    75,    76,    77,    -1,    -1,    -1,
+      -1,    -1,    83,    84,    85,    86,    -1,    88,    -1,    -1,
+      91,    -1,    -1,    94,    -1,    -1,    97,    -1,    99,    -1,
+      -1,    -1,    -1,    -1,    -1,   106,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,   118,    -1,   120,
+      -1,    -1,   123,    -1,   125,    -1,    -1,    -1,    -1,    -1,
+      -1,   132,   133,   134,   135,   136,    -1,    -1,   139,   140,
+     141,   142,   143,    -1,    -1,    -1,   147,    -1,    -1,   150,
+      -1,    -1,    -1,    -1,    -1,    -1,   215,   216,   217,   218,
+     219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
+     229,   230,   231,   232,    -1,    -1,    -1,    -1,   237,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     191,   192,   193,   194,   195,   196,    -1,    -1,    -1,   200,
+     201,   202,   203,   204,   205,   206,   207,    -1,   209,   210,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,   226,   227,    -1,    -1,    -1,
+      -1,    -1,   233,    -1,    -1,    -1,    -1,   238,     3,     4,
+       5,   242,    -1,    -1,   245,    10,    11,    12,    -1,    -1,
+      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
+      25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
+      35,    36,    37,    38,    39,    40,    41,    42,    43,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      55,    56,    57,    58,    -1,    -1,    -1,    -1,    63,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      75,    76,    77,    -1,    -1,    13,    14,    -1,    83,    84,
+      -1,    86,    -1,    -1,    -1,    -1,    91,    -1,    -1,    94,
+    2093,    -1,    97,    -1,    99,    -1,    -1,    -1,    -1,    -1,
+      -1,   106,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,   118,    -1,   120,    -1,    -1,   123,    -1,
+     125,    -1,    -1,    -1,    -1,    -1,    -1,   132,   133,   134,
+     135,   136,    -1,    -1,   139,   140,   141,   142,   143,    -1,
+      -1,    -1,   147,    -1,    -1,   150,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    91,    92,    93,    94,    95,    96,    97,
+      98,    99,   100,   101,   102,   103,    -1,    -1,    -1,   107,
+     108,   109,    -1,    -1,   112,    -1,    -1,    -1,    -1,    -1,
+     118,   119,    -1,    -1,   122,   123,   191,   125,   126,    -1,
+     195,   196,    -1,    -1,    -1,   200,   201,   202,    -1,   204,
+     205,   206,    -1,    -1,    -1,   210,   144,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,   226,   227,    -1,    -1,    -1,    -1,    -1,   233,    -1,
+     168,   169,   170,   238,     3,     4,     5,   242,    -1,    -1,
+     245,    10,    11,    12,    -1,    -1,    15,    16,    17,    18,
+      19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
+      29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
+      39,    40,    41,    42,    43,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    55,    56,    57,    58,
+      -1,    -1,    -1,    -1,    63,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,   243,    75,    76,    77,    -1,
+      -1,    13,    14,    -1,    83,    84,    -1,    86,    -1,    -1,
+      -1,    -1,    91,    -1,    -1,    94,    -1,    -1,    97,    -1,
+      99,    -1,    -1,    -1,    -1,    -1,    -1,   106,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   118,
+      -1,   120,    -1,    -1,   123,    -1,   125,    -1,    -1,    -1,
+      -1,    -1,    -1,   132,   133,   134,   135,   136,    -1,    -1,
+     139,   140,   141,   142,   143,    -1,    -1,    -1,   147,    -1,
+      -1,   150,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    91,
+      92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
+     102,   103,    -1,    -1,    -1,   107,   108,   109,    -1,    -1,
+     112,    -1,    -1,    -1,    -1,    -1,   118,   119,    -1,    -1,
+     122,   123,   191,   125,   126,    -1,   195,   196,    -1,    -1,
+      -1,   200,   201,   202,    -1,   204,   205,   206,    -1,    -1,
+      -1,   210,   144,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,   226,   227,    -1,
+      -1,    -1,    -1,    -1,   233,    -1,   168,   169,   170,   238,
+       3,     4,    -1,   242,    -1,    -1,   245,    10,    11,    12,
+      -1,    -1,    15,    16,    17,    18,    19,    20,    21,    22,
+      23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
+      33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
+      43,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    55,    56,    57,    58,    -1,    -1,    -1,    -1,
+      63,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,   243,    75,    76,    77,    -1,    -1,    13,    14,    -1,
+      83,    84,    -1,    86,    -1,    -1,    -1,    -1,    91,    -1,
+      -1,    94,    -1,    -1,    97,    -1,    99,    -1,    -1,    -1,
+      -1,    -1,    -1,   106,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,   118,    -1,   120,    -1,    -1,
+     123,    -1,   125,    -1,    -1,    -1,    -1,    -1,    -1,   132,
+     133,   134,   135,   136,    -1,    -1,   139,   140,   141,   142,
+     143,    -1,    -1,    -1,   147,    -1,    -1,   150,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    91,    92,    93,    94,    95,
+      96,    97,    98,    99,   100,   101,   102,   103,    -1,    -1,
+      -1,   107,   108,   109,    -1,    -1,   112,    -1,    -1,    -1,
+      -1,    -1,   118,   119,    -1,    -1,   122,   123,   191,   125,
+     126,    -1,   195,   196,    -1,    -1,    -1,   200,   201,   202,
+      -1,   204,   205,   206,    -1,    -1,    -1,   210,   144,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,   226,   227,    -1,    -1,    -1,    -1,    -1,
+     233,    -1,   168,   169,   170,   238,     3,     4,    -1,   242,
+     243,    -1,   245,    10,    11,    12,    -1,    -1,    15,    16,
+      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
+      27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
+      37,    38,    39,    40,    41,    42,    43,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    55,    56,
+      57,    58,    -1,    -1,    -1,    -1,    63,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,   243,    75,    76,
+      77,    -1,    -1,    13,    14,    -1,    83,    84,    -1,    86,
+      -1,    -1,    -1,    -1,    91,    -1,    -1,    94,    -1,    -1,
+      97,    -1,    99,    -1,    -1,    -1,    -1,    -1,    -1,   106,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,   118,    -1,   120,    -1,    -1,   123,    -1,   125,    -1,
+      -1,    -1,    -1,    -1,    -1,   132,   133,   134,   135,   136,
+      -1,    -1,   139,   140,   141,   142,   143,    -1,    -1,    -1,
+     147,    -1,    -1,   150,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    91,    92,    93,    94,    95,    96,    97,    98,    99,
+     100,   101,   102,   103,    -1,    -1,    -1,   107,   108,   109,
+      -1,    -1,   112,    -1,    -1,    -1,    -1,    -1,   118,   119,
+      -1,    -1,   122,   123,   191,   125,   126,    -1,   195,   196,
+      -1,    -1,    -1,   200,   201,   202,    -1,   204,   205,   206,
+      -1,    -1,    -1,   210,   144,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   226,
+     227,    -1,    -1,    -1,    -1,    -1,   233,    -1,   168,   169,
+     170,   238,     3,     4,    -1,   242,    -1,    -1,   245,    10,
+      11,    12,    -1,    -1,    15,    16,    17,    18,    19,    20,
+      21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
+      31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
+      41,    42,    43,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    55,    56,    57,    58,    -1,    -1,
+      -1,    -1,    63,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,   243,    75,    76,    77,    -1,    -1,    13,
+      14,    -1,    83,    84,    -1,    86,    -1,    -1,    -1,    -1,
+      91,    -1,    -1,    94,    -1,    -1,    97,    -1,    99,    -1,
+      -1,    -1,    -1,    -1,    -1,   106,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,   118,    -1,   120,
+      -1,    -1,   123,    -1,   125,    -1,    -1,    -1,    -1,    -1,
+      -1,   132,   133,   134,   135,   136,    -1,    -1,   139,   140,
+     141,   142,   143,    -1,    -1,    -1,   147,    -1,    -1,   150,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    91,    92,    93,
+      94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
+      -1,    -1,    -1,   107,   108,   109,    -1,    -1,   112,    -1,
+      -1,    -1,    -1,    -1,   118,   119,    -1,    -1,   122,   123,
+     191,   125,   126,    -1,   195,   196,    -1,    -1,    -1,   200,
+     201,   202,    -1,   204,   205,   206,    -1,    -1,    -1,   210,
+     144,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,   226,   227,    -1,    -1,    -1,
+      -1,    -1,   233,    -1,   168,   169,   170,   238,     3,     4,
+      -1,   242,    -1,    -1,   245,    10,    11,    12,    -1,    -1,
+      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
+      25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
+      35,    36,    37,    38,    39,    40,    41,    42,    43,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      55,    56,    57,    58,    -1,    -1,    -1,    -1,    63,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   243,
+      75,    76,    77,    -1,    -1,    13,    14,    -1,    83,    84,
+      -1,    86,    -1,    -1,    -1,    -1,    91,    -1,    -1,    94,
+      -1,    -1,    97,    -1,    99,    -1,    -1,    -1,    -1,    -1,
+      -1,   106,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,   118,    -1,   120,    -1,    -1,   123,    -1,
+     125,    -1,    -1,    -1,    -1,    -1,    -1,   132,   133,   134,
+     135,   136,    -1,    -1,   139,   140,   141,   142,   143,    -1,
+      -1,    -1,   147,    -1,    -1,   150,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    91,    92,    93,    94,    95,    96,    97,
+      98,    99,   100,   101,   102,   103,    -1,    -1,    -1,   107,
+     108,   109,    -1,    -1,   112,    -1,    -1,    -1,    -1,    -1,
+     118,   119,    -1,    -1,   122,   123,   191,   125,   126,    -1,
+     195,   196,    -1,    -1,    -1,   200,   201,   202,    -1,   204,
+     205,   206,    -1,    -1,    -1,   210,   144,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,   226,   227,    -1,    -1,    -1,    -1,    -1,   233,    -1,
+     168,   169,   170,   238,     3,     4,    -1,   242,    -1,    -1,
+     245,    10,    11,    12,    -1,    -1,    15,    16,    17,    18,
+      19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
+      29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
+      39,    40,    41,    42,    43,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    55,    56,    57,    58,
+      -1,    -1,    -1,    -1,    63,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,   243,    75,    76,    77,    -1,
+      -1,    13,    14,    -1,    83,    84,    -1,    86,    -1,    -1,
+      -1,    -1,    91,    -1,    -1,    94,    -1,    -1,    97,    -1,
+      99,    -1,    -1,    -1,    -1,    -1,    -1,   106,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   118,
+      -1,   120,    -1,    -1,   123,    -1,   125,    -1,    -1,    -1,
+      -1,    -1,    -1,   132,   133,   134,   135,   136,    -1,    -1,
+     139,   140,   141,   142,   143,    -1,    -1,    -1,   147,    -1,
+      -1,   150,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    91,
+      92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
+     102,   103,    -1,    -1,    -1,   107,   108,   109,    -1,    -1,
+     112,    -1,    -1,    -1,    -1,    -1,   118,   119,    -1,    -1,
+     122,   123,   191,   125,   126,    -1,   195,   196,    -1,    -1,
+      -1,   200,   201,   202,    -1,   204,   205,   206,    -1,    -1,
+      -1,   210,   144,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,   226,   227,    -1,
+      -1,    -1,    -1,    -1,   233,    -1,   168,   169,   170,   238,
+       3,     4,    -1,    -1,   243,    -1,   245,    10,    11,    12,
+      -1,    -1,    15,    16,    17,    18,    19,    20,    21,    22,
+      23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
+      33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
+      43,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    55,    56,    57,    58,    -1,    -1,    -1,    -1,
+      63,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,   243,    75,    76,    77,    -1,    -1,    13,    14,    -1,
+      83,    84,    -1,    86,    -1,    -1,    -1,    -1,    91,    -1,
+      -1,    94,    -1,    -1,    97,    -1,    99,    -1,    -1,    -1,
+      -1,    -1,    -1,   106,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,   118,    -1,   120,    -1,    -1,
+     123,    -1,   125,    -1,    -1,    -1,    -1,    -1,    -1,   132,
+     133,   134,   135,   136,    -1,    -1,   139,   140,   141,   142,
+     143,    -1,    -1,    -1,   147,    -1,    -1,   150,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    91,    92,    93,    94,    95,
+      96,    97,    98,    99,   100,   101,   102,   103,    -1,    -1,
+      -1,   107,   108,   109,    -1,    -1,   112,    -1,    -1,    -1,
+      -1,    -1,   118,   119,    -1,    -1,   122,   123,   191,   125,
+     126,    -1,   195,   196,    -1,    -1,    -1,   200,   201,   202,
+      -1,   204,   205,   206,    -1,    -1,    -1,   210,   144,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,   226,   227,    -1,    -1,    -1,    -1,    -1,
+     233,    -1,   168,   169,   170,   238,     3,     4,    -1,   242,
+      -1,    -1,   245,    10,    11,    12,    -1,    -1,    15,    16,
+      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
+      27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
+      37,    38,    39,    40,    41,    42,    43,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    55,    56,
+      57,    58,    -1,    -1,    -1,    -1,    63,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,   243,    75,    76,
+      77,    -1,    -1,    13,    14,    -1,    83,    84,    -1,    86,
+      -1,    -1,    -1,    -1,    91,    -1,    -1,    94,    -1,    -1,
+      97,    -1,    99,    -1,    -1,    -1,    -1,    -1,    -1,   106,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,   118,    -1,   120,    -1,    -1,   123,    -1,   125,    -1,
+      -1,    -1,    -1,    -1,    -1,   132,   133,   134,   135,   136,
+      -1,    -1,   139,   140,   141,   142,   143,    -1,    -1,    -1,
+     147,    -1,    -1,   150,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    91,    92,    93,    94,    95,    96,    97,    98,    99,
+     100,   101,   102,   103,    -1,    -1,    -1,   107,   108,   109,
+      -1,    -1,   112,    -1,    -1,    -1,    -1,    -1,   118,   119,
+      -1,    -1,   122,   123,   191,   125,   126,    -1,   195,   196,
+      -1,    -1,    -1,   200,   201,   202,    -1,   204,   205,   206,
+      -1,    -1,    -1,   210,   144,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   226,
+     227,    -1,    -1,    -1,    -1,    -1,   233,    -1,   168,   169,
+     170,   238,     3,     4,    -1,   242,    -1,    -1,   245,    10,
+      11,    12,    -1,    -1,    15,    16,    17,    18,    19,    20,
+      21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
+      31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
+      41,    42,    43,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    55,    56,    57,    58,    -1,    -1,
+      -1,    -1,    63,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,   243,    75,    76,    77,    -1,    -1,    13,
+      14,    -1,    83,    84,    -1,    86,    -1,    -1,    -1,    -1,
+      91,    -1,    -1,    94,    -1,    -1,    97,    -1,    99,    -1,
+      -1,    -1,    -1,    -1,    -1,   106,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,   118,    -1,   120,
+      -1,    -1,   123,    -1,   125,    -1,    -1,    -1,    -1,    -1,
+      -1,   132,   133,   134,   135,   136,    -1,    -1,   139,   140,
+     141,   142,   143,    -1,    -1,    -1,   147,    -1,    -1,   150,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    91,    92,    93,
+      94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
+      -1,    -1,    -1,   107,   108,   109,    -1,    -1,   112,    -1,
+      -1,    -1,    -1,    -1,   118,   119,    -1,    -1,   122,   123,
+     191,   125,   126,    -1,   195,   196,    -1,    -1,    -1,   200,
+     201,   202,    -1,   204,   205,   206,    -1,    -1,    -1,   210,
+     144,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,   226,   227,    -1,    -1,    -1,
+      -1,    -1,   233,    -1,   168,   169,   170,   238,     3,     4,
+      -1,   242,    -1,    -1,   245,    10,    11,    12,    -1,    -1,
+      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
+      25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
+      35,    36,    37,    38,    39,    40,    41,    42,    43,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      55,    56,    57,    58,    -1,    -1,    -1,    -1,    63,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   243,
+      75,    76,    77,    -1,    -1,    13,    14,    -1,    83,    84,
+      -1,    86,    -1,    -1,    -1,    -1,    91,    -1,    -1,    94,
+      -1,    -1,    97,    -1,    99,    -1,    -1,    -1,    -1,    -1,
+      -1,   106,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,   118,    -1,   120,    -1,    -1,   123,    -1,
+     125,    -1,    -1,    -1,    -1,    -1,    -1,   132,   133,   134,
+     135,   136,    -1,    -1,   139,   140,   141,   142,   143,    -1,
+      -1,    -1,   147,    -1,    -1,   150,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    91,    92,    93,    94,    95,    96,    97,
+      98,    99,   100,   101,   102,   103,    -1,    -1,    -1,   107,
+     108,   109,    -1,    -1,   112,    -1,    -1,    -1,    -1,    -1,
+     118,   119,    -1,    -1,   122,   123,   191,   125,   126,    -1,
+     195,   196,    -1,    -1,    -1,   200,   201,   202,    -1,   204,
+     205,   206,    -1,    -1,    -1,   210,   144,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,   226,   227,    -1,    -1,    -1,    -1,    -1,   233,    -1,
+     168,   169,   170,   238,     3,     4,    -1,   242,    -1,    -1,
+     245,    10,    11,    12,    -1,    -1,    15,    16,    17,    18,
+      19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
+      29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
+      39,    40,    41,    42,    43,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    55,    56,    57,    58,
+      -1,    -1,    -1,    -1,    63,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,   243,    75,    76,    77,    -1,
+      -1,    13,    14,    -1,    83,    84,    -1,    86,    -1,    -1,
+      -1,    -1,    91,    -1,    -1,    94,    -1,    -1,    97,    -1,
+      99,    -1,    -1,    -1,    -1,    -1,    -1,   106,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   118,
+      -1,   120,    -1,    -1,   123,    -1,   125,    -1,    -1,    -1,
+      -1,    -1,    -1,   132,   133,   134,   135,   136,    -1,    -1,
+     139,   140,   141,   142,   143,    -1,    -1,    -1,   147,    -1,
+      -1,   150,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    91,
+      92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
+     102,   103,    -1,    -1,    -1,   107,   108,   109,    -1,    -1,
+     112,    -1,    -1,    -1,    -1,    -1,   118,   119,    -1,    -1,
+     122,   123,   191,   125,   126,    -1,   195,   196,    -1,    -1,
+      -1,   200,   201,   202,    -1,   204,   205,   206,    -1,    -1,
+      -1,   210,   144,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,   226,   227,    -1,
+      -1,    -1,    -1,    -1,   233,    -1,   168,   169,   170,   238,
+       3,     4,     5,   242,    -1,    -1,   245,    10,    11,    12,
+      -1,    -1,    15,    16,    17,    18,    19,    20,    21,    22,
+      23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
+      33,    34,    35,    36,    37,    38,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    46,    47,    48,    49,    50,    51,    52,
+      53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
+      63,    -1,    -1,    -1,    67,    68,    69,    -1,    -1,    72,
+      -1,    74,    75,    76,    77,    -1,    -1,    -1,    -1,    -1,
+      83,    84,    85,    86,    -1,    88,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,     4,     5,   215,   216,   217,   218,
+     219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
+     229,   230,   231,   232,    -1,    -1,    -1,    -1,   237,    -1,
+     239,    -1,   241,    -1,    -1,    -1,    -1,    -1,   247,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    46,    47,    48,    49,
+      50,    51,    52,    53,    54,    -1,    -1,    -1,    -1,    59,
+      60,    61,    62,    -1,    -1,    -1,    -1,    67,    68,    69,
+      -1,    -1,    72,    -1,    74,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    85,    -1,    -1,    88,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   191,   192,
+     193,   194,   195,    -1,    -1,    -1,    -1,   200,   201,   202,
+     203,   204,   205,   206,   207,    -1,   209,   210,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,   226,   227,    -1,    -1,    -1,    -1,    -1,
+     233,    -1,    -1,    -1,    -1,   238,     3,     4,    -1,   242,
+      -1,    -1,   245,    10,    11,    12,    -1,    -1,    15,    16,
+      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
+      27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
+      37,    38,    39,    40,    41,    42,    43,    -1,    -1,    -1,
+      -1,    -1,   192,   193,   194,    -1,    -1,    -1,    55,    56,
+      57,    58,    -1,   203,    -1,    -1,    63,   207,    -1,   209,
+     210,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    75,    76,
+      77,    -1,    -1,    -1,    -1,    -1,    83,    84,    -1,    86,
+      -1,    -1,    -1,    -1,    91,    -1,    -1,    94,    -1,    -1,
+      97,    -1,    99,    -1,    -1,    -1,    -1,    -1,    -1,   106,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,   118,    -1,   120,    -1,    -1,   123,    -1,   125,    -1,
+      -1,    -1,    -1,    -1,    -1,   132,   133,   134,   135,   136,
+      -1,    -1,   139,   140,   141,   142,   143,    -1,    -1,    -1,
+     147,    -1,    -1,   150,   215,   216,   217,   218,   219,   220,
+     221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
+     231,   232,    -1,    -1,    -1,    -1,   237,    -1,   239,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,   247,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,   191,    -1,    -1,    -1,   195,   196,
+      -1,    -1,    -1,   200,   201,   202,    -1,   204,   205,   206,
+      -1,    -1,    -1,   210,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   226,
+     227,    -1,    -1,    -1,    -1,    -1,   233,    -1,    -1,    -1,
+      -1,   238,     3,     4,     5,   242,    -1,    -1,   245,    10,
+      11,    12,    -1,    -1,    15,    16,    17,    18,    19,    20,
+      21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
+      31,    32,    33,    34,    35,    36,    37,    38,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    46,    47,    48,    49,    50,
+      51,    52,    53,    54,    55,    56,    57,    58,    59,    60,
+      61,    62,    63,    -1,    -1,    -1,    67,    68,    69,    -1,
+      -1,    72,    -1,    74,    75,    76,    77,    -1,    -1,    -1,
+      -1,    -1,    83,    84,    85,    86,    -1,    88,     3,     4,
+       5,    -1,    -1,    -1,    -1,    10,    11,    12,    -1,    -1,
+      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
+      25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
+      35,    36,    37,    38,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    46,    47,    48,    49,    50,    51,    52,    53,    54,
+      55,    56,    57,    58,    59,    60,    61,    62,    63,    -1,
+      -1,    -1,    67,    68,    69,    -1,    -1,    72,    -1,    74,
+      75,    76,    77,    -1,    -1,    -1,    -1,    -1,    83,    84,
+      85,    86,    -1,    88,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     191,   192,   193,   194,   195,    -1,    -1,    -1,    -1,   200,
+     201,   202,   203,   204,   205,   206,   207,    -1,   209,   210,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,   226,   227,    -1,    -1,    -1,
+      -1,    -1,   233,    -1,    -1,    -1,    -1,   238,    -1,    -1,
+      -1,   242,    -1,    -1,   245,    -1,    -1,    -1,    -1,   215,
+     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
+     226,   227,   228,   229,   230,   231,   232,    -1,    -1,    -1,
+      -1,   237,    -1,    -1,    -1,    -1,   191,   192,   193,   194,
+     195,   247,    -1,    -1,    -1,   200,   201,   202,   203,   204,
+     205,   206,   207,    -1,   209,   210,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,   226,   227,    -1,    -1,    -1,    -1,    -1,   233,    -1,
+      -1,    -1,    -1,   238,     3,     4,    -1,   242,    -1,    -1,
+     245,    10,    11,    12,    -1,    -1,    15,    16,    17,    18,
+      19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
+      29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
+      39,    40,    41,    42,    43,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    55,    56,    57,    58,
+      -1,    -1,    -1,    -1,    63,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    75,    76,    77,    -1,
+      -1,    -1,    -1,    -1,    83,    84,    -1,    86,    -1,    -1,
+      -1,    -1,    91,    -1,    -1,    94,    -1,    -1,    97,    -1,
+      99,    -1,    -1,    -1,    -1,    -1,    -1,   106,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   118,
+      -1,   120,    -1,    -1,   123,    -1,   125,    -1,    -1,    -1,
+      -1,    -1,    -1,   132,   133,   134,   135,   136,    -1,    -1,
+     139,   140,   141,   142,   143,    -1,    -1,    -1,   147,    -1,
+      -1,   150,   215,   216,   217,   218,   219,   220,   221,   222,
+     223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
+      -1,    -1,    -1,    -1,   237,    -1,    -1,    -1,    -1,    -1,
+     243,    -1,    -1,    -1,   247,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,   191,    -1,    -1,    -1,   195,   196,    -1,    -1,
+      -1,   200,   201,   202,    -1,   204,   205,   206,    -1,    -1,
+      -1,   210,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,   226,   227,    -1,
+      -1,    -1,    -1,    -1,   233,    -1,    -1,    -1,    -1,   238,
+       3,     4,    -1,   242,    -1,    -1,   245,    10,    11,    12,
+      -1,    -1,    15,    16,    17,    18,    19,    20,    21,    22,
+      23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
+      33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
+      43,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    55,    56,    57,    58,    -1,    -1,    -1,    -1,
+      63,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    75,    76,    77,    -1,    -1,    -1,    -1,    -1,
+      83,    84,    -1,    86,    -1,    -1,    -1,    -1,    91,    -1,
+      -1,    94,    -1,    -1,    97,    -1,    99,    -1,    -1,    -1,
+      -1,    -1,    -1,   106,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,   118,    -1,   120,    -1,    -1,
+     123,    -1,   125,    -1,    -1,    -1,    -1,    -1,    -1,   132,
+     133,   134,   135,   136,    -1,    -1,   139,   140,   141,   142,
+     143,    -1,    -1,    -1,   147,    -1,    -1,   150,   215,   216,
+     217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
+     227,   228,   229,   230,   231,   232,    -1,    -1,    -1,    -1,
+     237,    -1,    -1,    -1,    -1,    -1,   243,    -1,    -1,    -1,
+     247,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   191,    -1,
+      -1,    -1,   195,   196,    -1,    -1,    -1,   200,   201,   202,
+      -1,   204,   205,   206,    -1,    -1,    -1,   210,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,   226,   227,    -1,    -1,    -1,    -1,    -1,
+     233,     3,     4,     5,    -1,   238,    -1,    -1,    10,    11,
+      12,    -1,   245,    15,    16,    17,    18,    19,    20,    21,
+      22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
+      32,    33,    34,    35,    36,    37,    38,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    46,    47,    48,    49,    50,    51,
+      52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
+      62,    63,    -1,    -1,    -1,    67,    68,    69,    -1,    -1,
+      72,    -1,    74,    75,    76,    77,    -1,    -1,    -1,    -1,
+      -1,    83,    84,    85,    86,    -1,    88,     3,     4,    -1,
+      -1,    -1,    -1,    -1,    10,    11,    12,    -1,    -1,    15,
+      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
+      26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
+      36,    37,    38,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    55,
+      56,    57,    58,    -1,    -1,    -1,    -1,    63,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    75,
+      76,    77,    -1,    -1,    -1,    -1,    -1,    83,    84,    -1,
+      86,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   191,
+     192,   193,   194,   195,    -1,    -1,    -1,    -1,   200,   201,
+     202,   203,   204,   205,   206,   207,    -1,   209,   210,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,   226,   227,    -1,    -1,    -1,    -1,
+      -1,   233,    -1,    -1,    -1,    -1,   238,    -1,    -1,    -1,
+      -1,    -1,    -1,   245,   215,   216,   217,   218,   219,   220,
+     221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
+     231,   232,    -1,    -1,    -1,    -1,   237,    -1,    -1,    -1,
+      -1,    -1,   243,    -1,    -1,   191,   247,    -1,    -1,   195,
+      -1,    -1,    -1,    -1,   200,   201,   202,    -1,   204,   205,
+     206,    -1,    -1,    -1,   210,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     226,   227,    -1,    -1,    -1,    -1,    -1,   233,    -1,    -1,
+      -1,    -1,   238,    -1,     3,     4,   242,     6,    -1,   245,
+      -1,    10,    11,    12,    -1,    -1,    15,    16,    17,    18,
+      19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
+      29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    55,    56,    57,    58,
+      -1,    -1,    -1,    -1,    63,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    75,    76,    77,    -1,
+      -1,    -1,    -1,    -1,    83,    84,    -1,    86,     3,     4,
+      -1,     6,    -1,    -1,    -1,    10,    11,    12,    -1,    -1,
+      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
+      25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
+      35,    36,    37,    38,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      55,    56,    57,    58,    -1,    -1,    -1,    -1,    63,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      75,    76,    77,    -1,    -1,    -1,    -1,    -1,    83,    84,
+      -1,    86,   215,   216,   217,   218,   219,   220,   221,   222,
+     223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
+      -1,    -1,   191,    -1,   237,    -1,   195,    -1,    -1,    -1,
+      -1,   200,   201,   202,   247,   204,   205,   206,    -1,    -1,
+      -1,   210,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,   226,   227,    -1,
+      -1,    -1,    -1,    -1,   233,    -1,    -1,    -1,    -1,   238,
+      -1,    -1,    -1,    -1,    -1,    -1,   245,   215,   216,   217,
+     218,   219,   220,   221,   222,   223,   224,   225,   226,   227,
+     228,   229,   230,   231,   232,    -1,    -1,    -1,    -1,   237,
+      -1,    -1,    -1,    -1,    -1,    -1,   191,    -1,    -1,   247,
+     195,    -1,    -1,    -1,    -1,   200,   201,   202,    -1,   204,
+     205,   206,    -1,    -1,    -1,   210,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,   226,   227,    -1,    -1,    -1,    -1,    -1,   233,     3,
+       4,    -1,     6,   238,    -1,    -1,    10,    11,    12,    -1,
+     245,    15,    16,    17,    18,    19,    20,    21,    22,    23,
+      24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
+      34,    35,    36,    37,    38,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    55,    56,    57,    58,    -1,    -1,    -1,    -1,    63,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    75,    76,    77,    -1,    -1,     3,     4,    -1,    83,
+      84,    -1,    86,    10,    11,    12,    -1,    -1,    15,    16,
+      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
+      27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
+      37,    38,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    55,    56,
+      57,    58,    -1,    -1,    -1,    -1,    63,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    75,    76,
+      77,    -1,    -1,    -1,    -1,    -1,    83,    84,    -1,    86,
+     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
+     225,   226,   227,   228,   229,   230,   231,   232,    -1,    -1,
+      -1,    -1,   237,    -1,    -1,    -1,    -1,   191,    -1,    -1,
+      -1,   195,   247,    -1,    -1,    -1,   200,   201,   202,    -1,
+     204,   205,   206,    -1,    -1,    -1,   210,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,   226,   227,    -1,    -1,    -1,    -1,    -1,   233,
+      -1,    -1,    -1,    -1,   238,    -1,    -1,    -1,    -1,    -1,
+      -1,   245,    -1,     0,     1,    -1,    -1,     4,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    13,    14,    -1,    -1,
+      -1,    -1,    -1,    -1,   191,    -1,    -1,    -1,   195,    -1,
+      -1,    -1,    -1,   200,   201,   202,    -1,   204,   205,   206,
+      -1,    -1,    -1,   210,    -1,    -1,    -1,    44,    45,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   226,
+     227,    -1,    -1,    -1,    -1,    -1,   233,    64,    65,    66,
+      -1,   238,    -1,    70,    71,    -1,    73,    -1,   245,    -1,
+      -1,    78,    79,    -1,    81,    82,    -1,    84,    -1,    -1,
+      -1,    -1,    89,    90,    91,    92,    93,    94,    95,    96,
+      97,    98,    99,   100,   101,   102,   103,    -1,    -1,   106,
+     107,   108,   109,   110,    -1,   112,    -1,   114,   115,   116,
+     117,   118,   119,   120,    -1,   122,   123,   124,   125,   126,
+     127,    -1,   129,   130,   131,   132,   133,   134,   135,   136,
+     137,    -1,   139,   140,   141,   142,   143,   144,   145,   146,
+     147,   148,   149,   150,   151,   152,    -1,     4,    -1,   156,
+     157,   158,    -1,    -1,    -1,   162,    13,    14,    -1,    -1,
+     167,   168,   169,   170,    -1,    -1,   173,    -1,   175,    -1,
+     177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
+     187,   188,   189,   190,    -1,    -1,    -1,    44,    45,    -1,
+     197,   198,   199,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,   208,    -1,   210,    -1,    -1,    -1,    64,    65,    66,
+      -1,    -1,    -1,    70,    71,    -1,    73,    -1,    -1,    -1,
+      -1,    78,    79,    -1,    81,    82,    -1,    84,    -1,    -1,
+      -1,    -1,    89,    90,    91,    92,    93,    94,    95,    96,
+      97,    98,    99,   100,   101,   102,   103,    -1,    -1,   106,
+     107,   108,   109,   110,    -1,   112,    -1,   114,   115,   116,
+     117,   118,   119,   120,    -1,   122,   123,   124,   125,   126,
+     127,    -1,   129,   130,   131,   132,   133,   134,   135,   136,
+     137,    -1,   139,   140,   141,   142,   143,   144,   145,   146,
+     147,   148,   149,   150,   151,   152,    -1,    -1,    -1,   156,
+     157,   158,    -1,    -1,    -1,   162,    -1,    -1,    -1,    -1,
+     167,   168,   169,   170,     4,     5,   173,    -1,   175,    -1,
+     177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
+     187,   188,   189,   190,    -1,    -1,    -1,    -1,    -1,    -1,
+     197,   198,   199,    -1,    -1,     5,    -1,    -1,    -1,    -1,
+      -1,   208,    -1,   210,    -1,    -1,    46,    47,    48,    49,
+      50,    51,    52,    53,    54,    -1,    -1,    -1,    -1,    59,
+      60,    61,    62,    -1,    -1,    -1,    -1,    67,    68,    69,
+      -1,    -1,    72,    -1,    74,    -1,    46,    47,    48,    49,
+      50,    51,    52,    53,    54,    85,    -1,    -1,    88,    59,
+      60,    61,    62,    -1,    -1,    -1,    -1,    67,    68,    69,
+      -1,    -1,    72,    -1,    74,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    85,    -1,    -1,    88,   215,
+     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
+     226,   227,   228,   229,   230,   231,   232,    -1,    -1,    -1,
+      -1,   237,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,   247,   215,   216,   217,   218,   219,   220,   221,   222,
+     223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
+      -1,    -1,    -1,    -1,   237,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,   247,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,   192,   193,   194,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,   203,    -1,    -1,    -1,   207,    -1,   209,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,   192,   193,   194,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,   203,    -1,    -1,    -1,   207,    -1,   209,
+     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
+     225,   226,   227,   228,   229,   230,   231,   232,    -1,    -1,
+      -1,    -1,   237,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,   247,   215,   216,   217,   218,   219,   220,   221,
+     222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
+     232,    -1,    -1,    -1,    -1,   237,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,   247,   215,   216,   217,   218,
+     219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
+     229,   230,   231,   232,    -1,    -1,    -1,    -1,   237,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   247,   215,
+     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
+     226,   227,   228,   229,   230,   231,   232,    -1,    -1,    -1,
+      -1,   237,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,   247,   215,   216,   217,   218,   219,   220,   221,   222,
+     223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
+      -1,    -1,    -1,    -1,   237,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,   247,   215,   216,   217,   218,   219,
+     220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
+     230,   231,   232,    -1,    -1,    -1,    -1,   237,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,   247,   215,   216,
+     217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
+     227,   228,   229,   230,   231,   232,    -1,    -1,    -1,    -1,
+     237,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     247,   215,   216,   217,   218,   219,   220,   221,   222,   223,
+     224,   225,   226,   227,   228,   229,   230,   231,   232,    -1,
+      -1,    -1,    -1,   237,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,   247,   215,   216,   217,   218,   219,   220,
+     221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
+     231,   232,    -1,    -1,    -1,    -1,   237,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,   247,   215,   216,   217,
+     218,   219,   220,   221,   222,   223,   224,   225,   226,   227,
+     228,   229,   230,   231,   232,    -1,    -1,    -1,    -1,   237,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   247,
+     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
+     225,   226,   227,   228,   229,   230,   231,   232,    -1,    -1,
+      -1,    -1,   237,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,   247,   215,   216,   217,   218,   219,   220,   221,
+     222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
+     232,    -1,    -1,    -1,    -1,   237,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,   247,   215,   216,   217,   218,
+     219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
+     229,   230,   231,   232,    -1,    -1,    -1,    -1,   237,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   247,   215,
+     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
+     226,   227,   228,   229,   230,   231,   232,    -1,    -1,    -1,
+      -1,   237,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,   247,   215,   216,   217,   218,   219,   220,   221,   222,
+     223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
+      -1,    -1,    -1,    -1,   237,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,   247,   215,   216,   217,   218,   219,
+     220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
+     230,   231,   232,    -1,    -1,    -1,    -1,   237,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,   247,   215,   216,
+     217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
+     227,   228,   229,   230,   231,   232,    -1,    -1,    -1,    -1,
+     237,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     247,   215,   216,   217,   218,   219,   220,   221,   222,   223,
+     224,   225,   226,   227,   228,   229,   230,   231,   232,    -1,
+      -1,    -1,    -1,   237,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,   247,   215,   216,   217,   218,   219,   220,
+     221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
+     231,   232,    -1,    -1,    -1,    -1,   237,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,   247,   215,   216,   217,
+     218,   219,   220,   221,   222,   223,   224,   225,   226,   227,
+     228,   229,   230,   231,   232,    -1,    -1,    -1,    -1,   237,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   247,
+     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
+     225,   226,   227,   228,   229,   230,   231,   232,    -1,    -1,
+      -1,    -1,   237,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,   247,   215,   216,   217,   218,   219,   220,   221,
+     222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
+     232,    -1,    -1,    -1,    -1,   237,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,   247,   215,   216,   217,   218,
+     219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
+     229,   230,   231,   232,    -1,    -1,    -1,    -1,   237,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   247,   215,
+     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
+     226,   227,   228,   229,   230,   231,   232,    -1,    -1,    -1,
+      -1,   237,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,   247,   215,   216,   217,   218,   219,   220,   221,   222,
+     223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
+      -1,    -1,    -1,    -1,   237,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,   247,   215,   216,   217,   218,   219,
+     220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
+     230,   231,   232,    -1,    -1,    -1,    -1,   237,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,   247,   215,   216,
+     217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
+     227,   228,   229,   230,   231,   232,    -1,    -1,    -1,    -1,
+     237,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     247,   215,   216,   217,   218,   219,   220,   221,   222,   223,
+     224,   225,   226,   227,   228,   229,   230,   231,   232,    -1,
+      -1,    -1,    -1,   237,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,   247,   215,   216,   217,   218,   219,   220,
+     221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
+     231,   232,    -1,    -1,    -1,    -1,   237,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,   247,   215,   216,   217,
+     218,   219,   220,   221,   222,   223,   224,   225,   226,   227,
+     228,   229,   230,   231,   232,    -1,    -1,    -1,    -1,   237,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   247,
+     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
+     225,   226,   227,   228,   229,   230,   231,   232,    -1,    -1,
+      -1,    -1,   237,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,   247,   215,   216,   217,   218,   219,   220,   221,
+     222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
+     232,    -1,    -1,    -1,    -1,   237,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,   247,   215,   216,   217,   218,
+     219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
+     229,   230,   231,   232,    -1,    -1,    -1,    -1,   237,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   247,   215,
+     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
+     226,   227,   228,   229,   230,   231,   232,    -1,    -1,    -1,
+      -1,   237,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,   247,   215,   216,   217,   218,   219,   220,   221,   222,
+     223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
+      -1,    -1,    -1,    -1,   237,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,   247,   215,   216,   217,   218,   219,
+     220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
+     230,   231,   232,    -1,    -1,    -1,    -1,   237,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,   247,   215,   216,
+     217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
+     227,   228,   229,   230,   231,   232,    -1,    -1,    -1,    -1,
+     237,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     247,   215,   216,   217,   218,   219,   220,   221,   222,   223,
+     224,   225,   226,   227,   228,   229,   230,   231,   232,    -1,
+      -1,    -1,    -1,   237,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,   247,   215,   216,   217,   218,   219,   220,
+     221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
+     231,   232,    -1,    -1,    -1,    -1,   237,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,   247,   215,   216,   217,
+     218,   219,   220,   221,   222,   223,   224,   225,   226,   227,
+     228,   229,   230,   231,   232,    -1,    -1,    -1,    -1,   237,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   247,
+     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
+     225,   226,   227,   228,   229,   230,   231,   232,    -1,    -1,
+      -1,    -1,   237,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,   247,   215,   216,   217,   218,   219,   220,   221,
+     222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
+     232,    -1,    -1,    -1,    -1,   237,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,   247,   215,   216,   217,   218,
+     219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
+     229,   230,   231,   232,    -1,    -1,    -1,    -1,   237,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   247,   215,
+     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
+     226,   227,   228,   229,   230,   231,   232,    -1,    -1,    -1,
+      -1,   237,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,   247,   215,   216,   217,   218,   219,   220,   221,   222,
+     223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
+      -1,    -1,    -1,    -1,   237,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,   247,   215,   216,   217,   218,   219,
+     220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
+     230,   231,   232,    -1,    -1,    -1,    -1,   237,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,   247,   215,   216,
+     217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
+     227,   228,   229,   230,   231,   232,    -1,    -1,    -1,    -1,
+     237,    -1,    -1,    -1,    -1,    -1,   243,   215,   216,   217,
+     218,   219,   220,   221,   222,   223,   224,   225,   226,   227,
+     228,   229,   230,   231,   232,    -1,    -1,    -1,    -1,   237,
+      -1,    -1,    -1,    -1,    -1,   243,   215,   216,   217,   218,
+     219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
+     229,   230,   231,   232,    -1,    -1,    -1,    -1,   237,    -1,
+      -1,    -1,    -1,    -1,   243,   215,   216,   217,   218,   219,
+     220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
+     230,   231,   232,    -1,    -1,    -1,    -1,   237,    -1,    -1,
+      -1,    -1,    -1,   243,   215,   216,   217,   218,   219,   220,
+     221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
+     231,   232,    -1,    -1,    -1,    -1,   237,    -1,    -1,    -1,
+      -1,    -1,   243,   215,   216,   217,   218,   219,   220,   221,
+     222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
+     232,    -1,    -1,    -1,    -1,   237,    -1,    -1,    -1,    -1,
+      -1,   243,   215,   216,   217,   218,   219,   220,   221,   222,
+     223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
+      -1,    -1,    -1,    -1,   237,    -1,    -1,    -1,    -1,    -1,
+     243,   215,   216,   217,   218,   219,   220,   221,   222,   223,
+     224,   225,   226,   227,   228,   229,   230,   231,   232,    -1,
+      -1,    -1,    -1,   237,    -1,    -1,    -1,    -1,    -1,   243,
+     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
+     225,   226,   227,   228,   229,   230,   231,   232,    -1,    -1,
+      -1,    -1,   237,    -1,    -1,    -1,    -1,    -1,   243,   215,
+     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
+     226,   227,   228,   229,   230,   231,   232,    -1,    -1,    -1,
+      -1,   237,    -1,    -1,    -1,    -1,    -1,   243,   215,   216,
+     217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
+     227,   228,   229,   230,   231,   232,    -1,    -1,    -1,    -1,
+     237,    -1,    -1,    -1,    -1,    -1,   243,   215,   216,   217,
+     218,   219,   220,   221,   222,   223,   224,   225,   226,   227,
+     228,   229,   230,   231,   232,    -1,    -1,    -1,    -1,   237,
+      -1,    -1,    -1,    -1,    -1,   243,   215,   216,   217,   218,
+     219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
+     229,   230,   231,   232,    -1,    -1,    -1,    -1,   237,    -1,
+      -1,    -1,    -1,    -1,   243,   215,   216,   217,   218,   219,
+     220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
+     230,   231,   232,    -1,    -1,    -1,    -1,   237,    -1,    -1,
+      -1,    -1,    -1,   243,   215,   216,   217,   218,   219,   220,
+     221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
+     231,   232,    -1,    -1,    -1,    -1,   237,    -1,    -1,    -1,
+      -1,    -1,   243,   215,   216,   217,   218,   219,   220,   221,
+     222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
+     232,    -1,    -1,    -1,    -1,   237,    -1,    -1,    -1,    -1,
+      -1,   243,   215,   216,   217,   218,   219,   220,   221,   222,
+     223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
+      -1,    -1,    -1,    -1,   237,    -1,    -1,    -1,    -1,    -1,
+     243,   215,   216,   217,   218,   219,   220,   221,   222,   223,
+     224,   225,   226,   227,   228,   229,   230,   231,   232,    -1,
+      -1,    -1,    -1,   237,    -1,    -1,    -1,    -1,    -1,   243,
+     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
+     225,   226,   227,   228,   229,   230,   231,   232,    -1,    -1,
+      -1,    -1,   237,    -1,    -1,    -1,    -1,    -1,   243,   215,
+     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
+     226,   227,   228,   229,   230,   231,   232,    -1,    -1,    -1,
+      -1,   237,    -1,    -1,    -1,    -1,    -1,   243,   215,   216,
+     217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
+     227,   228,   229,   230,   231,   232,    -1,    -1,    -1,    -1,
+     237,    -1,    -1,    -1,    -1,    -1,   243,   215,   216,   217,
+     218,   219,   220,   221,   222,   223,   224,   225,   226,   227,
+     228,   229,   230,   231,   232,    -1,    -1,    -1,    -1,   237,
+      -1,    -1,    -1,    -1,    -1,   243,   215,   216,   217,   218,
+     219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
+     229,   230,   231,   232,    -1,    -1,    -1,    -1,   237,    -1,
+      -1,    -1,    -1,    -1,   243,   215,   216,   217,   218,   219,
+     220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
+     230,   231,   232,    -1,    -1,    -1,    -1,   237,    -1,    -1,
+      -1,    -1,    -1,   243,   215,   216,   217,   218,   219,   220,
+     221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
+     231,   232,    -1,    -1,    -1,    -1,   237,    -1,    -1,    -1,
+      -1,    -1,   243,   215,   216,   217,   218,   219,   220,   221,
+     222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
+     232,    -1,    -1,    -1,    -1,   237,    -1,    -1,    -1,    -1,
+      -1,   243,   215,   216,   217,   218,   219,   220,   221,   222,
+     223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
+      -1,    -1,    -1,    -1,   237,    -1,    -1,    -1,    -1,    -1,
+     243,   215,   216,   217,   218,   219,   220,   221,   222,   223,
+     224,   225,   226,   227,   228,   229,   230,   231,   232,    -1,
+      -1,    -1,    -1,   237,    -1,    -1,    -1,    -1,    -1,   243,
+     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
+     225,   226,   227,   228,   229,   230,   231,   232,    -1,    -1,
+      -1,    -1,   237,    -1,    -1,    -1,    -1,    -1,   243,   215,
+     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
+     226,   227,   228,   229,   230,   231,   232,    -1,    -1,    -1,
+      -1,   237,    -1,    -1,    -1,    -1,    -1,   243,   215,   216,
+     217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
+     227,   228,   229,   230,   231,   232,    -1,    -1,    -1,    -1,
+     237,    -1,    -1,    -1,    -1,    -1,   243,   215,   216,   217,
+     218,   219,   220,   221,   222,   223,   224,   225,   226,   227,
+     228,   229,   230,   231,   232,    -1,    -1,    -1,    -1,   237,
+      -1,    -1,    -1,    -1,    -1,   243,   215,   216,   217,   218,
+     219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
+     229,   230,   231,   232,    -1,    -1,    -1,    -1,   237,    -1,
+      -1,    -1,    -1,    -1,   243,   215,   216,   217,   218,   219,
+     220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
+     230,   231,   232,    -1,    -1,    -1,    -1,   237,    -1,    -1,
+      -1,    -1,   242,   215,   216,   217,   218,   219,   220,   221,
+     222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
+     232,    -1,    -1,    -1,    -1,   237,    -1,    -1,    -1,    -1,
+     242,   215,   216,   217,   218,   219,   220,   221,   222,   223,
+     224,   225,   226,   227,   228,   229,   230,   231,   232,    -1,
+      -1,    -1,    -1,   237,    -1,    -1,    -1,    -1,   242,   215,
+     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
+     226,   227,   228,   229,   230,   231,   232,    -1,    -1,    -1,
+      -1,   237,    -1,   239,    -1,   241,   215,   216,   217,   218,
+     219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
+     229,   230,   231,   232,    -1,    -1,    -1,    -1,   237,    -1,
+      -1,    -1,   241,   215,   216,   217,   218,   219,   220,   221,
+     222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
+     232,    -1,    -1,    -1,    -1,   237,    -1,    -1,    -1,   241,
+     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
+     225,   226,   227,   228,   229,   230,   231,   232,    -1,    -1,
+      -1,    -1,   237,    -1,    -1,    -1,   241,   215,   216,   217,
+     218,   219,   220,   221,   222,   223,   224,   225,   226,   227,
+     228,   229,   230,   231,   232,    -1,    -1,    -1,    -1,   237,
+      -1,    -1,    -1,   241,   215,   216,   217,   218,   219,   220,
+     221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
+     231,   232,    -1,    -1,    -1,    -1,   237,    -1,    -1,    -1,
+     241,   215,   216,   217,   218,   219,   220,   221,   222,   223,
+     224,   225,   226,   227,   228,   229,   230,   231,   232,    -1,
+      -1,    -1,    -1,   237,    -1,    -1,    -1,   241,   215,   216,
+     217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
+     227,   228,   229,   230,   231,   232,    -1,    -1,    -1,    -1,
+     237,    -1,    -1,    -1,   241,   215,   216,   217,   218,   219,
+     220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
+     230,   231,   232,    -1,    -1,    -1,    -1,   237,    -1,    -1,
+      -1,   241,   215,   216,   217,   218,   219,   220,   221,   222,
+     223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
+      -1,    -1,    -1,    -1,   237,    -1,    -1,    -1,   241,   215,
+     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
+     226,   227,   228,   229,   230,   231,   232,    -1,    -1,    -1,
+      -1,   237,    -1,    -1,    -1,   241,   215,   216,   217,   218,
+     219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
+     229,   230,   231,   232,    -1,    -1,    -1,    -1,   237,    -1,
+      -1,    -1,   241,   215,   216,   217,   218,   219,   220,   221,
+     222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
+     232,    -1,    -1,    -1,    -1,   237,    -1,    -1,    -1,   241,
+     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
+     225,   226,   227,   228,   229,   230,   231,   232,    -1,    -1,
+      -1,    -1,   237,    -1,    -1,    -1,   241,   215,   216,   217,
+     218,   219,   220,   221,   222,   223,   224,   225,   226,   227,
+     228,   229,   230,   231,   232,    -1,    -1,    -1,    -1,   237,
+      -1,    -1,    -1,   241,   215,   216,   217,   218,   219,   220,
+     221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
+     231,   232,    -1,    -1,    -1,    -1,   237,    -1,   239,   215,
+     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
+     226,   227,   228,   229,   230,   231,   232,    -1,    -1,    -1,
+      -1,   237,    -1,   239,   215,   216,   217,   218,   219,   220,
+     221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
+     231,   232,    -1,    -1,    -1,    -1,   237,    -1,   239,   215,
+     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
+     226,   227,   228,   229,   230,   231,   232,    -1,    -1,    -1,
+      -1,   237,    -1,   239,   215,   216,   217,   218,   219,   220,
+     221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
+     231,   232,    -1,    -1,    -1,    -1,   237,    -1,   239,   215,
+     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
+     226,   227,   228,   229,   230,   231,   232,    -1,    -1,    -1,
+      -1,   237,    -1,   239,   215,   216,   217,   218,   219,   220,
+     221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
+     231,   232,    -1,    -1,    -1,    -1,   237,    -1,   239,   215,
+     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
+     226,   227,   228,   229,   230,   231,   232,    -1,    -1,    -1,
+      -1,   237,    -1,   239,   215,   216,   217,   218,   219,   220,
+     221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
+     231,   232,    -1,    -1,    -1,    -1,   237,    -1,   239,   215,
+     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
+     226,   227,   228,   229,   230,   231,   232,    -1,    -1,    -1,
+      -1,   237,    -1,   239,   215,   216,   217,   218,   219,   220,
+     221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
+     231,   232,    -1,    -1,    -1,    -1,   237,    -1,   239,   215,
+     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
+     226,   227,   228,   229,   230,   231,   232,    -1,    -1,    -1,
+      -1,   237,    -1,   239,   215,   216,   217,   218,   219,   220,
+     221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
+     231,   232,    -1,    -1,    -1,    -1,   237,    -1,   239,   215,
+     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
+     226,   227,   228,   229,   230,   231,   232,    -1,    -1,    -1,
+      -1,   237,    -1,   239,   215,   216,   217,   218,   219,   220,
+     221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
+     231,   232,    -1,    -1,    -1,    -1,   237,    -1,   239,   215,
+     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
+     226,   227,   228,   229,   230,   231,   232,    -1,    -1,    -1,
+      -1,   237,    -1,   239,   215,   216,   217,   218,   219,   220,
+     221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
+     231,   232,    -1,    -1,    -1,    -1,   237,    -1,   239,   215,
+     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
+     226,   227,   228,   229,   230,   231,   232,    -1,    -1,    -1,
+      -1,   237,    -1,   239,   215,   216,   217,   218,   219,   220,
+     221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
+     231,   232,    -1,    -1,    -1,    -1,   237,    -1,   239,   215,
+     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
+     226,   227,   228,   229,   230,   231,   232,    -1,    -1,    -1,
+      -1,   237,    -1,   239,   215,   216,   217,   218,   219,   220,
+     221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
+     231,   232,    -1,    -1,    -1,    -1,   237,    -1,   239,   215,
+     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
+     226,   227,   228,   229,   230,   231,   232,    -1,    -1,    -1,
+      -1,   237,    -1,   239,   215,   216,   217,   218,   219,   220,
+     221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
+     231,   232,    -1,    -1,    -1,    -1,   237,    -1,   239,   215,
+     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
+     226,   227,   228,   229,   230,   231,   232,    -1,    -1,    -1,
+      -1,   237,    -1,   239,   215,   216,   217,   218,   219,   220,
+     221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
+     231,   232,    -1,    -1,    -1,    -1,   237,    -1,   239,   215,
+     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
+     226,   227,   228,   229,   230,   231,   232,    -1,    -1,    -1,
+      -1,   237,    -1,   239,   215,   216,   217,   218,   219,   220,
+     221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
+     231,   232,    -1,    -1,    -1,    -1,   237,    -1,   239,   215,
+     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
+     226,   227,   228,   229,   230,   231,   232,    -1,    -1,    -1,
+      -1,   237,    -1,   239,   215,   216,   217,   218,   219,   220,
+     221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
+     231,   232,    -1,    -1,    -1,    -1,   237,    -1,   239,   215,
+     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
+     226,   227,   228,   229,   230,   231,   232,    -1,    -1,    -1,
+      -1,   237,    -1,   239,   215,   216,   217,   218,   219,   220,
+     221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
+     231,   232,    -1,    -1,    -1,    -1,   237,    -1,   239,   215,
+     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
+     226,   227,   228,   229,   230,   231,   232,    -1,    -1,    -1,
+      -1,   237,    -1,   239,   215,   216,   217,   218,   219,   220,
+     221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
+     231,   232,    -1,    -1,    -1,    -1,   237,    -1,   239,   215,
+     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
+     226,   227,   228,   229,   230,   231,   232,    -1,    -1,    -1,
+      -1,   237,    -1,   239,   215,   216,   217,   218,   219,   220,
+     221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
+     231,   232,    -1,    -1,    -1,    -1,   237,    -1,   239,   215,
+     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
+     226,   227,   228,   229,   230,   231,   232,    -1,    -1,    -1,
+      -1,   237,    -1,   239,   215,   216,   217,   218,   219,   220,
+     221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
+     231,   232,    -1,    -1,    -1,    -1,   237,    -1,   239,   215,
+     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
+     226,   227,   228,   229,   230,   231,   232,    -1,    -1,    -1,
+      -1,   237,    -1,   239,   215,   216,   217,   218,   219,   220,
+     221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
+     231,   232,    -1,    -1,    -1,    -1,   237,    -1,   239,   215,
+     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
+     226,   227,   228,   229,   230,   231,   232,    -1,    -1,    -1,
+      -1,   237,    -1,   239,   215,   216,   217,   218,   219,   220,
+     221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
+     231,   232,    -1,    -1,    -1,    -1,   237,    -1,   239,   215,
+     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
+     226,   227,   228,   229,   230,   231,   232,    -1,    -1,    -1,
+      -1,   237,    -1,   239,   215,   216,   217,   218,   219,   220,
+     221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
+     231,   232,    -1,    -1,    -1,    -1,   237,    -1,   239,   215,
+     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
+     226,   227,   228,   229,   230,   231,   232,    -1,    -1,    -1,
+      -1,   237,    -1,   239,   215,   216,   217,   218,   219,   220,
+     221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
+     231,   232,    -1,    -1,    -1,    -1,   237,    -1,   239,   215,
+     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
+     226,   227,   228,   229,   230,   231,   232,    -1,    -1,    -1,
+      -1,   237,    -1,   239,   215,   216,   217,   218,   219,   220,
+     221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
+     231,   232,    -1,    -1,    -1,    -1,   237,    -1,   239,   215,
+     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
+     226,   227,   228,   229,   230,   231,   232,    -1,    -1,    -1,
+      -1,   237,    -1,   239,   215,   216,   217,   218,   219,   220,
+     221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
+     231,   232,    -1,    -1,    -1,    -1,   237,    -1,   239,   215,
+     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
+     226,   227,   228,   229,   230,   231,   232,    -1,    -1,    -1,
+      -1,   237,    -1,   239,   215,   216,   217,   218,   219,   220,
+     221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
+     231,   232,    -1,    -1,    -1,    -1,   237,    -1,   239,   215,
+     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
+     226,   227,   228,   229,   230,   231,   232,    -1,    -1,    -1,
+      -1,   237,    -1,   239,   215,   216,   217,   218,   219,   220,
+     221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
+     231,   232,    -1,    -1,    -1,    -1,   237,    -1,   239,   215,
+     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
+     226,   227,   228,   229,   230,   231,   232,    -1,    -1,    -1,
+      -1,   237,    -1,   239,   215,   216,   217,   218,   219,   220,
+     221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
+     231,   232,    -1,    -1,    -1,    -1,   237,    -1,   239,   215,
+     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
+     226,   227,   228,   229,   230,   231,   232,    -1,    -1,    -1,
+      -1,   237,    -1,   239,   215,   216,   217,   218,   219,   220,
+     221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
+     231,   232,    -1,    -1,    -1,    -1,   237,    -1,   239,   215,
+     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
+     226,   227,   228,   229,   230,   231,   232,    -1,    -1,    -1,
+      -1,   237,    -1,   239,   215,   216,   217,   218,   219,   220,
+     221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
+     231,   232,    -1,    -1,    -1,    -1,   237,    -1,   239,   215,
+     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
+     226,   227,   228,   229,   230,   231,   232,    -1,    -1,    -1,
+      -1,   237,    -1,   239,   215,   216,   217,   218,   219,   220,
+     221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
+     231,   232,    -1,    -1,    -1,    -1,   237,    -1,   239,   215,
+     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
+     226,   227,   228,   229,   230,   231,   232,    -1,    -1,    -1,
+      -1,   237,    -1,   239,   215,   216,   217,   218,   219,   220,
+     221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
+     231,   232,    -1,    -1,    -1,    -1,   237,    -1,   239,   215,
+     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
+     226,   227,   228,   229,   230,   231,   232,    -1,    -1,    -1,
+      -1,   237,    -1,   239,   215,   216,   217,   218,   219,   220,
+     221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
+     231,   232,    -1,    -1,    -1,    -1,   237,    -1,   239,   215,
+     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
+     226,   227,   228,   229,   230,   231,   232,    -1,    -1,    -1,
+      -1,   237,    -1,   239,   215,   216,   217,   218,   219,   220,
+     221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
+     231,   232,    -1,    -1,    -1,    -1,   237
+};
+
+/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
+   symbol of state STATE-NUM.  */
+static const yytype_uint16 yystos[] =
+{
+       0,     1,   249,   250,     6,     0,     4,    13,    14,    44,
+      45,    64,    65,    66,    70,    71,    73,    78,    79,    81,
+      82,    84,    89,    90,    91,    92,    93,    94,    95,    96,
+      97,    98,    99,   100,   101,   102,   103,   106,   107,   108,
+     109,   110,   112,   114,   115,   116,   117,   118,   119,   120,
+     122,   123,   124,   125,   126,   127,   129,   130,   131,   132,
+     133,   134,   135,   136,   137,   139,   140,   141,   142,   143,
+     144,   145,   146,   147,   148,   149,   150,   151,   152,   156,
+     157,   158,   162,   167,   168,   169,   170,   173,   175,   177,
+     178,   179,   180,   181,   182,   183,   184,   185,   186,   187,
+     188,   189,   190,   197,   198,   199,   208,   210,   251,   253,
+     254,   274,   295,   296,   299,   300,   301,   302,   303,   304,
+     305,   306,   307,   314,   316,   317,   323,   324,   325,   326,
+     332,   353,   354,   242,   246,    14,    97,   238,   238,     6,
+     242,     6,     6,     6,     6,   238,     6,     6,   240,   240,
+       4,   334,   354,   238,   240,   272,   272,   238,   242,   238,
+     238,     4,   238,   242,   238,   238,     4,   238,   242,   238,
+     238,   238,   238,   238,   238,   238,   238,   238,   238,   111,
+      97,     6,   242,    91,    94,    97,   238,     3,    10,    11,
+      12,    15,    16,    17,    18,    19,    20,    21,    22,    23,
+      24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
+      34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
+      55,    56,    57,    58,    63,    75,    76,    77,    83,    86,
+      91,    94,    97,    99,   118,   123,   125,   191,   195,   196,
+     200,   201,   202,   204,   205,   206,   226,   227,   233,   238,
+     242,   245,   296,   307,   314,   316,   327,   328,   332,   334,
+     341,   343,   354,   238,   242,    97,    97,   118,    94,    97,
+      99,    91,    94,    97,    99,    94,    97,    99,    94,    97,
+     238,    94,   148,   173,   189,   190,   242,   226,   227,   238,
+     242,   338,   339,   338,   242,   242,   338,     4,    91,    95,
+     101,   102,   104,   105,   122,   238,    97,    99,    97,    94,
+       4,    84,   184,   242,   354,     4,     6,    91,    94,    97,
+      94,    97,     4,     4,     4,     5,   238,   341,   342,     4,
+     238,   238,   238,     4,   242,   345,   354,     4,   238,   238,
+     238,     6,     6,   240,     5,    46,    47,    48,    49,    50,
+      51,    52,    53,    54,    59,    60,    61,    62,    67,    68,
+      69,    72,    74,    85,    88,   192,   193,   194,   203,   207,
+     209,   349,   354,   238,     4,   349,     5,   242,     5,   242,
+      32,   227,   327,   354,   240,   238,   242,     6,   238,   242,
+       6,   246,     7,   125,   184,   211,   212,   213,   214,   235,
+     236,   238,   240,   244,   270,   271,   272,   327,   348,   349,
+     354,     4,   296,   297,   298,   242,     6,   327,   348,   349,
+     354,   348,   327,   348,   352,   276,   280,   238,   337,     9,
+     349,   354,   327,   227,   327,   343,   344,   327,   327,   238,
+     327,   344,   327,   327,   238,   327,   344,   327,   327,   327,
+     327,   327,   327,   348,   327,   327,   327,   341,   238,   344,
+     342,   342,   342,   348,   272,   272,   272,   272,   272,   272,
+     272,   272,   272,   272,   272,   272,   272,   272,   272,   272,
+     272,   272,   272,   272,   272,   272,   272,   238,   240,   272,
+     272,   272,   272,   272,   272,   238,   272,   272,   238,   272,
+     272,     5,   176,   242,     5,   176,     5,   176,     5,   176,
+     118,    91,    94,    97,    99,   238,   272,   272,   238,   238,
+     238,   327,   242,   327,   343,   327,   327,   243,   344,   334,
+     354,     8,   215,   216,   217,   218,   219,   220,   221,   222,
+     223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
+     237,   238,   240,     9,   238,   240,   244,   271,   272,   327,
+     344,   238,   238,   238,   341,   342,   342,   342,   238,   238,
+     238,   238,   238,   341,   238,   341,   238,   341,   242,   242,
+     327,     4,   341,   242,   345,   242,   242,   338,   338,   338,
+     327,   327,   226,   227,   242,   242,   338,   226,   227,   238,
+     298,   338,   242,   238,   242,   238,   238,   238,   238,   238,
+     238,   238,   327,   342,   342,   342,   238,     4,   240,     6,
+     240,   298,     6,     6,   242,   242,   242,   342,   342,   240,
+     240,   240,   327,     6,     6,   327,   327,   327,   244,   327,
+     242,   176,   327,   327,   327,   327,   272,   272,   272,   238,
+     238,   238,   272,   272,   272,   272,   272,   272,   272,   272,
+     272,   272,   238,   238,   272,   238,   240,     6,     6,   242,
+       6,   298,     6,   298,   272,   327,   228,   242,   238,   240,
+     348,   327,   298,   341,   341,   242,   349,    91,    94,    97,
+      99,     7,   327,   327,     4,   173,   174,   341,     6,   239,
+     241,   242,   273,     6,   242,     6,     9,   238,   240,   244,
+     354,   243,    91,    94,    97,    99,   118,   123,   126,   295,
+     327,     6,   239,   247,     9,   238,   240,   244,   239,   247,
+     247,   239,   247,   241,   247,   275,   241,   275,    87,   336,
+     333,   354,   247,   247,   239,   228,   243,   247,   239,   239,
+     327,   239,   243,   239,   239,   327,   239,   243,   239,   239,
+     239,   239,   239,   239,   239,   239,   239,   239,     7,   327,
+     243,     6,     6,     6,   239,   327,   327,   327,   327,   327,
+     327,   327,   327,   327,   327,   327,   327,   327,   327,   327,
+     327,   327,   343,   327,   327,   327,   327,   327,   327,   327,
+     343,   343,   354,   242,   327,   327,   348,   327,   348,   341,
+     348,   348,   352,   327,   273,   354,    64,   327,    64,    64,
+      64,   342,   342,   342,   342,   348,   348,   343,   334,   349,
+     334,   344,   239,   243,   244,   272,   327,   327,   327,   327,
+     327,   327,   327,   327,   327,   327,   327,   327,   327,   327,
+     242,   327,   343,   327,   327,   327,   327,   327,   327,   327,
+     354,   327,   327,     4,   335,   242,   273,   239,   243,   327,
+     327,   327,     7,     7,   320,   320,   289,   327,   349,   290,
+     327,   349,   291,   327,   349,   292,   327,   349,   327,     6,
+     327,     6,   327,     6,   344,   344,   242,   239,     6,   298,
+     242,   298,   298,   247,   247,   247,   338,   338,   297,   297,
+     247,   327,   243,   311,   247,   298,   327,   327,   327,   327,
+     327,   327,   327,   327,   327,   239,     7,   321,     6,     7,
+     327,     6,   327,   327,   243,   344,   344,   344,     6,     6,
+     327,   327,   327,   239,   239,   239,   239,   173,   247,   298,
+     242,     8,   239,   239,   241,   352,   348,   352,   348,   348,
+     348,   348,   348,   348,   327,   348,   348,   348,   348,   245,
+     351,   354,   349,   348,   348,   348,   334,   354,   344,   243,
+     243,   327,   327,   298,   241,   239,   131,   148,   315,   239,
+     243,   247,   327,     6,   242,   242,   242,   242,   327,   239,
+     241,     7,   270,   271,   244,     7,     6,   344,     7,   214,
+     270,   255,   354,   327,   327,   335,   240,   242,   242,   242,
+     242,   238,   118,    94,    97,    99,   243,     6,   221,   222,
+     252,   344,   354,   327,   327,     4,   335,     6,   344,   327,
+       6,   348,     6,   354,     6,   348,   327,   239,   240,   327,
+     349,     7,   176,   327,   343,     7,     7,   239,     7,   176,
+       7,     7,   239,     7,   176,     7,     7,     7,     7,     7,
+       7,     7,     7,     7,   327,   239,   242,     6,   273,   273,
+     273,   273,   273,   273,   273,   273,   273,   273,   273,   247,
+     273,   273,   273,   273,   273,   273,   273,   273,   273,   247,
+     247,   247,   239,   241,   241,   344,   247,   247,   273,   247,
+     273,   247,   247,   247,   239,   329,   273,   242,   243,   242,
+     242,   242,   247,   247,   273,   273,   239,   244,   239,   244,
+     247,   330,   243,     7,   335,   273,     8,     8,   344,   239,
+     241,   244,   239,   241,   271,   238,   344,     7,   242,   239,
+     239,   239,   327,   341,     4,   319,     6,   239,   247,   239,
+     247,   239,   247,   239,   247,   239,   239,   239,   243,   243,
+     344,   244,   243,   298,   243,   243,   338,   327,   327,   243,
+     243,   327,   338,   128,   128,   145,   153,   154,   155,   159,
+     160,   312,   313,   338,   243,   308,   239,   243,   239,   239,
+     239,   239,   239,   239,   239,     7,   327,     6,   327,   239,
+     241,   241,   243,   243,   243,   241,   241,   247,     7,     7,
+       7,   244,   327,   243,   327,   327,     7,   244,   273,   247,
+     273,   273,   239,   239,   247,   273,   273,   247,   247,   273,
+     273,   273,   273,   327,   273,     9,   350,   247,   239,   247,
+     273,   244,   247,   331,   241,   243,   243,   246,     7,   148,
+       6,   327,   243,   242,     6,   341,   243,   327,   327,   327,
+     327,     6,     7,   270,   271,   244,   270,   271,   349,   327,
+       6,     4,   242,   346,   354,   243,    46,    46,   341,     4,
+     163,   164,   165,   166,   243,   258,   262,   265,   267,   268,
+     244,   239,   241,   238,   327,   344,   344,   344,   344,   327,
+     238,   238,   238,   238,   348,   239,   244,   239,   241,   238,
+     239,   247,     7,   272,     4,   283,   284,   285,   273,   273,
+     338,    97,    99,   341,   341,     7,   341,    97,    99,   341,
+     341,     7,   341,    99,   341,   341,   341,   341,   341,   341,
+     341,   341,   341,     6,     7,   344,   327,   327,   327,   327,
+     243,   327,   327,   327,   341,   348,   348,   247,   282,   327,
+     327,   327,   327,   327,   327,   335,   335,   327,   239,   341,
+     238,   327,   327,   243,   335,   271,   244,   271,   327,   243,
+     341,   344,     7,     7,     7,   128,   318,     6,   270,   327,
+     270,   327,   270,   327,   270,   327,     7,     7,     7,     7,
+       7,   243,     4,   243,   247,   247,   247,   243,   243,   109,
+       4,     6,   327,   242,     6,   238,     6,   161,     6,   161,
+     243,   313,   247,   312,     7,     6,     7,     7,     7,     7,
+       7,     7,     7,   341,     6,   242,     6,     6,     6,    97,
+       7,     6,     6,   327,   341,   341,   341,     4,   247,     8,
+       8,   239,     4,     4,   344,   348,   327,   348,   245,   247,
+     286,   348,   348,   335,   348,   239,   247,   242,   242,     6,
+     327,     6,   242,   341,   243,   243,   243,   243,   243,   327,
+       6,     4,   173,   174,   327,     6,     6,     6,     7,   345,
+     347,     6,   240,   273,   272,   272,     6,   259,   238,   238,
+     242,   269,     6,   335,   244,   348,   327,   241,   243,   243,
+     243,   243,   239,   327,   327,   327,   327,     6,     6,   252,
+     335,   244,   327,     6,   327,   242,   327,   349,   273,   242,
+     341,   349,   241,   247,     6,     6,     6,   242,   242,   122,
+     294,   294,   341,     6,   242,   242,     6,     6,   341,   176,
+     293,   242,     6,     6,     6,     6,     6,     6,     6,     6,
+       6,     5,   243,   273,   273,   273,   273,   273,   247,   247,
+     247,   239,   273,   273,   284,   273,   247,   247,   247,   247,
+     239,   273,   239,   330,     6,   239,   238,     4,   239,   273,
+       6,   243,   341,   341,   341,     4,     6,   341,   341,   341,
+     341,   341,   341,   341,   242,   242,     7,     6,     7,   327,
+     327,   327,   242,   242,   242,   240,     6,   327,   341,   327,
+       6,     6,   327,   338,   243,     5,   341,   242,   242,   242,
+     242,   242,   242,   242,   341,     6,   344,   242,   327,   241,
+       6,     6,   172,   327,   327,   327,     6,     6,     7,   273,
+     247,   247,   273,   247,   327,     4,   188,   287,   288,   273,
+     239,   273,   331,   349,   327,   298,     6,   298,   247,     6,
+       6,     7,   270,   271,   244,     7,     6,   345,   243,   247,
+     327,   270,   273,   352,   352,   238,   327,   327,   340,   341,
+     242,   238,     4,     6,   239,     6,     6,     6,     6,     6,
+     239,   239,   239,   239,   348,   238,     4,   239,   247,   341,
+     349,     7,   281,   327,   343,   285,   327,   327,   338,     6,
+       6,     6,   327,   327,     6,    95,     6,   327,     5,   242,
+     327,   327,   327,   327,   327,   327,   327,   239,   327,   271,
+     242,     6,   293,     6,   327,     6,     6,     6,     6,     6,
+       4,     6,     6,   344,   344,   327,   327,   349,   243,   239,
+     243,   247,   297,   297,   327,   327,   243,   247,   239,   243,
+     247,     6,     6,   340,   338,   338,   338,   338,   338,   227,
+     338,     6,   243,   327,     6,     6,   341,   243,   247,     8,
+     243,   239,   242,   327,   349,   348,   327,   348,   242,   327,
+     349,   349,   247,   239,   247,   243,   315,   315,   341,   349,
+     327,     6,     4,   346,     6,   345,   241,   341,     6,   273,
+     273,   256,   327,   247,   247,   243,   247,   257,   327,   327,
+       6,   327,   327,   277,   279,   242,   243,   247,     7,     7,
+     243,   243,   243,   243,   242,   243,     5,   340,   273,   273,
+     247,   247,   247,   247,   247,   239,   327,     6,   242,   243,
+     243,   242,     6,     6,   242,   327,   243,   243,   243,   241,
+       6,   341,     7,   242,   327,   243,   247,   247,   247,   247,
+     247,   247,     6,   243,   171,   327,   327,   344,     6,     6,
+     239,   273,   273,   352,   288,   349,   243,   243,   243,     6,
+       6,     7,     6,   244,     6,     6,     6,   239,   247,   327,
+     327,   242,   341,   243,   247,   239,   239,   247,   282,   286,
+     341,   327,   349,   354,     6,     6,     6,     6,   327,     6,
+       6,   243,   327,   327,   327,   327,   327,   243,   340,   132,
+     133,   138,   322,   132,   133,   322,   344,   297,   243,   247,
+       6,   243,   341,   298,   243,     6,   344,   338,   338,   338,
+     338,   338,   327,   243,   243,   243,   243,   239,   242,     6,
+     345,   174,   260,   327,   247,   247,   340,     6,   327,   327,
+     243,   243,   278,     7,   238,   243,   242,   247,   247,   247,
+     247,   247,   243,   242,   338,   341,     6,   242,   338,     6,
+     243,   243,   327,     6,   128,   243,   309,   242,   243,   247,
+     247,   247,   247,   247,     6,     6,     6,   298,     6,   242,
+     327,   327,   243,   247,   282,   349,   239,   327,   327,   327,
+     327,   327,   327,     6,   338,     6,   338,     6,     6,   243,
+     327,   312,   298,     6,   344,   344,   344,   344,   338,   344,
+     315,   257,   239,   247,     6,   242,   327,   243,   247,   247,
+     247,   247,   247,   247,   247,   247,     6,   243,   243,   310,
+     243,   243,   243,   243,   247,   243,   243,   243,   263,   327,
+     340,   243,   327,   327,   327,   327,   327,   327,   338,   338,
+     312,     6,     6,     6,     6,   344,     6,     6,     6,   242,
+     239,   243,     6,   243,   273,   247,   247,   247,   247,   247,
+     247,   243,   243,   261,   348,   266,   242,     6,   327,   327,
+     327,   327,   327,   327,     6,   243,   247,   242,   340,   243,
+     243,   243,   243,   243,   243,     6,   348,   264,   348,   243,
+       6,     6,   243,   247,     6,     6,   348
+};
+
+#define yyerrok		(yyerrstatus = 0)
+#define yyclearin	(yychar = YYEMPTY)
+#define YYEMPTY		(-2)
+#define YYEOF		0
+
+#define YYACCEPT	goto yyacceptlab
+#define YYABORT		goto yyabortlab
+#define YYERROR		goto yyerrorlab
+
+
+/* Like YYERROR except do call yyerror.  This remains here temporarily
+   to ease the transition to the new meaning of YYERROR, for GCC.
+   Once GCC version 2 has supplanted version 1, this can go.  */
+
+#define YYFAIL		goto yyerrlab
+
+#define YYRECOVERING()  (!!yyerrstatus)
+
+#define YYBACKUP(Token, Value)					\
+do								\
+  if (yychar == YYEMPTY && yylen == 1)				\
+    {								\
+      yychar = (Token);						\
+      yylval = (Value);						\
+      yytoken = YYTRANSLATE (yychar);				\
+      YYPOPSTACK (1);						\
+      goto yybackup;						\
+    }								\
+  else								\
+    {								\
+      yyerror (YY_("syntax error: cannot back up")); \
+      YYERROR;							\
+    }								\
+while (YYID (0))
+
+
+#define YYTERROR	1
+#define YYERRCODE	256
+
+
+/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
+   If N is 0, then set CURRENT to the empty location which ends
+   the previous symbol: RHS[0] (always defined).  */
+
+#define YYRHSLOC(Rhs, K) ((Rhs)[K])
+#ifndef YYLLOC_DEFAULT
+# define YYLLOC_DEFAULT(Current, Rhs, N)				\
+    do									\
+      if (YYID (N))                                                    \
+	{								\
+	  (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;	\
+	  (Current).first_column = YYRHSLOC (Rhs, 1).first_column;	\
+	  (Current).last_line    = YYRHSLOC (Rhs, N).last_line;		\
+	  (Current).last_column  = YYRHSLOC (Rhs, N).last_column;	\
+	}								\
+      else								\
+	{								\
+	  (Current).first_line   = (Current).last_line   =		\
+	    YYRHSLOC (Rhs, 0).last_line;				\
+	  (Current).first_column = (Current).last_column =		\
+	    YYRHSLOC (Rhs, 0).last_column;				\
+	}								\
+    while (YYID (0))
+#endif
+
+
+/* YY_LOCATION_PRINT -- Print the location on the stream.
+   This macro was not mandated originally: define only if we know
+   we won't break user code: when these are the locations we know.  */
+
+#ifndef YY_LOCATION_PRINT
+# if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
+#  define YY_LOCATION_PRINT(File, Loc)			\
+     fprintf (File, "%d.%d-%d.%d",			\
+	      (Loc).first_line, (Loc).first_column,	\
+	      (Loc).last_line,  (Loc).last_column)
+# else
+#  define YY_LOCATION_PRINT(File, Loc) ((void) 0)
+# endif
+#endif
+
+
+/* YYLEX -- calling `yylex' with the right arguments.  */
+
+#ifdef YYLEX_PARAM
+# define YYLEX yylex (YYLEX_PARAM)
+#else
+# define YYLEX yylex ()
+#endif
+
+/* Enable debugging if requested.  */
+#if YYDEBUG
+
+# ifndef YYFPRINTF
+#  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
+#  define YYFPRINTF fprintf
+# endif
+
+# define YYDPRINTF(Args)			\
+do {						\
+  if (yydebug)					\
+    YYFPRINTF Args;				\
+} while (YYID (0))
+
+# define YY_SYMBOL_PRINT(Title, Type, Value, Location)			  \
+do {									  \
+  if (yydebug)								  \
+    {									  \
+      YYFPRINTF (stderr, "%s ", Title);					  \
+      yy_symbol_print (stderr,						  \
+		  Type, Value); \
+      YYFPRINTF (stderr, "\n");						  \
+    }									  \
+} while (YYID (0))
+
+
+/*--------------------------------.
+| Print this symbol on YYOUTPUT.  |
+`--------------------------------*/
+
+/*ARGSUSED*/
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+static void
+yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
+#else
+static void
+yy_symbol_value_print (yyoutput, yytype, yyvaluep)
+    FILE *yyoutput;
+    int yytype;
+    YYSTYPE const * const yyvaluep;
+#endif
+{
+  if (!yyvaluep)
+    return;
+# ifdef YYPRINT
+  if (yytype < YYNTOKENS)
+    YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
+# else
+  YYUSE (yyoutput);
+# endif
+  switch (yytype)
+    {
+      default:
+	break;
+    }
+}
+
+
+/*--------------------------------.
+| Print this symbol on YYOUTPUT.  |
+`--------------------------------*/
+
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+static void
+yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
+#else
+static void
+yy_symbol_print (yyoutput, yytype, yyvaluep)
+    FILE *yyoutput;
+    int yytype;
+    YYSTYPE const * const yyvaluep;
+#endif
+{
+  if (yytype < YYNTOKENS)
+    YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
+  else
+    YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
+
+  yy_symbol_value_print (yyoutput, yytype, yyvaluep);
+  YYFPRINTF (yyoutput, ")");
+}
+
+/*------------------------------------------------------------------.
+| yy_stack_print -- Print the state stack from its BOTTOM up to its |
+| TOP (included).                                                   |
+`------------------------------------------------------------------*/
+
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+static void
+yy_stack_print (yytype_int16 *bottom, yytype_int16 *top)
+#else
+static void
+yy_stack_print (bottom, top)
+    yytype_int16 *bottom;
+    yytype_int16 *top;
+#endif
+{
+  YYFPRINTF (stderr, "Stack now");
+  for (; bottom <= top; ++bottom)
+    YYFPRINTF (stderr, " %d", *bottom);
+  YYFPRINTF (stderr, "\n");
+}
+
+# define YY_STACK_PRINT(Bottom, Top)				\
+do {								\
+  if (yydebug)							\
+    yy_stack_print ((Bottom), (Top));				\
+} while (YYID (0))
+
+
+/*------------------------------------------------.
+| Report that the YYRULE is going to be reduced.  |
+`------------------------------------------------*/
+
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+static void
+yy_reduce_print (YYSTYPE *yyvsp, int yyrule)
+#else
+static void
+yy_reduce_print (yyvsp, yyrule)
+    YYSTYPE *yyvsp;
+    int yyrule;
+#endif
+{
+  int yynrhs = yyr2[yyrule];
+  int yyi;
+  unsigned long int yylno = yyrline[yyrule];
+  YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
+	     yyrule - 1, yylno);
+  /* The symbols being reduced.  */
+  for (yyi = 0; yyi < yynrhs; yyi++)
+    {
+      fprintf (stderr, "   $%d = ", yyi + 1);
+      yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
+		       &(yyvsp[(yyi + 1) - (yynrhs)])
+		       		       );
+      fprintf (stderr, "\n");
+    }
+}
+
+# define YY_REDUCE_PRINT(Rule)		\
+do {					\
+  if (yydebug)				\
+    yy_reduce_print (yyvsp, Rule); \
+} while (YYID (0))
+
+/* Nonzero means print parse trace.  It is left uninitialized so that
+   multiple parsers can coexist.  */
+int yydebug;
+#else /* !YYDEBUG */
+# define YYDPRINTF(Args)
+# define YY_SYMBOL_PRINT(Title, Type, Value, Location)
+# define YY_STACK_PRINT(Bottom, Top)
+# define YY_REDUCE_PRINT(Rule)
+#endif /* !YYDEBUG */
+
+
+/* YYINITDEPTH -- initial size of the parser's stacks.  */
+#ifndef	YYINITDEPTH
+# define YYINITDEPTH 200
+#endif
+
+/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
+   if the built-in stack extension method is used).
+
+   Do not make this value too large; the results are undefined if
+   YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
+   evaluated with infinite-precision integer arithmetic.  */
+
+#ifndef YYMAXDEPTH
+# define YYMAXDEPTH 10000
+#endif
+
+
+
+#if YYERROR_VERBOSE
+
+# ifndef yystrlen
+#  if defined __GLIBC__ && defined _STRING_H
+#   define yystrlen strlen
+#  else
+/* Return the length of YYSTR.  */
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+static YYSIZE_T
+yystrlen (const char *yystr)
+#else
+static YYSIZE_T
+yystrlen (yystr)
+    const char *yystr;
+#endif
+{
+  YYSIZE_T yylen;
+  for (yylen = 0; yystr[yylen]; yylen++)
+    continue;
+  return yylen;
+}
+#  endif
+# endif
+
+# ifndef yystpcpy
+#  if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
+#   define yystpcpy stpcpy
+#  else
+/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
+   YYDEST.  */
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+static char *
+yystpcpy (char *yydest, const char *yysrc)
+#else
+static char *
+yystpcpy (yydest, yysrc)
+    char *yydest;
+    const char *yysrc;
+#endif
+{
+  char *yyd = yydest;
+  const char *yys = yysrc;
+
+  while ((*yyd++ = *yys++) != '\0')
+    continue;
+
+  return yyd - 1;
+}
+#  endif
+# endif
+
+# ifndef yytnamerr
+/* Copy to YYRES the contents of YYSTR after stripping away unnecessary
+   quotes and backslashes, so that it's suitable for yyerror.  The
+   heuristic is that double-quoting is unnecessary unless the string
+   contains an apostrophe, a comma, or backslash (other than
+   backslash-backslash).  YYSTR is taken from yytname.  If YYRES is
+   null, do not copy; instead, return the length of what the result
+   would have been.  */
+static YYSIZE_T
+yytnamerr (char *yyres, const char *yystr)
+{
+  if (*yystr == '"')
+    {
+      YYSIZE_T yyn = 0;
+      char const *yyp = yystr;
+
+      for (;;)
+	switch (*++yyp)
+	  {
+	  case '\'':
+	  case ',':
+	    goto do_not_strip_quotes;
+
+	  case '\\':
+	    if (*++yyp != '\\')
+	      goto do_not_strip_quotes;
+	    /* Fall through.  */
+	  default:
+	    if (yyres)
+	      yyres[yyn] = *yyp;
+	    yyn++;
+	    break;
+
+	  case '"':
+	    if (yyres)
+	      yyres[yyn] = '\0';
+	    return yyn;
+	  }
+    do_not_strip_quotes: ;
+    }
+
+  if (! yyres)
+    return yystrlen (yystr);
+
+  return yystpcpy (yyres, yystr) - yyres;
+}
+# endif
+
+/* Copy into YYRESULT an error message about the unexpected token
+   YYCHAR while in state YYSTATE.  Return the number of bytes copied,
+   including the terminating null byte.  If YYRESULT is null, do not
+   copy anything; just return the number of bytes that would be
+   copied.  As a special case, return 0 if an ordinary "syntax error"
+   message will do.  Return YYSIZE_MAXIMUM if overflow occurs during
+   size calculation.  */
+static YYSIZE_T
+yysyntax_error (char *yyresult, int yystate, int yychar)
+{
+  int yyn = yypact[yystate];
+
+  if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
+    return 0;
+  else
+    {
+      int yytype = YYTRANSLATE (yychar);
+      YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
+      YYSIZE_T yysize = yysize0;
+      YYSIZE_T yysize1;
+      int yysize_overflow = 0;
+      enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
+      char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
+      int yyx;
+
+# if 0
+      /* This is so xgettext sees the translatable formats that are
+	 constructed on the fly.  */
+      YY_("syntax error, unexpected %s");
+      YY_("syntax error, unexpected %s, expecting %s");
+      YY_("syntax error, unexpected %s, expecting %s or %s");
+      YY_("syntax error, unexpected %s, expecting %s or %s or %s");
+      YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
+# endif
+      char *yyfmt;
+      char const *yyf;
+      static char const yyunexpected[] = "syntax error, unexpected %s";
+      static char const yyexpecting[] = ", expecting %s";
+      static char const yyor[] = " or %s";
+      char yyformat[sizeof yyunexpected
+		    + sizeof yyexpecting - 1
+		    + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
+		       * (sizeof yyor - 1))];
+      char const *yyprefix = yyexpecting;
+
+      /* Start YYX at -YYN if negative to avoid negative indexes in
+	 YYCHECK.  */
+      int yyxbegin = yyn < 0 ? -yyn : 0;
+
+      /* Stay within bounds of both yycheck and yytname.  */
+      int yychecklim = YYLAST - yyn + 1;
+      int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
+      int yycount = 1;
+
+      yyarg[0] = yytname[yytype];
+      yyfmt = yystpcpy (yyformat, yyunexpected);
+
+      for (yyx = yyxbegin; yyx < yyxend; ++yyx)
+	if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
+	  {
+	    if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
+	      {
+		yycount = 1;
+		yysize = yysize0;
+		yyformat[sizeof yyunexpected - 1] = '\0';
+		break;
+	      }
+	    yyarg[yycount++] = yytname[yyx];
+	    yysize1 = yysize + yytnamerr (0, yytname[yyx]);
+	    yysize_overflow |= (yysize1 < yysize);
+	    yysize = yysize1;
+	    yyfmt = yystpcpy (yyfmt, yyprefix);
+	    yyprefix = yyor;
+	  }
+
+      yyf = YY_(yyformat);
+      yysize1 = yysize + yystrlen (yyf);
+      yysize_overflow |= (yysize1 < yysize);
+      yysize = yysize1;
+
+      if (yysize_overflow)
+	return YYSIZE_MAXIMUM;
+
+      if (yyresult)
+	{
+	  /* Avoid sprintf, as that infringes on the user's name space.
+	     Don't have undefined behavior even if the translation
+	     produced a string with the wrong number of "%s"s.  */
+	  char *yyp = yyresult;
+	  int yyi = 0;
+	  while ((*yyp = *yyf) != '\0')
+	    {
+	      if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
+		{
+		  yyp += yytnamerr (yyp, yyarg[yyi++]);
+		  yyf += 2;
+		}
+	      else
+		{
+		  yyp++;
+		  yyf++;
+		}
+	    }
+	}
+      return yysize;
+    }
+}
+#endif /* YYERROR_VERBOSE */
+
+
+/*-----------------------------------------------.
+| Release the memory associated to this symbol.  |
+`-----------------------------------------------*/
+
+/*ARGSUSED*/
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+static void
+yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
+#else
+static void
+yydestruct (yymsg, yytype, yyvaluep)
+    const char *yymsg;
+    int yytype;
+    YYSTYPE *yyvaluep;
+#endif
+{
+  YYUSE (yyvaluep);
+
+  if (!yymsg)
+    yymsg = "Deleting";
+  YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
+
+  switch (yytype)
+    {
+
+      default:
+	break;
+    }
+}
+
+
+/* Prevent warnings from -Wmissing-prototypes.  */
+
+#ifdef YYPARSE_PARAM
+#if defined __STDC__ || defined __cplusplus
+int yyparse (void *YYPARSE_PARAM);
+#else
+int yyparse ();
+#endif
+#else /* ! YYPARSE_PARAM */
+#if defined __STDC__ || defined __cplusplus
+int yyparse (void);
+#else
+int yyparse ();
+#endif
+#endif /* ! YYPARSE_PARAM */
+
+
+
+/* The look-ahead symbol.  */
+int yychar;
+
+/* The semantic value of the look-ahead symbol.  */
+YYSTYPE yylval;
+
+/* Number of syntax errors so far.  */
+int yynerrs;
+
+
+
+/*----------.
+| yyparse.  |
+`----------*/
+
+#ifdef YYPARSE_PARAM
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+int
+yyparse (void *YYPARSE_PARAM)
+#else
+int
+yyparse (YYPARSE_PARAM)
+    void *YYPARSE_PARAM;
+#endif
+#else /* ! YYPARSE_PARAM */
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+int
+yyparse (void)
+#else
+int
+yyparse ()
+
+#endif
+#endif
+{
+  
+  int yystate;
+  int yyn;
+  int yyresult;
+  /* Number of tokens to shift before error messages enabled.  */
+  int yyerrstatus;
+  /* Look-ahead token as an internal (translated) token number.  */
+  int yytoken = 0;
+#if YYERROR_VERBOSE
+  /* Buffer for error messages, and its allocated size.  */
+  char yymsgbuf[128];
+  char *yymsg = yymsgbuf;
+  YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
+#endif
+
+  /* Three stacks and their tools:
+     `yyss': related to states,
+     `yyvs': related to semantic values,
+     `yyls': related to locations.
+
+     Refer to the stacks thru separate pointers, to allow yyoverflow
+     to reallocate them elsewhere.  */
+
+  /* The state stack.  */
+  yytype_int16 yyssa[YYINITDEPTH];
+  yytype_int16 *yyss = yyssa;
+  yytype_int16 *yyssp;
+
+  /* The semantic value stack.  */
+  YYSTYPE yyvsa[YYINITDEPTH];
+  YYSTYPE *yyvs = yyvsa;
+  YYSTYPE *yyvsp;
+
+
+
+#define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N))
+
+  YYSIZE_T yystacksize = YYINITDEPTH;
+
+  /* The variables used to return semantic value and location from the
+     action routines.  */
+  YYSTYPE yyval;
+
+
+  /* The number of symbols on the RHS of the reduced rule.
+     Keep to zero when no symbol should be popped.  */
+  int yylen = 0;
+
+  YYDPRINTF ((stderr, "Starting parse\n"));
+
+  yystate = 0;
+  yyerrstatus = 0;
+  yynerrs = 0;
+  yychar = YYEMPTY;		/* Cause a token to be read.  */
+
+  /* Initialize stack pointers.
+     Waste one element of value and location stack
+     so that they stay on the same level as the state stack.
+     The wasted elements are never initialized.  */
+
+  yyssp = yyss;
+  yyvsp = yyvs;
+
+  goto yysetstate;
+
+/*------------------------------------------------------------.
+| yynewstate -- Push a new state, which is found in yystate.  |
+`------------------------------------------------------------*/
+ yynewstate:
+  /* In all cases, when you get here, the value and location stacks
+     have just been pushed.  So pushing a state here evens the stacks.  */
+  yyssp++;
+
+ yysetstate:
+  *yyssp = yystate;
+
+  if (yyss + yystacksize - 1 <= yyssp)
+    {
+      /* Get the current used size of the three stacks, in elements.  */
+      YYSIZE_T yysize = yyssp - yyss + 1;
+
+#ifdef yyoverflow
+      {
+	/* Give user a chance to reallocate the stack.  Use copies of
+	   these so that the &'s don't force the real ones into
+	   memory.  */
+	YYSTYPE *yyvs1 = yyvs;
+	yytype_int16 *yyss1 = yyss;
+
+
+	/* Each stack pointer address is followed by the size of the
+	   data in use in that stack, in bytes.  This used to be a
+	   conditional around just the two extra args, but that might
+	   be undefined if yyoverflow is a macro.  */
+	yyoverflow (YY_("memory exhausted"),
+		    &yyss1, yysize * sizeof (*yyssp),
+		    &yyvs1, yysize * sizeof (*yyvsp),
+
+		    &yystacksize);
+
+	yyss = yyss1;
+	yyvs = yyvs1;
+      }
+#else /* no yyoverflow */
+# ifndef YYSTACK_RELOCATE
+      goto yyexhaustedlab;
+# else
+      /* Extend the stack our own way.  */
+      if (YYMAXDEPTH <= yystacksize)
+	goto yyexhaustedlab;
+      yystacksize *= 2;
+      if (YYMAXDEPTH < yystacksize)
+	yystacksize = YYMAXDEPTH;
+
+      {
+	yytype_int16 *yyss1 = yyss;
+	union yyalloc *yyptr =
+	  (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
+	if (! yyptr)
+	  goto yyexhaustedlab;
+	YYSTACK_RELOCATE (yyss);
+	YYSTACK_RELOCATE (yyvs);
+
+#  undef YYSTACK_RELOCATE
+	if (yyss1 != yyssa)
+	  YYSTACK_FREE (yyss1);
+      }
+# endif
+#endif /* no yyoverflow */
+
+      yyssp = yyss + yysize - 1;
+      yyvsp = yyvs + yysize - 1;
+
+
+      YYDPRINTF ((stderr, "Stack size increased to %lu\n",
+		  (unsigned long int) yystacksize));
+
+      if (yyss + yystacksize - 1 <= yyssp)
+	YYABORT;
+    }
+
+  YYDPRINTF ((stderr, "Entering state %d\n", yystate));
+
+  goto yybackup;
+
+/*-----------.
+| yybackup.  |
+`-----------*/
+yybackup:
+
+  /* Do appropriate processing given the current state.  Read a
+     look-ahead token if we need one and don't already have one.  */
+
+  /* First try to decide what to do without reference to look-ahead token.  */
+  yyn = yypact[yystate];
+  if (yyn == YYPACT_NINF)
+    goto yydefault;
+
+  /* Not known => get a look-ahead token if don't already have one.  */
+
+  /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol.  */
+  if (yychar == YYEMPTY)
+    {
+      YYDPRINTF ((stderr, "Reading a token: "));
+      yychar = YYLEX;
+    }
+
+  if (yychar <= YYEOF)
+    {
+      yychar = yytoken = YYEOF;
+      YYDPRINTF ((stderr, "Now at end of input.\n"));
+    }
+  else
+    {
+      yytoken = YYTRANSLATE (yychar);
+      YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
+    }
+
+  /* If the proper action on seeing token YYTOKEN is to reduce or to
+     detect an error, take that action.  */
+  yyn += yytoken;
+  if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
+    goto yydefault;
+  yyn = yytable[yyn];
+  if (yyn <= 0)
+    {
+      if (yyn == 0 || yyn == YYTABLE_NINF)
+	goto yyerrlab;
+      yyn = -yyn;
+      goto yyreduce;
+    }
+
+  if (yyn == YYFINAL)
+    YYACCEPT;
+
+  /* Count tokens shifted since error; after three, turn off error
+     status.  */
+  if (yyerrstatus)
+    yyerrstatus--;
+
+  /* Shift the look-ahead token.  */
+  YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
+
+  /* Discard the shifted token unless it is eof.  */
+  if (yychar != YYEOF)
+    yychar = YYEMPTY;
+
+  yystate = yyn;
+  *++yyvsp = yylval;
+
+  goto yynewstate;
+
+
+/*-----------------------------------------------------------.
+| yydefault -- do the default action for the current state.  |
+`-----------------------------------------------------------*/
+yydefault:
+  yyn = yydefact[yystate];
+  if (yyn == 0)
+    goto yyerrlab;
+  goto yyreduce;
+
+
+/*-----------------------------.
+| yyreduce -- Do a reduction.  |
+`-----------------------------*/
+yyreduce:
+  /* yyn is the number of a rule to reduce with.  */
+  yylen = yyr2[yyn];
+
+  /* If YYLEN is nonzero, implement the default value of the action:
+     `$$ = $1'.
+
+     Otherwise, the following line sets YYVAL to garbage.
+     This behavior is undocumented and Bison
+     users should not rely upon it.  Assigning to YYVAL
+     unconditionally makes the parser a bit smaller, and it avoids a
+     GCC warning that YYVAL may be used uninitialized.  */
+  yyval = yyvsp[1-yylen];
+
+
+  YY_REDUCE_PRINT (yyn);
+  switch (yyn)
+    {
+        case 3:
+#line 260 "Gmsh.y"
+    { yyerrok; return 1; ;}
+    break;
+
+  case 6:
+#line 271 "Gmsh.y"
+    { return 1; ;}
+    break;
+
+  case 7:
+#line 272 "Gmsh.y"
+    { return 1; ;}
+    break;
+
+  case 8:
+#line 273 "Gmsh.y"
+    { return 1; ;}
+    break;
+
+  case 9:
+#line 275 "Gmsh.y"
+    {
+      factory = (yyvsp[(3) - (5)].c);
+      if(factory == "OpenCASCADE"){
+        if(!GModel::current()->getOCCInternals())
+          GModel::current()->createOCCInternals();
+        for(int dim = -2; dim <= 3; dim++)
+          GModel::current()->getOCCInternals()->setMaxTag
+            (dim, std::max(GModel::current()->getOCCInternals()->getMaxTag(dim),
+                           GModel::current()->getGEOInternals()->getMaxTag(dim)));
+      }
+      else if(GModel::current()->getOCCInternals()){
+        for(int dim = -2; dim <= 3; dim++)
+          GModel::current()->getGEOInternals()->setMaxTag
+            (dim, std::max(GModel::current()->getGEOInternals()->getMaxTag(dim),
+                           GModel::current()->getOCCInternals()->getMaxTag(dim)));
+      }
+      Free((yyvsp[(3) - (5)].c));
+    ;}
+    break;
+
+  case 10:
+#line 293 "Gmsh.y"
+    { return 1; ;}
+    break;
+
+  case 11:
+#line 294 "Gmsh.y"
+    { List_Delete((yyvsp[(1) - (1)].l)); return 1; ;}
+    break;
+
+  case 12:
+#line 295 "Gmsh.y"
+    { return 1; ;}
+    break;
+
+  case 13:
+#line 296 "Gmsh.y"
+    { return 1; ;}
+    break;
+
+  case 14:
+#line 297 "Gmsh.y"
+    { return 1; ;}
+    break;
+
+  case 15:
+#line 298 "Gmsh.y"
+    { return 1; ;}
+    break;
+
+  case 16:
+#line 299 "Gmsh.y"
+    { List_Delete((yyvsp[(1) - (1)].l)); return 1; ;}
+    break;
+
+  case 17:
+#line 300 "Gmsh.y"
+    { List_Delete((yyvsp[(1) - (1)].l)); return 1; ;}
+    break;
+
+  case 18:
+#line 301 "Gmsh.y"
+    { return 1; ;}
+    break;
+
+  case 19:
+#line 302 "Gmsh.y"
+    { return 1; ;}
+    break;
+
+  case 20:
+#line 303 "Gmsh.y"
+    { return 1; ;}
+    break;
+
+  case 21:
+#line 304 "Gmsh.y"
+    { return 1; ;}
+    break;
+
+  case 22:
+#line 305 "Gmsh.y"
+    { return 1; ;}
+    break;
+
+  case 23:
+#line 306 "Gmsh.y"
+    { return 1; ;}
+    break;
+
+  case 24:
+#line 307 "Gmsh.y"
+    { return 1; ;}
+    break;
+
+  case 25:
+#line 308 "Gmsh.y"
+    { return 1; ;}
+    break;
+
+  case 26:
+#line 313 "Gmsh.y"
+    {
+      (yyval.c) = (char*)"w";
+    ;}
+    break;
+
+  case 27:
+#line 317 "Gmsh.y"
+    {
+      (yyval.c) = (char*)"a";
+    ;}
+    break;
+
+  case 28:
+#line 324 "Gmsh.y"
+    {
+      Msg::Direct((yyvsp[(3) - (5)].c));
+      Free((yyvsp[(3) - (5)].c));
+    ;}
+    break;
+
+  case 29:
+#line 329 "Gmsh.y"
+    {
+      Msg::Error((yyvsp[(3) - (5)].c));
+      Free((yyvsp[(3) - (5)].c));
+    ;}
+    break;
+
+  case 30:
+#line 334 "Gmsh.y"
+    {
+      std::string tmp = FixRelativePath(gmsh_yyname, (yyvsp[(6) - (7)].c));
+      FILE *fp = Fopen(tmp.c_str(), (yyvsp[(5) - (7)].c));
+      if(!fp){
+	yymsg(0, "Unable to open file '%s'", tmp.c_str());
+      }
+      else{
+	fprintf(fp, "%s\n", (yyvsp[(3) - (7)].c));
+	fclose(fp);
+      }
+      Free((yyvsp[(3) - (7)].c));
+      Free((yyvsp[(6) - (7)].c));
+    ;}
+    break;
+
+  case 31:
+#line 348 "Gmsh.y"
+    {
+      char tmpstring[5000];
+      int i = printListOfDouble((yyvsp[(3) - (7)].c), (yyvsp[(5) - (7)].l), tmpstring);
+      if(i < 0)
+	yymsg(0, "Too few arguments in Printf");
+      else if(i > 0)
+	yymsg(0, "%d extra argument%s in Printf", i, (i > 1) ? "s" : "");
+      else
+	Msg::Direct(tmpstring);
+      Free((yyvsp[(3) - (7)].c));
+      List_Delete((yyvsp[(5) - (7)].l));
+    ;}
+    break;
+
+  case 32:
+#line 361 "Gmsh.y"
+    {
+      char tmpstring[5000];
+      int i = printListOfDouble((yyvsp[(3) - (7)].c), (yyvsp[(5) - (7)].l), tmpstring);
+      if(i < 0)
+	yymsg(0, "Too few arguments in Error");
+      else if(i > 0)
+	yymsg(0, "%d extra argument%s in Error", i, (i > 1) ? "s" : "");
+      else
+	Msg::Error(tmpstring);
+      Free((yyvsp[(3) - (7)].c));
+      List_Delete((yyvsp[(5) - (7)].l));
+    ;}
+    break;
+
+  case 33:
+#line 374 "Gmsh.y"
+    {
+      char tmpstring[5000];
+      int i = printListOfDouble((yyvsp[(3) - (9)].c), (yyvsp[(5) - (9)].l), tmpstring);
+      if(i < 0)
+	yymsg(0, "Too few arguments in Printf");
+      else if(i > 0)
+	yymsg(0, "%d extra argument%s in Printf", i, (i > 1) ? "s" : "");
+      else{
+        std::string tmp = FixRelativePath(gmsh_yyname, (yyvsp[(8) - (9)].c));
+	FILE *fp = Fopen(tmp.c_str(), (yyvsp[(7) - (9)].c));
+	if(!fp){
+	  yymsg(0, "Unable to open file '%s'", tmp.c_str());
+	}
+	else{
+	  fprintf(fp, "%s\n", tmpstring);
+	  fclose(fp);
+	}
+      }
+      Free((yyvsp[(3) - (9)].c));
+      Free((yyvsp[(8) - (9)].c));
+      List_Delete((yyvsp[(5) - (9)].l));
+    ;}
+    break;
+
+  case 34:
+#line 402 "Gmsh.y"
+    {
+#if defined(HAVE_POST)
+      if(!strcmp((yyvsp[(1) - (6)].c), "View") && ViewData->finalize()){
+	ViewData->setName((yyvsp[(2) - (6)].c));
+	ViewData->setFileName(gmsh_yyname);
+	ViewData->setFileIndex(gmsh_yyviewindex++);
+	new PView(ViewData);
+      }
+      else
+	delete ViewData;
+#endif
+      Free((yyvsp[(1) - (6)].c)); Free((yyvsp[(2) - (6)].c));
+    ;}
+    break;
+
+  case 35:
+#line 416 "Gmsh.y"
+    {
+#if defined(HAVE_POST)
+      if(!strcmp((yyvsp[(2) - (6)].c), "View")){
+	int index = (int)(yyvsp[(4) - (6)].d);
+	if(index >= 0 && index < (int)PView::list.size())
+	  new PView(PView::list[index], false);
+        else
+	  yymsg(0, "Unknown view %d", index);
+      }
+#endif
+      Free((yyvsp[(2) - (6)].c));
+    ;}
+    break;
+
+  case 36:
+#line 429 "Gmsh.y"
+    {
+#if defined(HAVE_POST)
+      if(!strcmp((yyvsp[(2) - (6)].c), "View")){
+	int index = (int)(yyvsp[(4) - (6)].d);
+	if(index >= 0 && index < (int)PView::list.size())
+	  new PView(PView::list[index], true);
+        else
+	  yymsg(0, "Unknown view %d", index);
+      }
+#endif
+      Free((yyvsp[(2) - (6)].c));
+    ;}
+    break;
+
+  case 37:
+#line 442 "Gmsh.y"
+    {
+#if defined(HAVE_POST)
+      if(!strcmp((yyvsp[(2) - (8)].c), "View")){
+	int index = (int)(yyvsp[(4) - (8)].d), index2 = (int)(yyvsp[(6) - (8)].d);
+	if(index >= 0 && index < (int)PView::list.size() &&
+           index2 >= 0 && index2 < (int)PView::list.size()){
+          PView::list[index2]->setOptions(PView::list[index]->getOptions());
+        }
+        else
+	  yymsg(0, "Unknown view %d or %d", index, index2);
+      }
+#endif
+      Free((yyvsp[(2) - (8)].c));
+    ;}
+    break;
+
+  case 38:
+#line 460 "Gmsh.y"
+    {
+#if defined(HAVE_POST)
+      ViewData = new PViewDataList();
+#endif
+    ;}
+    break;
+
+  case 44:
+#line 474 "Gmsh.y"
+    { ViewCoord.push_back((yyvsp[(1) - (1)].d)); ;}
+    break;
+
+  case 45:
+#line 476 "Gmsh.y"
+    { ViewCoord.push_back((yyvsp[(3) - (3)].d)); ;}
+    break;
+
+  case 46:
+#line 481 "Gmsh.y"
+    { if(ViewValueList) ViewValueList->push_back((yyvsp[(1) - (1)].d)); ;}
+    break;
+
+  case 47:
+#line 483 "Gmsh.y"
+    { if(ViewValueList) ViewValueList->push_back((yyvsp[(3) - (3)].d)); ;}
+    break;
+
+  case 48:
+#line 488 "Gmsh.y"
+    {
+#if defined(HAVE_POST)
+      if(!strncmp((yyvsp[(1) - (1)].c), "SP", 2)){
+	ViewValueList = &ViewData->SP; ViewNumList = &ViewData->NbSP;
+      }
+      else if(!strncmp((yyvsp[(1) - (1)].c), "VP", 2)){
+	ViewValueList = &ViewData->VP; ViewNumList = &ViewData->NbVP;
+      }
+      else if(!strncmp((yyvsp[(1) - (1)].c), "TP", 2)){
+	ViewValueList = &ViewData->TP; ViewNumList = &ViewData->NbTP;
+      }
+      else if(!strncmp((yyvsp[(1) - (1)].c), "SL", 2)){
+	ViewValueList = &ViewData->SL; ViewNumList = &ViewData->NbSL;
+        if(strlen((yyvsp[(1) - (1)].c)) > 2) ViewData->setOrder2(TYPE_LIN);
+      }
+      else if(!strncmp((yyvsp[(1) - (1)].c), "VL", 2)){
+	ViewValueList = &ViewData->VL; ViewNumList = &ViewData->NbVL;
+        if(strlen((yyvsp[(1) - (1)].c)) > 2) ViewData->setOrder2(TYPE_LIN);
+      }
+      else if(!strncmp((yyvsp[(1) - (1)].c), "TL", 2)){
+	ViewValueList = &ViewData->TL; ViewNumList = &ViewData->NbTL;
+        if(strlen((yyvsp[(1) - (1)].c)) > 2) ViewData->setOrder2(TYPE_LIN);
+      }
+      else if(!strncmp((yyvsp[(1) - (1)].c), "ST", 2)){
+	ViewValueList = &ViewData->ST; ViewNumList = &ViewData->NbST;
+        if(strlen((yyvsp[(1) - (1)].c)) > 2) ViewData->setOrder2(TYPE_TRI);
+      }
+      else if(!strncmp((yyvsp[(1) - (1)].c), "VT", 2)){
+	ViewValueList = &ViewData->VT; ViewNumList = &ViewData->NbVT;
+        if(strlen((yyvsp[(1) - (1)].c)) > 2) ViewData->setOrder2(TYPE_TRI);
+      }
+      else if(!strncmp((yyvsp[(1) - (1)].c), "TT", 2)){
+	ViewValueList = &ViewData->TT; ViewNumList = &ViewData->NbTT;
+        if(strlen((yyvsp[(1) - (1)].c)) > 2) ViewData->setOrder2(TYPE_TRI);
+      }
+      else if(!strncmp((yyvsp[(1) - (1)].c), "SQ", 2)){
+	ViewValueList = &ViewData->SQ; ViewNumList = &ViewData->NbSQ;
+        if(strlen((yyvsp[(1) - (1)].c)) > 2) ViewData->setOrder2(TYPE_QUA);
+      }
+      else if(!strncmp((yyvsp[(1) - (1)].c), "VQ", 2)){
+	ViewValueList = &ViewData->VQ; ViewNumList = &ViewData->NbVQ;
+        if(strlen((yyvsp[(1) - (1)].c)) > 2) ViewData->setOrder2(TYPE_QUA);
+      }
+      else if(!strncmp((yyvsp[(1) - (1)].c), "TQ", 2)){
+	ViewValueList = &ViewData->TQ; ViewNumList = &ViewData->NbTQ;
+        if(strlen((yyvsp[(1) - (1)].c)) > 2) ViewData->setOrder2(TYPE_QUA);
+      }
+      else if(!strncmp((yyvsp[(1) - (1)].c), "SS", 2)){
+	ViewValueList = &ViewData->SS; ViewNumList = &ViewData->NbSS;
+        if(strlen((yyvsp[(1) - (1)].c)) > 2) ViewData->setOrder2(TYPE_TET);
+      }
+      else if(!strncmp((yyvsp[(1) - (1)].c), "VS", 2)){
+	ViewValueList = &ViewData->VS; ViewNumList = &ViewData->NbVS;
+        if(strlen((yyvsp[(1) - (1)].c)) > 2) ViewData->setOrder2(TYPE_TET);
+      }
+      else if(!strncmp((yyvsp[(1) - (1)].c), "TS", 2)){
+	ViewValueList = &ViewData->TS; ViewNumList = &ViewData->NbTS;
+        if(strlen((yyvsp[(1) - (1)].c)) > 2) ViewData->setOrder2(TYPE_TET);
+      }
+      else if(!strncmp((yyvsp[(1) - (1)].c), "SH", 2)){
+	ViewValueList = &ViewData->SH; ViewNumList = &ViewData->NbSH;
+        if(strlen((yyvsp[(1) - (1)].c)) > 2) ViewData->setOrder2(TYPE_HEX);
+      }
+      else if(!strncmp((yyvsp[(1) - (1)].c), "VH", 2)){
+	ViewValueList = &ViewData->VH; ViewNumList = &ViewData->NbVH;
+        if(strlen((yyvsp[(1) - (1)].c)) > 2) ViewData->setOrder2(TYPE_HEX);
+      }
+      else if(!strncmp((yyvsp[(1) - (1)].c), "TH", 2)){
+	ViewValueList = &ViewData->TH; ViewNumList = &ViewData->NbTH;
+        if(strlen((yyvsp[(1) - (1)].c)) > 2) ViewData->setOrder2(TYPE_HEX);
+      }
+      else if(!strncmp((yyvsp[(1) - (1)].c), "SI", 2)){
+	ViewValueList = &ViewData->SI; ViewNumList = &ViewData->NbSI;
+        if(strlen((yyvsp[(1) - (1)].c)) > 2) ViewData->setOrder2(TYPE_PRI);
+      }
+      else if(!strncmp((yyvsp[(1) - (1)].c), "VI", 2)){
+	ViewValueList = &ViewData->VI; ViewNumList = &ViewData->NbVI;
+        if(strlen((yyvsp[(1) - (1)].c)) > 2) ViewData->setOrder2(TYPE_PRI);
+      }
+      else if(!strncmp((yyvsp[(1) - (1)].c), "TI", 2)){
+	ViewValueList = &ViewData->TI; ViewNumList = &ViewData->NbTI;
+        if(strlen((yyvsp[(1) - (1)].c)) > 2) ViewData->setOrder2(TYPE_PRI);
+      }
+      else if(!strncmp((yyvsp[(1) - (1)].c), "SY", 2)){
+	ViewValueList = &ViewData->SY; ViewNumList = &ViewData->NbSY;
+        if(strlen((yyvsp[(1) - (1)].c)) > 2) ViewData->setOrder2(TYPE_PYR);
+      }
+      else if(!strncmp((yyvsp[(1) - (1)].c), "VY", 2)){
+	ViewValueList = &ViewData->VY; ViewNumList = &ViewData->NbVY;
+        if(strlen((yyvsp[(1) - (1)].c)) > 2) ViewData->setOrder2(TYPE_PYR);
+      }
+      else if(!strncmp((yyvsp[(1) - (1)].c), "TY", 2)){
+	ViewValueList = &ViewData->TY; ViewNumList = &ViewData->NbTY;
+        if(strlen((yyvsp[(1) - (1)].c)) > 2) ViewData->setOrder2(TYPE_PYR);
+      }
+      else{
+	yymsg(0, "Unknown element type '%s'", (yyvsp[(1) - (1)].c));
+	ViewValueList = 0; ViewNumList = 0;
+      }
+#endif
+      ViewCoord.clear();
+      Free((yyvsp[(1) - (1)].c));
+    ;}
+    break;
+
+  case 49:
+#line 592 "Gmsh.y"
+    {
+#if defined(HAVE_POST)
+      if(ViewValueList){
+	for(int i = 0; i < 3; i++)
+	  for(unsigned int j = 0; j < ViewCoord.size() / 3; j++)
+	    ViewValueList->push_back(ViewCoord[3 * j + i]);
+      }
+#endif
+    ;}
+    break;
+
+  case 50:
+#line 602 "Gmsh.y"
+    {
+#if defined(HAVE_POST)
+      if(ViewValueList) (*ViewNumList)++;
+#endif
+    ;}
+    break;
+
+  case 51:
+#line 611 "Gmsh.y"
+    {
+#if defined(HAVE_POST)
+      for(int i = 0; i < (int)strlen((yyvsp[(1) - (1)].c)) + 1; i++) ViewData->T2C.push_back((yyvsp[(1) - (1)].c)[i]);
+#endif
+      Free((yyvsp[(1) - (1)].c));
+    ;}
+    break;
+
+  case 52:
+#line 618 "Gmsh.y"
+    {
+#if defined(HAVE_POST)
+      for(int i = 0; i < (int)strlen((yyvsp[(3) - (3)].c)) + 1; i++) ViewData->T2C.push_back((yyvsp[(3) - (3)].c)[i]);
+#endif
+      Free((yyvsp[(3) - (3)].c));
+    ;}
+    break;
+
+  case 53:
+#line 628 "Gmsh.y"
+    {
+#if defined(HAVE_POST)
+      ViewData->T2D.push_back((yyvsp[(3) - (8)].d));
+      ViewData->T2D.push_back((yyvsp[(5) - (8)].d));
+      ViewData->T2D.push_back((yyvsp[(7) - (8)].d));
+      ViewData->T2D.push_back(ViewData->T2C.size());
+#endif
+    ;}
+    break;
+
+  case 54:
+#line 637 "Gmsh.y"
+    {
+#if defined(HAVE_POST)
+      ViewData->NbT2++;
+#endif
+    ;}
+    break;
+
+  case 55:
+#line 646 "Gmsh.y"
+    {
+#if defined(HAVE_POST)
+      for(int i = 0; i < (int)strlen((yyvsp[(1) - (1)].c)) + 1; i++) ViewData->T3C.push_back((yyvsp[(1) - (1)].c)[i]);
+#endif
+      Free((yyvsp[(1) - (1)].c));
+    ;}
+    break;
+
+  case 56:
+#line 653 "Gmsh.y"
+    {
+#if defined(HAVE_POST)
+      for(int i = 0; i < (int)strlen((yyvsp[(3) - (3)].c)) + 1; i++) ViewData->T3C.push_back((yyvsp[(3) - (3)].c)[i]);
+#endif
+      Free((yyvsp[(3) - (3)].c));
+    ;}
+    break;
+
+  case 57:
+#line 663 "Gmsh.y"
+    {
+#if defined(HAVE_POST)
+      ViewData->T3D.push_back((yyvsp[(3) - (10)].d)); ViewData->T3D.push_back((yyvsp[(5) - (10)].d));
+      ViewData->T3D.push_back((yyvsp[(7) - (10)].d)); ViewData->T3D.push_back((yyvsp[(9) - (10)].d));
+      ViewData->T3D.push_back(ViewData->T3C.size());
+#endif
+    ;}
+    break;
+
+  case 58:
+#line 671 "Gmsh.y"
+    {
+#if defined(HAVE_POST)
+      ViewData->NbT3++;
+#endif
+    ;}
+    break;
+
+  case 59:
+#line 681 "Gmsh.y"
+    {
+#if defined(HAVE_POST)
+      int type =
+	(ViewData->NbSL || ViewData->NbVL) ? TYPE_LIN :
+	(ViewData->NbST || ViewData->NbVT) ? TYPE_TRI :
+	(ViewData->NbSQ || ViewData->NbVQ) ? TYPE_QUA :
+	(ViewData->NbSS || ViewData->NbVS) ? TYPE_TET :
+	(ViewData->NbSY || ViewData->NbVY) ? TYPE_PYR :
+	(ViewData->NbSI || ViewData->NbVI) ? TYPE_PRI :
+      	(ViewData->NbSH || ViewData->NbVH) ? TYPE_HEX :
+	0;
+      ViewData->setInterpolationMatrices(type, ListOfListOfDouble2Matrix((yyvsp[(3) - (8)].l)),
+                                         ListOfListOfDouble2Matrix((yyvsp[(6) - (8)].l)));
+#endif
+    ;}
+    break;
+
+  case 60:
+#line 700 "Gmsh.y"
+    {
+#if defined(HAVE_POST)
+      int type =
+	(ViewData->NbSL || ViewData->NbVL) ? TYPE_LIN :
+	(ViewData->NbST || ViewData->NbVT) ? TYPE_TRI :
+	(ViewData->NbSQ || ViewData->NbVQ) ? TYPE_QUA :
+	(ViewData->NbSS || ViewData->NbVS) ? TYPE_TET :
+      	(ViewData->NbSH || ViewData->NbVH) ? TYPE_HEX :
+	0;
+      ViewData->setInterpolationMatrices(type, ListOfListOfDouble2Matrix((yyvsp[(3) - (14)].l)),
+                                         ListOfListOfDouble2Matrix((yyvsp[(6) - (14)].l)),
+                                         ListOfListOfDouble2Matrix((yyvsp[(9) - (14)].l)),
+                                         ListOfListOfDouble2Matrix((yyvsp[(12) - (14)].l)));
+#endif
+    ;}
+    break;
+
+  case 61:
+#line 719 "Gmsh.y"
+    {
+#if defined(HAVE_POST)
+      ViewValueList = &ViewData->Time;
+#endif
+    ;}
+    break;
+
+  case 62:
+#line 725 "Gmsh.y"
+    {
+    ;}
+    break;
+
+  case 63:
+#line 732 "Gmsh.y"
+    { (yyval.i) = 0; ;}
+    break;
+
+  case 64:
+#line 733 "Gmsh.y"
+    { (yyval.i) = 1; ;}
+    break;
+
+  case 65:
+#line 734 "Gmsh.y"
+    { (yyval.i) = 2; ;}
+    break;
+
+  case 66:
+#line 735 "Gmsh.y"
+    { (yyval.i) = 3; ;}
+    break;
+
+  case 67:
+#line 736 "Gmsh.y"
+    { (yyval.i) = 4; ;}
+    break;
+
+  case 68:
+#line 740 "Gmsh.y"
+    { (yyval.i) = 1; ;}
+    break;
+
+  case 69:
+#line 741 "Gmsh.y"
+    { (yyval.i) = -1; ;}
+    break;
+
+  case 70:
+#line 747 "Gmsh.y"
+    { (yyval.c) = (char*)"("; ;}
+    break;
+
+  case 71:
+#line 747 "Gmsh.y"
+    { (yyval.c) = (char*)"["; ;}
+    break;
+
+  case 72:
+#line 748 "Gmsh.y"
+    { (yyval.c) = (char*)")"; ;}
+    break;
+
+  case 73:
+#line 748 "Gmsh.y"
+    { (yyval.c) = (char*)"]"; ;}
+    break;
+
+  case 77:
+#line 758 "Gmsh.y"
+    {
+      Msg::SetOnelabNumber((yyvsp[(3) - (7)].c), (yyvsp[(5) - (7)].d));
+      Free((yyvsp[(3) - (7)].c));
+    ;}
+    break;
+
+  case 78:
+#line 763 "Gmsh.y"
+    {
+      Msg::SetOnelabString((yyvsp[(3) - (7)].c), (yyvsp[(5) - (7)].c));
+      Free((yyvsp[(3) - (7)].c));
+      Free((yyvsp[(5) - (7)].c));
+    ;}
+    break;
+
+  case 79:
+#line 769 "Gmsh.y"
+    {
+      if(!gmsh_yysymbols.count((yyvsp[(1) - (4)].c)) && (yyvsp[(2) - (4)].i) && List_Nbr((yyvsp[(3) - (4)].l)) == 1){
+        yymsg(0, "Unknown variable '%s'", (yyvsp[(1) - (4)].c));
+      }
+      else{
+        gmsh_yysymbol &s(gmsh_yysymbols[(yyvsp[(1) - (4)].c)]);
+        if(!(yyvsp[(2) - (4)].i)) s.list = (List_Nbr((yyvsp[(3) - (4)].l)) != 1); // list if 0 or > 1 elements
+        if(!s.list){ // single expression
+          if(List_Nbr((yyvsp[(3) - (4)].l)) != 1){
+            yymsg(0, "Cannot assign list to variable '%s'", (yyvsp[(1) - (4)].c));
+          }
+          else{
+            double d;
+            List_Read((yyvsp[(3) - (4)].l), 0, &d);
+            if(s.value.empty()){
+              if((yyvsp[(2) - (4)].i)) yymsg(1, "Uninitialized variable '%s'", (yyvsp[(1) - (4)].c));
+              s.value.resize(1, 0.);
+            }
+            switch((yyvsp[(2) - (4)].i)){
+            case 0 : s.value[0] = d; break;
+            case 1 : s.value[0] += d; break;
+            case 2 : s.value[0] -= d; break;
+            case 3 : s.value[0] *= d; break;
+            case 4 :
+              if(d) s.value[0] /= d;
+              else yymsg(0, "Division by zero in '%s /= %g'", (yyvsp[(1) - (4)].c), d);
+              break;
+            }
+          }
+        }
+        else{
+          // list of expressions; this is not recommended (should use [] or ()
+          // notation instead)
+          switch((yyvsp[(2) - (4)].i)){
+          case 0: // affect
+            s.value.clear(); // fall-through
+          case 1: // append
+            for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++){
+              double d;
+              List_Read((yyvsp[(3) - (4)].l), i, &d);
+              s.value.push_back(d);
+            }
+            break;
+          case 2: // remove
+            for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++){
+              double d;
+              List_Read((yyvsp[(3) - (4)].l), i, &d);
+              std::vector<double>::iterator it = std::find(s.value.begin(),
+                                                           s.value.end(), d);
+              if(it != s.value.end()) s.value.erase(it);
+            }
+            break;
+          default:
+            yymsg(0, "Operators *= and /= not available for lists");
+            break;
+          }
+        }
+      }
+      Free((yyvsp[(1) - (4)].c));
+      List_Delete((yyvsp[(3) - (4)].l));
+    ;}
+    break;
+
+  case 80:
+#line 831 "Gmsh.y"
+    {
+      if(!gmsh_yysymbols.count((yyvsp[(1) - (3)].c)))
+	yymsg(0, "Unknown variable '%s'", (yyvsp[(1) - (3)].c));
+      else{
+        gmsh_yysymbol &s(gmsh_yysymbols[(yyvsp[(1) - (3)].c)]);
+        if(!s.list && s.value.empty())
+          yymsg(0, "Uninitialized variable '%s'", (yyvsp[(1) - (3)].c));
+        else if(!s.list)
+          s.value[0] += (yyvsp[(2) - (3)].i);
+        else
+          yymsg(0, "Variable '%s' is a list", (yyvsp[(1) - (3)].c));
+      }
+      Free((yyvsp[(1) - (3)].c));
+    ;}
+    break;
+
+  case 81:
+#line 846 "Gmsh.y"
+    {
+      gmsh_yysymbol &s(gmsh_yysymbols[(yyvsp[(1) - (6)].c)]);
+      s.list = true;
+      double d;
+      switch((yyvsp[(4) - (6)].i)){
+      case 0: // affect
+        s.value.clear(); // fall-through
+      case 1: // append
+        for(int i = 0; i < List_Nbr((yyvsp[(5) - (6)].l)); i++){
+          List_Read((yyvsp[(5) - (6)].l), i, &d);
+          s.value.push_back(d);
+        }
+        break;
+      case 2: // remove
+        for(int i = 0; i < List_Nbr((yyvsp[(5) - (6)].l)); i++){
+          List_Read((yyvsp[(5) - (6)].l), i, &d);
+          std::vector<double>::iterator it = std::find(s.value.begin(),
+                                                       s.value.end(), d);
+          if(it != s.value.end()) s.value.erase(it);
+        }
+        break;
+      default:
+        yymsg(0, "Operators *= and /= not available for lists");
+        break;
+      }
+      Free((yyvsp[(1) - (6)].c));
+      List_Delete((yyvsp[(5) - (6)].l));
+    ;}
+    break;
+
+  case 82:
+#line 875 "Gmsh.y"
+    {
+      assignVariables((yyvsp[(1) - (9)].c), (yyvsp[(4) - (9)].l), (yyvsp[(7) - (9)].i), (yyvsp[(8) - (9)].l));
+      Free((yyvsp[(1) - (9)].c));
+      List_Delete((yyvsp[(4) - (9)].l));
+      List_Delete((yyvsp[(8) - (9)].l));
+    ;}
+    break;
+
+  case 83:
+#line 885 "Gmsh.y"
+    {
+      assignVariable((yyvsp[(1) - (7)].c), (int)(yyvsp[(3) - (7)].d), (yyvsp[(5) - (7)].i), (yyvsp[(6) - (7)].d));
+      Free((yyvsp[(1) - (7)].c));
+    ;}
+    break;
+
+  case 84:
+#line 890 "Gmsh.y"
+    {
+      incrementVariable((yyvsp[(1) - (6)].c), (yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].i));
+      Free((yyvsp[(1) - (6)].c));
+    ;}
+    break;
+
+  case 85:
+#line 898 "Gmsh.y"
+    {
+      assignVariable((yyvsp[(1) - (7)].c), (int)(yyvsp[(3) - (7)].d), (yyvsp[(5) - (7)].i), (yyvsp[(6) - (7)].d));
+      Free((yyvsp[(1) - (7)].c));
+    ;}
+    break;
+
+  case 86:
+#line 903 "Gmsh.y"
+    {
+      incrementVariable((yyvsp[(1) - (6)].c), (yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].i));
+      Free((yyvsp[(1) - (6)].c));
+    ;}
+    break;
+
+  case 87:
+#line 911 "Gmsh.y"
+    {
+      gmsh_yystringsymbols[(yyvsp[(1) - (4)].c)] = std::vector<std::string>(1, (yyvsp[(3) - (4)].c));
+      Free((yyvsp[(1) - (4)].c));
+      Free((yyvsp[(3) - (4)].c));
+    ;}
+    break;
+
+  case 88:
+#line 920 "Gmsh.y"
+    {
+      gmsh_yystringsymbols[(yyvsp[(1) - (8)].c)] = std::vector<std::string>();
+      Free((yyvsp[(1) - (8)].c));
+    ;}
+    break;
+
+  case 89:
+#line 925 "Gmsh.y"
+    {
+      std::vector<std::string> s;
+      for(int i = 0; i < List_Nbr((yyvsp[(7) - (9)].l)); i++){
+        char **c = (char**)List_Pointer((yyvsp[(7) - (9)].l), i);
+        s.push_back(*c);
+        Free(*c);
+      }
+      gmsh_yystringsymbols[(yyvsp[(1) - (9)].c)] = s;
+      Free((yyvsp[(1) - (9)].c));
+      List_Delete((yyvsp[(7) - (9)].l));
+    ;}
+    break;
+
+  case 90:
+#line 937 "Gmsh.y"
+    {
+      if(gmsh_yystringsymbols.count((yyvsp[(1) - (9)].c))){
+        for(int i = 0; i < List_Nbr((yyvsp[(7) - (9)].l)); i++){
+          char **c = (char**)List_Pointer((yyvsp[(7) - (9)].l), i);
+          gmsh_yystringsymbols[(yyvsp[(1) - (9)].c)].push_back(*c);
+          Free(*c);
+        }
+      }
+      else
+        yymsg(0, "Uninitialized variable '%s'", (yyvsp[(1) - (9)].c));
+      Free((yyvsp[(1) - (9)].c));
+      List_Delete((yyvsp[(7) - (9)].l));
+    ;}
+    break;
+
+  case 91:
+#line 954 "Gmsh.y"
+    {
+      std::string tmp((yyvsp[(5) - (6)].c));
+      StringOption(GMSH_SET|GMSH_GUI, (yyvsp[(1) - (6)].c), 0, (yyvsp[(3) - (6)].c), tmp);
+      Free((yyvsp[(1) - (6)].c)); Free((yyvsp[(3) - (6)].c)); Free((yyvsp[(5) - (6)].c));
+    ;}
+    break;
+
+  case 92:
+#line 960 "Gmsh.y"
+    {
+      std::string tmp((yyvsp[(8) - (9)].c));
+      StringOption(GMSH_SET|GMSH_GUI, (yyvsp[(1) - (9)].c), (int)(yyvsp[(3) - (9)].d), (yyvsp[(6) - (9)].c), tmp);
+      Free((yyvsp[(1) - (9)].c)); Free((yyvsp[(6) - (9)].c)); Free((yyvsp[(8) - (9)].c));
+    ;}
+    break;
+
+  case 93:
+#line 969 "Gmsh.y"
+    {
+      double d = 0.;
+      if(NumberOption(GMSH_GET, (yyvsp[(1) - (6)].c), 0, (yyvsp[(3) - (6)].c), d)){
+	switch((yyvsp[(4) - (6)].i)){
+	case 0 : d = (yyvsp[(5) - (6)].d); break;
+	case 1 : d += (yyvsp[(5) - (6)].d); break;
+	case 2 : d -= (yyvsp[(5) - (6)].d); break;
+	case 3 : d *= (yyvsp[(5) - (6)].d); break;
+	case 4 :
+	  if((yyvsp[(5) - (6)].d)) d /= (yyvsp[(5) - (6)].d);
+	  else yymsg(0, "Division by zero in '%s.%s /= %g'", (yyvsp[(1) - (6)].c), (yyvsp[(3) - (6)].c), (yyvsp[(5) - (6)].d));
+	  break;
+	}
+	NumberOption(GMSH_SET|GMSH_GUI, (yyvsp[(1) - (6)].c), 0, (yyvsp[(3) - (6)].c), d);
+      }
+      Free((yyvsp[(1) - (6)].c)); Free((yyvsp[(3) - (6)].c));
+    ;}
+    break;
+
+  case 94:
+#line 987 "Gmsh.y"
+    {
+      double d = 0.;
+      if(NumberOption(GMSH_GET, (yyvsp[(1) - (9)].c), (int)(yyvsp[(3) - (9)].d), (yyvsp[(6) - (9)].c), d)){
+	switch((yyvsp[(7) - (9)].i)){
+	case 0 : d = (yyvsp[(8) - (9)].d); break;
+	case 1 : d += (yyvsp[(8) - (9)].d); break;
+	case 2 : d -= (yyvsp[(8) - (9)].d); break;
+	case 3 : d *= (yyvsp[(8) - (9)].d); break;
+	case 4 :
+	  if((yyvsp[(8) - (9)].d)) d /= (yyvsp[(8) - (9)].d);
+	  else yymsg(0, "Division by zero in '%s[%d].%s /= %g'", (yyvsp[(1) - (9)].c), (int)(yyvsp[(3) - (9)].d), (yyvsp[(6) - (9)].c), (yyvsp[(8) - (9)].d));
+	  break;
+	}
+	NumberOption(GMSH_SET|GMSH_GUI, (yyvsp[(1) - (9)].c), (int)(yyvsp[(3) - (9)].d), (yyvsp[(6) - (9)].c), d);
+      }
+      Free((yyvsp[(1) - (9)].c)); Free((yyvsp[(6) - (9)].c));
+    ;}
+    break;
+
+  case 95:
+#line 1005 "Gmsh.y"
+    {
+      double d = 0.;
+      if(NumberOption(GMSH_GET, (yyvsp[(1) - (5)].c), 0, (yyvsp[(3) - (5)].c), d)){
+	d += (yyvsp[(4) - (5)].i);
+	NumberOption(GMSH_SET|GMSH_GUI, (yyvsp[(1) - (5)].c), 0, (yyvsp[(3) - (5)].c), d);
+      }
+      Free((yyvsp[(1) - (5)].c)); Free((yyvsp[(3) - (5)].c));
+    ;}
+    break;
+
+  case 96:
+#line 1014 "Gmsh.y"
+    {
+      double d = 0.;
+      if(NumberOption(GMSH_GET, (yyvsp[(1) - (8)].c), (int)(yyvsp[(3) - (8)].d), (yyvsp[(6) - (8)].c), d)){
+	d += (yyvsp[(7) - (8)].i);
+	NumberOption(GMSH_SET|GMSH_GUI, (yyvsp[(1) - (8)].c), (int)(yyvsp[(3) - (8)].d), (yyvsp[(6) - (8)].c), d);
+      }
+      Free((yyvsp[(1) - (8)].c)); Free((yyvsp[(6) - (8)].c));
+    ;}
+    break;
+
+  case 97:
+#line 1026 "Gmsh.y"
+    {
+      ColorOption(GMSH_SET|GMSH_GUI, (yyvsp[(1) - (8)].c), 0, (yyvsp[(5) - (8)].c), (yyvsp[(7) - (8)].u));
+      Free((yyvsp[(1) - (8)].c)); Free((yyvsp[(5) - (8)].c));
+    ;}
+    break;
+
+  case 98:
+#line 1031 "Gmsh.y"
+    {
+      ColorOption(GMSH_SET|GMSH_GUI, (yyvsp[(1) - (11)].c), (int)(yyvsp[(3) - (11)].d), (yyvsp[(8) - (11)].c), (yyvsp[(10) - (11)].u));
+      Free((yyvsp[(1) - (11)].c)); Free((yyvsp[(8) - (11)].c));
+    ;}
+    break;
+
+  case 99:
+#line 1039 "Gmsh.y"
+    {
+      GmshColorTable *ct = GetColorTable(0);
+      if(!ct)
+	yymsg(0, "View[%d] does not exist", 0);
+      else{
+	ct->size = List_Nbr((yyvsp[(5) - (6)].l));
+	if(ct->size > COLORTABLE_NBMAX_COLOR)
+	  yymsg(0, "Too many (%d>%d) colors in View[%d].ColorTable",
+		ct->size, COLORTABLE_NBMAX_COLOR, 0);
+	else
+	  for(int i = 0; i < ct->size; i++) List_Read((yyvsp[(5) - (6)].l), i, &ct->table[i]);
+	if(ct->size == 1){
+	  ct->size = 2;
+	  ct->table[1] = ct->table[0];
+	}
+      }
+      Free((yyvsp[(1) - (6)].c));
+      List_Delete((yyvsp[(5) - (6)].l));
+    ;}
+    break;
+
+  case 100:
+#line 1059 "Gmsh.y"
+    {
+      GmshColorTable *ct = GetColorTable((int)(yyvsp[(3) - (9)].d));
+      if(!ct)
+	yymsg(0, "View[%d] does not exist", (int)(yyvsp[(3) - (9)].d));
+      else{
+	ct->size = List_Nbr((yyvsp[(8) - (9)].l));
+	if(ct->size > COLORTABLE_NBMAX_COLOR)
+	  yymsg(0, "Too many (%d>%d) colors in View[%d].ColorTable",
+		   ct->size, COLORTABLE_NBMAX_COLOR, (int)(yyvsp[(3) - (9)].d));
+	else
+	  for(int i = 0; i < ct->size; i++) List_Read((yyvsp[(8) - (9)].l), i, &ct->table[i]);
+	if(ct->size == 1){
+	  ct->size = 2;
+	  ct->table[1] = ct->table[0];
+	}
+      }
+      Free((yyvsp[(1) - (9)].c));
+      List_Delete((yyvsp[(8) - (9)].l));
+    ;}
+    break;
+
+  case 101:
+#line 1082 "Gmsh.y"
+    {
+#if defined(HAVE_MESH)
+      if(!strcmp((yyvsp[(1) - (5)].c),"Background"))
+	GModel::current()->getFields()->setBackgroundFieldId((int)(yyvsp[(4) - (5)].d));
+      else if(!strcmp((yyvsp[(1) - (5)].c),"BoundaryLayer"))
+	GModel::current()->getFields()->setBoundaryLayerFieldId((int)(yyvsp[(4) - (5)].d));
+      else
+	yymsg(0, "Unknown command '%s Field'", (yyvsp[(1) - (5)].c));
+#endif
+    ;}
+    break;
+
+  case 102:
+#line 1093 "Gmsh.y"
+    {
+#if defined(HAVE_MESH)
+      if(!GModel::current()->getFields()->newField((int)(yyvsp[(3) - (7)].d), (yyvsp[(6) - (7)].c)))
+	yymsg(0, "Cannot create field %i of type '%s'", (int)(yyvsp[(3) - (7)].d), (yyvsp[(6) - (7)].c));
+#endif
+      Free((yyvsp[(6) - (7)].c));
+    ;}
+    break;
+
+  case 103:
+#line 1101 "Gmsh.y"
+    {
+#if defined(HAVE_MESH)
+      Field *field = GModel::current()->getFields()->get((int)(yyvsp[(3) - (9)].d));
+      if(field){
+	FieldOption *option = field->options[(yyvsp[(6) - (9)].c)];
+	if(option){
+	  try { option->numericalValue((yyvsp[(8) - (9)].d)); }
+	  catch(...){
+	    yymsg(0, "Cannot assign a numerical value to option '%s' "
+		  "in field %i of type '%s'", (yyvsp[(6) - (9)].c), (int)(yyvsp[(3) - (9)].d), field->getName());
+	  }
+	}
+	else
+	  yymsg(0, "Unknown option '%s' in field %i of type '%s'",
+		(yyvsp[(6) - (9)].c), (int)(yyvsp[(3) - (9)].d), field->getName());
+      }
+      else
+	yymsg(0, "No field with id %i", (int)(yyvsp[(3) - (9)].d));
+#endif
+      Free((yyvsp[(6) - (9)].c));
+    ;}
+    break;
+
+  case 104:
+#line 1123 "Gmsh.y"
+    {
+#if defined(HAVE_MESH)
+      Field *field = GModel::current()->getFields()->get((int)(yyvsp[(3) - (9)].d));
+      if(field){
+	FieldOption *option = field->options[(yyvsp[(6) - (9)].c)];
+	if(option){
+	  try { option->string((yyvsp[(8) - (9)].c)); }
+	  catch (...){
+	    yymsg(0, "Cannot assign a string value to  option '%s' "
+		  "in field %i of type '%s'", (yyvsp[(6) - (9)].c), (int)(yyvsp[(3) - (9)].d), field->getName());
+	  }
+	}
+	else
+	  yymsg(0, "Unknown option '%s' in field %i of type '%s'",
+		(yyvsp[(6) - (9)].c), (int)(yyvsp[(3) - (9)].d), field->getName());
+      }
+      else
+	yymsg(0, "No field with id %i", (int)(yyvsp[(3) - (9)].d));
+#endif
+      Free((yyvsp[(6) - (9)].c));
+      Free((yyvsp[(8) - (9)].c));
+    ;}
+    break;
+
+  case 105:
+#line 1146 "Gmsh.y"
+    {
+#if defined(HAVE_MESH)
+      Field *field = GModel::current()->getFields()->get((int)(yyvsp[(3) - (11)].d));
+      if(field){
+	FieldOption *option = field->options[(yyvsp[(6) - (11)].c)];
+	if(option){
+	  if (option->getType() == FIELD_OPTION_LIST) {
+	    std::list<int> vl = option->list();
+	    vl.clear();
+	    for(int i = 0; i < List_Nbr((yyvsp[(9) - (11)].l)); i++){
+	      double id;
+	      List_Read((yyvsp[(9) - (11)].l), i, &id);
+	      vl.push_back((int)id);
+	    }
+	    option->list(vl);
+	  }
+	  else {
+	    std::list<double> vl = option->listdouble();
+	    vl.clear();
+	    for(int i = 0; i < List_Nbr((yyvsp[(9) - (11)].l)); i++){
+	      double id;
+	      List_Read((yyvsp[(9) - (11)].l), i, &id);
+	      vl.push_back(id);
+	    }
+	    option->listdouble(vl);
+	  }
+	}
+	else
+	  yymsg(0, "Unknown option '%s' in field %i of type '%s'",
+		(yyvsp[(6) - (11)].c), (int)(yyvsp[(3) - (11)].d), field->getName());
+      }
+      else
+	yymsg(0, "No field with id %i", (int)(yyvsp[(3) - (11)].d));
+#endif
+      Free((yyvsp[(6) - (11)].c));
+      List_Delete((yyvsp[(9) - (11)].l));
+    ;}
+    break;
+
+  case 106:
+#line 1184 "Gmsh.y"
+    {
+#if defined(HAVE_MESH)
+      Field *field = GModel::current()->getFields()->get((int)(yyvsp[(3) - (7)].d));
+      if(field){
+        FieldCallback *callback = field->callbacks[(yyvsp[(6) - (7)].c)];
+        if(callback) {
+          callback->run();
+        }
+        else
+          yymsg(0, "Unknown callback '%s' in field %i of type '%s'",
+              (yyvsp[(6) - (7)].c), (int)(yyvsp[(3) - (7)].d), field->getName());
+      }
+      else
+	yymsg(0, "No field with id %i", (int)(yyvsp[(3) - (7)].d));
+#endif
+      Free((yyvsp[(6) - (7)].c));
+    ;}
+    break;
+
+  case 107:
+#line 1205 "Gmsh.y"
+    {
+#if defined(HAVE_PLUGINS)
+      try {
+	PluginManager::instance()->setPluginOption((yyvsp[(3) - (9)].c), (yyvsp[(6) - (9)].c), (yyvsp[(8) - (9)].d));
+      }
+      catch (...) {
+	yymsg(0, "Unknown option '%s' or plugin '%s'", (yyvsp[(6) - (9)].c), (yyvsp[(3) - (9)].c));
+      }
+#endif
+      Free((yyvsp[(3) - (9)].c)); Free((yyvsp[(6) - (9)].c));
+    ;}
+    break;
+
+  case 108:
+#line 1217 "Gmsh.y"
+    {
+#if defined(HAVE_PLUGINS)
+      try {
+	PluginManager::instance()->setPluginOption((yyvsp[(3) - (9)].c), (yyvsp[(6) - (9)].c), (yyvsp[(8) - (9)].c));
+      }
+      catch (...) {
+	yymsg(0, "Unknown option '%s' or plugin '%s'", (yyvsp[(6) - (9)].c), (yyvsp[(3) - (9)].c));
+      }
+#endif
+      Free((yyvsp[(3) - (9)].c)); Free((yyvsp[(6) - (9)].c)); Free((yyvsp[(8) - (9)].c));
+    ;}
+    break;
+
+  case 112:
+#line 1235 "Gmsh.y"
+    {
+      std::string key((yyvsp[(3) - (3)].c));
+      std::vector<double> val(1, 0.);
+      if(!gmsh_yysymbols.count(key)){
+        gmsh_yysymbols[key].value = val;
+      }
+      Free((yyvsp[(3) - (3)].c));
+    ;}
+    break;
+
+  case 113:
+#line 1244 "Gmsh.y"
+    {
+      std::string key((yyvsp[(3) - (5)].c));
+      std::vector<double> val(1, (yyvsp[(5) - (5)].d));
+      if(!gmsh_yysymbols.count(key)){
+        gmsh_yysymbols[key].value = val;
+      }
+      Free((yyvsp[(3) - (5)].c));
+    ;}
+    break;
+
+  case 114:
+#line 1253 "Gmsh.y"
+    { init_options(); ;}
+    break;
+
+  case 115:
+#line 1255 "Gmsh.y"
+    {
+      if(List_Nbr((yyvsp[(6) - (9)].l)) != 1)
+	yymsg(1, "List notation should be used to define list '%s[]'", (yyvsp[(3) - (9)].c));
+      std::string key((yyvsp[(3) - (9)].c));
+      std::vector<double> val;
+      for(int i = 0; i < List_Nbr((yyvsp[(6) - (9)].l)); i++){
+        double d;
+        List_Read((yyvsp[(6) - (9)].l), i, &d);
+        val.push_back(d);
+      }
+      if(!gmsh_yysymbols.count(key)){
+        Msg::ExchangeOnelabParameter(key, val, floatOptions, charOptions);
+        gmsh_yysymbols[key].value = val;
+      }
+      Free((yyvsp[(3) - (9)].c));
+      Free((yyvsp[(6) - (9)].l));
+    ;}
+    break;
+
+  case 116:
+#line 1273 "Gmsh.y"
+    { init_options(); ;}
+    break;
+
+  case 117:
+#line 1275 "Gmsh.y"
+    {
+      std::string key((yyvsp[(3) - (11)].c));
+      std::vector<double> val;
+      for(int i = 0; i < List_Nbr((yyvsp[(8) - (11)].l)); i++){
+        double d;
+        List_Read((yyvsp[(8) - (11)].l), i, &d);
+        val.push_back(d);
+      }
+      if(!gmsh_yysymbols.count(key)){
+        Msg::ExchangeOnelabParameter(key, val, floatOptions, charOptions);
+        gmsh_yysymbols[key].value = val;
+      }
+      Free((yyvsp[(3) - (11)].c));
+      Free((yyvsp[(8) - (11)].l));
+    ;}
+    break;
+
+  case 118:
+#line 1291 "Gmsh.y"
+    {
+      std::string key((yyvsp[(3) - (5)].c)), val((yyvsp[(5) - (5)].c));
+      if(!gmsh_yystringsymbols.count(key)){
+        gmsh_yystringsymbols[key] = std::vector<std::string>(1, val);
+      }
+      Free((yyvsp[(3) - (5)].c));
+      Free((yyvsp[(5) - (5)].c));
+    ;}
+    break;
+
+  case 119:
+#line 1300 "Gmsh.y"
+    { init_options(); ;}
+    break;
+
+  case 120:
+#line 1302 "Gmsh.y"
+    {
+      std::string key((yyvsp[(3) - (9)].c)), val((yyvsp[(6) - (9)].c));
+      if(!gmsh_yysymbols.count(key)){
+        Msg::ExchangeOnelabParameter(key, val, floatOptions, charOptions);
+        gmsh_yystringsymbols[key] = std::vector<std::string>(1, val);
+      }
+      Free((yyvsp[(3) - (9)].c));
+      Free((yyvsp[(6) - (9)].c));
+    ;}
+    break;
+
+  case 122:
+#line 1316 "Gmsh.y"
+    {
+      std::string name((yyvsp[(3) - (3)].c));
+      Msg::UndefineOnelabParameter(name);
+      Free((yyvsp[(3) - (3)].c));
+    ;}
+    break;
+
+  case 123:
+#line 1324 "Gmsh.y"
+    {
+      (yyval.l) = List_Create(20,20,sizeof(doubleXstring));
+      doubleXstring v = {(yyvsp[(1) - (3)].d), (yyvsp[(3) - (3)].c)};
+      List_Add((yyval.l), &v);
+    ;}
+    break;
+
+  case 124:
+#line 1330 "Gmsh.y"
+    {
+      doubleXstring v = {(yyvsp[(3) - (5)].d), (yyvsp[(5) - (5)].c)};
+      List_Add((yyval.l), &v);
+    ;}
+    break;
+
+  case 125:
+#line 1335 "Gmsh.y"
+    {
+      (yyval.l) = List_Create(20,20,sizeof(doubleXstring));
+      int n = List_Nbr((yyvsp[(1) - (5)].l));
+      if(!gmsh_yystringsymbols.count((yyvsp[(3) - (5)].c))){
+	yymsg(0, "Unknown string variable '%s'", (yyvsp[(3) - (5)].c));
+      }
+      else{
+        std::vector<std::string> &s(gmsh_yystringsymbols[(yyvsp[(3) - (5)].c)]);
+        int m = s.size();
+        if(n == m){
+          for(int i = 0; i < n; i++){
+            double d;
+            List_Read((yyvsp[(1) - (5)].l), i, &d);
+            doubleXstring v = {d, strsave((char*)s[i].c_str())};
+            List_Add((yyval.l), &v);
+          }
+        }
+        else{
+          yymsg(0, "Size mismatch in enumeration: %d != %d", n, m);
+        }
+      }
+      List_Delete((yyvsp[(1) - (5)].l));
+    ;}
+    break;
+
+  case 132:
+#line 1377 "Gmsh.y"
+    {
+      std::string key((yyvsp[(1) - (2)].c));
+      for(int i = 0; i < List_Nbr((yyvsp[(2) - (2)].l)); i++){
+        double v;
+        List_Read((yyvsp[(2) - (2)].l), i, &v);
+        floatOptions[key].push_back(v);
+        if (flag_Enum && !i) { member_ValMax = (int)v; }
+      }
+      Free((yyvsp[(1) - (2)].c));
+      List_Delete((yyvsp[(2) - (2)].l));
+    ;}
+    break;
+
+  case 133:
+#line 1389 "Gmsh.y"
+    {
+      std::string key((yyvsp[(1) - (1)].c));
+      double v;
+      if (!flag_Enum) {
+        v = 1.;
+        if (key == "Enum") flag_Enum = 1;
+      }
+      else
+        v = (double)++member_ValMax;
+      floatOptions[key].push_back(v);
+      Free((yyvsp[(1) - (1)].c));
+    ;}
+    break;
+
+  case 134:
+#line 1402 "Gmsh.y"
+    {
+      std::string key((yyvsp[(1) - (4)].c));
+      for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++){
+        doubleXstring v;
+        List_Read((yyvsp[(3) - (4)].l), i, &v);
+        floatOptions[key].push_back(v.d);
+        charOptions[key].push_back(v.s);
+      }
+      Free((yyvsp[(1) - (4)].c));
+      for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++)
+        Free(((doubleXstring*)List_Pointer((yyvsp[(3) - (4)].l), i))->s);
+      List_Delete((yyvsp[(3) - (4)].l));
+    ;}
+    break;
+
+  case 135:
+#line 1417 "Gmsh.y"
+    {
+      std::string key((yyvsp[(1) - (2)].c));
+      std::string val((yyvsp[(2) - (2)].c));
+      charOptions[key].push_back(val);
+      Free((yyvsp[(1) - (2)].c));
+      Free((yyvsp[(2) - (2)].c));
+    ;}
+    break;
+
+  case 140:
+#line 1439 "Gmsh.y"
+    {
+      std::string key((yyvsp[(1) - (2)].c));
+      double val = (yyvsp[(2) - (2)].d);
+      floatOptions[key].push_back(val);
+      Free((yyvsp[(1) - (2)].c));
+    ;}
+    break;
+
+  case 141:
+#line 1447 "Gmsh.y"
+    {
+      std::string key((yyvsp[(1) - (2)].c));
+      std::string val((yyvsp[(2) - (2)].c));
+      charOptions[key].push_back(val);
+      Free((yyvsp[(1) - (2)].c));
+      Free((yyvsp[(2) - (2)].c));
+    ;}
+    break;
+
+  case 142:
+#line 1456 "Gmsh.y"
+    {
+      std::string key("Macro");
+      std::string val((yyvsp[(2) - (2)].c));
+      charOptions[key].push_back(val);
+      Free((yyvsp[(2) - (2)].c));
+    ;}
+    break;
+
+  case 143:
+#line 1464 "Gmsh.y"
+    {
+      std::string key((yyvsp[(1) - (4)].c));
+      for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++){
+        char *s;
+        List_Read((yyvsp[(3) - (4)].l), i, &s);
+        std::string val(s);
+        Free(s);
+        charOptions[key].push_back(val);
+      }
+      Free((yyvsp[(1) - (4)].c));
+      List_Delete((yyvsp[(3) - (4)].l));
+    ;}
+    break;
+
+  case 144:
+#line 1482 "Gmsh.y"
+    {
+      (yyval.i) = (int)(yyvsp[(1) - (1)].d);
+    ;}
+    break;
+
+  case 145:
+#line 1486 "Gmsh.y"
+    {
+      int t = GModel::current()->getGEOInternals()->getMaxPhysicalTag();
+      GModel::current()->getGEOInternals()->setMaxPhysicalTag(t + 1);
+      (yyval.i) = GModel::current()->setPhysicalName(std::string((yyvsp[(1) - (1)].c)), 0, t + 1);
+      Free((yyvsp[(1) - (1)].c));
+    ;}
+    break;
+
+  case 146:
+#line 1493 "Gmsh.y"
+    {
+      (yyval.i) = GModel::current()->setPhysicalName(std::string((yyvsp[(1) - (3)].c)), 0, (yyvsp[(3) - (3)].d));
+      Free((yyvsp[(1) - (3)].c));
+    ;}
+    break;
+
+  case 147:
+#line 1501 "Gmsh.y"
+    {
+      (yyval.i) = (int)(yyvsp[(1) - (1)].d);
+    ;}
+    break;
+
+  case 148:
+#line 1505 "Gmsh.y"
+    {
+      int t = GModel::current()->getGEOInternals()->getMaxPhysicalTag();
+      GModel::current()->getGEOInternals()->setMaxPhysicalTag(t + 1);
+      (yyval.i) = GModel::current()->setPhysicalName(std::string((yyvsp[(1) - (1)].c)), 1, t + 1);
+      Free((yyvsp[(1) - (1)].c));
+    ;}
+    break;
+
+  case 149:
+#line 1512 "Gmsh.y"
+    {
+      (yyval.i) = GModel::current()->setPhysicalName(std::string((yyvsp[(1) - (3)].c)), 1, (yyvsp[(3) - (3)].d));
+      Free((yyvsp[(1) - (3)].c));
+    ;}
+    break;
+
+  case 150:
+#line 1520 "Gmsh.y"
+    {
+      (yyval.i) = (int)(yyvsp[(1) - (1)].d);
+    ;}
+    break;
+
+  case 151:
+#line 1524 "Gmsh.y"
+    {
+      int t = GModel::current()->getGEOInternals()->getMaxPhysicalTag();
+      GModel::current()->getGEOInternals()->setMaxPhysicalTag(t + 1);
+      (yyval.i) = GModel::current()->setPhysicalName(std::string((yyvsp[(1) - (1)].c)), 2, t + 1);
+      Free((yyvsp[(1) - (1)].c));
+    ;}
+    break;
+
+  case 152:
+#line 1531 "Gmsh.y"
+    {
+      (yyval.i) = GModel::current()->setPhysicalName(std::string((yyvsp[(1) - (3)].c)), 2, (yyvsp[(3) - (3)].d));
+      Free((yyvsp[(1) - (3)].c));
+    ;}
+    break;
+
+  case 153:
+#line 1539 "Gmsh.y"
+    {
+      (yyval.i) = (int)(yyvsp[(1) - (1)].d);
+    ;}
+    break;
+
+  case 154:
+#line 1543 "Gmsh.y"
+    {
+      int t = GModel::current()->getGEOInternals()->getMaxPhysicalTag();
+      GModel::current()->getGEOInternals()->setMaxPhysicalTag(t + 1);
+      (yyval.i) = GModel::current()->setPhysicalName(std::string((yyvsp[(1) - (1)].c)), 3, t + 1);
+      Free((yyvsp[(1) - (1)].c));
+    ;}
+    break;
+
+  case 155:
+#line 1550 "Gmsh.y"
+    {
+      (yyval.i) = GModel::current()->setPhysicalName(std::string((yyvsp[(1) - (3)].c)), 3, (yyvsp[(3) - (3)].d));
+      Free((yyvsp[(1) - (3)].c));
+    ;}
+    break;
+
+  case 156:
+#line 1558 "Gmsh.y"
+    {
+      (yyval.i) = -1;
+    ;}
+    break;
+
+  case 157:
+#line 1562 "Gmsh.y"
+    {
+      (yyval.i) = (int)(yyvsp[(4) - (5)].d);
+    ;}
+    break;
+
+  case 158:
+#line 1568 "Gmsh.y"
+    {
+      for(int i = 0; i < 4; i++) (yyval.v)[i] = 0.;
+    ;}
+    break;
+
+  case 159:
+#line 1572 "Gmsh.y"
+    {
+      for(int i = 0; i < 4; i++) (yyval.v)[i] = (yyvsp[(2) - (2)].v)[i];
+    ;}
+    break;
+
+  case 160:
+#line 1579 "Gmsh.y"
+    {
+      int num = (int)(yyvsp[(3) - (7)].d);
+      double x = CTX::instance()->geom.scalingFactor * (yyvsp[(6) - (7)].v)[0];
+      double y = CTX::instance()->geom.scalingFactor * (yyvsp[(6) - (7)].v)[1];
+      double z = CTX::instance()->geom.scalingFactor * (yyvsp[(6) - (7)].v)[2];
+      double lc = CTX::instance()->geom.scalingFactor * (yyvsp[(6) - (7)].v)[3];
+      if(lc == 0.) lc = MAX_LC; // no mesh size given at the point
+      bool r = true;
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        r = GModel::current()->getOCCInternals()->addVertex(num, x, y, z, lc);
+      }
+      else{
+        if(!myGmshSurface)
+          r = GModel::current()->getGEOInternals()->addVertex(num, x, y, z, lc);
+        else
+          r = GModel::current()->getGEOInternals()->addVertex(num, x, y,
+                                                              myGmshSurface, lc);
+      }
+      if(!r) yymsg(0, "Could not add point");
+      AddToTemporaryBoundingBox(x, y, z);
+      (yyval.s).Type = MSH_POINT;
+      (yyval.s).Num = num;
+    ;}
+    break;
+
+  case 161:
+#line 1603 "Gmsh.y"
+    {
+      int num = (int)(yyvsp[(3) - (7)].d);
+      std::vector<int> tags; ListOfDouble2Vector((yyvsp[(6) - (7)].l), tags);
+      bool r = true;
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        r = GModel::current()->getOCCInternals()->addLine(num, tags);
+      }
+      else{
+        r = GModel::current()->getGEOInternals()->addLine(num, tags);
+      }
+      if(!r) yymsg(0, "Could not add line");
+      List_Delete((yyvsp[(6) - (7)].l));
+      (yyval.s).Type = MSH_SEGM_LINE;
+      (yyval.s).Num = num;
+    ;}
+    break;
+
+  case 162:
+#line 1619 "Gmsh.y"
+    {
+      int num = (int)(yyvsp[(3) - (7)].d);
+      std::vector<int> tags; ListOfDouble2Vector((yyvsp[(6) - (7)].l), tags);
+      bool r = true;
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        yymsg(0, "Spline not available with OpenCASCADE factory");
+      }
+      else{
+        r = GModel::current()->getGEOInternals()->addSpline(num, tags);
+      }
+      if(!r) yymsg(0, "Could not add spline");
+      List_Delete((yyvsp[(6) - (7)].l));
+      (yyval.s).Type = MSH_SEGM_SPLN;
+      (yyval.s).Num = num;
+    ;}
+    break;
+
+  case 163:
+#line 1635 "Gmsh.y"
+    {
+      int num = (int)(yyvsp[(3) - (8)].d);
+      std::vector<int> tags; ListOfDouble2Vector((yyvsp[(6) - (8)].l), tags);
+      std::vector<double> param; ListOfDouble2Vector((yyvsp[(6) - (8)].l), param);
+      bool r = true;
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        if(tags.size() == 3){
+          r = GModel::current()->getOCCInternals()->addCircleArc
+            (num, tags[0], tags[1], tags[2]);
+        }
+        else if(param.size() >= 4 && param.size() <= 6){
+          double r = param[3];
+          double a1 = (param.size() == 6) ? param[4] : 0.;
+          double a2 = (param.size() == 6) ? param[5] :
+            (param.size() == 5) ? param[4] : 2.*M_PI;
+          r = GModel::current()->getOCCInternals()->addCircle
+            (num, param[0], param[1], param[2], r, a1, a2);
+        }
+        else{
+          yymsg(0, "Circle requires 3 points or 4 to 6 parameters");
+        }
+      }
+      else{
+        if(tags.size() == 3){
+          r = GModel::current()->getGEOInternals()->addCircleArc
+            (num, tags[0], tags[1], tags[2], (yyvsp[(7) - (8)].v)[0], (yyvsp[(7) - (8)].v)[1], (yyvsp[(7) - (8)].v)[2]);
+        }
+        else{
+          yymsg(0, "Circle requires 3 points");
+        }
+      }
+      if(!r) yymsg(0, "Could not add circle");
+      List_Delete((yyvsp[(6) - (8)].l));
+      (yyval.s).Type = MSH_SEGM_CIRC;
+      (yyval.s).Num = num;
+    ;}
+    break;
+
+  case 164:
+#line 1672 "Gmsh.y"
+    {
+      int num = (int)(yyvsp[(3) - (8)].d);
+      std::vector<int> tags; ListOfDouble2Vector((yyvsp[(6) - (8)].l), tags);
+      std::vector<double> param; ListOfDouble2Vector((yyvsp[(6) - (8)].l), param);
+      bool r = true;
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        if(tags.size() == 3){
+          r = GModel::current()->getOCCInternals()->addEllipseArc
+            (num, tags[0], tags[1], tags[2]);
+        }
+        else if(tags.size() == 4){
+          r = GModel::current()->getOCCInternals()->addEllipseArc
+            (num, tags[0], tags[1], tags[3]);
+        }
+        else if(param.size() >= 5 && param.size() <= 7){
+          double a1 = (param.size() == 7) ? param[5] : 0.;
+          double a2 = (param.size() == 7) ? param[6] :
+            (param.size() == 6) ? param[5] : 2.*M_PI;
+          r = GModel::current()->getOCCInternals()->addEllipse
+            (num, param[0], param[1], param[2], param[3], param[4], a1, a2);
+        }
+        else{
+          yymsg(0, "Ellipse requires 3 or 4 points, or 5 to 7 parameters");
+        }
+      }
+      else{
+        if(tags.size() == 4){
+          r = GModel::current()->getGEOInternals()->addEllipseArc
+            (num, tags[0], tags[1], tags[2], tags[3], (yyvsp[(7) - (8)].v)[0], (yyvsp[(7) - (8)].v)[1], (yyvsp[(7) - (8)].v)[2]);
+        }
+        else{
+          yymsg(0, "Ellipse requires 4 points");
+        }
+      }
+      if(!r) yymsg(0, "Could not add ellipse");
+      List_Delete((yyvsp[(6) - (8)].l));
+      (yyval.s).Type = MSH_SEGM_ELLI;
+      (yyval.s).Num = num;
+    ;}
+    break;
+
+  case 165:
+#line 1712 "Gmsh.y"
+    {
+      int num = (int)(yyvsp[(3) - (7)].d);
+      std::vector<int> tags; ListOfDouble2Vector((yyvsp[(6) - (7)].l), tags);
+      bool r = true;
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        r = GModel::current()->getOCCInternals()->addBSpline(num, tags);
+      }
+      else{
+        r = GModel::current()->getGEOInternals()->addBSpline(num, tags);
+      }
+      if(!r) yymsg(0, "Could not add BSpline");
+      List_Delete((yyvsp[(6) - (7)].l));
+      (yyval.s).Type = MSH_SEGM_BSPLN;
+      (yyval.s).Num = num;
+    ;}
+    break;
+
+  case 166:
+#line 1728 "Gmsh.y"
+    {
+      int num = (int)(yyvsp[(3) - (7)].d);
+      std::vector<int> tags; ListOfDouble2Vector((yyvsp[(6) - (7)].l), tags);
+      bool r = true;
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        r = GModel::current()->getOCCInternals()->addBezier(num, tags);
+      }
+      else{
+        r = GModel::current()->getGEOInternals()->addBezier(num, tags);
+      }
+      if(!r) yymsg(0, "Could not add Bezier");
+      List_Delete((yyvsp[(6) - (7)].l));
+      (yyval.s).Type = MSH_SEGM_BEZIER;
+      (yyval.s).Num = num;
+    ;}
+    break;
+
+  case 167:
+#line 1745 "Gmsh.y"
+    {
+      int num = (int)(yyvsp[(3) - (11)].d);
+      std::vector<int> tags; ListOfDouble2Vector((yyvsp[(6) - (11)].l), tags);
+      std::vector<double> knots; ListOfDouble2Vector((yyvsp[(8) - (11)].l), knots);
+      bool r = true;
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        yymsg(0, "Nurbs not available yet with OpenCASCADE factory");
+      }
+      else{
+        int order = knots.size() - tags.size() - 1;
+        if(order != (int)(yyvsp[(10) - (11)].d))
+          yymsg(1, "Incompatible Nurbs order: using %d", order);
+        r = GModel::current()->getGEOInternals()->addNurbs(num, tags, knots);
+      }
+      if(!r) yymsg(0, "Could not add nurbs");
+      List_Delete((yyvsp[(6) - (11)].l));
+      List_Delete((yyvsp[(8) - (11)].l));
+      (yyval.s).Type = MSH_SEGM_NURBS;
+      (yyval.s).Num = num;
+    ;}
+    break;
+
+  case 168:
+#line 1766 "Gmsh.y"
+    {
+      int num = (int)(yyvsp[(4) - (8)].d);
+      std::vector<int> tags; ListOfDouble2Vector((yyvsp[(7) - (8)].l), tags);
+      bool r = GModel::current()->getGEOInternals()->addCompoundLine(num, tags);
+      if(!r) yymsg(0, "Could not add compound line");
+      List_Delete((yyvsp[(7) - (8)].l));
+      (yyval.s).Type = MSH_SEGM_COMPOUND;
+      (yyval.s).Num = num;
+    ;}
+    break;
+
+  case 169:
+#line 1776 "Gmsh.y"
+    {
+      int num = (int)(yyvsp[(3) - (7)].d);
+      std::vector<int> tags; ListOfDouble2Vector((yyvsp[(6) - (7)].l), tags);
+      bool r = true;
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        r = GModel::current()->getOCCInternals()->addWire(num, tags, false);
+      }
+      else{
+        yymsg(0, "Wire only available using OpenCASCADE factory");
+      }
+      if(!r) yymsg(0, "Could not add wire");
+      List_Delete((yyvsp[(6) - (7)].l));
+      (yyval.s).Type = MSH_SEGM_LOOP;
+      (yyval.s).Num = num;
+    ;}
+    break;
+
+  case 170:
+#line 1792 "Gmsh.y"
+    {
+      int num = (int)(yyvsp[(4) - (8)].d);
+      std::vector<int> tags; ListOfDouble2Vector((yyvsp[(7) - (8)].l), tags);
+      bool r = true;
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        r = GModel::current()->getOCCInternals()->addLineLoop(num, tags);
+      }
+      else{
+        r = GModel::current()->getGEOInternals()->addLineLoop(num, tags);
+      }
+      if(!r) yymsg(0, "Could not add line loop");
+      List_Delete((yyvsp[(7) - (8)].l));
+      Free((yyvsp[(2) - (8)].c));
+      (yyval.s).Type = MSH_SEGM_LOOP;
+      (yyval.s).Num = num;
+    ;}
+    break;
+
+  case 171:
+#line 1809 "Gmsh.y"
+    {
+      int num = (int)(yyvsp[(4) - (8)].d);
+      std::vector<int> tags; ListOfDouble2Vector((yyvsp[(7) - (8)].l), tags);
+      bool r = true;
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        r = GModel::current()->getOCCInternals()->addPlaneSurface(num, tags);
+      }
+      else{
+        r = GModel::current()->getGEOInternals()->addPlaneSurface(num, tags);
+      }
+      if(!r) yymsg(0, "Could not add plane surface");
+      List_Delete((yyvsp[(7) - (8)].l));
+      (yyval.s).Type = MSH_SURF_PLAN;
+      (yyval.s).Num = num;
+    ;}
+    break;
+
+  case 172:
+#line 1825 "Gmsh.y"
+    {
+      int num = (int)(yyvsp[(3) - (8)].d);
+      std::vector<int> wires; ListOfDouble2Vector((yyvsp[(6) - (8)].l), wires);
+      bool r = true;
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        if(wires.size() != 1){
+          yymsg(0, "OpenCASCADE face filling requires a single line loop");
+        }
+        else{
+          r = GModel::current()->getOCCInternals()->addSurfaceFilling(num, wires[0]);
+        }
+      }
+      else{
+        r = GModel::current()->getGEOInternals()->addSurfaceFilling(num, wires, (yyvsp[(7) - (8)].i));
+      }
+      if(!r) yymsg(0, "Could not add surface");
+      List_Delete((yyvsp[(6) - (8)].l));
+      (yyval.s).Type = MSH_SURF_REGL;
+      (yyval.s).Num = num;
+    ;}
+    break;
+
+  case 173:
+#line 1846 "Gmsh.y"
+    {
+      yymsg(2, "'Ruled Surface' command is deprecated: use 'Surface' instead");
+      int num = (int)(yyvsp[(4) - (9)].d);
+      std::vector<int> wires; ListOfDouble2Vector((yyvsp[(7) - (9)].l), wires);
+      bool r = GModel::current()->getGEOInternals()->addSurfaceFilling(num, wires, (yyvsp[(8) - (9)].i));
+      if(!r) yymsg(0, "Could not add surface");
+      List_Delete((yyvsp[(7) - (9)].l));
+      (yyval.s).Type =  MSH_SURF_REGL;
+      (yyval.s).Num = num;
+    ;}
+    break;
+
+  case 174:
+#line 1857 "Gmsh.y"
+    {
+      myGmshSurface = 0;
+      (yyval.s).Type = 0;
+      (yyval.s).Num = 0;
+    ;}
+    break;
+
+  case 175:
+#line 1863 "Gmsh.y"
+    {
+      myGmshSurface = gmshSurface::getSurface((int)(yyvsp[(3) - (4)].d));
+      (yyval.s).Type = 0;
+      (yyval.s).Num = 0;
+    ;}
+    break;
+
+  case 176:
+#line 1869 "Gmsh.y"
+    {
+      int num = (int)(yyvsp[(4) - (10)].d);
+      myGmshSurface = gmshParametricSurface::NewParametricSurface(num, (yyvsp[(7) - (10)].c), (yyvsp[(8) - (10)].c), (yyvsp[(9) - (10)].c));
+      (yyval.s).Type = 0;
+      (yyval.s).Num = num;
+    ;}
+    break;
+
+  case 177:
+#line 1876 "Gmsh.y"
+    {
+      int num = (int)(yyvsp[(3) - (7)].d);
+      std::vector<int> tags; ListOfDouble2Vector((yyvsp[(6) - (7)].l), tags);
+      std::vector<double> param; ListOfDouble2Vector((yyvsp[(6) - (7)].l), param);
+      (yyval.s).Type = 0;
+      bool r = true;
+      if(param.size() >= 4 && param.size() <= 7){
+        if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+          double a1 = (param.size() >= 5) ? param[4] : -M_PI/2;
+          double a2 = (param.size() >= 6) ? param[5] : M_PI/2;
+          double a3 = (param.size() >= 7) ? param[6] : 2.*M_PI;
+          r = GModel::current()->getOCCInternals()->addSphere
+            (num, param[0], param[1], param[2], param[3], a1, a2, a3);
+        }
+        else{
+          yymsg(0, "Sphere only available with OpenCASCADE factory");
+        }
+        (yyval.s).Type = MSH_VOLUME;
+      }
+      else if(tags.size() == 2){
+        myGmshSurface = GModel::current()->getGEOInternals()->newGeometrySphere
+          (num, tags[0], tags[1]);
+      }
+      else{
+        yymsg(0, "Sphere requires 2 points or from 4 to 7 parameters");
+      }
+      if(!r) yymsg(0, "Could not add sphere");
+      List_Delete((yyvsp[(6) - (7)].l));
+      (yyval.s).Num = num;
+    ;}
+    break;
+
+  case 178:
+#line 1907 "Gmsh.y"
+    {
+      int num = (int)(yyvsp[(3) - (7)].d);
+      std::vector<int> tags; ListOfDouble2Vector((yyvsp[(6) - (7)].l), tags);
+      if(tags.size() == 2){
+        myGmshSurface = GModel::current()->getGEOInternals()->newGeometryPolarSphere
+          (num, tags[0], tags[1]);
+      }
+      else{
+        yymsg(0, "PolarSphere requires 2 points");
+      }
+      List_Delete((yyvsp[(6) - (7)].l));
+      (yyval.s).Type = 0;
+      (yyval.s).Num = num;
+    ;}
+    break;
+
+  case 179:
+#line 1922 "Gmsh.y"
+    {
+      int num = (int)(yyvsp[(3) - (7)].d);
+      std::vector<double> param; ListOfDouble2Vector((yyvsp[(6) - (7)].l), param);
+      bool r = true;
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        if(param.size() == 6){
+          r = GModel::current()->getOCCInternals()->addBlock
+            (num, param[0], param[1], param[2], param[3], param[4], param[5]);
+        }
+        else{
+          yymsg(0, "Block requires 6 parameters");
+        }
+      }
+      else{
+        yymsg(0, "Block only available with OpenCASCADE factory");
+      }
+      if(!r) yymsg(0, "Could not add block");
+      List_Delete((yyvsp[(6) - (7)].l));
+      (yyval.s).Type = MSH_VOLUME;
+      (yyval.s).Num = num;
+    ;}
+    break;
+
+  case 180:
+#line 1944 "Gmsh.y"
+    {
+      int num = (int)(yyvsp[(3) - (7)].d);
+      std::vector<double> param; ListOfDouble2Vector((yyvsp[(6) - (7)].l), param);
+      bool r = true;
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        if(param.size() == 5 || param.size() == 6){
+          double alpha = (param.size() == 6) ? param[5] : 2*M_PI;
+          r = GModel::current()->getOCCInternals()->addTorus
+            (num, param[0], param[1], param[2], param[3], param[4], alpha);
+        }
+        else{
+          yymsg(0, "Torus requires 5 ou 6 parameters");
+        }
+      }
+      else{
+        yymsg(0, "Torus only available with OpenCASCADE factory");
+      }
+      if(!r) yymsg(0, "Could not add torus");
+      List_Delete((yyvsp[(6) - (7)].l));
+      (yyval.s).Type = MSH_VOLUME;
+      (yyval.s).Num = num;
+    ;}
+    break;
+
+  case 181:
+#line 1967 "Gmsh.y"
+    {
+      int num = (int)(yyvsp[(3) - (7)].d);
+      std::vector<double> param; ListOfDouble2Vector((yyvsp[(6) - (7)].l), param);
+      bool r = true;
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        if(param.size() == 6 || param.size() == 7){
+          double r = (param.size() == 7) ? param[6] : 0.;
+          r = GModel::current()->getOCCInternals()->addRectangle
+            (num, param[0], param[1], param[2], param[3], param[4], param[5], r);
+        }
+        else{
+          yymsg(0, "Rectangle requires 6 ou 7 parameters");
+        }
+      }
+      else{
+        yymsg(0, "Rectangle only available with OpenCASCADE factory");
+      }
+      if(!r) yymsg(0, "Could not add rectangle");
+      List_Delete((yyvsp[(6) - (7)].l));
+      (yyval.s).Type = MSH_SURF_PLAN;
+      (yyval.s).Num = num;
+    ;}
+    break;
+
+  case 182:
+#line 1990 "Gmsh.y"
+    {
+      int num = (int)(yyvsp[(3) - (7)].d);
+      std::vector<double> param; ListOfDouble2Vector((yyvsp[(6) - (7)].l), param);
+      bool r = true;
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        if(param.size() == 4 || param.size() == 5){
+          double ry = (param.size() == 5) ? param[4] : param[3];
+          r = GModel::current()->getOCCInternals()->addDisk
+            (num, param[0], param[1], param[2], param[3], ry);
+        }
+        else{
+          yymsg(0, "Disk requires 4 or 5 parameters");
+        }
+      }
+      else{
+        yymsg(0, "Disk only available with OpenCASCADE factory");
+      }
+      if(!r) yymsg(0, "Could not add disk");
+      List_Delete((yyvsp[(6) - (7)].l));
+      (yyval.s).Type = MSH_SURF_PLAN;
+      (yyval.s).Num = num;
+    ;}
+    break;
+
+  case 183:
+#line 2013 "Gmsh.y"
+    {
+      int num = (int)(yyvsp[(3) - (7)].d);
+      std::vector<double> param; ListOfDouble2Vector((yyvsp[(6) - (7)].l), param);
+      bool r = true;
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        if(param.size() == 7 || param.size() == 8){
+          double angle = (param.size() == 8) ? param[7] : 2*M_PI;
+          r = GModel::current()->getOCCInternals()->addCylinder
+            (num, param[0], param[1], param[2], param[3], param[4], param[5],
+             param[6], angle);
+        }
+        else{
+          yymsg(0, "Cylinder requires 7 or 8 parameters");
+        }
+      }
+      else{
+        yymsg(0, "Cylinder only available with OpenCASCADE factory");
+      }
+      if(!r) yymsg(0, "Could not add cylinder");
+      List_Delete((yyvsp[(6) - (7)].l));
+      (yyval.s).Type = MSH_VOLUME;
+      (yyval.s).Num = num;
+    ;}
+    break;
+
+  case 184:
+#line 2037 "Gmsh.y"
+    {
+      int num = (int)(yyvsp[(3) - (7)].d);
+      std::vector<double> param; ListOfDouble2Vector((yyvsp[(6) - (7)].l), param);
+      bool r = true;
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        if(param.size() == 8 || param.size() == 9){
+          double alpha = (param.size() == 9) ? param[8] : 2*M_PI;
+          r = GModel::current()->getOCCInternals()->addCone
+            (num, param[0], param[1], param[2], param[3], param[4], param[5],
+             param[6], param[7], alpha);
+        }
+        else{
+          yymsg(0, "Cone requires 8 or 9 parameters");
+        }
+      }
+      else{
+        yymsg(0, "Cone only available with OpenCASCADE factory");
+      }
+      if(!r) yymsg(0, "Could not add cone");
+      List_Delete((yyvsp[(6) - (7)].l));
+      (yyval.s).Type = MSH_VOLUME;
+      (yyval.s).Num = num;
+    ;}
+    break;
+
+  case 185:
+#line 2061 "Gmsh.y"
+    {
+      int num = (int)(yyvsp[(3) - (7)].d);
+      std::vector<double> param; ListOfDouble2Vector((yyvsp[(6) - (7)].l), param);
+      bool r = true;
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        if(param.size() == 7){
+          r = GModel::current()->getOCCInternals()->addWedge
+            (num, param[0], param[1], param[2], param[3], param[4], param[5],
+             param[6]);
+        }
+        else{
+          yymsg(0, "Wedge requires 7 parameters");
+        }
+      }
+      else{
+        yymsg(0, "Wedge only available with OpenCASCADE factory");
+      }
+      if(!r) yymsg(0, "Could not add wedge");
+      List_Delete((yyvsp[(6) - (7)].l));
+      (yyval.s).Type = MSH_VOLUME;
+      (yyval.s).Num = num;
+    ;}
+    break;
+
+  case 186:
+#line 2084 "Gmsh.y"
+    {
+      int num = (int)(yyvsp[(3) - (7)].d);
+      std::vector<double> param; ListOfDouble2Vector((yyvsp[(6) - (7)].l), param);
+      bool r = true;
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        if(param.size() >= 2){
+          int in = (int)param[0];
+          double offset = param[1];
+          std::vector<int> exclude;
+          for(unsigned int i = 2; i < param.size(); i++)
+            exclude.push_back(param[i]);
+          r = GModel::current()->getOCCInternals()->addThickSolid
+            (num, in, exclude, offset);
+        }
+        else{
+          yymsg(0, "ThickSolid requires at least 2 parameters");
+        }
+      }
+      else{
+        yymsg(0, "ThickSolid only available with OpenCASCADE factory");
+      }
+      if(!r) yymsg(0, "Could not add thick solid");
+      List_Delete((yyvsp[(6) - (7)].l));
+    ;}
+    break;
+
+  case 187:
+#line 2109 "Gmsh.y"
+    {
+      int num = (int)(yyvsp[(4) - (8)].d);
+      std::vector<int> tags; ListOfDouble2Vector((yyvsp[(7) - (8)].l), tags);
+      bool r = GModel::current()->getGEOInternals()->addCompoundSurface(num, tags);
+      if(!r) yymsg(0, "Could not add compound surface");
+      List_Delete((yyvsp[(7) - (8)].l));
+      (yyval.s).Type = MSH_SURF_COMPOUND;
+      (yyval.s).Num = num;
+    ;}
+    break;
+
+  case 188:
+#line 2120 "Gmsh.y"
+    {
+      int num = (int)(yyvsp[(4) - (12)].d);
+      std::vector<int> tags; ListOfDouble2Vector((yyvsp[(7) - (12)].l), tags);
+      std::vector<int> bndTags[4];
+      for(int i = 0; i < List_Nbr((yyvsp[(10) - (12)].l)); i++){
+        if(i < 4)
+          ListOfDouble2Vector(*(List_T**)List_Pointer((yyvsp[(10) - (12)].l), i), bndTags[i]);
+        else
+          break;
+      }
+      bool r = GModel::current()->getGEOInternals()->addCompoundSurface
+        (num, tags, bndTags);
+      if(!r) yymsg(0, "Could not add compound surface");
+      List_Delete((yyvsp[(7) - (12)].l));
+      Free((yyvsp[(8) - (12)].c));
+      for (int i = 0; i < List_Nbr((yyvsp[(10) - (12)].l)); i++)
+        List_Delete(*(List_T**)List_Pointer((yyvsp[(10) - (12)].l), i));
+      List_Delete((yyvsp[(10) - (12)].l));
+      (yyval.s).Type = MSH_SURF_COMPOUND;
+      (yyval.s).Num = num;
+    ;}
+    break;
+
+  case 189:
+#line 2142 "Gmsh.y"
+    {
+      int num = (int)(yyvsp[(4) - (8)].d);
+      std::vector<int> tags; ListOfDouble2Vector((yyvsp[(7) - (8)].l), tags);
+      bool r = true;
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        r = GModel::current()->getOCCInternals()->addSurfaceLoop(num, tags);
+      }
+      else{
+        r = GModel::current()->getGEOInternals()->addSurfaceLoop(num, tags);
+      }
+      if(!r) yymsg(0, "Could not add surface loop");
+      List_Delete((yyvsp[(7) - (8)].l));
+      Free((yyvsp[(2) - (8)].c));
+      (yyval.s).Type = MSH_SURF_LOOP;
+      (yyval.s).Num = num;
+    ;}
+    break;
+
+  case 190:
+#line 2159 "Gmsh.y"
+    {
+      int num = (int)(yyvsp[(3) - (7)].d);
+      std::vector<int> tags; ListOfDouble2Vector((yyvsp[(6) - (7)].l), tags);
+      bool r = true;
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        r = GModel::current()->getOCCInternals()->addVolume(num, tags);
+      }
+      else{
+        r = GModel::current()->getGEOInternals()->addVolume(num, tags);
+      }
+      if(!r) yymsg(0, "Could not add volume");
+      List_Delete((yyvsp[(6) - (7)].l));
+      (yyval.s).Type = MSH_VOLUME;
+      (yyval.s).Num = num;
+    ;}
+    break;
+
+  case 191:
+#line 2175 "Gmsh.y"
+    {
+      int num = (int)(yyvsp[(3) - (7)].d);
+      std::vector<int> wires; ListOfDouble2Vector((yyvsp[(6) - (7)].l), wires);
+      bool r = true;
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        std::vector<std::pair<int, int> > outDimTags;
+        r = GModel::current()->getOCCInternals()->addThruSections
+          (num, wires, outDimTags, true, false);
+      }
+      else{
+        yymsg(0, "ThruSections only available with OpenCASCADE factory");
+      }
+      if(!r) yymsg(0, "Could not add thrusections");
+      List_Delete((yyvsp[(6) - (7)].l));
+      (yyval.s).Type = MSH_VOLUME;
+      (yyval.s).Num = num;
+    ;}
+    break;
+
+  case 192:
+#line 2193 "Gmsh.y"
+    {
+      int num = (int)(yyvsp[(4) - (8)].d);
+      std::vector<int> wires; ListOfDouble2Vector((yyvsp[(7) - (8)].l), wires);
+      bool r = true;
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        std::vector<std::pair<int, int> > outDimTags;
+        r = GModel::current()->getOCCInternals()->addThruSections
+          (num, wires, outDimTags, true, true);
+      }
+      else{
+        yymsg(0, "ThruSections only available with OpenCASCADE factory");
+      }
+      if(!r) yymsg(0, "Could not add ruled thrusections");
+      List_Delete((yyvsp[(7) - (8)].l));
+      (yyval.s).Type = MSH_VOLUME;
+      (yyval.s).Num = num;
+    ;}
+    break;
+
+  case 193:
+#line 2211 "Gmsh.y"
+    {
+      int num = (int)(yyvsp[(4) - (8)].d);
+      std::vector<int> tags; ListOfDouble2Vector((yyvsp[(7) - (8)].l), tags);
+      bool r = GModel::current()->getGEOInternals()->addCompoundVolume(num, tags);
+      if(!r) yymsg(0, "Could not add compound volume");
+      List_Delete((yyvsp[(7) - (8)].l));
+      (yyval.s).Type = MSH_VOLUME_COMPOUND;
+      (yyval.s).Num = num;
+    ;}
+    break;
+
+  case 194:
+#line 2221 "Gmsh.y"
+    {
+      int num = (int)(yyvsp[(4) - (8)].i);
+      int op = (yyvsp[(6) - (8)].i);
+      std::vector<int> tags; ListOfDouble2Vector((yyvsp[(7) - (8)].l), tags);
+      bool r = GModel::current()->getGEOInternals()->modifyPhysicalGroup
+        (0, num, op, tags);
+      if(!r) yymsg(0, "Could not modify physical point");
+      List_Delete((yyvsp[(7) - (8)].l));
+      (yyval.s).Type = MSH_PHYSICAL_POINT;
+      (yyval.s).Num = num;
+    ;}
+    break;
+
+  case 195:
+#line 2233 "Gmsh.y"
+    {
+      int num = (int)(yyvsp[(4) - (8)].i);
+      int op = (yyvsp[(6) - (8)].i);
+      std::vector<int> tags; ListOfDouble2Vector((yyvsp[(7) - (8)].l), tags);
+      bool r = GModel::current()->getGEOInternals()->modifyPhysicalGroup
+        (1, num, op, tags);
+      if(!r) yymsg(0, "Could not modify physical line");
+      List_Delete((yyvsp[(7) - (8)].l));
+      (yyval.s).Type = MSH_PHYSICAL_LINE;
+      (yyval.s).Num = num;
+    ;}
+    break;
+
+  case 196:
+#line 2245 "Gmsh.y"
+    {
+      int num = (int)(yyvsp[(4) - (8)].i);
+      int op = (yyvsp[(6) - (8)].i);
+      std::vector<int> tags; ListOfDouble2Vector((yyvsp[(7) - (8)].l), tags);
+      bool r = GModel::current()->getGEOInternals()->modifyPhysicalGroup
+        (2, num, op, tags);
+      if(!r) yymsg(0, "Could not modify physical surface");
+      List_Delete((yyvsp[(7) - (8)].l));
+      (yyval.s).Type = MSH_PHYSICAL_SURFACE;
+      (yyval.s).Num = num;
+    ;}
+    break;
+
+  case 197:
+#line 2257 "Gmsh.y"
+    {
+      int num = (int)(yyvsp[(4) - (8)].i);
+      int op = (yyvsp[(6) - (8)].i);
+      std::vector<int> tags; ListOfDouble2Vector((yyvsp[(7) - (8)].l), tags);
+      bool r = GModel::current()->getGEOInternals()->modifyPhysicalGroup
+        (3, num, op, tags);
+      if(!r) yymsg(0, "Could not modify physical volume");
+      List_Delete((yyvsp[(7) - (8)].l));
+      (yyval.s).Type = MSH_PHYSICAL_VOLUME;
+      (yyval.s).Num = num;
+    ;}
+    break;
+
+  case 198:
+#line 2274 "Gmsh.y"
+    {
+      std::vector<std::pair<int, int> > dimTags;
+      ListOfShapes2VectorOfPairs((yyvsp[(4) - (5)].l), dimTags);
+      bool r = true;
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        r = GModel::current()->getOCCInternals()->translate
+          (dimTags, (yyvsp[(2) - (5)].v)[0], (yyvsp[(2) - (5)].v)[1], (yyvsp[(2) - (5)].v)[2]);
+      }
+      else{
+        r = GModel::current()->getGEOInternals()->translate
+          (dimTags, (yyvsp[(2) - (5)].v)[0], (yyvsp[(2) - (5)].v)[1], (yyvsp[(2) - (5)].v)[2]);
+      }
+      if(!r) yymsg(0, "Could not translate shapes");
+      (yyval.l) = (yyvsp[(4) - (5)].l);
+    ;}
+    break;
+
+  case 199:
+#line 2290 "Gmsh.y"
+    {
+      std::vector<std::pair<int, int> > dimTags;
+      ListOfShapes2VectorOfPairs((yyvsp[(10) - (11)].l), dimTags);
+      bool r = true;
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        r = GModel::current()->getOCCInternals()->rotate
+          (dimTags, (yyvsp[(5) - (11)].v)[0], (yyvsp[(5) - (11)].v)[1], (yyvsp[(5) - (11)].v)[2], (yyvsp[(3) - (11)].v)[0], (yyvsp[(3) - (11)].v)[1], (yyvsp[(3) - (11)].v)[2], (yyvsp[(7) - (11)].d));
+      }
+      else{
+        r = GModel::current()->getGEOInternals()->rotate
+          (dimTags, (yyvsp[(5) - (11)].v)[0], (yyvsp[(5) - (11)].v)[1], (yyvsp[(5) - (11)].v)[2], (yyvsp[(3) - (11)].v)[0], (yyvsp[(3) - (11)].v)[1], (yyvsp[(3) - (11)].v)[2], (yyvsp[(7) - (11)].d));
+      }
+      if(!r) yymsg(0, "Could not rotate shapes");
+      (yyval.l) = (yyvsp[(10) - (11)].l);
+    ;}
+    break;
+
+  case 200:
+#line 2306 "Gmsh.y"
+    {
+      std::vector<std::pair<int, int> > dimTags;
+      ListOfShapes2VectorOfPairs((yyvsp[(4) - (5)].l), dimTags);
+      bool r = true;
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        Msg::Error("Symmetry not implemented yet with OpenCASCADE factory");
+      }
+      else{
+        r = GModel::current()->getGEOInternals()->symmetry
+          (dimTags, (yyvsp[(2) - (5)].v)[0], (yyvsp[(2) - (5)].v)[1], (yyvsp[(2) - (5)].v)[2], (yyvsp[(2) - (5)].v)[3]);
+      }
+      if(!r) yymsg(0, "Could not apply symmetry transform");
+      (yyval.l) = (yyvsp[(4) - (5)].l);
+    ;}
+    break;
+
+  case 201:
+#line 2321 "Gmsh.y"
+    {
+      std::vector<std::pair<int, int> > dimTags;
+      ListOfShapes2VectorOfPairs((yyvsp[(8) - (9)].l), dimTags);
+      bool r = true;
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        yymsg(1, "Warning Dilate OCC: Dilatation (second argument) + Translation (first argument) ");
+        r = GModel::current()->getOCCInternals()->dilate
+          (dimTags, (yyvsp[(3) - (9)].v)[0], (yyvsp[(3) - (9)].v)[1], (yyvsp[(3) - (9)].v)[2], (yyvsp[(5) - (9)].d), (yyvsp[(5) - (9)].d), (yyvsp[(5) - (9)].d));
+      }
+      else{
+        r = GModel::current()->getGEOInternals()->dilate
+          (dimTags, (yyvsp[(3) - (9)].v)[0], (yyvsp[(3) - (9)].v)[1], (yyvsp[(3) - (9)].v)[2], (yyvsp[(5) - (9)].d), (yyvsp[(5) - (9)].d), (yyvsp[(5) - (9)].d));
+      }
+      if(!r) yymsg(0, "Could not dilate shapes");
+      (yyval.l) = (yyvsp[(8) - (9)].l);
+    ;}
+    break;
+
+  case 202:
+#line 2338 "Gmsh.y"
+    {
+      std::vector<std::pair<int, int> > dimTags;
+      ListOfShapes2VectorOfPairs((yyvsp[(8) - (9)].l), dimTags);
+      bool r = true;
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        yymsg(1, "Warning Dilate OCC: Dilatation (second argument) + Translation (first argument) ");
+        r = GModel::current()->getOCCInternals()->dilate
+          (dimTags, (yyvsp[(3) - (9)].v)[0], (yyvsp[(3) - (9)].v)[1], (yyvsp[(3) - (9)].v)[2], (yyvsp[(5) - (9)].v)[0], (yyvsp[(5) - (9)].v)[1], (yyvsp[(5) - (9)].v)[2]);
+      }
+      else{
+        r = GModel::current()->getGEOInternals()->dilate
+          (dimTags, (yyvsp[(3) - (9)].v)[0], (yyvsp[(3) - (9)].v)[1], (yyvsp[(3) - (9)].v)[2], (yyvsp[(5) - (9)].v)[0], (yyvsp[(5) - (9)].v)[1], (yyvsp[(5) - (9)].v)[2]);
+      }
+      if(!r) yymsg(0, "Could not dilate shapes");
+      (yyval.l) = (yyvsp[(8) - (9)].l);
+    ;}
+    break;
+
+  case 203:
+#line 2355 "Gmsh.y"
+    {
+      std::vector<std::pair<int, int> > inDimTags, outDimTags;
+      ListOfShapes2VectorOfPairs((yyvsp[(3) - (4)].l), inDimTags);
+      (yyval.l) = (yyvsp[(3) - (4)].l);
+      List_Reset((yyval.l));
+      std::string action((yyvsp[(1) - (4)].c));
+      bool r = true;
+      if(action == "Duplicata"){
+        if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+          r = GModel::current()->getOCCInternals()->copy(inDimTags, outDimTags);
+        }
+        else{
+          r = GModel::current()->getGEOInternals()->copy(inDimTags, outDimTags);
+        }
+      }
+      else if(action == "Boundary" || action == "CombinedBoundary"){
+        // boundary operations are performed directly on GModel, which enables
+        // to compute the boundary of hybrid CAD models; this also automatically
+        // binds all boundary entities for OCC models
+        if(GModel::current()->getOCCInternals() &&
+           GModel::current()->getOCCInternals()->getChanged())
+          GModel::current()->getOCCInternals()->synchronize(GModel::current());
+        if(GModel::current()->getGEOInternals()->getChanged())
+          GModel::current()->getGEOInternals()->synchronize(GModel::current());
+        r = GModel::current()->getBoundaryTags
+          (inDimTags, outDimTags, action == "CombinedBoundary");
+      }
+      else{
+        yymsg(0, "Unknown action on multiple shapes '%s'", (yyvsp[(1) - (4)].c));
+      }
+      if(!r) yymsg(0, "Could not apply operation on shapes");
+      VectorOfPairs2ListOfShapes(outDimTags, (yyval.l));
+      Free((yyvsp[(1) - (4)].c));
+    ;}
+    break;
+
+  case 204:
+#line 2390 "Gmsh.y"
+    {
+      (yyval.l) = List_Create(2, 1, sizeof(Shape));
+      bool r = true;
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        yymsg(0, "Intersect line not available with OpenCASCADE");
+      }
+      else{
+        std::vector<int> in, out; ListOfDouble2Vector((yyvsp[(4) - (9)].l), in);
+        r = GModel::current()->getGEOInternals()->intersectCurvesWithSurface
+          (in, (int)(yyvsp[(8) - (9)].d), out);
+        for(unsigned int i = 0; i < out.size(); i++){
+          Shape s;
+          s.Type = MSH_POINT;
+          s.Num = out[i];
+          List_Add((yyval.l), &s);
+        }
+      }
+      if(!r) yymsg(0, "Could not intersect line");
+      List_Delete((yyvsp[(4) - (9)].l));
+    ;}
+    break;
+
+  case 205:
+#line 2412 "Gmsh.y"
+    {
+      (yyval.l) = List_Create(2, 1, sizeof(Shape));
+      bool r = true;
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        yymsg(0, "Split Line not available with OpenCASCADE");
+      }
+      else{
+        std::vector<int> vertices, curves; ListOfDouble2Vector((yyvsp[(7) - (9)].l), vertices);
+        r = GModel::current()->getGEOInternals()->splitCurve
+          ((int)(yyvsp[(4) - (9)].d), vertices, curves);
+        for(unsigned int i = 0; i < curves.size(); i++){
+          Shape s;
+          s.Type = MSH_SEGM_LINE;
+          s.Num = curves[i];
+          List_Add((yyval.l), &s);
+        }
+      }
+      if(!r) yymsg(0, "Could not split line");
+      List_Delete((yyvsp[(7) - (9)].l));
+    ;}
+    break;
+
+  case 206:
+#line 2435 "Gmsh.y"
+    { (yyval.l) = (yyvsp[(1) - (1)].l); ;}
+    break;
+
+  case 207:
+#line 2436 "Gmsh.y"
+    { (yyval.l) = (yyvsp[(1) - (1)].l); ;}
+    break;
+
+  case 208:
+#line 2441 "Gmsh.y"
+    {
+      (yyval.l) = List_Create(3, 3, sizeof(Shape));
+    ;}
+    break;
+
+  case 209:
+#line 2445 "Gmsh.y"
+    {
+      List_Add((yyval.l), &(yyvsp[(2) - (2)].s));
+    ;}
+    break;
+
+  case 210:
+#line 2449 "Gmsh.y"
+    {
+      for(int i = 0; i < List_Nbr((yyvsp[(4) - (6)].l)); i++){
+	double d;
+	List_Read((yyvsp[(4) - (6)].l), i, &d);
+	Shape s;
+	s.Num = (int)d;
+        s.Type = MSH_POINT;
+        List_Add((yyval.l), &s);
+      }
+    ;}
+    break;
+
+  case 211:
+#line 2460 "Gmsh.y"
+    {
+      for(int i = 0; i < List_Nbr((yyvsp[(4) - (6)].l)); i++){
+	double d;
+	List_Read((yyvsp[(4) - (6)].l), i, &d);
+	Shape s;
+	s.Num = (int)d;
+        s.Type = MSH_SEGM_LINE;
+        List_Add((yyval.l), &s);
+      }
+    ;}
+    break;
+
+  case 212:
+#line 2471 "Gmsh.y"
+    {
+      for(int i = 0; i < List_Nbr((yyvsp[(4) - (6)].l)); i++){
+	double d;
+	List_Read((yyvsp[(4) - (6)].l), i, &d);
+	Shape s;
+	s.Num = (int)d;
+        s.Type = MSH_SURF_PLAN; // we don't care about the actual type
+        List_Add((yyval.l), &s);
+      }
+    ;}
+    break;
+
+  case 213:
+#line 2482 "Gmsh.y"
+    {
+      for(int i = 0; i < List_Nbr((yyvsp[(4) - (6)].l)); i++){
+	double d;
+	List_Read((yyvsp[(4) - (6)].l), i, &d);
+	Shape s;
+	s.Num = (int)d;
+        s.Type = MSH_VOLUME;
+        List_Add((yyval.l), &s);
+      }
+    ;}
+    break;
+
+  case 214:
+#line 2498 "Gmsh.y"
+    {
+      if(List_Nbr((yyvsp[(7) - (8)].l)) == 4){
+        int t = (int)(yyvsp[(4) - (8)].d);
+        if(gLevelset::find(t)){
+	  yymsg(0, "Levelset %d already exists", t);
+        }
+        else {
+          double d[4];
+          for(int i = 0; i < 4; i++)
+            List_Read((yyvsp[(7) - (8)].l), i, &d[i]);
+          gLevelset *ls = new gLevelsetPlane(d[0], d[1], d[2], d[3], t);
+          gLevelset::add(ls);
+        }
+      }
+      else
+        yymsg(0, "Wrong number of arguments for levelset definition");
+      List_Delete((yyvsp[(7) - (8)].l));
+    ;}
+    break;
+
+  case 215:
+#line 2517 "Gmsh.y"
+    {
+      int t = (int)(yyvsp[(4) - (10)].d);
+      if(gLevelset::find(t)){
+	yymsg(0, "Levelset %d already exists", t);
+      }
+      else {
+	fullMatrix<double> centers(List_Nbr((yyvsp[(8) - (10)].l)),3);
+	for (int i = 0; i < List_Nbr((yyvsp[(8) - (10)].l)); i++){
+	  List_T *l = *(List_T**)List_Pointer((yyvsp[(8) - (10)].l), i);
+	  for (int j = 0; j < List_Nbr(l); j++){
+	    centers(i,j) = (double)(*(double*)List_Pointer(l, j));
+	  }
+	}
+        gLevelset *ls = new gLevelsetPoints(centers, t);
+        gLevelset::add(ls);
+      }
+      for(int i = 0; i < List_Nbr((yyvsp[(8) - (10)].l)); i++)
+        List_Delete(*(List_T**)List_Pointer((yyvsp[(8) - (10)].l), i));
+      List_Delete((yyvsp[(8) - (10)].l));
+    ;}
+    break;
+
+  case 216:
+#line 2539 "Gmsh.y"
+    {
+      int t = (int)(yyvsp[(4) - (14)].d);
+      if(gLevelset::find(t)){
+        yymsg(0, "Levelset %d already exists", t);
+      }
+      else {
+        double pt[3] = {(yyvsp[(8) - (14)].v)[0], (yyvsp[(8) - (14)].v)[1], (yyvsp[(8) - (14)].v)[2]};
+        double n[3] = {(yyvsp[(10) - (14)].v)[0], (yyvsp[(10) - (14)].v)[1], (yyvsp[(10) - (14)].v)[2]};
+        gLevelset *ls = new gLevelsetPlane(pt, n, t);
+        gLevelset::add(ls);
+      }
+      List_Delete((yyvsp[(12) - (14)].l));
+    ;}
+    break;
+
+  case 217:
+#line 2554 "Gmsh.y"
+    {
+      int t = (int)(yyvsp[(4) - (16)].d);
+      if(gLevelset::find(t)){
+        yymsg(0, "Levelset %d already exists", t);
+      }
+      else {
+        double pt1[3] = {(yyvsp[(8) - (16)].v)[0], (yyvsp[(8) - (16)].v)[1], (yyvsp[(8) - (16)].v)[2]};
+        double pt2[3] = {(yyvsp[(10) - (16)].v)[0], (yyvsp[(10) - (16)].v)[1], (yyvsp[(10) - (16)].v)[2]};
+        double pt3[3] = {(yyvsp[(12) - (16)].v)[0], (yyvsp[(12) - (16)].v)[1], (yyvsp[(12) - (16)].v)[2]};
+        gLevelset *ls = new gLevelsetPlane(pt1, pt2, pt3, t);
+        gLevelset::add(ls);
+      }
+      List_Delete((yyvsp[(14) - (16)].l));
+    ;}
+    break;
+
+  case 218:
+#line 2569 "Gmsh.y"
+    {
+      if(List_Nbr((yyvsp[(10) - (12)].l)) == 1){
+        int t = (int)(yyvsp[(4) - (12)].d);
+        if(gLevelset::find(t)){
+	  yymsg(0, "Levelset %d already exists", t);
+        }
+        else {
+          double d;
+          List_Read((yyvsp[(10) - (12)].l), 0, &d);
+          gLevelset *ls = new gLevelsetSphere((yyvsp[(8) - (12)].v)[0], (yyvsp[(8) - (12)].v)[1], (yyvsp[(8) - (12)].v)[2], d, t);
+          gLevelset::add(ls);
+        }
+      }
+      else
+        yymsg(0, "Wrong number of arguments for levelset definition");
+      List_Delete((yyvsp[(10) - (12)].l));
+    ;}
+    break;
+
+  case 219:
+#line 2588 "Gmsh.y"
+    {
+      if(List_Nbr((yyvsp[(12) - (14)].l)) == 1){
+        int t = (int)(yyvsp[(4) - (14)].d);
+        if(gLevelset::find(t)){
+	  yymsg(0, "Levelset %d already exists", t);
+        }
+        else {
+          double d;
+          List_Read((yyvsp[(12) - (14)].l), 0, &d);
+          double pt[3] = {(yyvsp[(8) - (14)].v)[0], (yyvsp[(8) - (14)].v)[1], (yyvsp[(8) - (14)].v)[2]};
+          double dir[3] = {(yyvsp[(10) - (14)].v)[0], (yyvsp[(10) - (14)].v)[1], (yyvsp[(10) - (14)].v)[2]};
+          gLevelset *ls = new gLevelsetGenCylinder(pt, dir, d, t);
+          gLevelset::add(ls);
+        }
+      }
+      else if(List_Nbr((yyvsp[(12) - (14)].l)) == 2){
+        int t = (int)(yyvsp[(4) - (14)].d);
+        if(gLevelset::find(t)){
+	  yymsg(0, "Levelset %d already exists", t);
+        }
+        else {
+          double d[2];
+          for(int i = 0; i < 2; i++)
+            List_Read((yyvsp[(12) - (14)].l), i, &d[i]);
+          double pt[3] = {(yyvsp[(8) - (14)].v)[0], (yyvsp[(8) - (14)].v)[1], (yyvsp[(8) - (14)].v)[2]};
+          double dir[3] = {(yyvsp[(10) - (14)].v)[0], (yyvsp[(10) - (14)].v)[1], (yyvsp[(10) - (14)].v)[2]};
+          gLevelset *ls = new gLevelsetCylinder(pt, dir, d[0], d[1], t);
+          gLevelset::add(ls);
+        }
+      }
+      else if(List_Nbr((yyvsp[(12) - (14)].l)) == 3){
+        int t = (int)(yyvsp[(4) - (14)].d);
+        if(gLevelset::find(t)){
+	  yymsg(0, "Levelset %d already exists", t);
+        }
+        else {
+          double d[3];
+          for(int i = 0; i < 3; i++)
+            List_Read((yyvsp[(12) - (14)].l), i, &d[i]);
+          double pt[3] = {(yyvsp[(8) - (14)].v)[0], (yyvsp[(8) - (14)].v)[1], (yyvsp[(8) - (14)].v)[2]};
+          double dir[3] = {(yyvsp[(10) - (14)].v)[0], (yyvsp[(10) - (14)].v)[1], (yyvsp[(10) - (14)].v)[2]};
+          gLevelset *ls = new gLevelsetCylinder(pt, dir, d[0], d[1], d[2], t);
+          gLevelset::add(ls);
+        }
+      }
+      else
+        yymsg(0, "Wrong number of arguments for levelset definition");
+      List_Delete((yyvsp[(12) - (14)].l));
+    ;}
+    break;
+
+  case 220:
+#line 2639 "Gmsh.y"
+    {
+      if(List_Nbr((yyvsp[(12) - (14)].l)) == 1){
+        int t = (int)(yyvsp[(4) - (14)].d);
+        if(gLevelset::find(t)){
+	  yymsg(0, "Levelset %d already exists", t);
+        }
+        else {
+          double d;
+          List_Read((yyvsp[(12) - (14)].l), 0, &d);
+          double pt[3] = {(yyvsp[(8) - (14)].v)[0], (yyvsp[(8) - (14)].v)[1], (yyvsp[(8) - (14)].v)[2]};
+          double dir[3] = {(yyvsp[(10) - (14)].v)[0], (yyvsp[(10) - (14)].v)[1], (yyvsp[(10) - (14)].v)[2]};
+          gLevelset *ls = new gLevelsetCone(pt, dir, d, t);
+          gLevelset::add(ls);
+        }
+      }
+      else
+        yymsg(0, "Wrong number of arguments for levelset definition");
+      List_Delete((yyvsp[(12) - (14)].l));
+    ;}
+    break;
+
+  case 221:
+#line 2660 "Gmsh.y"
+    {
+      if(List_Nbr((yyvsp[(12) - (14)].l)) == 3){
+        int t = (int)(yyvsp[(4) - (14)].d);
+        if(gLevelset::find(t)){
+	  yymsg(0, "Levelset %d already exists", t);
+        }
+        else {
+          double d[3];
+          for(int i = 0; i < 3; i++)
+            List_Read((yyvsp[(12) - (14)].l), i, &d[i]);
+          double pt[3] = {(yyvsp[(8) - (14)].v)[0], (yyvsp[(8) - (14)].v)[1], (yyvsp[(8) - (14)].v)[2]};
+          double dir[3] = {(yyvsp[(10) - (14)].v)[0], (yyvsp[(10) - (14)].v)[1], (yyvsp[(10) - (14)].v)[2]};
+          gLevelset *ls = new gLevelsetEllipsoid(pt, dir, d[0], d[1], d[2], t);
+          gLevelset::add(ls);
+        }
+      }
+      else
+        yymsg(0, "Wrong number of arguments for levelset definition");
+      List_Delete((yyvsp[(12) - (14)].l));
+    ;}
+    break;
+
+  case 222:
+#line 2682 "Gmsh.y"
+    {
+      if(List_Nbr((yyvsp[(12) - (14)].l)) == 5){
+        int t = (int)(yyvsp[(4) - (14)].d);
+        if(gLevelset::find(t)){
+	  yymsg(0, "Levelset %d already exists", t);
+        }
+        else {
+          double d[5];
+          for(int i = 0; i < 5; i++)
+            List_Read((yyvsp[(12) - (14)].l), i, &d[i]);
+          double pt[3] = {(yyvsp[(8) - (14)].v)[0], (yyvsp[(8) - (14)].v)[1], (yyvsp[(8) - (14)].v)[2]};
+          double dir[3] = {(yyvsp[(10) - (14)].v)[0], (yyvsp[(10) - (14)].v)[1], (yyvsp[(10) - (14)].v)[2]};
+          gLevelset *ls = new gLevelsetGeneralQuadric(pt, dir, d[0], d[1],
+                                                      d[2], d[3], d[4], t);
+          gLevelset::add(ls);
+        }
+      }
+      else
+        yymsg(0, "Wrong number of arguments for levelset definition");
+      List_Delete((yyvsp[(12) - (14)].l));
+    ;}
+    break;
+
+  case 223:
+#line 2704 "Gmsh.y"
+    {
+      if(!strcmp((yyvsp[(2) - (8)].c), "Union")){
+        int t = (int)(yyvsp[(4) - (8)].d);
+        if(gLevelset::find(t)){
+	  yymsg(0, "Levelset %d already exists", t);
+        }
+        else {
+          std::vector<gLevelset *> vl;
+          for(int i = 0; i < List_Nbr((yyvsp[(7) - (8)].l)); i++) {
+            double d; List_Read((yyvsp[(7) - (8)].l), i, &d);
+            gLevelset *pl = gLevelset::find((int)d);
+	    if(!pl) yymsg(0, "Unknown levelset %d", (int)d);
+            else vl.push_back(pl);
+          }
+          gLevelset *ls = new gLevelsetUnion(vl, true, t);
+          gLevelset::add(ls);
+        }
+      }
+      else if(!strcmp((yyvsp[(2) - (8)].c), "Intersection")){
+        int t = (int)(yyvsp[(4) - (8)].d);
+        if(gLevelset::find(t)){
+	  yymsg(0, "Levelset %d already exists", t);
+        }
+        else {
+          std::vector<gLevelset *> vl;
+          for(int i = 0; i < List_Nbr((yyvsp[(7) - (8)].l)); i++) {
+            double d; List_Read((yyvsp[(7) - (8)].l), i, &d);
+            gLevelset *pl = gLevelset::find((int)d);
+	    if(!pl) yymsg(0, "Unknown levelset %d", (int)d);
+            else vl.push_back(pl);
+          }
+          gLevelset *ls = new gLevelsetIntersection(vl, true, t);
+          gLevelset::add(ls);
+        }
+      }
+      else if(!strcmp((yyvsp[(2) - (8)].c), "Cut")){
+        int t = (int)(yyvsp[(4) - (8)].d);
+        if(gLevelset::find(t)){
+	  yymsg(0, "Levelset %d already exists", t);
+        }
+        else {
+          std::vector<gLevelset *> vl;
+          for(int i = 0; i < List_Nbr((yyvsp[(7) - (8)].l)); i++) {
+            double d; List_Read((yyvsp[(7) - (8)].l), i, &d);
+            gLevelset *pl = gLevelset::find((int)d);
+	    if(!pl) yymsg(0, "Unknown levelset %d", (int)d);
+            else vl.push_back(pl);
+          }
+          gLevelset *ls = new gLevelsetCut(vl, true, t);
+          gLevelset::add(ls);
+        }
+      }
+      else if(!strcmp((yyvsp[(2) - (8)].c), "Crack")){
+        int t = (int)(yyvsp[(4) - (8)].d);
+        if(gLevelset::find(t)){
+	  yymsg(0, "Levelset %d already exists", t);
+        }
+        else {
+          std::vector<gLevelset *> vl;
+          for(int i = 0; i < List_Nbr((yyvsp[(7) - (8)].l)); i++) {
+            double d; List_Read((yyvsp[(7) - (8)].l), i, &d);
+            gLevelset *pl = gLevelset::find((int)d);
+	    if(!pl) yymsg(0, "Unknown levelset %d", (int)d);
+            else vl.push_back(pl);
+          }
+          gLevelset *ls = new gLevelsetCrack(vl, false, t);
+          gLevelset::add(ls);
+        }
+      }
+      else if(!strcmp((yyvsp[(2) - (8)].c), "Reverse")){
+        int t = (int)(yyvsp[(4) - (8)].d);
+        if(gLevelset::find(t)){
+	  yymsg(0, "Levelset %d already exists", t);
+        }
+        else {
+          double d;
+          List_Read((yyvsp[(7) - (8)].l), 0, &d);
+          gLevelset *pl = gLevelset::find((int)d);
+          gLevelset *ls = NULL;
+          if(!pl) yymsg(0, "Unknown levelset %d", (int)d);
+          else ls = new gLevelsetReverse(pl, t);
+          if(ls) gLevelset::add(ls);
+        }
+      }
+#if defined(HAVE_POST)
+      else if(!strcmp((yyvsp[(2) - (8)].c), "PostView")){
+        int t = (int)(yyvsp[(4) - (8)].d);
+        if(gLevelset::find(t)){
+	  yymsg(0, "Levelset %d already exists", t);
+        }
+        else {
+          if(List_Nbr((yyvsp[(7) - (8)].l)) > 0){
+            double d; List_Read((yyvsp[(7) - (8)].l), 0, &d);
+            gLevelset *ls = new gLevelsetPostView((int)d, t);
+            gLevelset::add(ls);
+          }
+        }
+      }
+#endif
+      else
+        yymsg(0, "Wrong number of arguments for levelset definition");
+      Free((yyvsp[(2) - (8)].c));
+      List_Delete((yyvsp[(7) - (8)].l));
+    ;}
+    break;
+
+  case 224:
+#line 2809 "Gmsh.y"
+    {
+      if(!strcmp((yyvsp[(2) - (8)].c), "MathEval")){
+        int t = (int)(yyvsp[(4) - (8)].d);
+        if(gLevelset::find(t)){
+	  yymsg(0, "Levelset %d already exists", t);
+        }
+        else {
+          gLevelset *ls = new gLevelsetMathEval((yyvsp[(7) - (8)].c), t);
+          gLevelset::add(ls);
+        }
+      }
+      else
+        yymsg(0, "Unknown levelset '%s'", (yyvsp[(2) - (8)].c));
+      Free((yyvsp[(2) - (8)].c)); Free((yyvsp[(7) - (8)].c));
+    ;}
+    break;
+
+  case 225:
+#line 2825 "Gmsh.y"
+    {
+      if(!strcmp((yyvsp[(2) - (6)].c), "CutMesh")){
+        int t = (int)(yyvsp[(4) - (6)].d);
+        if(gLevelset::find(t)){
+          GModel::current()->buildCutGModel(gLevelset::find(t), true, false);
+        }
+        else
+          yymsg(0, "Unknown levelset %d", t);
+      }
+      else if(!strcmp((yyvsp[(2) - (6)].c), "CutMeshTri")){
+        int t = (int)(yyvsp[(4) - (6)].d);
+        if(gLevelset::find(t)){
+          GModel::current()->buildCutGModel(gLevelset::find(t), true, true);
+        }
+        else
+          yymsg(0, "Unknown levelset %d", t);
+      }
+      else if(!strcmp((yyvsp[(2) - (6)].c), "SplitMesh")){
+        int t = (int)(yyvsp[(4) - (6)].d);
+        if(gLevelset::find(t)){
+          GModel::current()->buildCutGModel(gLevelset::find(t), false, true);
+        }
+        else
+          yymsg(0, "Unknown levelset %d", t);
+      }
+      else
+        yymsg(0, "Unknown levelset '%s'", (yyvsp[(2) - (6)].c));
+      Free((yyvsp[(2) - (6)].c));
+    ;}
+    break;
+
+  case 226:
+#line 2860 "Gmsh.y"
+    {
+      std::vector<std::pair<int, int> > dimTags;
+      ListOfShapes2VectorOfPairs((yyvsp[(3) - (4)].l), dimTags);
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        GModel::current()->getOCCInternals()->remove(dimTags);
+      }
+      GModel::current()->getGEOInternals()->remove(dimTags);
+      GModel::current()->remove(dimTags);
+      List_Delete((yyvsp[(3) - (4)].l));
+    ;}
+    break;
+
+  case 227:
+#line 2871 "Gmsh.y"
+    {
+      std::vector<std::pair<int, int> > dimTags;
+      ListOfShapes2VectorOfPairs((yyvsp[(4) - (5)].l), dimTags);
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        GModel::current()->getOCCInternals()->remove(dimTags, true);
+      }
+      GModel::current()->getGEOInternals()->remove(dimTags, true);
+      GModel::current()->remove(dimTags, true);
+      List_Delete((yyvsp[(4) - (5)].l));
+    ;}
+    break;
+
+  case 228:
+#line 2882 "Gmsh.y"
+    {
+#if defined(HAVE_MESH)
+      GModel::current()->getFields()->deleteField((int)(yyvsp[(4) - (6)].d));
+#endif
+    ;}
+    break;
+
+  case 229:
+#line 2888 "Gmsh.y"
+    {
+#if defined(HAVE_POST)
+      if(!strcmp((yyvsp[(2) - (6)].c), "View")){
+	int index = (int)(yyvsp[(4) - (6)].d);
+	if(index >= 0 && index < (int)PView::list.size())
+	  delete PView::list[index];
+	else
+	  yymsg(0, "Unknown view %d", index);
+      }
+      else
+	yymsg(0, "Unknown command 'Delete %s'", (yyvsp[(2) - (6)].c));
+#endif
+      Free((yyvsp[(2) - (6)].c));
+    ;}
+    break;
+
+  case 230:
+#line 2903 "Gmsh.y"
+    {
+      if(!strcmp((yyvsp[(2) - (3)].c), "Meshes") || !strcmp((yyvsp[(2) - (3)].c), "All")){
+        ClearProject();
+      }
+      else if(!strcmp((yyvsp[(2) - (3)].c), "Model")){
+	GModel::current()->destroy(true); // destroy, but keep name/filename
+	GModel::current()->getGEOInternals()->destroy();
+      }
+      else if(!strcmp((yyvsp[(2) - (3)].c), "Physicals")){
+	GModel::current()->getGEOInternals()->resetPhysicalGroups();
+	GModel::current()->deletePhysicalGroups();
+      }
+      else if(!strcmp((yyvsp[(2) - (3)].c), "Variables")){
+	gmsh_yysymbols.clear();
+      }
+      else if(!strcmp((yyvsp[(2) - (3)].c), "Options")){
+        ReInitOptions(0);
+        InitOptionsGUI(0);
+      }
+      else{
+	if(gmsh_yysymbols.count((yyvsp[(2) - (3)].c)))
+	  gmsh_yysymbols.erase((yyvsp[(2) - (3)].c));
+	else
+	  yymsg(0, "Unknown object or expression to delete '%s'", (yyvsp[(2) - (3)].c));
+      }
+      Free((yyvsp[(2) - (3)].c));
+    ;}
+    break;
+
+  case 231:
+#line 2931 "Gmsh.y"
+    {
+#if defined(HAVE_POST)
+      if(!strcmp((yyvsp[(2) - (4)].c), "Empty") && !strcmp((yyvsp[(3) - (4)].c), "Views")){
+	for(int i = PView::list.size() - 1; i >= 0; i--)
+	  if(PView::list[i]->getData()->empty()) delete PView::list[i];
+      }
+      else
+	yymsg(0, "Unknown command 'Delete %s %s'", (yyvsp[(2) - (4)].c), (yyvsp[(3) - (4)].c));
+#endif
+      Free((yyvsp[(2) - (4)].c)); Free((yyvsp[(3) - (4)].c));
+    ;}
+    break;
+
+  case 232:
+#line 2943 "Gmsh.y"
+    {
+      nameSpaces.clear();
+    ;}
+    break;
+
+  case 233:
+#line 2952 "Gmsh.y"
+    {
+      std::vector<std::pair<int, int> > dimTags;
+      ListOfShapes2VectorOfPairs((yyvsp[(4) - (5)].l), dimTags);
+      setColor(dimTags, (yyvsp[(2) - (5)].u), false);
+      List_Delete((yyvsp[(4) - (5)].l));
+    ;}
+    break;
+
+  case 234:
+#line 2959 "Gmsh.y"
+    {
+      std::vector<std::pair<int, int> > dimTags;
+      ListOfShapes2VectorOfPairs((yyvsp[(5) - (6)].l), dimTags);
+      setColor(dimTags, (yyvsp[(3) - (6)].u), true);
+      List_Delete((yyvsp[(5) - (6)].l));
+    ;}
+    break;
+
+  case 235:
+#line 2971 "Gmsh.y"
+    {
+      std::vector<std::pair<int, int> > dimTags;
+      ListOfShapes2VectorOfPairs((yyvsp[(4) - (5)].l), dimTags);
+      for(unsigned int i = 0; i < dimTags.size(); i++){
+        GEntity *ge = GModel::current()->getEntityByTag
+          (dimTags[i].first, dimTags[i].second);
+        if(ge){
+          for(unsigned int j = 0; j < ge->getNumMeshElements(); j++)
+            ge->getMeshElement(j)->setPartition((int)(yyvsp[(2) - (5)].d));
+        }
+      }
+      List_Delete((yyvsp[(4) - (5)].l));
+    ;}
+    break;
+
+  case 236:
+#line 2990 "Gmsh.y"
+    {
+      std::string what = (yyvsp[(2) - (3)].c);
+      setVisibility(-1, 1, false);
+      Free((yyvsp[(2) - (3)].c));
+    ;}
+    break;
+
+  case 237:
+#line 2996 "Gmsh.y"
+    {
+      std::string what = (yyvsp[(2) - (3)].c);
+      setVisibility(-1, 0, false);
+      Free((yyvsp[(2) - (3)].c));
+    ;}
+    break;
+
+  case 238:
+#line 3002 "Gmsh.y"
+    {
+      std::vector<std::pair<int, int> > dimTags;
+      ListOfShapes2VectorOfPairs((yyvsp[(3) - (4)].l), dimTags);
+      setVisibility(dimTags, 1, false);
+      List_Delete((yyvsp[(3) - (4)].l));
+    ;}
+    break;
+
+  case 239:
+#line 3009 "Gmsh.y"
+    {
+      std::vector<std::pair<int, int> > dimTags;
+      ListOfShapes2VectorOfPairs((yyvsp[(4) - (5)].l), dimTags);
+      setVisibility(dimTags, 1, true);
+      List_Delete((yyvsp[(4) - (5)].l));
+    ;}
+    break;
+
+  case 240:
+#line 3016 "Gmsh.y"
+    {
+      std::vector<std::pair<int, int> > dimTags;
+      ListOfShapes2VectorOfPairs((yyvsp[(3) - (4)].l), dimTags);
+      setVisibility(dimTags, 0, false);
+      List_Delete((yyvsp[(3) - (4)].l));
+    ;}
+    break;
+
+  case 241:
+#line 3023 "Gmsh.y"
+    {
+      std::vector<std::pair<int, int> > dimTags;
+      ListOfShapes2VectorOfPairs((yyvsp[(4) - (5)].l), dimTags);
+      setVisibility(dimTags, 0, true);
+      List_Delete((yyvsp[(4) - (5)].l));
+    ;}
+    break;
+
+  case 242:
+#line 3035 "Gmsh.y"
+    {
+      if(!strcmp((yyvsp[(1) - (3)].c), "Include")){
+        std::string tmp = FixRelativePath(gmsh_yyname, (yyvsp[(2) - (3)].c));
+	Msg::StatusBar(true, "Reading '%s'...", tmp.c_str());
+	// Warning: we explicitly ask ParseFile not to fclose() the included
+        // file, in order to allow user functions definitions in these files.
+        // The files will be closed in the next time OpenFile terminates. If
+        // you need to include many many files and don't have functions in
+        // the files, use "Merge" instead of "Include", as some OSes limit
+        // the number of files a process can open simultaneously. (A better
+        // solution would be to modify FunctionManager to reopen the files
+        // instead of using the FILE pointer...)
+	ParseFile(tmp, false, true);
+	SetBoundingBox();
+	Msg::StatusBar(true, "Done reading '%s'", tmp.c_str());
+      }
+      else if(!strcmp((yyvsp[(1) - (3)].c), "Print")){
+	// make sure we have the latest data from CAD internals in GModel (fixes
+	// bug where we would have no geometry in the picture if the print
+	// command is in the same file as the geometry)
+        if(GModel::current()->getOCCInternals() &&
+           GModel::current()->getOCCInternals()->getChanged())
+          GModel::current()->getOCCInternals()->synchronize(GModel::current());
+        if(GModel::current()->getGEOInternals()->getChanged())
+          GModel::current()->getGEOInternals()->synchronize(GModel::current());
+        std::string tmp = FixRelativePath(gmsh_yyname, (yyvsp[(2) - (3)].c));
+	CreateOutputFile(tmp, CTX::instance()->print.fileFormat);
+      }
+      else if(!strcmp((yyvsp[(1) - (3)].c), "Save")){
+        if(GModel::current()->getOCCInternals() &&
+           GModel::current()->getOCCInternals()->getChanged())
+          GModel::current()->getOCCInternals()->synchronize(GModel::current());
+        if(GModel::current()->getGEOInternals()->getChanged())
+          GModel::current()->getGEOInternals()->synchronize(GModel::current());
+        std::string tmp = FixRelativePath(gmsh_yyname, (yyvsp[(2) - (3)].c));
+	CreateOutputFile(tmp, CTX::instance()->mesh.fileFormat);
+      }
+      else if(!strcmp((yyvsp[(1) - (3)].c), "Merge") || !strcmp((yyvsp[(1) - (3)].c), "MergeWithBoundingBox")){
+	// sync CAD internals here, so that if we e.g. import a STEP file, we
+        // have the correct entity tags and the numberings don't clash
+        if(GModel::current()->getOCCInternals() &&
+           GModel::current()->getOCCInternals()->getChanged())
+          GModel::current()->getOCCInternals()->synchronize(GModel::current());
+        if(GModel::current()->getGEOInternals()->getChanged())
+          GModel::current()->getGEOInternals()->synchronize(GModel::current());
+        std::string tmp = FixRelativePath(gmsh_yyname, (yyvsp[(2) - (3)].c));
+	MergeFile(tmp, true);
+      }
+      else if(!strcmp((yyvsp[(1) - (3)].c), "NonBlockingSystemCall")){
+	SystemCall((yyvsp[(2) - (3)].c));
+      }
+      else if(!strcmp((yyvsp[(1) - (3)].c), "System") || !strcmp((yyvsp[(1) - (3)].c), "SystemCall")){
+	SystemCall((yyvsp[(2) - (3)].c), true);
+      }
+      else if(!strcmp((yyvsp[(1) - (3)].c), "SetName")){
+	GModel::current()->setName((yyvsp[(2) - (3)].c));
+      }
+      else if(!strcmp((yyvsp[(1) - (3)].c), "CreateDir")){
+        std::string tmp = FixRelativePath(gmsh_yyname, (yyvsp[(2) - (3)].c));
+	CreateSingleDir(tmp);
+      }
+      else if(!strcmp((yyvsp[(1) - (3)].c), "OnelabRun")){
+        Msg::RunOnelabClient((yyvsp[(2) - (3)].c));
+      }
+      else if(!strcmp((yyvsp[(1) - (3)].c), "OptimizeMesh")){
+        GModel::current()->optimizeMesh((yyvsp[(2) - (3)].c));
+      }
+      else{
+	yymsg(0, "Unknown command '%s'", (yyvsp[(1) - (3)].c));
+      }
+      Free((yyvsp[(1) - (3)].c)); Free((yyvsp[(2) - (3)].c));
+    ;}
+    break;
+
+  case 243:
+#line 3108 "Gmsh.y"
+    {
+      int n = List_Nbr((yyvsp[(3) - (5)].l));
+      if(n == 1){
+        char *s; List_Read((yyvsp[(3) - (5)].l), 0, &s);
+        Msg::RunOnelabClient(s);
+        Free(s);
+      }
+      else if(n == 2){
+        char *s, *t; List_Read((yyvsp[(3) - (5)].l), 0, &s); List_Read((yyvsp[(3) - (5)].l), 1, &t);
+        Msg::RunOnelabClient(s, t);
+        Free(s); Free(t);
+      }
+      else{
+        yymsg(0, "OnelabRun takes one or two arguments");
+      }
+      List_Delete((yyvsp[(3) - (5)].l));
+    ;}
+    break;
+
+  case 244:
+#line 3126 "Gmsh.y"
+    {
+#if defined(HAVE_POST)
+      if(!strcmp((yyvsp[(1) - (7)].c), "Save") && !strcmp((yyvsp[(2) - (7)].c), "View")){
+	int index = (int)(yyvsp[(4) - (7)].d);
+	if(index >= 0 && index < (int)PView::list.size()){
+          std::string tmp = FixRelativePath(gmsh_yyname, (yyvsp[(6) - (7)].c));
+	  PView::list[index]->write(tmp, CTX::instance()->post.fileFormat);
+	}
+	else
+	  yymsg(0, "Unknown view %d", index);
+      }
+      else
+	yymsg(0, "Unknown command '%s'", (yyvsp[(1) - (7)].c));
+#endif
+      Free((yyvsp[(1) - (7)].c)); Free((yyvsp[(2) - (7)].c)); Free((yyvsp[(6) - (7)].c));
+    ;}
+    break;
+
+  case 245:
+#line 3143 "Gmsh.y"
+    {
+#if defined(HAVE_POST) && defined(HAVE_MESH)
+      if(!strcmp((yyvsp[(1) - (7)].c), "Background") && !strcmp((yyvsp[(2) - (7)].c), "Mesh")  && !strcmp((yyvsp[(3) - (7)].c), "View")){
+	int index = (int)(yyvsp[(5) - (7)].d);
+	if(index >= 0 && index < (int)PView::list.size())
+	  GModel::current()->getFields()->setBackgroundMesh(index);
+	else
+	  yymsg(0, "Unknown view %d", index);
+      }
+      else
+	yymsg(0, "Unknown command '%s'", (yyvsp[(1) - (7)].c));
+#endif
+      Free((yyvsp[(1) - (7)].c)); Free((yyvsp[(2) - (7)].c)); Free((yyvsp[(3) - (7)].c));
+    ;}
+    break;
+
+  case 246:
+#line 3158 "Gmsh.y"
+    {
+      if(!strcmp((yyvsp[(1) - (3)].c), "Sleep")){
+	SleepInSeconds((yyvsp[(2) - (3)].d));
+      }
+      else if(!strcmp((yyvsp[(1) - (3)].c), "Remesh")){
+	yymsg(0, "Surface remeshing must be reinterfaced");
+      }
+      else if(!strcmp((yyvsp[(1) - (3)].c), "Mesh")){
+	int lock = CTX::instance()->lock;
+	CTX::instance()->lock = 0;
+        if(GModel::current()->getOCCInternals() &&
+           GModel::current()->getOCCInternals()->getChanged())
+          GModel::current()->getOCCInternals()->synchronize(GModel::current());
+        if(GModel::current()->getGEOInternals()->getChanged())
+          GModel::current()->getGEOInternals()->synchronize(GModel::current());
+	GModel::current()->mesh((int)(yyvsp[(2) - (3)].d));
+	CTX::instance()->lock = lock;
+      }
+      else if(!strcmp((yyvsp[(1) - (3)].c), "SetOrder")){
+#if defined(HAVE_MESH)
+        SetOrderN(GModel::current(), (yyvsp[(2) - (3)].d), CTX::instance()->mesh.secondOrderLinear,
+                  CTX::instance()->mesh.secondOrderIncomplete,
+                  CTX::instance()->mesh.meshOnlyVisible);
+#endif
+      }
+      else if(!strcmp((yyvsp[(1) - (3)].c), "PartitionMesh")){
+        GModel::current()->partitionMesh((yyvsp[(2) - (3)].d));
+      }
+      else
+	yymsg(0, "Unknown command '%s'", (yyvsp[(1) - (3)].c));
+      Free((yyvsp[(1) - (3)].c));
+    ;}
+    break;
+
+  case 247:
+#line 3191 "Gmsh.y"
+    {
+#if defined(HAVE_PLUGINS)
+       try {
+	 PluginManager::instance()->action((yyvsp[(3) - (7)].c), (yyvsp[(6) - (7)].c), 0);
+       }
+       catch(...) {
+	 yymsg(0, "Unknown action '%s' or plugin '%s'", (yyvsp[(6) - (7)].c), (yyvsp[(3) - (7)].c));
+       }
+#endif
+       Free((yyvsp[(3) - (7)].c)); Free((yyvsp[(6) - (7)].c));
+     ;}
+    break;
+
+  case 248:
+#line 3203 "Gmsh.y"
+    {
+#if defined(HAVE_POST)
+      if(!strcmp((yyvsp[(2) - (3)].c), "ElementsFromAllViews"))
+	PView::combine(false, 1, CTX::instance()->post.combineRemoveOrig);
+      else if(!strcmp((yyvsp[(2) - (3)].c), "ElementsFromVisibleViews"))
+	PView::combine(false, 0, CTX::instance()->post.combineRemoveOrig);
+      else if(!strcmp((yyvsp[(2) - (3)].c), "ElementsByViewName"))
+	PView::combine(false, 2, CTX::instance()->post.combineRemoveOrig);
+      else if(!strcmp((yyvsp[(2) - (3)].c), "TimeStepsFromAllViews"))
+	PView::combine(true, 1, CTX::instance()->post.combineRemoveOrig);
+      else if(!strcmp((yyvsp[(2) - (3)].c), "TimeStepsFromVisibleViews"))
+	PView::combine(true, 0, CTX::instance()->post.combineRemoveOrig);
+      else if(!strcmp((yyvsp[(2) - (3)].c), "TimeStepsByViewName"))
+	PView::combine(true, 2, CTX::instance()->post.combineRemoveOrig);
+      else if(!strcmp((yyvsp[(2) - (3)].c), "Views"))
+	PView::combine(false, 1, CTX::instance()->post.combineRemoveOrig);
+      else if(!strcmp((yyvsp[(2) - (3)].c), "TimeSteps"))
+	PView::combine(true, 2, CTX::instance()->post.combineRemoveOrig);
+      else
+	yymsg(0, "Unknown 'Combine' command");
+#endif
+      Free((yyvsp[(2) - (3)].c));
+    ;}
+    break;
+
+  case 249:
+#line 3227 "Gmsh.y"
+    {
+      Msg::Exit(0);
+    ;}
+    break;
+
+  case 250:
+#line 3231 "Gmsh.y"
+    {
+      gmsh_yyerrorstate = 999; // this will be checked when yyparse returns
+      YYABORT;
+    ;}
+    break;
+
+  case 251:
+#line 3236 "Gmsh.y"
+    {
+      // force sync
+      if(GModel::current()->getOCCInternals())
+        GModel::current()->getOCCInternals()->synchronize(GModel::current());
+      GModel::current()->getGEOInternals()->synchronize(GModel::current());
+    ;}
+    break;
+
+  case 252:
+#line 3243 "Gmsh.y"
+    {
+      new GModel();
+      GModel::current(GModel::list.size() - 1);
+    ;}
+    break;
+
+  case 253:
+#line 3248 "Gmsh.y"
+    {
+      CTX::instance()->forcedBBox = 0;
+      if(GModel::current()->getOCCInternals() &&
+         GModel::current()->getOCCInternals()->getChanged())
+        GModel::current()->getOCCInternals()->synchronize(GModel::current());
+      if(GModel::current()->getGEOInternals()->getChanged())
+        GModel::current()->getGEOInternals()->synchronize(GModel::current());
+      SetBoundingBox();
+    ;}
+    break;
+
+  case 254:
+#line 3258 "Gmsh.y"
+    {
+      CTX::instance()->forcedBBox = 1;
+      SetBoundingBox((yyvsp[(3) - (15)].d), (yyvsp[(5) - (15)].d), (yyvsp[(7) - (15)].d), (yyvsp[(9) - (15)].d), (yyvsp[(11) - (15)].d), (yyvsp[(13) - (15)].d));
+    ;}
+    break;
+
+  case 255:
+#line 3263 "Gmsh.y"
+    {
+#if defined(HAVE_OPENGL)
+      drawContext::global()->draw();
+#endif
+    ;}
+    break;
+
+  case 256:
+#line 3269 "Gmsh.y"
+    {
+#if defined(HAVE_OPENGL)
+     CTX::instance()->mesh.changed = ENT_ALL;
+     for(unsigned int index = 0; index < PView::list.size(); index++)
+       PView::list[index]->setChanged(true);
+#endif
+    ;}
+    break;
+
+  case 257:
+#line 3277 "Gmsh.y"
+    {
+      GModel::current()->createTopologyFromMesh();
+    ;}
+    break;
+
+  case 258:
+#line 3281 "Gmsh.y"
+    {
+      GModel::current()->createTopologyFromMesh(1);
+    ;}
+    break;
+
+  case 259:
+#line 3285 "Gmsh.y"
+    {
+      if(GModel::current()->getOCCInternals() &&
+         GModel::current()->getOCCInternals()->getChanged())
+        GModel::current()->getOCCInternals()->synchronize(GModel::current());
+      if(GModel::current()->getGEOInternals()->getChanged())
+        GModel::current()->getGEOInternals()->synchronize(GModel::current());
+      GModel::current()->refineMesh(CTX::instance()->mesh.secondOrderLinear);
+    ;}
+    break;
+
+  case 260:
+#line 3295 "Gmsh.y"
+    {
+      int lock = CTX::instance()->lock;
+      CTX::instance()->lock = 0;
+      std::vector<int> technique;
+      for(int i = 0; i < List_Nbr((yyvsp[(3) - (16)].l)); i++){
+        double d;
+        List_Read((yyvsp[(3) - (16)].l), i, &d);
+        technique.push_back((int)d);
+      }
+      if(technique.empty()){
+        yymsg(0, "Need at least one adaptation technique");
+      }
+      else{
+        std::vector<simpleFunction<double>*> f;
+        for(int i = 0; i < List_Nbr((yyvsp[(6) - (16)].l)); i++){
+          double d;
+          List_Read((yyvsp[(6) - (16)].l), i, &d);
+          gLevelset *l = gLevelset::find((int)d);
+          if(l) f.push_back(l);
+          else yymsg(0, "Unknown levelset %d", (int)d);
+        }
+        if(technique.size() != f.size()){
+          yymsg(0, "Number of techniques != number of levelsets");
+        }
+        else{
+          if(List_Nbr((yyvsp[(9) - (16)].l)) != (int)f.size()){
+            yymsg(0, "Number of parameters != number of levelsets");
+          }
+          else{
+            std::vector<std::vector<double> > parameters;
+            parameters.resize(List_Nbr((yyvsp[(9) - (16)].l)));
+            for(int i = 0; i < List_Nbr((yyvsp[(9) - (16)].l)); i++){
+              List_T *l = *(List_T**)List_Pointer((yyvsp[(9) - (16)].l), i);
+              for(int j = 0; j < List_Nbr(l); j++){
+                double d;
+                List_Read(l, j, &d);
+                parameters[i].push_back(d);
+              }
+            }
+            int niter = (int)(yyvsp[(12) - (16)].d);
+            bool meshAll = ((yyvsp[(14) - (16)].d) == 0) ? false : true;
+            if(GModel::current()->getOCCInternals() &&
+               GModel::current()->getOCCInternals()->getChanged())
+              GModel::current()->getOCCInternals()->synchronize(GModel::current());
+            if(GModel::current()->getGEOInternals()->getChanged())
+              GModel::current()->getGEOInternals()->synchronize(GModel::current());
+            GModel::current()->adaptMesh(technique, f, parameters, niter, meshAll);
+          }
+        }
+      }
+      List_Delete((yyvsp[(3) - (16)].l));
+      List_Delete((yyvsp[(6) - (16)].l));
+      for(int i = 0; i < List_Nbr((yyvsp[(9) - (16)].l)); i++)
+        List_Delete(*(List_T**)List_Pointer((yyvsp[(9) - (16)].l), i));
+      List_Delete((yyvsp[(9) - (16)].l));
+      CTX::instance()->lock = lock;
+    ;}
+    break;
+
+  case 261:
+#line 3358 "Gmsh.y"
+    {
+#if defined(HAVE_POPPLER)
+       std::vector<int> is;
+       for(int i = 0; i < List_Nbr((yyvsp[(4) - (11)].l)); i++){
+	 double d;
+	 List_Read((yyvsp[(4) - (11)].l), i, &d);
+	 is.push_back ((int) d);
+       }
+       gmshPopplerWrapper::instance()->setMacroForPages(is, (yyvsp[(7) - (11)].c), (yyvsp[(9) - (11)].c) );
+#endif
+     ;}
+    break;
+
+  case 262:
+#line 3374 "Gmsh.y"
+    {
+      LoopControlVariablesTab[ImbricatedLoop][0] = (yyvsp[(3) - (6)].d);
+      LoopControlVariablesTab[ImbricatedLoop][1] = (yyvsp[(5) - (6)].d);
+      LoopControlVariablesTab[ImbricatedLoop][2] = 1.0;
+      LoopControlVariablesNameTab[ImbricatedLoop] = "";
+      gmshgetpos(gmsh_yyin, &yyposImbricatedLoopsTab[ImbricatedLoop]);
+      yylinenoImbricatedLoopsTab[ImbricatedLoop] = gmsh_yylineno;
+      if((yyvsp[(3) - (6)].d) > (yyvsp[(5) - (6)].d))
+	skip("For", "EndFor");
+      else
+	ImbricatedLoop++;
+      if(ImbricatedLoop > MAX_RECUR_LOOPS - 1){
+	yymsg(0, "Reached maximum number of imbricated loops");
+	ImbricatedLoop = MAX_RECUR_LOOPS - 1;
+      }
+    ;}
+    break;
+
+  case 263:
+#line 3391 "Gmsh.y"
+    {
+      LoopControlVariablesTab[ImbricatedLoop][0] = (yyvsp[(3) - (8)].d);
+      LoopControlVariablesTab[ImbricatedLoop][1] = (yyvsp[(5) - (8)].d);
+      LoopControlVariablesTab[ImbricatedLoop][2] = (yyvsp[(7) - (8)].d);
+      LoopControlVariablesNameTab[ImbricatedLoop] = "";
+      gmshgetpos(gmsh_yyin, &yyposImbricatedLoopsTab[ImbricatedLoop]);
+      yylinenoImbricatedLoopsTab[ImbricatedLoop] = gmsh_yylineno;
+      if(((yyvsp[(7) - (8)].d) > 0. && (yyvsp[(3) - (8)].d) > (yyvsp[(5) - (8)].d)) || ((yyvsp[(7) - (8)].d) < 0. && (yyvsp[(3) - (8)].d) < (yyvsp[(5) - (8)].d)))
+	skip("For", "EndFor");
+      else
+	ImbricatedLoop++;
+      if(ImbricatedLoop > MAX_RECUR_LOOPS - 1){
+	yymsg(0, "Reached maximum number of imbricated loops");
+	ImbricatedLoop = MAX_RECUR_LOOPS - 1;
+      }
+    ;}
+    break;
+
+  case 264:
+#line 3408 "Gmsh.y"
+    {
+      LoopControlVariablesTab[ImbricatedLoop][0] = (yyvsp[(5) - (8)].d);
+      LoopControlVariablesTab[ImbricatedLoop][1] = (yyvsp[(7) - (8)].d);
+      LoopControlVariablesTab[ImbricatedLoop][2] = 1.0;
+      LoopControlVariablesNameTab[ImbricatedLoop] = (yyvsp[(2) - (8)].c);
+      gmsh_yysymbol &s(gmsh_yysymbols[(yyvsp[(2) - (8)].c)]);
+      s.list = false;
+      s.value.resize(1);
+      s.value[0] = (yyvsp[(5) - (8)].d);
+      gmshgetpos(gmsh_yyin, &yyposImbricatedLoopsTab[ImbricatedLoop]);
+      yylinenoImbricatedLoopsTab[ImbricatedLoop] = gmsh_yylineno;
+      if((yyvsp[(5) - (8)].d) > (yyvsp[(7) - (8)].d))
+	skip("For", "EndFor");
+      else
+	ImbricatedLoop++;
+      if(ImbricatedLoop > MAX_RECUR_LOOPS - 1){
+	yymsg(0, "Reached maximum number of imbricated loops");
+	ImbricatedLoop = MAX_RECUR_LOOPS - 1;
+      }
+      Free((yyvsp[(2) - (8)].c));
+    ;}
+    break;
+
+  case 265:
+#line 3430 "Gmsh.y"
+    {
+      LoopControlVariablesTab[ImbricatedLoop][0] = (yyvsp[(5) - (10)].d);
+      LoopControlVariablesTab[ImbricatedLoop][1] = (yyvsp[(7) - (10)].d);
+      LoopControlVariablesTab[ImbricatedLoop][2] = (yyvsp[(9) - (10)].d);
+      LoopControlVariablesNameTab[ImbricatedLoop] = (yyvsp[(2) - (10)].c);
+      gmsh_yysymbol &s(gmsh_yysymbols[(yyvsp[(2) - (10)].c)]);
+      s.list = false;
+      s.value.resize(1);
+      s.value[0] = (yyvsp[(5) - (10)].d);
+      gmshgetpos(gmsh_yyin, &yyposImbricatedLoopsTab[ImbricatedLoop]);
+      yylinenoImbricatedLoopsTab[ImbricatedLoop] = gmsh_yylineno;
+      if(((yyvsp[(9) - (10)].d) > 0. && (yyvsp[(5) - (10)].d) > (yyvsp[(7) - (10)].d)) || ((yyvsp[(9) - (10)].d) < 0. && (yyvsp[(5) - (10)].d) < (yyvsp[(7) - (10)].d)))
+	skip("For", "EndFor");
+      else
+	ImbricatedLoop++;
+      if(ImbricatedLoop > MAX_RECUR_LOOPS - 1){
+	yymsg(0, "Reached maximum number of imbricated loops");
+	ImbricatedLoop = MAX_RECUR_LOOPS - 1;
+      }
+      Free((yyvsp[(2) - (10)].c));
+    ;}
+    break;
+
+  case 266:
+#line 3452 "Gmsh.y"
+    {
+      if(ImbricatedLoop <= 0){
+	yymsg(0, "Invalid For/EndFor loop");
+	ImbricatedLoop = 0;
+      }
+      else{
+	double step = LoopControlVariablesTab[ImbricatedLoop - 1][2];
+        std::string name = LoopControlVariablesNameTab[ImbricatedLoop - 1];
+        if(name.size()){
+          if(!gmsh_yysymbols.count(name))
+            yymsg(0, "Unknown loop variable '%s'", name.c_str());
+          else{
+            gmsh_yysymbol &s(gmsh_yysymbols[name]);
+            if(!s.list && s.value.size()){
+              s.value[0] += step;
+              LoopControlVariablesTab[ImbricatedLoop - 1][0] = s.value[0];
+            }
+            else
+              yymsg(0, "Bad loop variable %s", name.c_str());
+          }
+        }
+        else{
+          LoopControlVariablesTab[ImbricatedLoop - 1][0] += step;
+        }
+	double x0 = LoopControlVariablesTab[ImbricatedLoop - 1][0];
+	double x1 = LoopControlVariablesTab[ImbricatedLoop - 1][1];
+        if((step > 0. && x0 <= x1) || (step < 0. && x0 >= x1)){
+	  gmshsetpos(gmsh_yyin, &yyposImbricatedLoopsTab[ImbricatedLoop - 1]);
+	  gmsh_yylineno = yylinenoImbricatedLoopsTab[ImbricatedLoop - 1];
+	}
+	else
+	  ImbricatedLoop--;
+      }
+    ;}
+    break;
+
+  case 267:
+#line 3487 "Gmsh.y"
+    {
+      if(!FunctionManager::Instance()->createFunction
+         (std::string((yyvsp[(2) - (2)].c)), gmsh_yyin, gmsh_yyname, gmsh_yylineno))
+	yymsg(0, "Redefinition of function %s", (yyvsp[(2) - (2)].c));
+      skip(NULL, "Return");
+      Free((yyvsp[(2) - (2)].c));
+    ;}
+    break;
+
+  case 268:
+#line 3495 "Gmsh.y"
+    {
+      if(!FunctionManager::Instance()->createFunction
+         (std::string((yyvsp[(2) - (2)].c)), gmsh_yyin, gmsh_yyname, gmsh_yylineno))
+	yymsg(0, "Redefinition of function %s", (yyvsp[(2) - (2)].c));
+      skip(NULL, "Return");
+      Free((yyvsp[(2) - (2)].c));
+    ;}
+    break;
+
+  case 269:
+#line 3503 "Gmsh.y"
+    {
+      if(!FunctionManager::Instance()->leaveFunction
+         (&gmsh_yyin, gmsh_yyname, gmsh_yylineno))
+	yymsg(0, "Error while exiting function");
+    ;}
+    break;
+
+  case 270:
+#line 3509 "Gmsh.y"
+    {
+      if(!FunctionManager::Instance()->enterFunction
+         (std::string((yyvsp[(2) - (3)].c)), &gmsh_yyin, gmsh_yyname, gmsh_yylineno))
+	yymsg(0, "Unknown function '%s'", (yyvsp[(2) - (3)].c));
+      Free((yyvsp[(2) - (3)].c));
+    ;}
+    break;
+
+  case 271:
+#line 3516 "Gmsh.y"
+    {
+      if(!FunctionManager::Instance()->enterFunction
+         (std::string((yyvsp[(2) - (3)].c)), &gmsh_yyin, gmsh_yyname, gmsh_yylineno))
+	yymsg(0, "Unknown function '%s'", (yyvsp[(2) - (3)].c));
+      Free((yyvsp[(2) - (3)].c));
+    ;}
+    break;
+
+  case 272:
+#line 3523 "Gmsh.y"
+    {
+      ImbricatedTest++;
+      if(ImbricatedTest > MAX_RECUR_TESTS-1){
+	yymsg(0, "Reached maximum number of imbricated tests");
+        ImbricatedTest = MAX_RECUR_TESTS-1;
+      }
+
+      if((yyvsp[(3) - (4)].d)){
+        // Current test is true
+        statusImbricatedTests[ImbricatedTest] = 1;
+      }
+      else{
+        statusImbricatedTests[ImbricatedTest] = 0;
+        // Go after the next ElseIf or Else or EndIf
+        int type_until2 = 0;
+        skipTest("If", "EndIf", "ElseIf", 4, &type_until2);
+        if(!type_until2) ImbricatedTest--; // EndIf reached
+      }
+    ;}
+    break;
+
+  case 273:
+#line 3543 "Gmsh.y"
+    {
+      if(ImbricatedTest > 0){
+        if (statusImbricatedTests[ImbricatedTest]){
+          // Last test (If or ElseIf) was true, thus go after EndIf (out of If EndIf)
+          skip("If", "EndIf");
+          ImbricatedTest--;
+        }
+        else{
+          // Previous test(s) (If and ElseIf) not yet true
+          if((yyvsp[(3) - (4)].d)){
+            statusImbricatedTests[ImbricatedTest] = 1;
+          }
+          else{
+            // Current test still not true: statusImbricatedTests[ImbricatedTest] = 0;
+            // Go after the next ElseIf or Else or EndIf
+            int type_until2 = 0;
+            skipTest("If", "EndIf", "ElseIf", 4, &type_until2);
+            if(!type_until2) ImbricatedTest--;
+          }
+        }
+      }
+      else{
+	yymsg(0, "Orphan ElseIf");
+      }
+    ;}
+    break;
+
+  case 274:
+#line 3569 "Gmsh.y"
+    {
+      if(ImbricatedTest > 0){
+        if(statusImbricatedTests[ImbricatedTest]){
+          skip("If", "EndIf");
+          ImbricatedTest--;
+        }
+      }
+      else{
+	yymsg(0, "Orphan Else");
+      }
+    ;}
+    break;
+
+  case 275:
+#line 3581 "Gmsh.y"
+    {
+      ImbricatedTest--;
+      if(ImbricatedTest < 0)
+        yymsg(1, "Orphan EndIf");
+    ;}
+    break;
+
+  case 276:
+#line 3593 "Gmsh.y"
+    {
+      std::vector<std::pair<int, int> > inDimTags, outDimTags;
+      ListOfShapes2VectorOfPairs((yyvsp[(4) - (5)].l), inDimTags);
+      bool r = true;
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        r = GModel::current()->getOCCInternals()->extrude
+          (inDimTags, (yyvsp[(2) - (5)].v)[0], (yyvsp[(2) - (5)].v)[1], (yyvsp[(2) - (5)].v)[2], outDimTags);
+      }
+      else{
+        r = GModel::current()->getGEOInternals()->extrude
+          (inDimTags, (yyvsp[(2) - (5)].v)[0], (yyvsp[(2) - (5)].v)[1], (yyvsp[(2) - (5)].v)[2], outDimTags);
+      }
+      if(!r) yymsg(0, "Could not extrude shapes");
+      (yyval.l) = (yyvsp[(4) - (5)].l);
+      List_Reset((yyval.l));
+      VectorOfPairs2ListOfShapes(outDimTags, (yyval.l));
+    ;}
+    break;
+
+  case 277:
+#line 3611 "Gmsh.y"
+    {
+      std::vector<std::pair<int, int> > inDimTags, outDimTags;
+      ListOfShapes2VectorOfPairs((yyvsp[(10) - (11)].l), inDimTags);
+      bool r = true;
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        r = GModel::current()->getOCCInternals()->revolve
+          (inDimTags, (yyvsp[(5) - (11)].v)[0], (yyvsp[(5) - (11)].v)[1], (yyvsp[(5) - (11)].v)[2], (yyvsp[(3) - (11)].v)[0], (yyvsp[(3) - (11)].v)[1], (yyvsp[(3) - (11)].v)[2], (yyvsp[(7) - (11)].d), outDimTags);
+      }
+      else{
+        r = GModel::current()->getGEOInternals()->revolve
+          (inDimTags, (yyvsp[(5) - (11)].v)[0], (yyvsp[(5) - (11)].v)[1], (yyvsp[(5) - (11)].v)[2], (yyvsp[(3) - (11)].v)[0], (yyvsp[(3) - (11)].v)[1], (yyvsp[(3) - (11)].v)[2], (yyvsp[(7) - (11)].d), outDimTags);
+      }
+      if(!r) yymsg(0, "Could not extrude shapes");
+      (yyval.l) = (yyvsp[(10) - (11)].l);
+      List_Reset((yyval.l));
+      VectorOfPairs2ListOfShapes(outDimTags, (yyval.l));
+    ;}
+    break;
+
+  case 278:
+#line 3629 "Gmsh.y"
+    {
+      std::vector<std::pair<int, int> > inDimTags, outDimTags;
+      ListOfShapes2VectorOfPairs((yyvsp[(12) - (13)].l), inDimTags);
+      bool r = true;
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        yymsg(0, "Twisting extrude not available with OpenCASCADE factory");
+      }
+      else{
+        r = GModel::current()->getGEOInternals()->twist
+          (inDimTags, (yyvsp[(7) - (13)].v)[0], (yyvsp[(7) - (13)].v)[1], (yyvsp[(7) - (13)].v)[2], (yyvsp[(3) - (13)].v)[0], (yyvsp[(3) - (13)].v)[1], (yyvsp[(3) - (13)].v)[2], (yyvsp[(5) - (13)].v)[0], (yyvsp[(5) - (13)].v)[1], (yyvsp[(5) - (13)].v)[2],
+           (yyvsp[(9) - (13)].d), outDimTags);
+      }
+      if(!r) yymsg(0, "Could not extrude shapes");
+      (yyval.l) = (yyvsp[(12) - (13)].l);
+      List_Reset((yyval.l));
+      VectorOfPairs2ListOfShapes(outDimTags, (yyval.l));
+    ;}
+    break;
+
+  case 279:
+#line 3647 "Gmsh.y"
+    {
+      extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false;
+      extr.mesh.QuadToTri = NO_QUADTRI;
+      extr.mesh.ScaleLast = false;
+    ;}
+    break;
+
+  case 280:
+#line 3653 "Gmsh.y"
+    {
+      std::vector<std::pair<int, int> > inDimTags, outDimTags;
+      ListOfShapes2VectorOfPairs((yyvsp[(4) - (7)].l), inDimTags);
+      bool r = true;
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        r = GModel::current()->getOCCInternals()->extrude
+          (inDimTags, (yyvsp[(2) - (7)].v)[0], (yyvsp[(2) - (7)].v)[1], (yyvsp[(2) - (7)].v)[2], outDimTags, &extr);
+      }
+      else{
+        r = GModel::current()->getGEOInternals()->extrude
+          (inDimTags, (yyvsp[(2) - (7)].v)[0], (yyvsp[(2) - (7)].v)[1], (yyvsp[(2) - (7)].v)[2], outDimTags, &extr);
+      }
+      if(!r) yymsg(0, "Could not extrude shapes");
+      (yyval.l) = (yyvsp[(4) - (7)].l);
+      List_Reset((yyval.l));
+      VectorOfPairs2ListOfShapes(outDimTags, (yyval.l));
+    ;}
+    break;
+
+  case 281:
+#line 3671 "Gmsh.y"
+    {
+      extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false;
+      extr.mesh.QuadToTri = NO_QUADTRI;
+      extr.mesh.ScaleLast = false;
+    ;}
+    break;
+
+  case 282:
+#line 3677 "Gmsh.y"
+    {
+      std::vector<std::pair<int, int> > inDimTags, outDimTags;
+      ListOfShapes2VectorOfPairs((yyvsp[(10) - (13)].l), inDimTags);
+      bool r = true;
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        r = GModel::current()->getOCCInternals()->revolve
+          (inDimTags, (yyvsp[(5) - (13)].v)[0], (yyvsp[(5) - (13)].v)[1], (yyvsp[(5) - (13)].v)[2], (yyvsp[(3) - (13)].v)[0], (yyvsp[(3) - (13)].v)[1], (yyvsp[(3) - (13)].v)[2], (yyvsp[(7) - (13)].d), outDimTags,
+           &extr);
+      }
+      else{
+        r = GModel::current()->getGEOInternals()->revolve
+          (inDimTags, (yyvsp[(5) - (13)].v)[0], (yyvsp[(5) - (13)].v)[1], (yyvsp[(5) - (13)].v)[2], (yyvsp[(3) - (13)].v)[0], (yyvsp[(3) - (13)].v)[1], (yyvsp[(3) - (13)].v)[2], (yyvsp[(7) - (13)].d), outDimTags,
+           &extr);
+      }
+      if(!r) yymsg(0, "Could not extrude shapes");
+      (yyval.l) = (yyvsp[(10) - (13)].l);
+      List_Reset((yyval.l));
+      VectorOfPairs2ListOfShapes(outDimTags, (yyval.l));
+    ;}
+    break;
+
+  case 283:
+#line 3697 "Gmsh.y"
+    {
+      extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false;
+      extr.mesh.QuadToTri = NO_QUADTRI;
+      extr.mesh.ScaleLast = false;
+    ;}
+    break;
+
+  case 284:
+#line 3703 "Gmsh.y"
+    {
+      std::vector<std::pair<int, int> > inDimTags, outDimTags;
+      ListOfShapes2VectorOfPairs((yyvsp[(12) - (15)].l), inDimTags);
+      bool r = true;
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        yymsg(0, "Twisting extrude not available with OpenCASCADE factory");
+      }
+      else{
+        r = GModel::current()->getGEOInternals()->twist
+          (inDimTags, (yyvsp[(7) - (15)].v)[0], (yyvsp[(7) - (15)].v)[1], (yyvsp[(7) - (15)].v)[2], (yyvsp[(3) - (15)].v)[0], (yyvsp[(3) - (15)].v)[1], (yyvsp[(3) - (15)].v)[2], (yyvsp[(5) - (15)].v)[0], (yyvsp[(5) - (15)].v)[1], (yyvsp[(5) - (15)].v)[2],
+           (yyvsp[(9) - (15)].d),  outDimTags, &extr);
+      }
+      if(!r) yymsg(0, "Could not extrude shapes");
+      (yyval.l) = (yyvsp[(12) - (15)].l);
+      List_Reset((yyval.l));
+      VectorOfPairs2ListOfShapes(outDimTags, (yyval.l));
+    ;}
+    break;
+
+  case 285:
+#line 3721 "Gmsh.y"
+    {
+      extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false;
+      extr.mesh.QuadToTri = NO_QUADTRI;
+      extr.mesh.ScaleLast = false;
+    ;}
+    break;
+
+  case 286:
+#line 3727 "Gmsh.y"
+    {
+      std::vector<std::pair<int, int> > inDimTags, outDimTags;
+      ListOfShapes2VectorOfPairs((yyvsp[(3) - (6)].l), inDimTags);
+      bool r = true;
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        yymsg(0, "Boundary layer extrusion not available with OpenCASCADE factory");
+      }
+      else{
+        r = GModel::current()->getGEOInternals()->boundaryLayer
+          (inDimTags, outDimTags, &extr);
+      }
+      if(!r) yymsg(0, "Could not extrude shapes");
+      (yyval.l) = (yyvsp[(3) - (6)].l);
+      List_Reset((yyval.l));
+      VectorOfPairs2ListOfShapes(outDimTags, (yyval.l));
+    ;}
+    break;
+
+  case 287:
+#line 3744 "Gmsh.y"
+    {
+      std::vector<std::pair<int, int> > inDimTags, outDimTags;
+      ListOfShapes2VectorOfPairs((yyvsp[(3) - (9)].l), inDimTags);
+      bool r = true;
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        r = GModel::current()->getOCCInternals()->addPipe(inDimTags, (int)(yyvsp[(8) - (9)].d), outDimTags);
+      }
+      else{
+        yymsg(0, "Pipe only available with OpenCASCADE factory");
+      }
+      if(!r) yymsg(0, "Could not extrude shapes");
+      (yyval.l) = (yyvsp[(3) - (9)].l);
+      List_Reset((yyval.l));
+      VectorOfPairs2ListOfShapes(outDimTags, (yyval.l));
+    ;}
+    break;
+
+  case 288:
+#line 3760 "Gmsh.y"
+    {
+      (yyval.l) = List_Create(2, 1, sizeof(Shape));
+      bool r = true;
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        std::vector<int> wires; ListOfDouble2Vector((yyvsp[(2) - (2)].l), wires);
+        std::vector<std::pair<int, int> > outDimTags;
+        r = GModel::current()->getOCCInternals()->addThruSections
+          (-1, wires, outDimTags, false, false);
+        VectorOfPairs2ListOfShapes(outDimTags, (yyval.l));
+      }
+      else{
+        yymsg(0, "ThruSections only available with OpenCASCADE factory");
+      }
+      if(!r) yymsg(0, "Could not add thrusections");
+      List_Delete((yyvsp[(2) - (2)].l));
+    ;}
+    break;
+
+  case 289:
+#line 3777 "Gmsh.y"
+    {
+      (yyval.l) = List_Create(2, 1, sizeof(Shape));
+      bool r = true;
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        std::vector<int> wires; ListOfDouble2Vector((yyvsp[(3) - (3)].l), wires);
+        std::vector<std::pair<int, int> > outDimTags;
+        r = GModel::current()->getOCCInternals()->addThruSections
+          (-1, wires, outDimTags, false, true);
+        VectorOfPairs2ListOfShapes(outDimTags, (yyval.l));
+      }
+      else{
+        yymsg(0, "ThruSections only available with OpenCASCADE factory");
+      }
+      if(!r) yymsg(0, "Could not add ruled thrusections");
+      List_Delete((yyvsp[(3) - (3)].l));
+    ;}
+    break;
+
+  case 290:
+#line 3794 "Gmsh.y"
+    {
+      (yyval.l) = List_Create(2, 1, sizeof(Shape));
+      bool r = true;
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        double radius = (yyvsp[(9) - (10)].d);
+        std::vector<int> regions, edges;
+        ListOfDouble2Vector((yyvsp[(3) - (10)].l), regions); ListOfDouble2Vector((yyvsp[(6) - (10)].l), edges);
+        std::vector<std::pair<int, int> > outDimTags;
+        r = GModel::current()->getOCCInternals()->fillet
+          (regions, edges, radius, outDimTags);
+        VectorOfPairs2ListOfShapes(outDimTags, (yyval.l));
+      }
+      else{
+        yymsg(0, "Fillet only available with OpenCASCADE factory");
+      }
+      if(!r) yymsg(0, "Could not fillet shapes");
+      List_Delete((yyvsp[(3) - (10)].l));
+      List_Delete((yyvsp[(6) - (10)].l));
+    ;}
+    break;
+
+  case 291:
+#line 3817 "Gmsh.y"
+    {
+    ;}
+    break;
+
+  case 292:
+#line 3820 "Gmsh.y"
+    {
+    ;}
+    break;
+
+  case 293:
+#line 3826 "Gmsh.y"
+    {
+      int n = (int)fabs((yyvsp[(3) - (5)].d));
+      if(n){ // we accept n==0 to easily disable layers
+        extr.mesh.ExtrudeMesh = true;
+        extr.mesh.NbLayer = 1;
+        extr.mesh.NbElmLayer.clear();
+        extr.mesh.hLayer.clear();
+        extr.mesh.NbElmLayer.push_back((int)fabs((yyvsp[(3) - (5)].d)));
+        extr.mesh.hLayer.push_back(1.);
+      }
+    ;}
+    break;
+
+  case 294:
+#line 3838 "Gmsh.y"
+    {
+      extr.mesh.ExtrudeMesh = true;
+      extr.mesh.NbLayer = List_Nbr((yyvsp[(3) - (7)].l));
+      if(List_Nbr((yyvsp[(3) - (7)].l)) == List_Nbr((yyvsp[(5) - (7)].l))){
+	extr.mesh.NbElmLayer.clear();
+	extr.mesh.hLayer.clear();
+	for(int i = 0; i < List_Nbr((yyvsp[(3) - (7)].l)); i++){
+	  double d;
+	  List_Read((yyvsp[(3) - (7)].l), i, &d);
+	  extr.mesh.NbElmLayer.push_back((d > 0) ? (int)d : 1);
+	  List_Read((yyvsp[(5) - (7)].l), i, &d);
+	  extr.mesh.hLayer.push_back(d);
+	}
+      }
+      else
+	yymsg(0, "Wrong layer definition {%d, %d}", List_Nbr((yyvsp[(3) - (7)].l)), List_Nbr((yyvsp[(5) - (7)].l)));
+      List_Delete((yyvsp[(3) - (7)].l));
+      List_Delete((yyvsp[(5) - (7)].l));
+    ;}
+    break;
+
+  case 295:
+#line 3858 "Gmsh.y"
+    {
+      extr.mesh.ScaleLast = true;
+    ;}
+    break;
+
+  case 296:
+#line 3862 "Gmsh.y"
+    {
+      extr.mesh.Recombine = true;
+    ;}
+    break;
+
+  case 297:
+#line 3866 "Gmsh.y"
+    {
+      extr.mesh.Recombine = (yyvsp[(2) - (3)].d) ? true : false;
+    ;}
+    break;
+
+  case 298:
+#line 3870 "Gmsh.y"
+    {
+      extr.mesh.QuadToTri = QUADTRI_ADDVERTS_1;
+    ;}
+    break;
+
+  case 299:
+#line 3874 "Gmsh.y"
+    {
+      extr.mesh.QuadToTri = QUADTRI_ADDVERTS_1_RECOMB;
+    ;}
+    break;
+
+  case 300:
+#line 3878 "Gmsh.y"
+    {
+      extr.mesh.QuadToTri = QUADTRI_NOVERTS_1;
+    ;}
+    break;
+
+  case 301:
+#line 3882 "Gmsh.y"
+    {
+      extr.mesh.QuadToTri = QUADTRI_NOVERTS_1_RECOMB;
+    ;}
+    break;
+
+  case 302:
+#line 3886 "Gmsh.y"
+    {
+      std::vector<int> tags; ListOfDouble2Vector((yyvsp[(6) - (9)].l), tags);
+      int num = (int)(yyvsp[(3) - (9)].d);
+      GModel::current()->getGEOInternals()->addDiscreteSurface(num);
+      extr.mesh.Holes[num].first = (yyvsp[(8) - (9)].d);
+      extr.mesh.Holes[num].second = tags;
+      List_Delete((yyvsp[(6) - (9)].l));
+    ;}
+    break;
+
+  case 303:
+#line 3895 "Gmsh.y"
+    {
+      if(!strcmp((yyvsp[(2) - (6)].c), "Index"))
+        extr.mesh.BoundaryLayerIndex = (yyvsp[(4) - (6)].d);
+      else if(!strcmp((yyvsp[(2) - (6)].c), "View"))
+        extr.mesh.ViewIndex = (yyvsp[(4) - (6)].d);
+      Free((yyvsp[(2) - (6)].c));
+    ;}
+    break;
+
+  case 304:
+#line 3907 "Gmsh.y"
+    { (yyval.i) = OCC_Internals::Union; ;}
+    break;
+
+  case 305:
+#line 3908 "Gmsh.y"
+    { (yyval.i) = OCC_Internals::Intersection; ;}
+    break;
+
+  case 306:
+#line 3909 "Gmsh.y"
+    { (yyval.i) = OCC_Internals::Difference; ;}
+    break;
+
+  case 307:
+#line 3910 "Gmsh.y"
+    { (yyval.i) = OCC_Internals::Section; ;}
+    break;
+
+  case 308:
+#line 3911 "Gmsh.y"
+    { (yyval.i) = OCC_Internals::Fragments; ;}
+    break;
+
+  case 309:
+#line 3915 "Gmsh.y"
+    { (yyval.i) = 0; ;}
+    break;
+
+  case 310:
+#line 3916 "Gmsh.y"
+    { (yyval.i) = 1; ;}
+    break;
+
+  case 311:
+#line 3917 "Gmsh.y"
+    { (yyval.i) = 2; ;}
+    break;
+
+  case 312:
+#line 3918 "Gmsh.y"
+    { (yyval.i) = (yyvsp[(2) - (3)].d) ? 1 : 0; ;}
+    break;
+
+  case 313:
+#line 3919 "Gmsh.y"
+    { (yyval.i) = (yyvsp[(3) - (4)].d) ? 2 : 0; ;}
+    break;
+
+  case 314:
+#line 3924 "Gmsh.y"
+    {
+      (yyval.l) = List_Create(2, 1, sizeof(Shape));
+      bool r = true;
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        std::vector<std::pair<int, int > > object, tool, out;
+        ListOfShapes2VectorOfPairs((yyvsp[(3) - (9)].l), object);
+        ListOfShapes2VectorOfPairs((yyvsp[(7) - (9)].l), tool);
+        // currently we don't distinguish between Delete and Recursive Delete:
+        // we always delete recursively. Let us know if you have examples where
+        // having the choice would be interesting
+        r = GModel::current()->getOCCInternals()->applyBooleanOperator
+          (-1, (OCC_Internals::BooleanOperator)(yyvsp[(1) - (9)].i), object, tool, out, (yyvsp[(4) - (9)].i), (yyvsp[(8) - (9)].i));
+        VectorOfPairs2ListOfShapes(out, (yyval.l));
+      }
+      else{
+        yymsg(0, "Boolean operators only available with OpenCASCADE factory");
+      }
+      if(!r) yymsg(0, "Could not apply boolean operator");
+      List_Delete((yyvsp[(3) - (9)].l));
+      List_Delete((yyvsp[(7) - (9)].l));
+    ;}
+    break;
+
+  case 315:
+#line 3946 "Gmsh.y"
+    {
+      (yyval.l) = List_Create(2, 1, sizeof(Shape));
+      bool r = true;
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        std::vector<std::pair<int, int> > out;
+        std::string tmp = FixRelativePath(gmsh_yyname, (yyvsp[(3) - (4)].c));
+        GModel::current()->getOCCInternals()->importShapes(tmp, true, out);
+        VectorOfPairs2ListOfShapes(out, (yyval.l));
+      }
+      else{
+        yymsg(0, "ShapeFromFile only available with OpenCASCADE factory");
+      }
+      if(!r) yymsg(0, "Could import shape");
+      Free((yyvsp[(3) - (4)].c));
+    ;}
+    break;
+
+  case 316:
+#line 3966 "Gmsh.y"
+    {
+      bool r = true;
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        std::vector<std::pair<int, int> > object, tool, out;
+        ListOfShapes2VectorOfPairs((yyvsp[(7) - (14)].l), object);
+        ListOfShapes2VectorOfPairs((yyvsp[(11) - (14)].l), tool);
+        // currently we don't distinguish between Delete and Recursive Delete:
+        // we always delete recursively. Let us know if you have examples where
+        // having the choice would be interesting
+        r = GModel::current()->getOCCInternals()->applyBooleanOperator
+          ((int)(yyvsp[(3) - (14)].d), (OCC_Internals::BooleanOperator)(yyvsp[(1) - (14)].i), object, tool, out, (yyvsp[(8) - (14)].i), (yyvsp[(12) - (14)].i));
+      }
+      if(!r) yymsg(0, "Could not apply boolean operator");
+      List_Delete((yyvsp[(7) - (14)].l));
+      List_Delete((yyvsp[(11) - (14)].l));
+    ;}
+    break;
+
+  case 317:
+#line 3986 "Gmsh.y"
+    {
+      (yyval.v)[0] = (yyval.v)[1] = 1.;
+    ;}
+    break;
+
+  case 318:
+#line 3990 "Gmsh.y"
+    {
+      if(!strcmp((yyvsp[(2) - (3)].c), "Progression") || !strcmp((yyvsp[(2) - (3)].c), "Power"))
+        (yyval.v)[0] = 1.;
+      else if(!strcmp((yyvsp[(2) - (3)].c), "Bump"))
+        (yyval.v)[0] = 2.;
+      else{
+        yymsg(0, "Unknown transfinite mesh type");
+        (yyval.v)[0] = 1.;
+      }
+      (yyval.v)[1] = (yyvsp[(3) - (3)].d);
+      Free((yyvsp[(2) - (3)].c));
+    ;}
+    break;
+
+  case 319:
+#line 4005 "Gmsh.y"
+    {
+      (yyval.i) = -1; // left
+    ;}
+    break;
+
+  case 320:
+#line 4009 "Gmsh.y"
+    {
+      if(!strcmp((yyvsp[(1) - (1)].c), "Right"))
+        (yyval.i) = 1;
+      else if(!strcmp((yyvsp[(1) - (1)].c), "Left"))
+	(yyval.i) = -1;
+      else if(!strcmp((yyvsp[(1) - (1)].c), "AlternateRight"))
+	(yyval.i) = 2;
+      else if(!strcmp((yyvsp[(1) - (1)].c), "AlternateLeft"))
+	(yyval.i) = -2;
+      else // "Alternate" -> "Alternate Right"
+	(yyval.i) = 2;
+      Free((yyvsp[(1) - (1)].c));
+    ;}
+    break;
+
+  case 321:
+#line 4025 "Gmsh.y"
+    {
+     (yyval.l) = List_Create(1, 1, sizeof(double));
+   ;}
+    break;
+
+  case 322:
+#line 4029 "Gmsh.y"
+    {
+     (yyval.l) = (yyvsp[(2) - (2)].l);
+   ;}
+    break;
+
+  case 323:
+#line 4034 "Gmsh.y"
+    {
+      (yyval.i) = 45;
+    ;}
+    break;
+
+  case 324:
+#line 4038 "Gmsh.y"
+    {
+      (yyval.i) = (int)(yyvsp[(2) - (2)].d);
+    ;}
+    break;
+
+  case 325:
+#line 4044 "Gmsh.y"
+    {
+      (yyval.l) = List_Create(1, 1, sizeof(double));
+    ;}
+    break;
+
+  case 326:
+#line 4048 "Gmsh.y"
+    {
+      (yyval.l) = (yyvsp[(2) - (2)].l);
+    ;}
+    break;
+
+  case 327:
+#line 4055 "Gmsh.y"
+    {
+      // mesh sizes at vertices are stored in internal CAD data, as they can be
+      // specified during vertex creation and copied around during CAD
+      // operations
+      for(int i = 0; i < List_Nbr((yyvsp[(3) - (6)].l)); i++){
+	double d;
+	List_Read((yyvsp[(3) - (6)].l), i, &d);
+        int tag = (int)d;
+        if(GModel::current()->getOCCInternals())
+          GModel::current()->getOCCInternals()->setMeshSize(0, tag, (yyvsp[(5) - (6)].d));
+        GModel::current()->getGEOInternals()->setMeshSize(0, tag, (yyvsp[(5) - (6)].d));
+        GVertex *gv = GModel::current()->getVertexByTag(tag);
+        if(gv) gv->setPrescribedMeshSizeAtVertex((yyvsp[(5) - (6)].d));
+      }
+      List_Delete((yyvsp[(3) - (6)].l));
+    ;}
+    break;
+
+  case 328:
+#line 4072 "Gmsh.y"
+    {
+      // transfinite constraints are stored in GEO internals in addition to
+      // GModel, as they can be copied around during GEO operations
+      if(GModel::current()->getOCCInternals() &&
+         GModel::current()->getOCCInternals()->getChanged())
+        GModel::current()->getOCCInternals()->synchronize(GModel::current());
+      int type = (int)(yyvsp[(6) - (7)].v)[0];
+      double coef = fabs((yyvsp[(6) - (7)].v)[1]);
+      int npoints = ((int)(yyvsp[(5) - (7)].d) < 2) ? 2 : (int)(yyvsp[(5) - (7)].d);
+      if(!(yyvsp[(3) - (7)].l)){
+        GModel::current()->getGEOInternals()->setTransfiniteLine
+          (0, npoints, type, coef);
+        for(GModel::eiter it = GModel::current()->firstEdge();
+            it != GModel::current()->lastEdge(); it++){
+          (*it)->meshAttributes.method = MESH_TRANSFINITE;
+          (*it)->meshAttributes.nbPointsTransfinite = npoints;
+          (*it)->meshAttributes.typeTransfinite = type;
+          (*it)->meshAttributes.coeffTransfinite = coef;
+        }
+      }
+      else{
+        for(int i = 0; i < List_Nbr((yyvsp[(3) - (7)].l)); i++){
+          double d;
+          List_Read((yyvsp[(3) - (7)].l), i, &d);
+          int j = (int)fabs(d);
+          for(int sig = -1; sig <= 1; sig += 2){
+            GModel::current()->getGEOInternals()->setTransfiniteLine
+              (sig * j, npoints, type * gmsh_sign(d), coef);
+            GEdge *ge = GModel::current()->getEdgeByTag(sig * j);
+            if(ge){
+              ge->meshAttributes.method = MESH_TRANSFINITE;
+              ge->meshAttributes.nbPointsTransfinite = npoints;
+              ge->meshAttributes.typeTransfinite = type * gmsh_sign(d);
+              ge->meshAttributes.coeffTransfinite = coef;
+            }
+          }
+        }
+        List_Delete((yyvsp[(3) - (7)].l));
+      }
+    ;}
+    break;
+
+  case 329:
+#line 4113 "Gmsh.y"
+    {
+      // transfinite constraints are stored in GEO internals in addition to
+      // GModel, as they can be copied around during GEO operations
+      if(GModel::current()->getOCCInternals() &&
+         GModel::current()->getOCCInternals()->getChanged())
+        GModel::current()->getOCCInternals()->synchronize(GModel::current());
+      std::vector<int> corners; ListOfDouble2Vector((yyvsp[(4) - (6)].l), corners);
+      if(!(yyvsp[(3) - (6)].l)){
+        GModel::current()->getGEOInternals()->setTransfiniteSurface(0, (yyvsp[(5) - (6)].i), corners);
+        for(GModel::fiter it = GModel::current()->firstFace();
+            it != GModel::current()->lastFace(); it++){
+          (*it)->meshAttributes.method = MESH_TRANSFINITE;
+          (*it)->meshAttributes.transfiniteArrangement = (yyvsp[(5) - (6)].i);
+        }
+      }
+      else{
+        for(int i = 0; i < List_Nbr((yyvsp[(3) - (6)].l)); i++){
+          double d;
+          List_Read((yyvsp[(3) - (6)].l), i, &d);
+          int tag = (int)d;
+          GModel::current()->getGEOInternals()->setTransfiniteSurface(tag, (yyvsp[(5) - (6)].i), corners);
+          GFace *gf = GModel::current()->getFaceByTag(tag);
+          if(gf){
+            gf->meshAttributes.method = MESH_TRANSFINITE;
+            gf->meshAttributes.transfiniteArrangement = (yyvsp[(5) - (6)].i);
+            if(corners.empty() || corners.size() == 3 || corners.size() == 4){
+              for(unsigned int j = 0; j < corners.size(); j++){
+                GVertex *gv = GModel::current()->getVertexByTag(corners[j]);
+                if(gv)
+                  gf->meshAttributes.corners.push_back(gv);
+                else
+                  yymsg(0, "Unknown model vertex with tag %d", corners[j]);
+              }
+            }
+            else{
+              yymsg(0, "Transfinite surface requires 3 or 4 corners vertices");
+            }
+          }
+        }
+        List_Delete((yyvsp[(3) - (6)].l));
+      }
+      List_Delete((yyvsp[(4) - (6)].l));
+    ;}
+    break;
+
+  case 330:
+#line 4157 "Gmsh.y"
+    {
+      // transfinite constraints are stored in GEO internals in addition to
+      // GModel, as they can be copied around during GEO operations
+      if(GModel::current()->getOCCInternals() &&
+         GModel::current()->getOCCInternals()->getChanged())
+        GModel::current()->getOCCInternals()->synchronize(GModel::current());
+      std::vector<int> corners; ListOfDouble2Vector((yyvsp[(4) - (5)].l), corners);
+      if(!(yyvsp[(3) - (5)].l)){
+        GModel::current()->getGEOInternals()->setTransfiniteVolume(0, corners);
+        for(GModel::riter it = GModel::current()->firstRegion();
+            it != GModel::current()->lastRegion(); it++){
+          (*it)->meshAttributes.method = MESH_TRANSFINITE;
+        }
+      }
+      else{
+        for(int i = 0; i < List_Nbr((yyvsp[(3) - (5)].l)); i++){
+          double d;
+          List_Read((yyvsp[(3) - (5)].l), i, &d);
+          int tag = (int)d;
+          GModel::current()->getGEOInternals()->setTransfiniteVolume(tag, corners);
+          GRegion *gr = GModel::current()->getRegionByTag(tag);
+          if(gr){
+            gr->meshAttributes.method = MESH_TRANSFINITE;
+            if(corners.empty() || corners.size() == 6 || corners.size() == 8){
+              for(unsigned int i = 0; i < corners.size(); i++){
+                GVertex *gv = GModel::current()->getVertexByTag(corners[i]);
+                if(gv)
+                  gr->meshAttributes.corners.push_back(gv);
+                else
+                  yymsg(0, "Unknown model vertex with tag %d", corners[i]);
+              }
+            }
+          }
+        }
+        List_Delete((yyvsp[(3) - (5)].l));
+      }
+      List_Delete((yyvsp[(4) - (5)].l));
+    ;}
+    break;
+
+  case 331:
+#line 4196 "Gmsh.y"
+    {
+      // transfinite constraints are stored in GEO internals in addition to
+      // GModel, as they can be copied around during GEO operations
+      if(GModel::current()->getOCCInternals() &&
+         GModel::current()->getOCCInternals()->getChanged())
+        GModel::current()->getOCCInternals()->synchronize(GModel::current());
+      if(!(yyvsp[(2) - (3)].l)){
+        GModel::current()->getGEOInternals()->setTransfiniteVolumeQuadTri(0);
+        for(GModel::riter it = GModel::current()->firstRegion();
+            it != GModel::current()->lastRegion(); it++)
+          (*it)->meshAttributes.QuadTri = TRANSFINITE_QUADTRI_1;
+      }
+      else{
+        for(int i = 0; i < List_Nbr((yyvsp[(2) - (3)].l)); i++){
+          double d;
+          List_Read((yyvsp[(2) - (3)].l), i, &d);
+          int tag = (int)d;
+          GModel::current()->getGEOInternals()->setTransfiniteVolumeQuadTri(tag);
+          GRegion *gr = GModel::current()->getRegionByTag(tag);
+          if(gr) gr->meshAttributes.QuadTri = TRANSFINITE_QUADTRI_1;
+        }
+        List_Delete((yyvsp[(2) - (3)].l));
+      }
+    ;}
+    break;
+
+  case 332:
+#line 4221 "Gmsh.y"
+    {
+      for(int i = 0; i < List_Nbr((yyvsp[(4) - (8)].l)); i++){
+	double d;
+	List_Read((yyvsp[(4) - (8)].l), i, &d);
+	CTX::instance()->mesh.algo2d_per_face[(int)d] = (int)(yyvsp[(7) - (8)].d);
+      }
+      List_Delete((yyvsp[(4) - (8)].l));
+    ;}
+    break;
+
+  case 333:
+#line 4230 "Gmsh.y"
+    {
+      // recombine constraints are stored in GEO internals in addition to
+      // GModel, as they can be copied around during GEO operations
+      if(GModel::current()->getOCCInternals() &&
+         GModel::current()->getOCCInternals()->getChanged())
+        GModel::current()->getOCCInternals()->synchronize(GModel::current());
+      if(!(yyvsp[(3) - (5)].l)){
+        GModel::current()->getGEOInternals()->setRecombine(2, 0, (yyvsp[(4) - (5)].i));
+        for(GModel::fiter it = GModel::current()->firstFace();
+            it != GModel::current()->lastFace(); it++){
+          (*it)->meshAttributes.recombine = 1;
+          (*it)->meshAttributes.recombineAngle = (yyvsp[(4) - (5)].i);
+        }
+      }
+      else{
+        for(int i = 0; i < List_Nbr((yyvsp[(3) - (5)].l)); i++){
+          double d;
+          List_Read((yyvsp[(3) - (5)].l), i, &d);
+          int tag = (int)d;
+          GModel::current()->getGEOInternals()->setRecombine(2, tag, (yyvsp[(4) - (5)].i));
+          GFace *gf = GModel::current()->getFaceByTag(tag);
+          if(gf){
+            gf->meshAttributes.recombine = 1;
+            gf->meshAttributes.recombineAngle = (yyvsp[(4) - (5)].i);
+          }
+        }
+        List_Delete((yyvsp[(3) - (5)].l));
+      }
+    ;}
+    break;
+
+  case 334:
+#line 4260 "Gmsh.y"
+    {
+      // recombine constraints are stored in GEO internals in addition to
+      // GModel, as they can be copied around during GEO operations
+      if(GModel::current()->getOCCInternals() &&
+         GModel::current()->getOCCInternals()->getChanged())
+        GModel::current()->getOCCInternals()->synchronize(GModel::current());
+      if(!(yyvsp[(3) - (4)].l)){
+        GModel::current()->getGEOInternals()->setRecombine(3, 0, 0.);
+        for(GModel::riter it = GModel::current()->firstRegion();
+            it != GModel::current()->lastRegion(); it++){
+          (*it)->meshAttributes.recombine3D = 1;
+        }
+      }
+      else{
+        for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++){
+          double d;
+          List_Read((yyvsp[(3) - (4)].l), i, &d);
+          int tag = (int)d;
+          GModel::current()->getGEOInternals()->setRecombine(3, tag, 0.);
+          GRegion *gr = GModel::current()->getRegionByTag(tag);
+          if(gr) gr->meshAttributes.recombine3D = 1;
+        }
+        List_Delete((yyvsp[(3) - (4)].l));
+      }
+    ;}
+    break;
+
+  case 335:
+#line 4286 "Gmsh.y"
+    {
+      // smoothing constraints are stored in GEO internals in addition to
+      // GModel, as they can be copied around during GEO operations
+      if(GModel::current()->getOCCInternals() &&
+         GModel::current()->getOCCInternals()->getChanged())
+        GModel::current()->getOCCInternals()->synchronize(GModel::current());
+      if(!(yyvsp[(3) - (6)].l)){
+        GModel::current()->getGEOInternals()->setSmoothing(0, (int)(yyvsp[(5) - (6)].d));
+        for(GModel::fiter it = GModel::current()->firstFace();
+            it != GModel::current()->lastFace(); it++){
+          (*it)->meshAttributes.transfiniteSmoothing = (int)(yyvsp[(5) - (6)].d);
+        }
+      }
+      else{
+        for(int i = 0; i < List_Nbr((yyvsp[(3) - (6)].l)); i++){
+          double d;
+          List_Read((yyvsp[(3) - (6)].l), i, &d);
+          int tag = (int)d;
+          GModel::current()->getGEOInternals()->setSmoothing(tag, (int)(yyvsp[(5) - (6)].d));
+          GFace *gf = GModel::current()->getFaceByTag(tag);
+          if(gf) gf->meshAttributes.transfiniteSmoothing = (int)(yyvsp[(5) - (6)].d);
+        }
+        List_Delete((yyvsp[(3) - (6)].l));
+      }
+    ;}
+    break;
+
+  case 336:
+#line 4313 "Gmsh.y"
+    {
+      if (List_Nbr((yyvsp[(4) - (11)].l)) != List_Nbr((yyvsp[(8) - (11)].l))){
+        yymsg(0, "Number of master lines (%d) different from number of "
+              "slaves (%d) ", List_Nbr((yyvsp[(8) - (11)].l)), List_Nbr((yyvsp[(4) - (11)].l)));
+      }
+      else{
+        std::vector<double> transfo;
+        if(List_Nbr((yyvsp[(10) - (11)].l)) != 0) {
+          if (List_Nbr((yyvsp[(10) - (11)].l)) < 12){
+            yymsg(0, "Affine transformation requires at least 12 entries (we have %d)",
+                  List_Nbr((yyvsp[(10) - (11)].l)));
+          }
+          else {
+            transfo.resize(List_Nbr((yyvsp[(10) - (11)].l)));
+            for(int i = 0; i < List_Nbr((yyvsp[(10) - (11)].l)); i++)
+              List_Read((yyvsp[(10) - (11)].l), i, &transfo[i]);
+          }
+        }
+        for(int i = 0; i < List_Nbr((yyvsp[(4) - (11)].l)); i++){
+          double d_master, d_slave;
+          List_Read((yyvsp[(8) - (11)].l), i, &d_master);
+          List_Read((yyvsp[(4) - (11)].l), i, &d_slave);
+          int j_master = (int)d_master;
+          int j_slave  = (int)d_slave;
+          addPeriodicEdge(j_slave, j_master, transfo);
+        }
+      }
+      List_Delete((yyvsp[(4) - (11)].l));
+      List_Delete((yyvsp[(8) - (11)].l));
+    ;}
+    break;
+
+  case 337:
+#line 4345 "Gmsh.y"
+    {
+      if (List_Nbr((yyvsp[(4) - (11)].l)) != List_Nbr((yyvsp[(8) - (11)].l))){
+        yymsg(0, "Number of master faces (%d) different from number of "
+              "slaves (%d) ", List_Nbr((yyvsp[(8) - (11)].l)), List_Nbr((yyvsp[(4) - (11)].l)));
+      }
+      else{
+        if (List_Nbr((yyvsp[(10) - (11)].l)) < 12){
+          // FIXME full automatic case here if List_Nbr($10) == 0)
+          yymsg(0, "Affine transformation requires at least 12 entries");
+        }
+        else {
+          std::vector<double> transfo(16,0);
+          for(int i = 0; i < List_Nbr((yyvsp[(10) - (11)].l)); i++)
+            List_Read((yyvsp[(10) - (11)].l), i, &transfo[i]);
+          for(int i = 0; i < List_Nbr((yyvsp[(4) - (11)].l)); i++){
+            double d_master, d_slave;
+            List_Read((yyvsp[(8) - (11)].l), i, &d_master);
+            List_Read((yyvsp[(4) - (11)].l), i, &d_slave);
+            addPeriodicFace(d_slave, d_master, transfo);
+          }
+        }
+      }
+      List_Delete((yyvsp[(4) - (11)].l));
+      List_Delete((yyvsp[(8) - (11)].l));
+    ;}
+    break;
+
+  case 338:
+#line 4372 "Gmsh.y"
+    {
+      if (List_Nbr((yyvsp[(4) - (18)].l)) != List_Nbr((yyvsp[(8) - (18)].l))){
+        yymsg(0, "Number of master edges (%d) different from number of "
+              "slaves (%d) ", List_Nbr((yyvsp[(8) - (18)].l)), List_Nbr((yyvsp[(4) - (18)].l)));
+      }
+      else{
+        SPoint3 axis((yyvsp[(12) - (18)].v)[0],(yyvsp[(12) - (18)].v)[1],(yyvsp[(12) - (18)].v)[2]);
+        SPoint3 origin((yyvsp[(14) - (18)].v)[0],(yyvsp[(14) - (18)].v)[1],(yyvsp[(14) - (18)].v)[2]);
+        double  angle((yyvsp[(16) - (18)].d));
+        SPoint3 translation(0,0,0);
+
+        std::vector<double> transfo;
+        computeAffineTransformation(origin,axis,angle,translation,transfo);
+
+        for(int i = 0; i < List_Nbr((yyvsp[(4) - (18)].l)); i++){
+          double d_master, d_slave;
+          List_Read((yyvsp[(8) - (18)].l), i, &d_master);
+          List_Read((yyvsp[(4) - (18)].l), i, &d_slave);
+          addPeriodicEdge(d_slave,d_master,transfo);
+        }
+      }
+      List_Delete((yyvsp[(4) - (18)].l));
+      List_Delete((yyvsp[(8) - (18)].l));
+    ;}
+    break;
+
+  case 339:
+#line 4398 "Gmsh.y"
+    {
+      if (List_Nbr((yyvsp[(4) - (18)].l)) != List_Nbr((yyvsp[(8) - (18)].l))){
+        yymsg(0, "Number of master faces (%d) different from number of "
+              "slaves (%d) ", List_Nbr((yyvsp[(8) - (18)].l)), List_Nbr((yyvsp[(4) - (18)].l)));
+      }
+      else{
+        SPoint3 origin((yyvsp[(14) - (18)].v)[0],(yyvsp[(14) - (18)].v)[1],(yyvsp[(14) - (18)].v)[2]);
+        SPoint3 axis((yyvsp[(12) - (18)].v)[0],(yyvsp[(12) - (18)].v)[1],(yyvsp[(12) - (18)].v)[2]);
+        double  angle((yyvsp[(16) - (18)].d));
+        SPoint3 translation(0,0,0);
+
+        std::vector<double> transfo;
+        computeAffineTransformation(origin,axis,angle,translation,transfo);
+
+        for(int i = 0; i < List_Nbr((yyvsp[(4) - (18)].l)); i++){
+          double d_master, d_slave;
+          List_Read((yyvsp[(8) - (18)].l), i, &d_master);
+          List_Read((yyvsp[(4) - (18)].l), i, &d_slave);
+          addPeriodicFace(d_slave, d_master, transfo);
+        }
+      }
+      List_Delete((yyvsp[(4) - (18)].l));
+      List_Delete((yyvsp[(8) - (18)].l));
+    ;}
+    break;
+
+  case 340:
+#line 4424 "Gmsh.y"
+    {
+      if (List_Nbr((yyvsp[(4) - (12)].l)) != List_Nbr((yyvsp[(8) - (12)].l))){
+        yymsg(0, "Number of master edges (%d) different from number of "
+              "slaves (%d) ", List_Nbr((yyvsp[(8) - (12)].l)), List_Nbr((yyvsp[(4) - (12)].l)));
+      }
+      else{
+        SPoint3 origin(0,0,0);
+        SPoint3 axis(0,0,0);
+        double  angle(0);
+        SPoint3 translation((yyvsp[(11) - (12)].v)[0],(yyvsp[(11) - (12)].v)[1],(yyvsp[(11) - (12)].v)[2]);
+
+        std::vector<double> transfo;
+        computeAffineTransformation(origin,axis,angle,translation,transfo);
+
+        for(int i = 0; i < List_Nbr((yyvsp[(4) - (12)].l)); i++){
+          double d_master, d_slave;
+          List_Read((yyvsp[(8) - (12)].l), i, &d_master);
+          List_Read((yyvsp[(4) - (12)].l), i, &d_slave);
+          addPeriodicEdge(d_slave,d_master,transfo);
+        }
+      }
+      List_Delete((yyvsp[(4) - (12)].l));
+      List_Delete((yyvsp[(8) - (12)].l));
+    ;}
+    break;
+
+  case 341:
+#line 4450 "Gmsh.y"
+    {
+      if (List_Nbr((yyvsp[(4) - (12)].l)) != List_Nbr((yyvsp[(8) - (12)].l))){
+        yymsg(0, "Number of master faces (%d) different from number of "
+              "slaves (%d) ", List_Nbr((yyvsp[(8) - (12)].l)), List_Nbr((yyvsp[(4) - (12)].l)));
+      }
+      else{
+        SPoint3 origin(0,0,0);
+        SPoint3 axis(0,0,0);
+        double  angle(0);
+        SPoint3 translation((yyvsp[(11) - (12)].v)[0],(yyvsp[(11) - (12)].v)[1],(yyvsp[(11) - (12)].v)[2]);
+
+        std::vector<double> transfo;
+        computeAffineTransformation(origin,axis,angle,translation,transfo);
+
+        for(int i = 0; i < List_Nbr((yyvsp[(4) - (12)].l)); i++){
+          double d_master, d_slave;
+          List_Read((yyvsp[(8) - (12)].l), i, &d_master);
+          List_Read((yyvsp[(4) - (12)].l), i, &d_slave);
+          addPeriodicFace(d_slave, d_master, transfo);
+        }
+      }
+      List_Delete((yyvsp[(4) - (12)].l));
+      List_Delete((yyvsp[(8) - (12)].l));
+    ;}
+    break;
+
+  case 342:
+#line 4476 "Gmsh.y"
+    {
+      if (List_Nbr((yyvsp[(5) - (12)].l)) != List_Nbr((yyvsp[(10) - (12)].l))){
+        yymsg(0, "Number of master surface edges (%d) different from number of "
+              "slave (%d) edges", List_Nbr((yyvsp[(10) - (12)].l)), List_Nbr((yyvsp[(5) - (12)].l)));
+      }
+      else{
+        int j_master = (int)(yyvsp[(8) - (12)].d);
+        int j_slave = (int)(yyvsp[(3) - (12)].d);
+        std::map<int,int> edgeCounterParts;
+        for (int i = 0; i < List_Nbr((yyvsp[(5) - (12)].l)); i++){
+          double ds,dm;
+          List_Read((yyvsp[(5) - (12)].l),i,&ds);
+          List_Read((yyvsp[(10) - (12)].l),i,&dm);
+          edgeCounterParts[(int) ds] = (int) dm;
+        }
+        addPeriodicFace(j_slave, j_master, edgeCounterParts);
+      }
+      List_Delete((yyvsp[(5) - (12)].l));
+      List_Delete((yyvsp[(10) - (12)].l));
+    ;}
+    break;
+
+  case 343:
+#line 4497 "Gmsh.y"
+    {
+      std::vector<int> tags; ListOfDouble2Vector((yyvsp[(3) - (10)].l), tags);
+      addEmbedded(0, tags, 2, (int)(yyvsp[(8) - (10)].d));
+      List_Delete((yyvsp[(3) - (10)].l));
+    ;}
+    break;
+
+  case 344:
+#line 4503 "Gmsh.y"
+    {
+      std::vector<int> tags; ListOfDouble2Vector((yyvsp[(3) - (10)].l), tags);
+      addEmbedded(1, tags, 2, (int)(yyvsp[(8) - (10)].d));
+      List_Delete((yyvsp[(3) - (10)].l));
+    ;}
+    break;
+
+  case 345:
+#line 4509 "Gmsh.y"
+    {
+      std::vector<int> tags; ListOfDouble2Vector((yyvsp[(3) - (10)].l), tags);
+      addEmbedded(0, tags, 3, (int)(yyvsp[(8) - (10)].d));
+      List_Delete((yyvsp[(3) - (10)].l));
+    ;}
+    break;
+
+  case 346:
+#line 4515 "Gmsh.y"
+    {
+      std::vector<int> tags; ListOfDouble2Vector((yyvsp[(3) - (10)].l), tags);
+      addEmbedded(1, tags, 3, (int)(yyvsp[(8) - (10)].d));
+      List_Delete((yyvsp[(3) - (10)].l));
+    ;}
+    break;
+
+  case 347:
+#line 4521 "Gmsh.y"
+    {
+      std::vector<int> tags; ListOfDouble2Vector((yyvsp[(3) - (10)].l), tags);
+      addEmbedded(2, tags, 3, (int)(yyvsp[(8) - (10)].d));
+      List_Delete((yyvsp[(3) - (10)].l));
+    ;}
+    break;
+
+  case 348:
+#line 4527 "Gmsh.y"
+    {
+      // reverse mesh constraints are stored in GEO internals in addition to
+      // GModel, as they can be copied around during GEO operations
+      if(GModel::current()->getOCCInternals() &&
+         GModel::current()->getOCCInternals()->getChanged())
+        GModel::current()->getOCCInternals()->synchronize(GModel::current());
+      if(!(yyvsp[(3) - (4)].l)){
+        GModel::current()->getGEOInternals()->setReverseMesh(2, 0);
+        for(GModel::fiter it = GModel::current()->firstFace();
+            it != GModel::current()->lastFace(); it++){
+          (*it)->meshAttributes.reverseMesh = 1;
+        }
+      }
+      else{
+        for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++){
+          double d;
+          List_Read((yyvsp[(3) - (4)].l), i, &d);
+          int num = (int)d;
+          GModel::current()->getGEOInternals()->setReverseMesh(2, num);
+          GFace *gf = GModel::current()->getFaceByTag(num);
+          if(gf) gf->meshAttributes.reverseMesh = 1;
+        }
+        List_Delete((yyvsp[(3) - (4)].l));
+      }
+    ;}
+    break;
+
+  case 349:
+#line 4553 "Gmsh.y"
+    {
+      // reverse mesh constraints are stored in GEO internals in addition to
+      // GModel, as they can be copied around during GEO operations
+      if(GModel::current()->getOCCInternals() &&
+         GModel::current()->getOCCInternals()->getChanged())
+        GModel::current()->getOCCInternals()->synchronize(GModel::current());
+      if(!(yyvsp[(3) - (4)].l)){
+        GModel::current()->getGEOInternals()->setReverseMesh(1, 0);
+        for(GModel::eiter it = GModel::current()->firstEdge();
+            it != GModel::current()->lastEdge(); it++){
+          (*it)->meshAttributes.reverseMesh = 1;
+        }
+      }
+      else{
+        for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++){
+          double d;
+          List_Read((yyvsp[(3) - (4)].l), i, &d);
+          int num = (int)d;
+          GModel::current()->getGEOInternals()->setReverseMesh(1, num);
+          GEdge *ge = GModel::current()->getEdgeByTag(num);
+          if(ge) ge->meshAttributes.reverseMesh = 1;
+        }
+        List_Delete((yyvsp[(3) - (4)].l));
+      }
+    ;}
+    break;
+
+  case 350:
+#line 4579 "Gmsh.y"
+    {
+      if(!(yyvsp[(3) - (4)].l)){
+        for(GModel::viter it = GModel::current()->firstVertex();
+            it != GModel::current()->lastVertex(); it++)
+          (*it)->relocateMeshVertices();
+      }
+      else{
+        for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++){
+          double d;
+          List_Read((yyvsp[(3) - (4)].l), i, &d);
+          GVertex *gv = GModel::current()->getVertexByTag((int)d);
+          if(gv) gv->relocateMeshVertices();
+        }
+        List_Delete((yyvsp[(3) - (4)].l));
+      }
+    ;}
+    break;
+
+  case 351:
+#line 4596 "Gmsh.y"
+    {
+      if(!(yyvsp[(3) - (4)].l)){
+        for(GModel::eiter it = GModel::current()->firstEdge();
+            it != GModel::current()->lastEdge(); it++)
+          (*it)->relocateMeshVertices();
+      }
+      else{
+        for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++){
+          double d;
+          List_Read((yyvsp[(3) - (4)].l), i, &d);
+          GEdge *ge = GModel::current()->getEdgeByTag((int)d);
+          if(ge) ge->relocateMeshVertices();
+        }
+        List_Delete((yyvsp[(3) - (4)].l));
+      }
+    ;}
+    break;
+
+  case 352:
+#line 4613 "Gmsh.y"
+    {
+      if(!(yyvsp[(3) - (4)].l)){
+        for(GModel::fiter it = GModel::current()->firstFace();
+            it != GModel::current()->lastFace(); it++)
+          (*it)->relocateMeshVertices();
+      }
+      else{
+        for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++){
+          double d;
+          List_Read((yyvsp[(3) - (4)].l), i, &d);
+          GFace *gf = GModel::current()->getFaceByTag((int)d);
+          if(gf) gf->relocateMeshVertices();
+        }
+        List_Delete((yyvsp[(3) - (4)].l));
+      }
+    ;}
+    break;
+
+  case 353:
+#line 4630 "Gmsh.y"
+    {
+      for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++){
+	double dnum;
+	List_Read((yyvsp[(3) - (4)].l), i, &dnum);
+	int num = (int)dnum;
+        GModel::current()->getGEOInternals()->setDegenerated(1, num);
+        GEdge *ge = GModel::current()->getEdgeByTag(num);
+        if(ge) ge->setTooSmall(true);
+      }
+      List_Delete((yyvsp[(3) - (4)].l));
+    ;}
+    break;
+
+  case 354:
+#line 4642 "Gmsh.y"
+    {
+      std::vector<int> tags; ListOfDouble2Vector((yyvsp[(3) - (4)].l), tags);
+      GModel::current()->getGEOInternals()->setCompoundMesh(1, tags);
+      List_Delete((yyvsp[(3) - (4)].l));
+    ;}
+    break;
+
+  case 355:
+#line 4648 "Gmsh.y"
+    {
+      std::vector<int> tags; ListOfDouble2Vector((yyvsp[(3) - (4)].l), tags);
+      GModel::current()->getGEOInternals()->setCompoundMesh(2, tags);
+      List_Delete((yyvsp[(3) - (4)].l));
+    ;}
+    break;
+
+  case 356:
+#line 4654 "Gmsh.y"
+    {
+      std::vector<int> tags; ListOfDouble2Vector((yyvsp[(3) - (4)].l), tags);
+      GModel::current()->getGEOInternals()->setCompoundMesh(3, tags);
+      List_Delete((yyvsp[(3) - (4)].l));
+    ;}
+    break;
+
+  case 357:
+#line 4666 "Gmsh.y"
+    {
+      GModel::current()->getGEOInternals()->removeAllDuplicates();
+    ;}
+    break;
+
+  case 358:
+#line 4670 "Gmsh.y"
+    {
+      if(!strcmp((yyvsp[(2) - (3)].c), "Geometry"))
+        GModel::current()->getGEOInternals()->removeAllDuplicates();
+      else if(!strcmp((yyvsp[(2) - (3)].c), "Mesh"))
+        GModel::current()->removeDuplicateMeshVertices(CTX::instance()->geom.tolerance);
+      else
+        yymsg(0, "Unknown coherence command");
+      Free((yyvsp[(2) - (3)].c));
+    ;}
+    break;
+
+  case 359:
+#line 4680 "Gmsh.y"
+    {
+      std::vector<int> tags; ListOfDouble2Vector((yyvsp[(4) - (6)].l), tags);
+      GModel::current()->getGEOInternals()->mergeVertices(tags);
+      List_Delete((yyvsp[(4) - (6)].l));
+    ;}
+    break;
+
+  case 360:
+#line 4690 "Gmsh.y"
+    { (yyval.c) = (char*)"Homology"; ;}
+    break;
+
+  case 361:
+#line 4691 "Gmsh.y"
+    { (yyval.c) = (char*)"Cohomology"; ;}
+    break;
+
+  case 362:
+#line 4692 "Gmsh.y"
+    { (yyval.c) = (char*)"Betti"; ;}
+    break;
+
+  case 363:
+#line 4697 "Gmsh.y"
+    {
+      std::vector<int> domain, subdomain, dim;
+      for(int i = 0; i < 4; i++) dim.push_back(i);
+      GModel::current()->addHomologyRequest((yyvsp[(1) - (2)].c), domain, subdomain, dim);
+    ;}
+    break;
+
+  case 364:
+#line 4703 "Gmsh.y"
+    {
+      std::vector<int> domain, subdomain, dim;
+      for(int i = 0; i < List_Nbr((yyvsp[(3) - (5)].l)); i++){
+        double d;
+        List_Read((yyvsp[(3) - (5)].l), i, &d);
+        domain.push_back((int)d);
+      }
+      for(int i = 0; i < 4; i++) dim.push_back(i);
+      GModel::current()->addHomologyRequest((yyvsp[(1) - (5)].c), domain, subdomain, dim);
+      List_Delete((yyvsp[(3) - (5)].l));
+    ;}
+    break;
+
+  case 365:
+#line 4715 "Gmsh.y"
+    {
+      std::vector<int> domain, subdomain, dim;
+      for(int i = 0; i < List_Nbr((yyvsp[(3) - (7)].l)); i++){
+        double d;
+        List_Read((yyvsp[(3) - (7)].l), i, &d);
+        domain.push_back((int)d);
+      }
+      for(int i = 0; i < List_Nbr((yyvsp[(5) - (7)].l)); i++){
+        double d;
+        List_Read((yyvsp[(5) - (7)].l), i, &d);
+        subdomain.push_back((int)d);
+      }
+      for(int i = 0; i < 4; i++) dim.push_back(i);
+      GModel::current()->addHomologyRequest((yyvsp[(1) - (7)].c), domain, subdomain, dim);
+      List_Delete((yyvsp[(3) - (7)].l));
+      List_Delete((yyvsp[(5) - (7)].l));
+    ;}
+    break;
+
+  case 366:
+#line 4733 "Gmsh.y"
+    {
+      std::vector<int> domain, subdomain, dim;
+      for(int i = 0; i < List_Nbr((yyvsp[(6) - (10)].l)); i++){
+        double d;
+        List_Read((yyvsp[(6) - (10)].l), i, &d);
+        domain.push_back((int)d);
+      }
+      for(int i = 0; i < List_Nbr((yyvsp[(8) - (10)].l)); i++){
+        double d;
+        List_Read((yyvsp[(8) - (10)].l), i, &d);
+        subdomain.push_back((int)d);
+      }
+      for(int i = 0; i < List_Nbr((yyvsp[(3) - (10)].l)); i++){
+        double d;
+        List_Read((yyvsp[(3) - (10)].l), i, &d);
+        dim.push_back((int)d);
+      }
+      GModel::current()->addHomologyRequest((yyvsp[(1) - (10)].c), domain, subdomain, dim);
+      List_Delete((yyvsp[(6) - (10)].l));
+      List_Delete((yyvsp[(8) - (10)].l));
+      List_Delete((yyvsp[(3) - (10)].l));
+    ;}
+    break;
+
+  case 367:
+#line 4760 "Gmsh.y"
+    { (yyval.d) = (yyvsp[(1) - (1)].d);           ;}
+    break;
+
+  case 368:
+#line 4761 "Gmsh.y"
+    { (yyval.d) = (yyvsp[(2) - (3)].d);           ;}
+    break;
+
+  case 369:
+#line 4762 "Gmsh.y"
+    { (yyval.d) = -(yyvsp[(2) - (2)].d);          ;}
+    break;
+
+  case 370:
+#line 4763 "Gmsh.y"
+    { (yyval.d) = (yyvsp[(2) - (2)].d);           ;}
+    break;
+
+  case 371:
+#line 4764 "Gmsh.y"
+    { (yyval.d) = !(yyvsp[(2) - (2)].d);          ;}
+    break;
+
+  case 372:
+#line 4765 "Gmsh.y"
+    { (yyval.d) = (yyvsp[(1) - (3)].d) - (yyvsp[(3) - (3)].d);      ;}
+    break;
+
+  case 373:
+#line 4766 "Gmsh.y"
+    { (yyval.d) = (yyvsp[(1) - (3)].d) + (yyvsp[(3) - (3)].d);      ;}
+    break;
+
+  case 374:
+#line 4767 "Gmsh.y"
+    { (yyval.d) = (yyvsp[(1) - (3)].d) * (yyvsp[(3) - (3)].d);      ;}
+    break;
+
+  case 375:
+#line 4769 "Gmsh.y"
+    {
+      if(!(yyvsp[(3) - (3)].d))
+	yymsg(0, "Division by zero in '%g / %g'", (yyvsp[(1) - (3)].d), (yyvsp[(3) - (3)].d));
+      else
+	(yyval.d) = (yyvsp[(1) - (3)].d) / (yyvsp[(3) - (3)].d);
+    ;}
+    break;
+
+  case 376:
+#line 4775 "Gmsh.y"
+    { (yyval.d) = (int)(yyvsp[(1) - (3)].d) | (int)(yyvsp[(3) - (3)].d); ;}
+    break;
+
+  case 377:
+#line 4776 "Gmsh.y"
+    { (yyval.d) = (int)(yyvsp[(1) - (3)].d) & (int)(yyvsp[(3) - (3)].d); ;}
+    break;
+
+  case 378:
+#line 4777 "Gmsh.y"
+    { (yyval.d) = (int)(yyvsp[(1) - (3)].d) % (int)(yyvsp[(3) - (3)].d); ;}
+    break;
+
+  case 379:
+#line 4778 "Gmsh.y"
+    { (yyval.d) = pow((yyvsp[(1) - (3)].d), (yyvsp[(3) - (3)].d));  ;}
+    break;
+
+  case 380:
+#line 4779 "Gmsh.y"
+    { (yyval.d) = (yyvsp[(1) - (3)].d) < (yyvsp[(3) - (3)].d);      ;}
+    break;
+
+  case 381:
+#line 4780 "Gmsh.y"
+    { (yyval.d) = (yyvsp[(1) - (3)].d) > (yyvsp[(3) - (3)].d);      ;}
+    break;
+
+  case 382:
+#line 4781 "Gmsh.y"
+    { (yyval.d) = (yyvsp[(1) - (3)].d) <= (yyvsp[(3) - (3)].d);     ;}
+    break;
+
+  case 383:
+#line 4782 "Gmsh.y"
+    { (yyval.d) = (yyvsp[(1) - (3)].d) >= (yyvsp[(3) - (3)].d);     ;}
+    break;
+
+  case 384:
+#line 4783 "Gmsh.y"
+    { (yyval.d) = (yyvsp[(1) - (3)].d) == (yyvsp[(3) - (3)].d);     ;}
+    break;
+
+  case 385:
+#line 4784 "Gmsh.y"
+    { (yyval.d) = (yyvsp[(1) - (3)].d) != (yyvsp[(3) - (3)].d);     ;}
+    break;
+
+  case 386:
+#line 4785 "Gmsh.y"
+    { (yyval.d) = (yyvsp[(1) - (3)].d) && (yyvsp[(3) - (3)].d);     ;}
+    break;
+
+  case 387:
+#line 4786 "Gmsh.y"
+    { (yyval.d) = (yyvsp[(1) - (3)].d) || (yyvsp[(3) - (3)].d);     ;}
+    break;
+
+  case 388:
+#line 4787 "Gmsh.y"
+    { (yyval.d) = ((int)(yyvsp[(1) - (3)].d) >> (int)(yyvsp[(3) - (3)].d)); ;}
+    break;
+
+  case 389:
+#line 4788 "Gmsh.y"
+    { (yyval.d) = ((int)(yyvsp[(1) - (3)].d) << (int)(yyvsp[(3) - (3)].d)); ;}
+    break;
+
+  case 390:
+#line 4789 "Gmsh.y"
+    { (yyval.d) = (yyvsp[(1) - (5)].d) ? (yyvsp[(3) - (5)].d) : (yyvsp[(5) - (5)].d); ;}
+    break;
+
+  case 391:
+#line 4790 "Gmsh.y"
+    { (yyval.d) = exp((yyvsp[(3) - (4)].d));      ;}
+    break;
+
+  case 392:
+#line 4791 "Gmsh.y"
+    { (yyval.d) = log((yyvsp[(3) - (4)].d));      ;}
+    break;
+
+  case 393:
+#line 4792 "Gmsh.y"
+    { (yyval.d) = log10((yyvsp[(3) - (4)].d));    ;}
+    break;
+
+  case 394:
+#line 4793 "Gmsh.y"
+    { (yyval.d) = sqrt((yyvsp[(3) - (4)].d));     ;}
+    break;
+
+  case 395:
+#line 4794 "Gmsh.y"
+    { (yyval.d) = sin((yyvsp[(3) - (4)].d));      ;}
+    break;
+
+  case 396:
+#line 4795 "Gmsh.y"
+    { (yyval.d) = asin((yyvsp[(3) - (4)].d));     ;}
+    break;
+
+  case 397:
+#line 4796 "Gmsh.y"
+    { (yyval.d) = cos((yyvsp[(3) - (4)].d));      ;}
+    break;
+
+  case 398:
+#line 4797 "Gmsh.y"
+    { (yyval.d) = acos((yyvsp[(3) - (4)].d));     ;}
+    break;
+
+  case 399:
+#line 4798 "Gmsh.y"
+    { (yyval.d) = tan((yyvsp[(3) - (4)].d));      ;}
+    break;
+
+  case 400:
+#line 4799 "Gmsh.y"
+    { (yyval.d) = atan((yyvsp[(3) - (4)].d));     ;}
+    break;
+
+  case 401:
+#line 4800 "Gmsh.y"
+    { (yyval.d) = atan2((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d));;}
+    break;
+
+  case 402:
+#line 4801 "Gmsh.y"
+    { (yyval.d) = sinh((yyvsp[(3) - (4)].d));     ;}
+    break;
+
+  case 403:
+#line 4802 "Gmsh.y"
+    { (yyval.d) = cosh((yyvsp[(3) - (4)].d));     ;}
+    break;
+
+  case 404:
+#line 4803 "Gmsh.y"
+    { (yyval.d) = tanh((yyvsp[(3) - (4)].d));     ;}
+    break;
+
+  case 405:
+#line 4804 "Gmsh.y"
+    { (yyval.d) = fabs((yyvsp[(3) - (4)].d));     ;}
+    break;
+
+  case 406:
+#line 4805 "Gmsh.y"
+    { (yyval.d) = std::abs((yyvsp[(3) - (4)].d)); ;}
+    break;
+
+  case 407:
+#line 4806 "Gmsh.y"
+    { (yyval.d) = floor((yyvsp[(3) - (4)].d));    ;}
+    break;
+
+  case 408:
+#line 4807 "Gmsh.y"
+    { (yyval.d) = ceil((yyvsp[(3) - (4)].d));     ;}
+    break;
+
+  case 409:
+#line 4808 "Gmsh.y"
+    { (yyval.d) = floor((yyvsp[(3) - (4)].d) + 0.5); ;}
+    break;
+
+  case 410:
+#line 4809 "Gmsh.y"
+    { (yyval.d) = fmod((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d)); ;}
+    break;
+
+  case 411:
+#line 4810 "Gmsh.y"
+    { (yyval.d) = fmod((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d)); ;}
+    break;
+
+  case 412:
+#line 4811 "Gmsh.y"
+    { (yyval.d) = sqrt((yyvsp[(3) - (6)].d) * (yyvsp[(3) - (6)].d) + (yyvsp[(5) - (6)].d) * (yyvsp[(5) - (6)].d)); ;}
+    break;
+
+  case 413:
+#line 4812 "Gmsh.y"
+    { (yyval.d) = (yyvsp[(3) - (4)].d) * (double)rand() / (double)RAND_MAX; ;}
+    break;
+
+  case 414:
+#line 4821 "Gmsh.y"
+    { (yyval.d) = (yyvsp[(1) - (1)].d); ;}
+    break;
+
+  case 415:
+#line 4822 "Gmsh.y"
+    { (yyval.d) = 3.141592653589793; ;}
+    break;
+
+  case 416:
+#line 4823 "Gmsh.y"
+    { (yyval.d) = (double)ImbricatedTest; ;}
+    break;
+
+  case 417:
+#line 4824 "Gmsh.y"
+    { (yyval.d) = Msg::GetCommRank(); ;}
+    break;
+
+  case 418:
+#line 4825 "Gmsh.y"
+    { (yyval.d) = Msg::GetCommSize(); ;}
+    break;
+
+  case 419:
+#line 4826 "Gmsh.y"
+    { (yyval.d) = GetGmshMajorVersion(); ;}
+    break;
+
+  case 420:
+#line 4827 "Gmsh.y"
+    { (yyval.d) = GetGmshMinorVersion(); ;}
+    break;
+
+  case 421:
+#line 4828 "Gmsh.y"
+    { (yyval.d) = GetGmshPatchVersion(); ;}
+    break;
+
+  case 422:
+#line 4829 "Gmsh.y"
+    { (yyval.d) = Cpu(); ;}
+    break;
+
+  case 423:
+#line 4830 "Gmsh.y"
+    { (yyval.d) = GetMemoryUsage()/1024./1024.; ;}
+    break;
+
+  case 424:
+#line 4831 "Gmsh.y"
+    { (yyval.d) = TotalRam(); ;}
+    break;
+
+  case 425:
+#line 4836 "Gmsh.y"
+    { init_options(); ;}
+    break;
+
+  case 426:
+#line 4838 "Gmsh.y"
+    {
+      std::vector<double> val(1, (yyvsp[(3) - (6)].d));
+      Msg::ExchangeOnelabParameter("", val, floatOptions, charOptions);
+      (yyval.d) = val[0];
+    ;}
+    break;
+
+  case 427:
+#line 4844 "Gmsh.y"
+    { (yyval.d) = (yyvsp[(1) - (1)].d); ;}
+    break;
+
+  case 428:
+#line 4846 "Gmsh.y"
+    {
+      (yyval.d) = Msg::GetOnelabNumber((yyvsp[(3) - (4)].c));
+      Free((yyvsp[(3) - (4)].c));
+    ;}
+    break;
+
+  case 429:
+#line 4851 "Gmsh.y"
+    {
+      (yyval.d) = Msg::GetOnelabNumber((yyvsp[(3) - (6)].c), (yyvsp[(5) - (6)].d));
+      Free((yyvsp[(3) - (6)].c));
+    ;}
+    break;
+
+  case 430:
+#line 4856 "Gmsh.y"
+    {
+      (yyval.d) = treat_Struct_FullName_Float((yyvsp[(1) - (1)].c2).char1, (yyvsp[(1) - (1)].c2).char2);
+    ;}
+    break;
+
+  case 431:
+#line 4861 "Gmsh.y"
+    {
+      (yyval.d) = treat_Struct_FullName_Float((yyvsp[(1) - (4)].c2).char1, (yyvsp[(1) - (4)].c2).char2, 2, (int)(yyvsp[(3) - (4)].d));
+      /*
+      int index = (int)$3;
+      if(!gmsh_yysymbols.count($1)){
+	yymsg(0, "Unknown variable '%s'", $1);
+	$$ = 0.;
+      }
+      else{
+        gmsh_yysymbol &s(gmsh_yysymbols[$1]);
+        if((int)s.value.size() < index + 1){
+          yymsg(0, "Uninitialized variable '%s[%d]'", $1, index);
+          $$ = 0.;
+        }
+        else
+          $$ = s.value[index];
+      }
+      Free($1);
+      */
+    ;}
+    break;
+
+  case 432:
+#line 4883 "Gmsh.y"
+    {
+      (yyval.d) = treat_Struct_FullName_Float((yyvsp[(1) - (4)].c2).char1, (yyvsp[(1) - (4)].c2).char2, 2, (int)(yyvsp[(3) - (4)].d));
+      /*
+      int index = (int)$3;
+      if(!gmsh_yysymbols.count($1)){
+	yymsg(0, "Unknown variable '%s'", $1);
+	$$ = 0.;
+      }
+      else{
+        gmsh_yysymbol &s(gmsh_yysymbols[$1]);
+        if((int)s.value.size() < index + 1){
+          yymsg(0, "Uninitialized variable '%s[%d]'", $1, index);
+          $$ = 0.;
+        }
+        else
+          $$ = s.value[index];
+      }
+      Free($1);
+      */
+    ;}
+    break;
+
+  case 433:
+#line 4904 "Gmsh.y"
+    {
+      (yyval.d) = treat_Struct_FullName_Float((yyvsp[(3) - (4)].c2).char1, (yyvsp[(3) - (4)].c2).char2, 1, 0, 0., 1);
+    ;}
+    break;
+
+  case 434:
+#line 4908 "Gmsh.y"
+    {
+      (yyval.d) = treat_Struct_FullName_dot_tSTRING_Float((yyvsp[(3) - (6)].c2).char1, (yyvsp[(3) - (6)].c2).char2, (yyvsp[(5) - (6)].c), 0, 0., 1);
+    ;}
+    break;
+
+  case 435:
+#line 4912 "Gmsh.y"
+    {
+      (yyval.d) = treat_Struct_FullName_Float((yyvsp[(3) - (5)].c2).char1, (yyvsp[(3) - (5)].c2).char2, 1, 0, (yyvsp[(4) - (5)].d), 2);
+    ;}
+    break;
+
+  case 436:
+#line 4916 "Gmsh.y"
+    {
+      (yyval.d) = treat_Struct_FullName_dot_tSTRING_Float((yyvsp[(3) - (7)].c2).char1, (yyvsp[(3) - (7)].c2).char2, (yyvsp[(5) - (7)].c), 0, (yyvsp[(6) - (7)].d), 2);
+    ;}
+    break;
+
+  case 437:
+#line 4920 "Gmsh.y"
+    {
+      std::string tmp = FixRelativePath(gmsh_yyname, (yyvsp[(3) - (4)].c));
+      (yyval.d) = !StatFile(tmp);
+      Free((yyvsp[(3) - (4)].c));
+    ;}
+    break;
+
+  case 438:
+#line 4926 "Gmsh.y"
+    {
+      if(gmsh_yysymbols.count((yyvsp[(2) - (4)].c))){
+        gmsh_yysymbol &s(gmsh_yysymbols[(yyvsp[(2) - (4)].c)]);
+	(yyval.d) = s.value.size();
+      }
+      else if(gmsh_yystringsymbols.count((yyvsp[(2) - (4)].c))){
+	(yyval.d) = gmsh_yystringsymbols[(yyvsp[(2) - (4)].c)].size();
+      }
+      else{
+        yymsg(0, "Unknown variable '%s'", (yyvsp[(2) - (4)].c));
+	(yyval.d) = 0.;
+      }
+      Free((yyvsp[(2) - (4)].c));
+    ;}
+    break;
+
+  case 439:
+#line 4942 "Gmsh.y"
+    {
+      (yyval.d) = treat_Struct_FullName_dot_tSTRING_Float_getDim((yyvsp[(2) - (6)].c2).char1, (yyvsp[(2) - (6)].c2).char2, (yyvsp[(4) - (6)].c));
+    ;}
+    break;
+
+  case 440:
+#line 4947 "Gmsh.y"
+    {
+      std::string struct_namespace((yyvsp[(3) - (4)].c));
+      (yyval.d) = (double)nameSpaces[struct_namespace].size();
+      Free((yyvsp[(3) - (4)].c));
+    ;}
+    break;
+
+  case 441:
+#line 4953 "Gmsh.y"
+    {
+      std::string struct_namespace(std::string(""));
+      (yyval.d) = (double)nameSpaces[struct_namespace].size();
+    ;}
+    break;
+
+  case 442:
+#line 4959 "Gmsh.y"
+    {
+      if(!gmsh_yysymbols.count((yyvsp[(1) - (2)].c))){
+	yymsg(0, "Unknown variable '%s'", (yyvsp[(1) - (2)].c));
+	(yyval.d) = 0.;
+      }
+      else{
+        gmsh_yysymbol &s(gmsh_yysymbols[(yyvsp[(1) - (2)].c)]);
+        if(s.value.empty()){
+          yymsg(0, "Uninitialized variable '%s'", (yyvsp[(1) - (2)].c));
+          (yyval.d) = 0.;
+        }
+        else{
+          (yyval.d) = s.value[0];
+          s.value[0] += (yyvsp[(2) - (2)].i);
+        }
+      }
+      Free((yyvsp[(1) - (2)].c));
+    ;}
+    break;
+
+  case 443:
+#line 4978 "Gmsh.y"
+    {
+      int index = (int)(yyvsp[(3) - (5)].d);
+      if(!gmsh_yysymbols.count((yyvsp[(1) - (5)].c))){
+	yymsg(0, "Unknown variable '%s'", (yyvsp[(1) - (5)].c));
+	(yyval.d) = 0.;
+      }
+      else{
+        gmsh_yysymbol &s(gmsh_yysymbols[(yyvsp[(1) - (5)].c)]);
+        if((int)s.value.size() < index + 1){
+          yymsg(0, "Uninitialized variable '%s[%d]'", (yyvsp[(1) - (5)].c), index);
+          (yyval.d) = 0.;
+        }
+        else{
+          (yyval.d) = s.value[index];
+          s.value[index] += (yyvsp[(5) - (5)].i);
+        }
+      }
+      Free((yyvsp[(1) - (5)].c));
+    ;}
+    break;
+
+  case 444:
+#line 4999 "Gmsh.y"
+    {
+      int index = (int)(yyvsp[(3) - (5)].d);
+      if(!gmsh_yysymbols.count((yyvsp[(1) - (5)].c))){
+	yymsg(0, "Unknown variable '%s'", (yyvsp[(1) - (5)].c));
+	(yyval.d) = 0.;
+      }
+      else{
+        gmsh_yysymbol &s(gmsh_yysymbols[(yyvsp[(1) - (5)].c)]);
+        if((int)s.value.size() < index + 1){
+          yymsg(0, "Uninitialized variable '%s[%d]'", (yyvsp[(1) - (5)].c), index);
+          (yyval.d) = 0.;
+        }
+        else{
+          (yyval.d) = s.value[index];
+          s.value[index] += (yyvsp[(5) - (5)].i);
+        }
+      }
+      Free((yyvsp[(1) - (5)].c));
+    ;}
+    break;
+
+  case 445:
+#line 5032 "Gmsh.y"
+    {
+      (yyval.d) = treat_Struct_FullName_dot_tSTRING_Float(NULL, (yyvsp[(1) - (3)].c), (yyvsp[(3) - (3)].c));
+    ;}
+    break;
+
+  case 446:
+#line 5036 "Gmsh.y"
+    {
+      (yyval.d) = treat_Struct_FullName_dot_tSTRING_Float((yyvsp[(1) - (5)].c), (yyvsp[(3) - (5)].c), (yyvsp[(5) - (5)].c));
+    ;}
+    break;
+
+  case 447:
+#line 5041 "Gmsh.y"
+    {
+      (yyval.d) = treat_Struct_FullName_dot_tSTRING_Float(NULL, (yyvsp[(1) - (6)].c), (yyvsp[(3) - (6)].c), (int)(yyvsp[(5) - (6)].d));
+    ;}
+    break;
+
+  case 448:
+#line 5045 "Gmsh.y"
+    {
+      (yyval.d) = treat_Struct_FullName_dot_tSTRING_Float((yyvsp[(1) - (8)].c), (yyvsp[(3) - (8)].c), (yyvsp[(5) - (8)].c), (int)(yyvsp[(7) - (8)].d));
+    ;}
+    break;
+
+  case 449:
+#line 5050 "Gmsh.y"
+    {
+      NumberOption(GMSH_GET, (yyvsp[(1) - (6)].c), (int)(yyvsp[(3) - (6)].d), (yyvsp[(6) - (6)].c), (yyval.d));
+      Free((yyvsp[(1) - (6)].c)); Free((yyvsp[(6) - (6)].c));
+    ;}
+    break;
+
+  case 450:
+#line 5055 "Gmsh.y"
+    {
+      double d = 0.;
+      if(NumberOption(GMSH_GET, (yyvsp[(1) - (4)].c), 0, (yyvsp[(3) - (4)].c), d)){
+	d += (yyvsp[(4) - (4)].i);
+	NumberOption(GMSH_SET|GMSH_GUI, (yyvsp[(1) - (4)].c), 0, (yyvsp[(3) - (4)].c), d);
+	(yyval.d) = d;
+      }
+      Free((yyvsp[(1) - (4)].c)); Free((yyvsp[(3) - (4)].c));
+    ;}
+    break;
+
+  case 451:
+#line 5065 "Gmsh.y"
+    {
+      double d = 0.;
+      if(NumberOption(GMSH_GET, (yyvsp[(1) - (7)].c), (int)(yyvsp[(3) - (7)].d), (yyvsp[(6) - (7)].c), d)){
+	d += (yyvsp[(7) - (7)].i);
+	NumberOption(GMSH_SET|GMSH_GUI, (yyvsp[(1) - (7)].c), (int)(yyvsp[(3) - (7)].d), (yyvsp[(6) - (7)].c), d);
+	(yyval.d) = d;
+      }
+      Free((yyvsp[(1) - (7)].c)); Free((yyvsp[(6) - (7)].c));
+    ;}
+    break;
+
+  case 452:
+#line 5075 "Gmsh.y"
+    {
+      (yyval.d) = Msg::GetValue((yyvsp[(3) - (6)].c), (yyvsp[(5) - (6)].d));
+      Free((yyvsp[(3) - (6)].c));
+    ;}
+    break;
+
+  case 453:
+#line 5080 "Gmsh.y"
+    {
+      int matches = 0;
+      for(int i = 0; i < List_Nbr((yyvsp[(3) - (6)].l)); i++){
+        double d;
+        List_Read((yyvsp[(3) - (6)].l), i, &d);
+        matches += List_Search((yyvsp[(5) - (6)].l), &d, fcmp_double);
+      }
+      (yyval.d) = matches;
+      Free((yyvsp[(3) - (6)].l)); Free((yyvsp[(5) - (6)].l));
+    ;}
+    break;
+
+  case 454:
+#line 5091 "Gmsh.y"
+    {
+      std::string s((yyvsp[(3) - (6)].c)), substr((yyvsp[(5) - (6)].c));
+      if(s.find(substr) != std::string::npos)
+        (yyval.d) = 1.;
+      else
+        (yyval.d) = 0.;
+      Free((yyvsp[(3) - (6)].c)); Free((yyvsp[(5) - (6)].c));
+    ;}
+    break;
+
+  case 455:
+#line 5100 "Gmsh.y"
+    {
+      (yyval.d) = strlen((yyvsp[(3) - (4)].c));
+      Free((yyvsp[(3) - (4)].c));
+    ;}
+    break;
+
+  case 456:
+#line 5105 "Gmsh.y"
+    {
+      (yyval.d) = strcmp((yyvsp[(3) - (6)].c), (yyvsp[(5) - (6)].c));
+      Free((yyvsp[(3) - (6)].c)); Free((yyvsp[(5) - (6)].c));
+    ;}
+    break;
+
+  case 457:
+#line 5110 "Gmsh.y"
+    {
+      int align = 0, font = 0, fontsize = CTX::instance()->glFontSize;
+      if(List_Nbr((yyvsp[(3) - (4)].l)) % 2){
+        yymsg(0, "Number of text attributes should be even");
+      }
+      else{
+        for(int i = 0 ; i < List_Nbr((yyvsp[(3) - (4)].l)); i += 2){
+          char *s1, *s2; List_Read((yyvsp[(3) - (4)].l), i, &s1); List_Read((yyvsp[(3) - (4)].l), i + 1, &s2);
+          std::string key(s1), val(s2);
+          Free(s1); Free(s2);
+#if defined(HAVE_OPENGL)
+          if(key == "Font")
+            font = drawContext::global()->getFontIndex(val.c_str());
+          else if(key == "FontSize")
+            fontsize = atoi(val.c_str());
+          else if(key == "Align")
+            align = drawContext::global()->getFontAlign(val.c_str());
+#endif
+        }
+      }
+      List_Delete((yyvsp[(3) - (4)].l));
+      (yyval.d) = (double)((align<<16)|(font<<8)|(fontsize));
+    ;}
+    break;
+
+  case 458:
+#line 5137 "Gmsh.y"
+    { (yyval.d) = 0.; ;}
+    break;
+
+  case 459:
+#line 5139 "Gmsh.y"
+    { (yyval.d) = (yyvsp[(2) - (2)].d);;}
+    break;
+
+  case 460:
+#line 5144 "Gmsh.y"
+    { (yyval.c) = NULL; ;}
+    break;
+
+  case 461:
+#line 5146 "Gmsh.y"
+    { (yyval.c) = (yyvsp[(2) - (2)].c);;}
+    break;
+
+  case 462:
+#line 5151 "Gmsh.y"
+    {
+      std::string struct_namespace((yyvsp[(2) - (3)].c2).char1? (yyvsp[(2) - (3)].c2).char1 : std::string("")),
+        struct_name((yyvsp[(2) - (3)].c2).char2);
+      init_options
+        (nameSpaces.getMember_ValMax(struct_namespace, struct_name));
+    ;}
+    break;
+
+  case 463:
+#line 5158 "Gmsh.y"
+    {
+      std::string struct_namespace((yyvsp[(2) - (7)].c2).char1? (yyvsp[(2) - (7)].c2).char1 : std::string("")),
+        struct_name((yyvsp[(2) - (7)].c2).char2);
+      Free((yyvsp[(2) - (7)].c2).char1); Free((yyvsp[(2) - (7)].c2).char2);
+      int tag_out;
+      if (nameSpaces.defStruct(struct_namespace, struct_name,
+                               floatOptions, charOptions,
+                               tag_out, member_ValMax, (yyvsp[(3) - (7)].i)))
+        yymsg(0, "Redefinition of Struct '%s::%s'",
+              struct_namespace.c_str(), struct_name.c_str());
+      (yyval.d) = (double)tag_out;
+    ;}
+    break;
+
+  case 464:
+#line 5174 "Gmsh.y"
+    { (yyval.c2).char1 = NULL; (yyval.c2).char2 = (yyvsp[(1) - (1)].c); ;}
+    break;
+
+  case 465:
+#line 5176 "Gmsh.y"
+    { (yyval.c2).char1 = (yyvsp[(1) - (3)].c); (yyval.c2).char2 = (yyvsp[(3) - (3)].c); ;}
+    break;
+
+  case 466:
+#line 5181 "Gmsh.y"
+    { (yyval.c) = (yyvsp[(1) - (1)].c); flag_tSTRING_alloc = 1; ;}
+    break;
+
+  case 467:
+#line 5190 "Gmsh.y"
+    { (yyval.i) = 99; ;}
+    break;
+
+  case 468:
+#line 5192 "Gmsh.y"
+    { (yyval.i) = (int)(yyvsp[(2) - (2)].d); ;}
+    break;
+
+  case 469:
+#line 5197 "Gmsh.y"
+    { (yyval.i) = 0; ;}
+    break;
+
+  case 470:
+#line 5199 "Gmsh.y"
+    { (yyval.i) = (yyvsp[(2) - (3)].i); ;}
+    break;
+
+  case 471:
+#line 5205 "Gmsh.y"
+    {
+      memcpy((yyval.v), (yyvsp[(1) - (1)].v), 5*sizeof(double));
+    ;}
+    break;
+
+  case 472:
+#line 5209 "Gmsh.y"
+    {
+      for(int i = 0; i < 5; i++) (yyval.v)[i] = -(yyvsp[(2) - (2)].v)[i];
+    ;}
+    break;
+
+  case 473:
+#line 5213 "Gmsh.y"
+    {
+      for(int i = 0; i < 5; i++) (yyval.v)[i] = (yyvsp[(2) - (2)].v)[i];
+    ;}
+    break;
+
+  case 474:
+#line 5217 "Gmsh.y"
+    {
+      for(int i = 0; i < 5; i++) (yyval.v)[i] = (yyvsp[(1) - (3)].v)[i] - (yyvsp[(3) - (3)].v)[i];
+    ;}
+    break;
+
+  case 475:
+#line 5221 "Gmsh.y"
+    {
+      for(int i = 0; i < 5; i++) (yyval.v)[i] = (yyvsp[(1) - (3)].v)[i] + (yyvsp[(3) - (3)].v)[i];
+    ;}
+    break;
+
+  case 476:
+#line 5228 "Gmsh.y"
+    {
+      (yyval.v)[0] = (yyvsp[(2) - (11)].d);  (yyval.v)[1] = (yyvsp[(4) - (11)].d);  (yyval.v)[2] = (yyvsp[(6) - (11)].d);  (yyval.v)[3] = (yyvsp[(8) - (11)].d); (yyval.v)[4] = (yyvsp[(10) - (11)].d);
+    ;}
+    break;
+
+  case 477:
+#line 5232 "Gmsh.y"
+    {
+      (yyval.v)[0] = (yyvsp[(2) - (9)].d);  (yyval.v)[1] = (yyvsp[(4) - (9)].d);  (yyval.v)[2] = (yyvsp[(6) - (9)].d);  (yyval.v)[3] = (yyvsp[(8) - (9)].d); (yyval.v)[4] = 1.0;
+    ;}
+    break;
+
+  case 478:
+#line 5236 "Gmsh.y"
+    {
+      (yyval.v)[0] = (yyvsp[(2) - (7)].d);  (yyval.v)[1] = (yyvsp[(4) - (7)].d);  (yyval.v)[2] = (yyvsp[(6) - (7)].d);  (yyval.v)[3] = 0.0; (yyval.v)[4] = 1.0;
+    ;}
+    break;
+
+  case 479:
+#line 5240 "Gmsh.y"
+    {
+      (yyval.v)[0] = (yyvsp[(2) - (7)].d);  (yyval.v)[1] = (yyvsp[(4) - (7)].d);  (yyval.v)[2] = (yyvsp[(6) - (7)].d);  (yyval.v)[3] = 0.0; (yyval.v)[4] = 1.0;
+    ;}
+    break;
+
+  case 480:
+#line 5247 "Gmsh.y"
+    {
+      (yyval.l) = List_Create(2, 1, sizeof(List_T*));
+      List_Add((yyval.l), &((yyvsp[(1) - (1)].l)));
+    ;}
+    break;
+
+  case 481:
+#line 5252 "Gmsh.y"
+    {
+      List_Add((yyval.l), &((yyvsp[(3) - (3)].l)));
+    ;}
+    break;
+
+  case 482:
+#line 5259 "Gmsh.y"
+    {
+      (yyval.l) = List_Create(2, 1, sizeof(double));
+      List_Add((yyval.l), &((yyvsp[(1) - (1)].d)));
+    ;}
+    break;
+
+  case 483:
+#line 5264 "Gmsh.y"
+    {
+      (yyval.l) = (yyvsp[(1) - (1)].l);
+    ;}
+    break;
+
+  case 484:
+#line 5268 "Gmsh.y"
+    {
+      // creates an empty list
+      (yyval.l) = List_Create(2, 1, sizeof(double));
+    ;}
+    break;
+
+  case 485:
+#line 5273 "Gmsh.y"
+    {
+      (yyval.l) = (yyvsp[(2) - (3)].l);
+    ;}
+    break;
+
+  case 486:
+#line 5277 "Gmsh.y"
+    {
+      (yyval.l) = (yyvsp[(3) - (4)].l);
+      for(int i = 0; i < List_Nbr((yyval.l)); i++){
+	double *pd = (double*)List_Pointer((yyval.l), i);
+	(*pd) = - (*pd);
+      }
+    ;}
+    break;
+
+  case 487:
+#line 5285 "Gmsh.y"
+    {
+      (yyval.l) = (yyvsp[(4) - (5)].l);
+      for(int i = 0; i < List_Nbr((yyval.l)); i++){
+	double *pd = (double*)List_Pointer((yyval.l), i);
+	(*pd) *= (yyvsp[(1) - (5)].d);
+      }
+    ;}
+    break;
+
+  case 488:
+#line 5296 "Gmsh.y"
+    {
+      (yyval.l) = (yyvsp[(1) - (1)].l);
+    ;}
+    break;
+
+  case 489:
+#line 5300 "Gmsh.y"
+    {
+      if(!strcmp((yyvsp[(1) - (1)].c), "*") || !strcmp((yyvsp[(1) - (1)].c), "all"))
+        (yyval.l) = 0;
+      else{
+        yyerror("Unknown special string for list replacement");
+        (yyval.l) = List_Create(2, 1, sizeof(double));
+      }
+    ;}
+    break;
+
+  case 490:
+#line 5312 "Gmsh.y"
+    {
+      (yyval.l) = (yyvsp[(2) - (2)].l);
+      for(int i = 0; i < List_Nbr((yyval.l)); i++){
+	double *pd = (double*)List_Pointer((yyval.l), i);
+	(*pd) = - (*pd);
+      }
+    ;}
+    break;
+
+  case 491:
+#line 5320 "Gmsh.y"
+    {
+      (yyval.l) = (yyvsp[(3) - (3)].l);
+      for(int i = 0; i < List_Nbr((yyval.l)); i++){
+	double *pd = (double*)List_Pointer((yyval.l), i);
+	(*pd) *= (yyvsp[(1) - (3)].d);
+      }
+    ;}
+    break;
+
+  case 492:
+#line 5328 "Gmsh.y"
+    {
+      (yyval.l) = List_Create(2, 1, sizeof(double));
+      for(double d = (yyvsp[(1) - (3)].d); ((yyvsp[(1) - (3)].d) < (yyvsp[(3) - (3)].d)) ? (d <= (yyvsp[(3) - (3)].d)) : (d >= (yyvsp[(3) - (3)].d));
+          ((yyvsp[(1) - (3)].d) < (yyvsp[(3) - (3)].d)) ? (d += 1.) : (d -= 1.))
+	List_Add((yyval.l), &d);
+    ;}
+    break;
+
+  case 493:
+#line 5335 "Gmsh.y"
+    {
+      (yyval.l) = List_Create(2, 1, sizeof(double));
+      if(!(yyvsp[(5) - (5)].d)){  //|| ($1 < $3 && $5 < 0) || ($1 > $3 && $5 > 0)
+        yymsg(0, "Wrong increment in '%g:%g:%g'", (yyvsp[(1) - (5)].d), (yyvsp[(3) - (5)].d), (yyvsp[(5) - (5)].d));
+      }
+      else
+	for(double d = (yyvsp[(1) - (5)].d); ((yyvsp[(5) - (5)].d) > 0) ? (d <= (yyvsp[(3) - (5)].d)) : (d >= (yyvsp[(3) - (5)].d)); d += (yyvsp[(5) - (5)].d))
+	  List_Add((yyval.l), &d);
+   ;}
+    break;
+
+  case 494:
+#line 5345 "Gmsh.y"
+    {
+      (yyval.l) = List_Create(3, 1, sizeof(double));
+      int tag = (int)(yyvsp[(3) - (4)].d);
+      double x = 0., y = 0., z = 0.;
+      bool found = GModel::current()->getGEOInternals()->getVertex(tag, x, y, z);
+      if(!found && GModel::current()->getOCCInternals())
+        found = GModel::current()->getOCCInternals()->getVertex(tag, x, y, z);
+      if(!found){
+        GVertex *gv = GModel::current()->getVertexByTag(tag);
+        if(gv){
+          x = gv->x();
+          y = gv->y();
+          z = gv->z();
+        }
+        else{
+          yymsg(0, "Unknown model vertex with tag %d", tag);
+        }
+      }
+      List_Add((yyval.l), &x);
+      List_Add((yyval.l), &y);
+      List_Add((yyval.l), &z);
+    ;}
+    break;
+
+  case 495:
+#line 5368 "Gmsh.y"
+    {
+      (yyval.l) = List_Create(10, 10, sizeof(double));
+      getAllElementaryTags(0, (yyval.l));
+      Free((yyvsp[(2) - (2)].c));
+    ;}
+    break;
+
+  case 496:
+#line 5374 "Gmsh.y"
+    {
+      (yyval.l) = List_Create(10, 10, sizeof(double));
+      getAllElementaryTags(1, (yyval.l));
+      Free((yyvsp[(2) - (2)].c));
+    ;}
+    break;
+
+  case 497:
+#line 5380 "Gmsh.y"
+    {
+      (yyval.l) = List_Create(10, 10, sizeof(double));
+      getAllElementaryTags(2, (yyval.l));
+      Free((yyvsp[(2) - (2)].c));
+    ;}
+    break;
+
+  case 498:
+#line 5386 "Gmsh.y"
+    {
+      (yyval.l) = List_Create(10, 10, sizeof(double));
+      getAllElementaryTags(3, (yyval.l));
+      Free((yyvsp[(2) - (2)].c));
+    ;}
+    break;
+
+  case 499:
+#line 5392 "Gmsh.y"
+    {
+      (yyval.l) = List_Create(10, 10, sizeof(double));
+      if(!(yyvsp[(3) - (3)].l)){
+        getAllPhysicalTags(0, (yyval.l));
+      }
+      else{
+        getElementaryTagsForPhysicalGroups(0, (yyvsp[(3) - (3)].l), (yyval.l));
+        List_Delete((yyvsp[(3) - (3)].l));
+      }
+    ;}
+    break;
+
+  case 500:
+#line 5403 "Gmsh.y"
+    {
+      (yyval.l) = List_Create(10, 10, sizeof(double));
+      if(!(yyvsp[(3) - (3)].l)){
+        getAllPhysicalTags(1, (yyval.l));
+      }
+      else{
+        getElementaryTagsForPhysicalGroups(1, (yyvsp[(3) - (3)].l), (yyval.l));
+        List_Delete((yyvsp[(3) - (3)].l));
+      }
+    ;}
+    break;
+
+  case 501:
+#line 5414 "Gmsh.y"
+    {
+      (yyval.l) = List_Create(10, 10, sizeof(double));
+      if(!(yyvsp[(3) - (3)].l)){
+        getAllPhysicalTags(2, (yyval.l));
+      }
+      else{
+        getElementaryTagsForPhysicalGroups(2, (yyvsp[(3) - (3)].l), (yyval.l));
+        List_Delete((yyvsp[(3) - (3)].l));
+      }
+    ;}
+    break;
+
+  case 502:
+#line 5425 "Gmsh.y"
+    {
+      (yyval.l) = List_Create(10, 10, sizeof(double));
+      if(!(yyvsp[(3) - (3)].l)){
+        getAllPhysicalTags(3, (yyval.l));
+      }
+      else{
+        getElementaryTagsForPhysicalGroups(3, (yyvsp[(3) - (3)].l), (yyval.l));
+        List_Delete((yyvsp[(3) - (3)].l));
+      }
+    ;}
+    break;
+
+  case 503:
+#line 5437 "Gmsh.y"
+    {
+      (yyval.l) = List_Create(10, 10, sizeof(double));
+      getElementaryTagsInBoundingBox(0, (yyvsp[(5) - (16)].d), (yyvsp[(7) - (16)].d), (yyvsp[(9) - (16)].d), (yyvsp[(11) - (16)].d), (yyvsp[(13) - (16)].d), (yyvsp[(15) - (16)].d), (yyval.l));
+    ;}
+    break;
+
+  case 504:
+#line 5443 "Gmsh.y"
+    {
+      (yyval.l) = List_Create(10, 10, sizeof(double));
+      getElementaryTagsInBoundingBox(1, (yyvsp[(5) - (16)].d), (yyvsp[(7) - (16)].d), (yyvsp[(9) - (16)].d), (yyvsp[(11) - (16)].d), (yyvsp[(13) - (16)].d), (yyvsp[(15) - (16)].d), (yyval.l));
+    ;}
+    break;
+
+  case 505:
+#line 5449 "Gmsh.y"
+    {
+      (yyval.l) = List_Create(10, 10, sizeof(double));
+      getElementaryTagsInBoundingBox(2, (yyvsp[(5) - (16)].d), (yyvsp[(7) - (16)].d), (yyvsp[(9) - (16)].d), (yyvsp[(11) - (16)].d), (yyvsp[(13) - (16)].d), (yyvsp[(15) - (16)].d), (yyval.l));
+    ;}
+    break;
+
+  case 506:
+#line 5455 "Gmsh.y"
+    {
+      (yyval.l) = List_Create(10, 10, sizeof(double));
+      getElementaryTagsInBoundingBox(3, (yyvsp[(5) - (16)].d), (yyvsp[(7) - (16)].d), (yyvsp[(9) - (16)].d), (yyvsp[(11) - (16)].d), (yyvsp[(13) - (16)].d), (yyvsp[(15) - (16)].d), (yyval.l));
+    ;}
+    break;
+
+  case 507:
+#line 5460 "Gmsh.y"
+    {
+      (yyval.l) = List_Create(List_Nbr((yyvsp[(1) - (1)].l)), 1, sizeof(double));
+      for(int i = 0; i < List_Nbr((yyvsp[(1) - (1)].l)); i++){
+	Shape *s = (Shape*) List_Pointer((yyvsp[(1) - (1)].l), i);
+	double d = s->Num;
+	List_Add((yyval.l), &d);
+      }
+      List_Delete((yyvsp[(1) - (1)].l));
+    ;}
+    break;
+
+  case 508:
+#line 5470 "Gmsh.y"
+    {
+      (yyval.l) = List_Create(List_Nbr((yyvsp[(1) - (1)].l)), 1, sizeof(double));
+      for(int i = 0; i < List_Nbr((yyvsp[(1) - (1)].l)); i++){
+	Shape *s = (Shape*) List_Pointer((yyvsp[(1) - (1)].l), i);
+	double d = s->Num;
+	List_Add((yyval.l), &d);
+      }
+      List_Delete((yyvsp[(1) - (1)].l));
+    ;}
+    break;
+
+  case 509:
+#line 5480 "Gmsh.y"
+    {
+      (yyval.l) = List_Create(List_Nbr((yyvsp[(1) - (1)].l)), 1, sizeof(double));
+      for(int i = 0; i < List_Nbr((yyvsp[(1) - (1)].l)); i++){
+	Shape *s = (Shape*) List_Pointer((yyvsp[(1) - (1)].l), i);
+	double d = s->Num;
+	List_Add((yyval.l), &d);
+      }
+      List_Delete((yyvsp[(1) - (1)].l));
+    ;}
+    break;
+
+  case 510:
+#line 5490 "Gmsh.y"
+    {
+      (yyval.l) = List_Create(2, 1, sizeof(double));
+      if(!gmsh_yysymbols.count((yyvsp[(1) - (3)].c)))
+	yymsg(0, "Unknown variable '%s'", (yyvsp[(1) - (3)].c));
+      else{
+        gmsh_yysymbol &s(gmsh_yysymbols[(yyvsp[(1) - (3)].c)]);
+	for(unsigned int i = 0; i < s.value.size(); i++)
+	  List_Add((yyval.l), &s.value[i]);
+      }
+      Free((yyvsp[(1) - (3)].c));
+    ;}
+    break;
+
+  case 511:
+#line 5503 "Gmsh.y"
+    {
+      (yyval.l) = List_Create(2, 1, sizeof(double));
+      if(!gmsh_yysymbols.count((yyvsp[(3) - (4)].c)))
+	yymsg(0, "Unknown variable '%s'", (yyvsp[(3) - (4)].c));
+      else{
+        gmsh_yysymbol &s(gmsh_yysymbols[(yyvsp[(3) - (4)].c)]);
+	for(unsigned int i = 0; i < s.value.size(); i++)
+	  List_Add((yyval.l), &s.value[i]);
+      }
+      Free((yyvsp[(3) - (4)].c));
+    ;}
+    break;
+
+  case 512:
+#line 5515 "Gmsh.y"
+    {
+      (yyval.l) = (yyvsp[(3) - (4)].l);
+    ;}
+    break;
+
+  case 513:
+#line 5519 "Gmsh.y"
+    {
+      (yyval.l) = (yyvsp[(3) - (4)].l);
+    ;}
+    break;
+
+  case 514:
+#line 5523 "Gmsh.y"
+    {
+      (yyval.l) = (yyvsp[(4) - (6)].l);
+    ;}
+    break;
+
+  case 515:
+#line 5527 "Gmsh.y"
+    {
+      (yyval.l) = List_Create(2, 1, sizeof(double));
+      if(!gmsh_yysymbols.count((yyvsp[(1) - (6)].c)))
+	yymsg(0, "Unknown variable '%s'", (yyvsp[(1) - (6)].c));
+      else{
+        gmsh_yysymbol &s(gmsh_yysymbols[(yyvsp[(1) - (6)].c)]);
+	for(int i = 0; i < List_Nbr((yyvsp[(4) - (6)].l)); i++){
+	  int index = (int)(*(double*)List_Pointer_Fast((yyvsp[(4) - (6)].l), i));
+	  if((int)s.value.size() < index + 1)
+	    yymsg(0, "Uninitialized variable '%s[%d]'", (yyvsp[(1) - (6)].c), index);
+	  else
+	    List_Add((yyval.l), &s.value[index]);
+	}
+      }
+      Free((yyvsp[(1) - (6)].c));
+      List_Delete((yyvsp[(4) - (6)].l));
+    ;}
+    break;
+
+  case 516:
+#line 5545 "Gmsh.y"
+    {
+      (yyval.l) = List_Create(20,20,sizeof(double));
+      for(int i = 0; i < (int)(yyvsp[(7) - (8)].d); i++) {
+	double d = (yyvsp[(3) - (8)].d) + ((yyvsp[(5) - (8)].d)-(yyvsp[(3) - (8)].d))*(double)i/((yyvsp[(7) - (8)].d)-1);
+	List_Add((yyval.l), &d);
+      }
+    ;}
+    break;
+
+  case 517:
+#line 5553 "Gmsh.y"
+    {
+      (yyval.l) = List_Create(20,20,sizeof(double));
+      for(int i = 0; i < (int)(yyvsp[(7) - (8)].d); i++) {
+	double d = pow(10,(yyvsp[(3) - (8)].d) + ((yyvsp[(5) - (8)].d)-(yyvsp[(3) - (8)].d))*(double)i/((yyvsp[(7) - (8)].d)-1));
+	List_Add((yyval.l), &d);
+      }
+    ;}
+    break;
+
+  case 518:
+#line 5561 "Gmsh.y"
+    {
+      Msg::Barrier();
+      FILE *File;
+      (yyval.l) = List_Create(100, 100, sizeof(double));
+      std::string tmp = FixRelativePath(gmsh_yyname, (yyvsp[(3) - (4)].c));
+      if(!(File = Fopen(tmp.c_str(), "rb"))){
+        yymsg(0, "Could not open file '%s'", (yyvsp[(3) - (4)].c));
+      }
+      else{
+	double d;
+	while(!feof(File)){
+          int ret = fscanf(File, "%lf", &d);
+	  if(ret == 1){
+	    List_Add((yyval.l), &d);
+          }
+          else if(ret == EOF){
+            break;
+          }
+          else{
+            char dummy[1024];
+            fscanf(File, "%s", dummy);
+            yymsg(0, "Ignoring '%s' in file '%s'", dummy, (yyvsp[(3) - (4)].c));
+          }
+        }
+	fclose(File);
+      }
+      Free((yyvsp[(3) - (4)].c));
+    ;}
+    break;
+
+  case 519:
+#line 5590 "Gmsh.y"
+    {
+      double x0 = (yyvsp[(3) - (14)].d), x1 = (yyvsp[(5) - (14)].d), y0 = (yyvsp[(7) - (14)].d), y1 = (yyvsp[(9) - (14)].d), ys = (yyvsp[(11) - (14)].d);
+      int N = (int)(yyvsp[(13) - (14)].d);
+      std::vector<double> y(N);
+      if(!catenary(x0, x1, y0, y1, ys, N, &y[0]))
+        Msg::Warning("Catenary did not converge, using linear interpolation");
+      (yyval.l) = List_Create(N,10,sizeof(double));
+      for(int i = 0; i < N; i++) List_Add((yyval.l), &y[i]);
+    ;}
+    break;
+
+  case 520:
+#line 5600 "Gmsh.y"
+    {
+      std::vector<double> tmp;
+      for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++){
+        double d; List_Read((yyvsp[(3) - (4)].l), i, &d);
+        tmp.push_back(d);
+      }
+      std::sort(tmp.begin(), tmp.end());
+      std::vector<double>::iterator last = std::unique(tmp.begin(), tmp.end());
+      tmp.erase(last, tmp.end());
+      (yyval.l) = (yyvsp[(3) - (4)].l);
+      List_Reset((yyval.l));
+      for(unsigned int i = 0; i < tmp.size(); i++){
+        List_Add((yyval.l), &tmp[i]);
+      }
+    ;}
+    break;
+
+  case 521:
+#line 5616 "Gmsh.y"
+    {
+      for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++){
+        double *d = (double*)List_Pointer((yyvsp[(3) - (4)].l), i);
+        *d = std::abs(*d);
+      }
+      (yyval.l) = (yyvsp[(3) - (4)].l);
+    ;}
+    break;
+
+  case 522:
+#line 5627 "Gmsh.y"
+    {
+      (yyval.l) = List_Create(2, 1, sizeof(double));
+      List_Add((yyval.l), &((yyvsp[(1) - (1)].d)));
+    ;}
+    break;
+
+  case 523:
+#line 5632 "Gmsh.y"
+    {
+      (yyval.l) = (yyvsp[(1) - (1)].l);
+    ;}
+    break;
+
+  case 524:
+#line 5636 "Gmsh.y"
+    {
+      List_Add((yyval.l), &((yyvsp[(3) - (3)].d)));
+    ;}
+    break;
+
+  case 525:
+#line 5640 "Gmsh.y"
+    {
+      for(int i = 0; i < List_Nbr((yyvsp[(3) - (3)].l)); i++){
+	double d;
+	List_Read((yyvsp[(3) - (3)].l), i, &d);
+	List_Add((yyval.l), &d);
+      }
+      List_Delete((yyvsp[(3) - (3)].l));
+    ;}
+    break;
+
+  case 526:
+#line 5652 "Gmsh.y"
+    {
+      (yyval.u) = CTX::instance()->packColor((int)(yyvsp[(2) - (9)].d), (int)(yyvsp[(4) - (9)].d), (int)(yyvsp[(6) - (9)].d), (int)(yyvsp[(8) - (9)].d));
+    ;}
+    break;
+
+  case 527:
+#line 5656 "Gmsh.y"
+    {
+      (yyval.u) = CTX::instance()->packColor((int)(yyvsp[(2) - (7)].d), (int)(yyvsp[(4) - (7)].d), (int)(yyvsp[(6) - (7)].d), 255);
+    ;}
+    break;
+
+  case 528:
+#line 5668 "Gmsh.y"
+    {
+      int flag = 0;
+      if(gmsh_yystringsymbols.count((yyvsp[(1) - (1)].c))){
+        if(gmsh_yystringsymbols[(yyvsp[(1) - (1)].c)].size()){
+          (yyval.u) = GetColorForString(-1, gmsh_yystringsymbols[(yyvsp[(1) - (1)].c)][0].c_str(), &flag);
+        }
+        else{
+          yymsg(0, "Unknown color '%s'", (yyvsp[(1) - (1)].c));
+          (yyval.u) = 0;
+        }
+      }
+      else
+        (yyval.u) = GetColorForString(-1, (yyvsp[(1) - (1)].c), &flag);
+      if(flag) yymsg(0, "Unknown color '%s'", (yyvsp[(1) - (1)].c));
+      Free((yyvsp[(1) - (1)].c));
+    ;}
+    break;
+
+  case 529:
+#line 5685 "Gmsh.y"
+    {
+      unsigned int val = 0;
+      ColorOption(GMSH_GET, (yyvsp[(1) - (5)].c), 0, (yyvsp[(5) - (5)].c), val);
+      (yyval.u) = val;
+      Free((yyvsp[(1) - (5)].c)); Free((yyvsp[(5) - (5)].c));
+    ;}
+    break;
+
+  case 530:
+#line 5695 "Gmsh.y"
+    {
+      (yyval.l) = (yyvsp[(2) - (3)].l);
+    ;}
+    break;
+
+  case 531:
+#line 5699 "Gmsh.y"
+    {
+      (yyval.l) = List_Create(256, 10, sizeof(unsigned int));
+      GmshColorTable *ct = GetColorTable((int)(yyvsp[(3) - (6)].d));
+      if(!ct)
+	yymsg(0, "View[%d] does not exist", (int)(yyvsp[(3) - (6)].d));
+      else{
+	for(int i = 0; i < ct->size; i++)
+	  List_Add((yyval.l), &ct->table[i]);
+      }
+      Free((yyvsp[(1) - (6)].c));
+    ;}
+    break;
+
+  case 532:
+#line 5714 "Gmsh.y"
+    {
+      (yyval.l) = List_Create(256, 10, sizeof(unsigned int));
+      List_Add((yyval.l), &((yyvsp[(1) - (1)].u)));
+    ;}
+    break;
+
+  case 533:
+#line 5719 "Gmsh.y"
+    {
+      List_Add((yyval.l), &((yyvsp[(3) - (3)].u)));
+    ;}
+    break;
+
+  case 534:
+#line 5726 "Gmsh.y"
+    {
+      (yyval.c) = (yyvsp[(1) - (1)].c);
+    ;}
+    break;
+
+  case 535:
+#line 5730 "Gmsh.y"
+    {
+      // No need to extend to Struct_FullName (a Tag is not a String)
+      (yyval.c) = treat_Struct_FullName_String(NULL, (yyvsp[(1) - (1)].c));
+    ;}
+    break;
+
+  case 536:
+#line 5735 "Gmsh.y"
+    {
+      std::string val;
+      int j = (int)(yyvsp[(3) - (4)].d);
+      if(!gmsh_yystringsymbols.count((yyvsp[(1) - (4)].c)))
+        yymsg(0, "Unknown string variable '%s'", (yyvsp[(1) - (4)].c));
+      else if(j >= 0 && j < (int)gmsh_yystringsymbols[(yyvsp[(1) - (4)].c)].size())
+        val = gmsh_yystringsymbols[(yyvsp[(1) - (4)].c)][j];
+      else
+        yymsg(0, "Index %d out of range", j);
+      (yyval.c) = (char *)Malloc((val.size() + 1) * sizeof(char));
+      strcpy((yyval.c), val.c_str());
+      Free((yyvsp[(1) - (4)].c));
+    ;}
+    break;
+
+  case 537:
+#line 5749 "Gmsh.y"
+    {
+      std::string val;
+      int j = (int)(yyvsp[(3) - (4)].d);
+      if(!gmsh_yystringsymbols.count((yyvsp[(1) - (4)].c)))
+        yymsg(0, "Unknown string variable '%s'", (yyvsp[(1) - (4)].c));
+      else if(j >= 0 && j < (int)gmsh_yystringsymbols[(yyvsp[(1) - (4)].c)].size())
+        val = gmsh_yystringsymbols[(yyvsp[(1) - (4)].c)][j];
+      else
+        yymsg(0, "Index %d out of range", j);
+      (yyval.c) = (char *)Malloc((val.size() + 1) * sizeof(char));
+      strcpy((yyval.c), val.c_str());
+      Free((yyvsp[(1) - (4)].c));
+    ;}
+    break;
+
+  case 538:
+#line 5766 "Gmsh.y"
+    {
+      (yyval.c) = treat_Struct_FullName_dot_tSTRING_String(NULL, (yyvsp[(1) - (3)].c), (yyvsp[(3) - (3)].c));
+    ;}
+    break;
+
+  case 539:
+#line 5770 "Gmsh.y"
+    {
+      (yyval.c) = treat_Struct_FullName_dot_tSTRING_String((yyvsp[(1) - (5)].c), (yyvsp[(3) - (5)].c), (yyvsp[(5) - (5)].c));
+    ;}
+    break;
+
+  case 540:
+#line 5775 "Gmsh.y"
+    {
+      (yyval.c) = treat_Struct_FullName_dot_tSTRING_String(NULL, (yyvsp[(1) - (6)].c), (yyvsp[(3) - (6)].c), (int)(yyvsp[(5) - (6)].d));
+    ;}
+    break;
+
+  case 541:
+#line 5779 "Gmsh.y"
+    {
+      (yyval.c) = treat_Struct_FullName_dot_tSTRING_String((yyvsp[(1) - (8)].c), (yyvsp[(3) - (8)].c), (yyvsp[(5) - (8)].c), (int)(yyvsp[(7) - (8)].d));
+    ;}
+    break;
+
+  case 542:
+#line 5784 "Gmsh.y"
+    {
+      std::string out;
+      StringOption(GMSH_GET, (yyvsp[(1) - (6)].c), (int)(yyvsp[(3) - (6)].d), (yyvsp[(6) - (6)].c), out);
+      (yyval.c) = (char*)Malloc((out.size() + 1) * sizeof(char));
+      strcpy((yyval.c), out.c_str());
+      Free((yyvsp[(1) - (6)].c)); Free((yyvsp[(6) - (6)].c));
+    ;}
+    break;
+
+  case 543:
+#line 5792 "Gmsh.y"
+    {
+      std::string name = GModel::current()->getPhysicalName(0, (int)(yyvsp[(4) - (5)].d));
+      (yyval.c) = (char*)Malloc((name.size() + 1) * sizeof(char));
+      strcpy((yyval.c), name.c_str());
+    ;}
+    break;
+
+  case 544:
+#line 5798 "Gmsh.y"
+    {
+      std::string name = GModel::current()->getPhysicalName(1, (int)(yyvsp[(4) - (5)].d));
+      (yyval.c) = (char*)Malloc((name.size() + 1) * sizeof(char));
+      strcpy((yyval.c), name.c_str());
+    ;}
+    break;
+
+  case 545:
+#line 5804 "Gmsh.y"
+    {
+      std::string name = GModel::current()->getPhysicalName(2, (int)(yyvsp[(4) - (5)].d));
+      (yyval.c) = (char*)Malloc((name.size() + 1) * sizeof(char));
+      strcpy((yyval.c), name.c_str());
+    ;}
+    break;
+
+  case 546:
+#line 5810 "Gmsh.y"
+    {
+      std::string name = GModel::current()->getPhysicalName(3, (int)(yyvsp[(4) - (5)].d));
+      (yyval.c) = (char*)Malloc((name.size() + 1) * sizeof(char));
+      strcpy((yyval.c), name.c_str());
+    ;}
+    break;
+
+  case 547:
+#line 5819 "Gmsh.y"
+    {
+      (yyval.c) = (yyvsp[(1) - (1)].c);
+    ;}
+    break;
+
+  case 548:
+#line 5823 "Gmsh.y"
+    {
+      (yyval.c) = (yyvsp[(3) - (4)].c);
+    ;}
+    break;
+
+  case 549:
+#line 5827 "Gmsh.y"
+    {
+      (yyval.c) = (char *)Malloc(32 * sizeof(char));
+      time_t now;
+      time(&now);
+      strcpy((yyval.c), ctime(&now));
+      (yyval.c)[strlen((yyval.c)) - 1] = '\0';
+    ;}
+    break;
+
+  case 550:
+#line 5835 "Gmsh.y"
+    {
+      std::string exe = Msg::GetExecutableName();
+      (yyval.c) = (char *)Malloc(exe.size() + 1);
+      strcpy((yyval.c), exe.c_str());
+    ;}
+    break;
+
+  case 551:
+#line 5841 "Gmsh.y"
+    {
+      std::string action = Msg::GetOnelabAction();
+      (yyval.c) = (char *)Malloc(action.size() + 1);
+      strcpy((yyval.c), action.c_str());
+    ;}
+    break;
+
+  case 552:
+#line 5847 "Gmsh.y"
+    {
+      (yyval.c) = strsave((char*)"Gmsh");
+    ;}
+    break;
+
+  case 553:
+#line 5851 "Gmsh.y"
+    {
+      const char *env = GetEnvironmentVar((yyvsp[(3) - (4)].c));
+      if(!env) env = "";
+      (yyval.c) = (char *)Malloc((sizeof(env) + 1) * sizeof(char));
+      strcpy((yyval.c), env);
+      Free((yyvsp[(3) - (4)].c));
+    ;}
+    break;
+
+  case 554:
+#line 5859 "Gmsh.y"
+    {
+      std::string s = Msg::GetString((yyvsp[(3) - (6)].c), (yyvsp[(5) - (6)].c));
+      (yyval.c) = (char *)Malloc((s.size() + 1) * sizeof(char));
+      strcpy((yyval.c), s.c_str());
+      Free((yyvsp[(3) - (6)].c));
+      Free((yyvsp[(5) - (6)].c));
+    ;}
+    break;
+
+  case 555:
+#line 5867 "Gmsh.y"
+    {
+      std::string s = Msg::GetOnelabString((yyvsp[(3) - (4)].c));
+      (yyval.c) = (char *)Malloc((s.size() + 1) * sizeof(char));
+      strcpy((yyval.c), s.c_str());
+      Free((yyvsp[(3) - (4)].c));
+    ;}
+    break;
+
+  case 556:
+#line 5874 "Gmsh.y"
+    {
+      std::string s = Msg::GetOnelabString((yyvsp[(3) - (6)].c), (yyvsp[(5) - (6)].c));
+      (yyval.c) = (char *)Malloc((s.size() + 1) * sizeof(char));
+      strcpy((yyval.c), s.c_str());
+      Free((yyvsp[(3) - (6)].c));
+      Free((yyvsp[(5) - (6)].c));
+    ;}
+    break;
+
+  case 557:
+#line 5884 "Gmsh.y"
+    {
+      (yyval.c) = treat_Struct_FullName_String(NULL, (yyvsp[(3) - (5)].c2).char2, 1, 0, (yyvsp[(4) - (5)].c), 2);
+    ;}
+    break;
+
+  case 558:
+#line 5889 "Gmsh.y"
+    {
+      (yyval.c) = treat_Struct_FullName_dot_tSTRING_String((yyvsp[(3) - (7)].c2).char1, (yyvsp[(3) - (7)].c2).char2, (yyvsp[(5) - (7)].c), 0, (yyvsp[(6) - (7)].c), 2);
+    ;}
+    break;
+
+  case 559:
+#line 5894 "Gmsh.y"
+    {
+      int size = 1;
+      for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++)
+        size += strlen(*(char**)List_Pointer((yyvsp[(3) - (4)].l), i)) + 1;
+      (yyval.c) = (char*)Malloc(size * sizeof(char));
+      (yyval.c)[0] = '\0';
+      for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++){
+        char *s;
+        List_Read((yyvsp[(3) - (4)].l), i, &s);
+        strcat((yyval.c), s);
+        Free(s);
+      }
+      List_Delete((yyvsp[(3) - (4)].l));
+    ;}
+    break;
+
+  case 560:
+#line 5909 "Gmsh.y"
+    {
+      (yyval.c) = (char *)Malloc((strlen((yyvsp[(3) - (4)].c)) + 1) * sizeof(char));
+      int i;
+      for(i = strlen((yyvsp[(3) - (4)].c)) - 1; i >= 0; i--){
+	if((yyvsp[(3) - (4)].c)[i] == '.'){
+	  strncpy((yyval.c), (yyvsp[(3) - (4)].c), i);
+	  (yyval.c)[i]='\0';
+	  break;
+	}
+      }
+      if(i <= 0) strcpy((yyval.c), (yyvsp[(3) - (4)].c));
+      Free((yyvsp[(3) - (4)].c));
+    ;}
+    break;
+
+  case 561:
+#line 5923 "Gmsh.y"
+    {
+      (yyval.c) = (char *)Malloc((strlen((yyvsp[(3) - (4)].c)) + 1) * sizeof(char));
+      int i;
+      for(i = strlen((yyvsp[(3) - (4)].c)) - 1; i >= 0; i--){
+	if((yyvsp[(3) - (4)].c)[i] == '/' || (yyvsp[(3) - (4)].c)[i] == '\\')
+	  break;
+      }
+      if(i <= 0)
+	strcpy((yyval.c), (yyvsp[(3) - (4)].c));
+      else
+	strcpy((yyval.c), &(yyvsp[(3) - (4)].c)[i+1]);
+      Free((yyvsp[(3) - (4)].c));
+    ;}
+    break;
+
+  case 562:
+#line 5937 "Gmsh.y"
+    {
+      std::string input = (yyvsp[(3) - (8)].c);
+      std::string substr_old = (yyvsp[(5) - (8)].c);
+      std::string substr_new = (yyvsp[(7) - (8)].c);
+      std::string ret = ReplaceSubString(substr_old, substr_new, input);
+      (yyval.c) = (char *)Malloc((ret.size() + 1) * sizeof(char));
+      strcpy((yyval.c), ret.c_str());
+      Free((yyvsp[(3) - (8)].c));
+      Free((yyvsp[(5) - (8)].c));
+      Free((yyvsp[(7) - (8)].c));
+    ;}
+    break;
+
+  case 563:
+#line 5949 "Gmsh.y"
+    {
+      int size = 1;
+      for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++)
+        size += strlen(*(char**)List_Pointer((yyvsp[(3) - (4)].l), i)) + 1;
+      (yyval.c) = (char*)Malloc(size * sizeof(char));
+      (yyval.c)[0] = '\0';
+      for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++){
+        char *s;
+        List_Read((yyvsp[(3) - (4)].l), i, &s);
+        strcat((yyval.c), s);
+        Free(s);
+        if(i != List_Nbr((yyvsp[(3) - (4)].l)) - 1) strcat((yyval.c), "\n");
+      }
+      List_Delete((yyvsp[(3) - (4)].l));
+    ;}
+    break;
+
+  case 564:
+#line 5965 "Gmsh.y"
+    {
+      int i = 0;
+      while ((yyvsp[(3) - (4)].c)[i]) {
+        (yyvsp[(3) - (4)].c)[i] = toupper((yyvsp[(3) - (4)].c)[i]);
+        i++;
+      }
+      (yyval.c) = (yyvsp[(3) - (4)].c);
+    ;}
+    break;
+
+  case 565:
+#line 5974 "Gmsh.y"
+    {
+      int i = 0;
+      while ((yyvsp[(3) - (4)].c)[i]) {
+        (yyvsp[(3) - (4)].c)[i] = tolower((yyvsp[(3) - (4)].c)[i]);
+        i++;
+      }
+      (yyval.c) = (yyvsp[(3) - (4)].c);
+    ;}
+    break;
+
+  case 566:
+#line 5983 "Gmsh.y"
+    {
+      int i = 0;
+      while ((yyvsp[(3) - (4)].c)[i]) {
+        if (i > 0 && (yyvsp[(3) - (4)].c)[i-1] != '_')
+          (yyvsp[(3) - (4)].c)[i] = tolower((yyvsp[(3) - (4)].c)[i]);
+        i++;
+      }
+      (yyval.c) = (yyvsp[(3) - (4)].c);
+    ;}
+    break;
+
+  case 567:
+#line 5993 "Gmsh.y"
+    {
+      if((yyvsp[(3) - (8)].d)){
+        (yyval.c) = (yyvsp[(5) - (8)].c);
+        Free((yyvsp[(7) - (8)].c));
+      }
+      else{
+        (yyval.c) = (yyvsp[(7) - (8)].c);
+        Free((yyvsp[(5) - (8)].c));
+      }
+    ;}
+    break;
+
+  case 568:
+#line 6004 "Gmsh.y"
+    {
+      std::string in = (yyvsp[(3) - (8)].c);
+      std::string out = in.substr((int)(yyvsp[(5) - (8)].d), (int)(yyvsp[(7) - (8)].d));
+      (yyval.c) = (char *)Malloc((out.size() + 1) * sizeof(char));
+      strcpy((yyval.c), out.c_str());
+      Free((yyvsp[(3) - (8)].c));
+    ;}
+    break;
+
+  case 569:
+#line 6012 "Gmsh.y"
+    {
+      std::string in = (yyvsp[(3) - (6)].c);
+      std::string out = in.substr((int)(yyvsp[(5) - (6)].d), std::string::npos);
+      (yyval.c) = (char *)Malloc((out.size() + 1) * sizeof(char));
+      strcpy((yyval.c), out.c_str());
+      Free((yyvsp[(3) - (6)].c));
+    ;}
+    break;
+
+  case 570:
+#line 6020 "Gmsh.y"
+    {
+      (yyval.c) = (yyvsp[(3) - (4)].c);
+    ;}
+    break;
+
+  case 571:
+#line 6024 "Gmsh.y"
+    {
+      char tmpstring[5000];
+      int i = printListOfDouble((yyvsp[(3) - (6)].c), (yyvsp[(5) - (6)].l), tmpstring);
+      if(i < 0){
+	yymsg(0, "Too few arguments in Sprintf");
+	(yyval.c) = (yyvsp[(3) - (6)].c);
+      }
+      else if(i > 0){
+	yymsg(0, "%d extra argument%s in Sprintf", i, (i > 1) ? "s" : "");
+	(yyval.c) = (yyvsp[(3) - (6)].c);
+      }
+      else{
+	(yyval.c) = (char*)Malloc((strlen(tmpstring) + 1) * sizeof(char));
+	strcpy((yyval.c), tmpstring);
+	Free((yyvsp[(3) - (6)].c));
+      }
+      List_Delete((yyvsp[(5) - (6)].l));
+    ;}
+    break;
+
+  case 572:
+#line 6043 "Gmsh.y"
+    {
+      std::string tmp = FixRelativePath(gmsh_yyname, (yyvsp[(3) - (4)].c));
+      (yyval.c) = (char*)Malloc((tmp.size() + 1) * sizeof(char));
+      strcpy((yyval.c), tmp.c_str());
+      Free((yyvsp[(3) - (4)].c));
+    ;}
+    break;
+
+  case 573:
+#line 6050 "Gmsh.y"
+    {
+      std::string tmp = SplitFileName(GetAbsolutePath(gmsh_yyname))[0];
+      (yyval.c) = (char*)Malloc((tmp.size() + 1) * sizeof(char));
+      strcpy((yyval.c), tmp.c_str());
+    ;}
+    break;
+
+  case 574:
+#line 6056 "Gmsh.y"
+    {
+      std::string tmp = SplitFileName((yyvsp[(3) - (4)].c))[0];
+      (yyval.c) = (char*)Malloc((tmp.size() + 1) * sizeof(char));
+      strcpy((yyval.c), tmp.c_str());
+      Free((yyvsp[(3) - (4)].c));
+    ;}
+    break;
+
+  case 575:
+#line 6063 "Gmsh.y"
+    {
+      std::string tmp = GetAbsolutePath((yyvsp[(3) - (4)].c));
+      (yyval.c) = (char*)Malloc((tmp.size() + 1) * sizeof(char));
+      strcpy((yyval.c), tmp.c_str());
+      Free((yyvsp[(3) - (4)].c));
+    ;}
+    break;
+
+  case 576:
+#line 6070 "Gmsh.y"
+    { init_options(); ;}
+    break;
+
+  case 577:
+#line 6072 "Gmsh.y"
+    {
+      std::string val((yyvsp[(3) - (6)].c));
+      Msg::ExchangeOnelabParameter("", val, floatOptions, charOptions);
+      (yyval.c) = (char*)Malloc((val.size() + 1) * sizeof(char));
+      strcpy((yyval.c), val.c_str());
+      Free((yyvsp[(3) - (6)].c));
+    ;}
+    break;
+
+  case 578:
+#line 6080 "Gmsh.y"
+    {
+      std::string out;
+      const std::string * key_struct = NULL;
+      switch (nameSpaces.get_key_struct_from_tag(struct_namespace,
+                                                 (int)(yyvsp[(3) - (4)].d), key_struct)) {
+      case 0:
+        out = *key_struct;
+        break;
+      case 1:
+        yymsg(1, "Unknown NameSpace '%s' of Struct", struct_namespace.c_str());
+        break;
+      case 2:
+        yymsg(1, "Unknown Struct of index %d", (int)(yyvsp[(3) - (4)].d));
+        break;
+      default:
+        break;
+      }
+      (yyval.c) = (char*)Malloc((out.size() + 1) * sizeof(char));
+      strcpy((yyval.c), out.c_str());
+    ;}
+    break;
+
+  case 579:
+#line 6104 "Gmsh.y"
+    { struct_namespace = std::string(""); (yyval.d) = (yyvsp[(2) - (2)].d); ;}
+    break;
+
+  case 580:
+#line 6106 "Gmsh.y"
+    { struct_namespace = (yyvsp[(1) - (4)].c); Free((yyvsp[(1) - (4)].c)); (yyval.d) = (yyvsp[(4) - (4)].d); ;}
+    break;
+
+  case 581:
+#line 6112 "Gmsh.y"
+    {
+      (yyval.l) = List_Create(20,20,sizeof(char*));
+      List_Add((yyval.l), &((yyvsp[(1) - (1)].c)));
+    ;}
+    break;
+
+  case 582:
+#line 6117 "Gmsh.y"
+    {
+      List_Add((yyval.l), &((yyvsp[(3) - (3)].c)));
+    ;}
+    break;
+
+  case 583:
+#line 6125 "Gmsh.y"
+    {
+      char tmpstr[256];
+      sprintf(tmpstr, "_%d", (int)(yyvsp[(4) - (5)].d));
+      (yyval.c) = (char *)Malloc((strlen((yyvsp[(1) - (5)].c))+strlen(tmpstr)+1)*sizeof(char));
+      strcpy((yyval.c), (yyvsp[(1) - (5)].c)); strcat((yyval.c), tmpstr);
+      Free((yyvsp[(1) - (5)].c));
+    ;}
+    break;
+
+  case 584:
+#line 6134 "Gmsh.y"
+    {
+      char tmpstr[256];
+      sprintf(tmpstr, "_%d", (int)(yyvsp[(4) - (5)].d));
+      (yyval.c) = (char *)Malloc((strlen((yyvsp[(1) - (5)].c))+strlen(tmpstr)+1)*sizeof(char)) ;
+      strcpy((yyval.c), (yyvsp[(1) - (5)].c)) ; strcat((yyval.c), tmpstr) ;
+      Free((yyvsp[(1) - (5)].c));
+    ;}
+    break;
+
+  case 585:
+#line 6143 "Gmsh.y"
+    {
+      char tmpstr[256];
+      sprintf(tmpstr, "_%d", (int)(yyvsp[(7) - (8)].d));
+      (yyval.c) = (char *)Malloc((strlen((yyvsp[(3) - (8)].c))+strlen(tmpstr)+1)*sizeof(char));
+      strcpy((yyval.c), (yyvsp[(3) - (8)].c)); strcat((yyval.c), tmpstr);
+      Free((yyvsp[(3) - (8)].c));
+    ;}
+    break;
+
+  case 586:
+#line 6155 "Gmsh.y"
+    { (yyval.c) = (yyvsp[(1) - (1)].c); ;}
+    break;
+
+  case 587:
+#line 6158 "Gmsh.y"
+    { (yyval.c) = (yyvsp[(1) - (1)].c); ;}
+    break;
+
+  case 588:
+#line 6162 "Gmsh.y"
+    { (yyval.c) = (yyvsp[(3) - (4)].c); ;}
+    break;
+
+
+/* Line 1267 of yacc.c.  */
+#line 13551 "Gmsh.tab.c"
+      default: break;
+    }
+  YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
+
+  YYPOPSTACK (yylen);
+  yylen = 0;
+  YY_STACK_PRINT (yyss, yyssp);
+
+  *++yyvsp = yyval;
+
+
+  /* Now `shift' the result of the reduction.  Determine what state
+     that goes to, based on the state we popped back to and the rule
+     number reduced by.  */
+
+  yyn = yyr1[yyn];
+
+  yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
+  if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
+    yystate = yytable[yystate];
+  else
+    yystate = yydefgoto[yyn - YYNTOKENS];
+
+  goto yynewstate;
+
+
+/*------------------------------------.
+| yyerrlab -- here on detecting error |
+`------------------------------------*/
+yyerrlab:
+  /* If not already recovering from an error, report this error.  */
+  if (!yyerrstatus)
+    {
+      ++yynerrs;
+#if ! YYERROR_VERBOSE
+      yyerror (YY_("syntax error"));
+#else
+      {
+	YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
+	if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
+	  {
+	    YYSIZE_T yyalloc = 2 * yysize;
+	    if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
+	      yyalloc = YYSTACK_ALLOC_MAXIMUM;
+	    if (yymsg != yymsgbuf)
+	      YYSTACK_FREE (yymsg);
+	    yymsg = (char *) YYSTACK_ALLOC (yyalloc);
+	    if (yymsg)
+	      yymsg_alloc = yyalloc;
+	    else
+	      {
+		yymsg = yymsgbuf;
+		yymsg_alloc = sizeof yymsgbuf;
+	      }
+	  }
+
+	if (0 < yysize && yysize <= yymsg_alloc)
+	  {
+	    (void) yysyntax_error (yymsg, yystate, yychar);
+	    yyerror (yymsg);
+	  }
+	else
+	  {
+	    yyerror (YY_("syntax error"));
+	    if (yysize != 0)
+	      goto yyexhaustedlab;
+	  }
+      }
+#endif
+    }
+
+
+
+  if (yyerrstatus == 3)
+    {
+      /* If just tried and failed to reuse look-ahead token after an
+	 error, discard it.  */
+
+      if (yychar <= YYEOF)
+	{
+	  /* Return failure if at end of input.  */
+	  if (yychar == YYEOF)
+	    YYABORT;
+	}
+      else
+	{
+	  yydestruct ("Error: discarding",
+		      yytoken, &yylval);
+	  yychar = YYEMPTY;
+	}
+    }
+
+  /* Else will try to reuse look-ahead token after shifting the error
+     token.  */
+  goto yyerrlab1;
+
+
+/*---------------------------------------------------.
+| yyerrorlab -- error raised explicitly by YYERROR.  |
+`---------------------------------------------------*/
+yyerrorlab:
+
+  /* Pacify compilers like GCC when the user code never invokes
+     YYERROR and the label yyerrorlab therefore never appears in user
+     code.  */
+  if (/*CONSTCOND*/ 0)
+     goto yyerrorlab;
+
+  /* Do not reclaim the symbols of the rule which action triggered
+     this YYERROR.  */
+  YYPOPSTACK (yylen);
+  yylen = 0;
+  YY_STACK_PRINT (yyss, yyssp);
+  yystate = *yyssp;
+  goto yyerrlab1;
+
+
+/*-------------------------------------------------------------.
+| yyerrlab1 -- common code for both syntax error and YYERROR.  |
+`-------------------------------------------------------------*/
+yyerrlab1:
+  yyerrstatus = 3;	/* Each real token shifted decrements this.  */
+
+  for (;;)
+    {
+      yyn = yypact[yystate];
+      if (yyn != YYPACT_NINF)
+	{
+	  yyn += YYTERROR;
+	  if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
+	    {
+	      yyn = yytable[yyn];
+	      if (0 < yyn)
+		break;
+	    }
+	}
+
+      /* Pop the current state because it cannot handle the error token.  */
+      if (yyssp == yyss)
+	YYABORT;
+
+
+      yydestruct ("Error: popping",
+		  yystos[yystate], yyvsp);
+      YYPOPSTACK (1);
+      yystate = *yyssp;
+      YY_STACK_PRINT (yyss, yyssp);
+    }
+
+  if (yyn == YYFINAL)
+    YYACCEPT;
+
+  *++yyvsp = yylval;
+
+
+  /* Shift the error token.  */
+  YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
+
+  yystate = yyn;
+  goto yynewstate;
+
+
+/*-------------------------------------.
+| yyacceptlab -- YYACCEPT comes here.  |
+`-------------------------------------*/
+yyacceptlab:
+  yyresult = 0;
+  goto yyreturn;
+
+/*-----------------------------------.
+| yyabortlab -- YYABORT comes here.  |
+`-----------------------------------*/
+yyabortlab:
+  yyresult = 1;
+  goto yyreturn;
+
+#ifndef yyoverflow
+/*-------------------------------------------------.
+| yyexhaustedlab -- memory exhaustion comes here.  |
+`-------------------------------------------------*/
+yyexhaustedlab:
+  yyerror (YY_("memory exhausted"));
+  yyresult = 2;
+  /* Fall through.  */
+#endif
+
+yyreturn:
+  if (yychar != YYEOF && yychar != YYEMPTY)
+     yydestruct ("Cleanup: discarding lookahead",
+		 yytoken, &yylval);
+  /* Do not reclaim the symbols of the rule which action triggered
+     this YYABORT or YYACCEPT.  */
+  YYPOPSTACK (yylen);
+  YY_STACK_PRINT (yyss, yyssp);
+  while (yyssp != yyss)
+    {
+      yydestruct ("Cleanup: popping",
+		  yystos[*yyssp], yyvsp);
+      YYPOPSTACK (1);
+    }
+#ifndef yyoverflow
+  if (yyss != yyssa)
+    YYSTACK_FREE (yyss);
+#endif
+#if YYERROR_VERBOSE
+  if (yymsg != yymsgbuf)
+    YYSTACK_FREE (yymsg);
+#endif
+  /* Make sure YYID is used.  */
+  return YYID (yyresult);
+}
+
+
+#line 6165 "Gmsh.y"
+
+
+void assignVariable(const std::string &name, int index, int assignType,
+                    double value)
+{
+  if(!gmsh_yysymbols.count(name)){
+    if(!assignType){
+      gmsh_yysymbol &s(gmsh_yysymbols[name]);
+      s.list = true;
+      s.value.resize(index + 1, 0.);
+      s.value[index] = value;
+    }
+    else
+      yymsg(0, "Unknown variable '%s'", name.c_str());
+  }
+  else{
+    gmsh_yysymbol &s(gmsh_yysymbols[name]);
+    if(s.list){
+      if((int)s.value.size() < index + 1) s.value.resize(index + 1, 0.);
+      switch(assignType){
+      case 0 : s.value[index] = value; break;
+      case 1 : s.value[index] += value; break;
+      case 2 : s.value[index] -= value; break;
+      case 3 : s.value[index] *= value; break;
+      case 4 :
+        if(value) s.value[index] /= value;
+        else yymsg(0, "Division by zero in '%s[%d] /= %g'",
+                   name.c_str(), index, value);
+        break;
+      }
+    }
+    else
+      yymsg(0, "Variable '%s' is not a list", name.c_str());
+  }
+}
+
+void assignVariables(const std::string &name, List_T *indices, int assignType,
+                     List_T *values)
+{
+  if(List_Nbr(indices) != List_Nbr(values)){
+    yymsg(0, "Incompatible array dimensions in affectation");
+  }
+  else{
+    if(!gmsh_yysymbols.count(name)){
+      if(!assignType){
+        gmsh_yysymbol &s(gmsh_yysymbols[name]);
+        s.list = true;
+        for(int i = 0; i < List_Nbr(indices); i++){
+          int index = (int)(*(double*)List_Pointer(indices, i));
+          s.value.resize(index + 1, 0.);
+          s.value[index] = *(double*)List_Pointer(values, i);
+        }
+      }
+      else
+        yymsg(0, "Unknown variable '%s'", name.c_str());
+    }
+    else{
+      gmsh_yysymbol &s(gmsh_yysymbols[name]);
+      if(s.list){
+        for(int i = 0; i < List_Nbr(indices); i++){
+          int index = (int)(*(double*)List_Pointer(indices, i));
+          double d = *(double*)List_Pointer(values, i);
+          if((int)s.value.size() < index + 1) s.value.resize(index + 1, 0.);
+          switch(assignType){
+          case 0 : s.value[index] = d; break;
+          case 1 : s.value[index] += d; break;
+          case 2 : s.value[index] -= d; break;
+          case 3 : s.value[index] *= d; break;
+          case 4 :
+            if(d) s.value[index] /= d;
+            else yymsg(0, "Division by zero in '%s[%d] /= %g'", name.c_str(), index, d);
+            break;
+          }
+        }
+      }
+      else
+        yymsg(0, "Variable '%s' is not a list", name.c_str());
+    }
+  }
+}
+
+void incrementVariable(const std::string &name, int index, double value)
+{
+  if(!gmsh_yysymbols.count(name))
+    yymsg(0, "Unknown variable '%s'", name.c_str());
+  else{
+    gmsh_yysymbol &s(gmsh_yysymbols[name]);
+    if(s.list){
+      if((int)s.value.size() < index + 1) s.value.resize(index + 1, 0.);
+      s.value[index] += value;
+    }
+    else
+      yymsg(0, "Variable '%s' is not a list", name.c_str());
+  }
+}
+
+int printListOfDouble(char *format, List_T *list, char *buffer)
+{
+  // if format does not contain formatting characters, dump the list (useful for
+  // quick debugging of lists)
+  int numFormats = 0;
+  for(unsigned int i = 0; i < strlen(format); i++)
+    if(format[i] == '%') numFormats++;
+  if(!numFormats){
+    strcpy(buffer, format);
+    for(int i = 0; i < List_Nbr(list); i++){
+      double d;
+      List_Read(list, i, &d);
+      char tmp[256];
+      sprintf(tmp, " [%d]%g", i, d);
+      strcat(buffer, tmp);
+    }
+    return 0;
+  }
+
+  char tmp1[256], tmp2[256];
+  int j = 0, k = 0;
+  buffer[j] = '\0';
+
+  while(j < (int)strlen(format) && format[j] != '%') j++;
+  strncpy(buffer, format, j);
+  buffer[j] = '\0';
+  for(int i = 0; i < List_Nbr(list); i++){
+    k = j;
+    j++;
+    if(j < (int)strlen(format)){
+      if(format[j] == '%'){
+	strcat(buffer, "%");
+	j++;
+      }
+      while(j < (int)strlen(format) && format[j] != '%') j++;
+      if(k != j){
+	strncpy(tmp1, &(format[k]), j-k);
+	tmp1[j-k] = '\0';
+	sprintf(tmp2, tmp1, *(double*)List_Pointer(list, i));
+	strcat(buffer, tmp2);
+      }
+    }
+    else
+      return List_Nbr(list) - i;
+  }
+  if(j != (int)strlen(format))
+    return -1;
+  return 0;
+}
+
+void PrintParserSymbols(bool help, std::vector<std::string> &vec)
+{
+  if(help){
+    vec.push_back("//");
+    vec.push_back("// Numbers");
+    vec.push_back("//");
+  }
+  for(std::map<std::string, gmsh_yysymbol>::iterator it = gmsh_yysymbols.begin();
+      it != gmsh_yysymbols.end(); it++){
+    gmsh_yysymbol s(it->second);
+    std::ostringstream sstream;
+    sstream.precision(12);
+    sstream << it->first;
+    if(s.list){
+      sstream << "[] = {";
+      for(unsigned int i = 0; i < s.value.size(); i++){
+        if(i) sstream << ", ";
+        sstream << s.value[i];
+      }
+      sstream << "}";
+    }
+    else
+      sstream << " = " << s.value[0];
+    sstream << ";";
+    vec.push_back(sstream.str());
+  }
+  if(help){
+    vec.push_back("//");
+    vec.push_back("// Strings");
+    vec.push_back("//");
+  }
+  for(std::map<std::string, std::vector<std::string> >::iterator it =
+        gmsh_yystringsymbols.begin(); it != gmsh_yystringsymbols.end(); it++){
+    if(it->second.size() == 1)
+      vec.push_back(it->first + " = \"" + it->second[0] + "\";");
+    else{
+      std::string s = it->first + "[] = Str(";
+      for(unsigned int i = 0; i < it->second.size(); i++){
+        if(i) s += ", ";
+        s += std::string("\"") + it->second[i] + "\"";
+      }
+      s += ");";
+      vec.push_back(s);
+    }
+  }
+  if (nameSpaces.size()){
+    if(help){
+      vec.push_back("//");
+      vec.push_back("// Structures");
+      vec.push_back("//");
+    }
+    std::vector<std::string> strs;
+    nameSpaces.sprint(strs);
+    vec.insert(vec.end(), strs.begin(), strs.end());
+  }
+}
+
+fullMatrix<double> ListOfListOfDouble2Matrix(List_T *list)
+{
+  // Warning: this returns a fullMatrix copy, and deletes the input list
+  int M = List_Nbr(list);
+  int N = 0;
+  for(int i = 0; i < M; i++){
+    List_T *line = *(List_T**)List_Pointer_Fast(list, i);
+    N = std::max(N, List_Nbr(line));
+  }
+  fullMatrix<double> mat(M, N);
+  for(int i = 0; i < M; i++){
+    List_T *line = *(List_T**)List_Pointer_Fast(list, i);
+    for(int j = 0; j < List_Nbr(line); j++){
+      double val;
+      List_Read(line, j, &val);
+      mat(i, j) = val;
+    }
+  }
+  for(int i = 0; i < List_Nbr(list); i++)
+    List_Delete(*(List_T**)List_Pointer(list, i));
+  List_Delete(list);
+  return mat;
+}
+
+void ListOfDouble2Vector(List_T *list, std::vector<int> &v)
+{
+  v.clear();
+  if(!list) return;
+  v.reserve(List_Nbr(list));
+  for(int i = 0; i < List_Nbr(list); i++){
+    double d;
+    List_Read(list, i, &d);
+    v.push_back((int)d);
+  }
+}
+
+void ListOfDouble2Vector(List_T *list, std::vector<double> &v)
+{
+  v.clear();
+  if(!list) return;
+  v.reserve(List_Nbr(list));
+  for(int i = 0; i < List_Nbr(list); i++){
+    double d;
+    List_Read(list, i, &d);
+    v.push_back(d);
+  }
+}
+
+void ListOfShapes2VectorOfPairs(List_T *list, std::vector<std::pair<int, int> > &v)
+{
+  for(int i = 0; i < List_Nbr(list); i++){
+    Shape s;
+    List_Read(list, i, &s);
+    int dim = s.Type / 100 - 1;
+    if(dim >= 0 && dim <= 3) v.push_back(std::pair<int, int>(dim, s.Num));
+  }
+}
+
+void VectorOfPairs2ListOfShapes(const std::vector<std::pair<int, int> > &v, List_T *list)
+{
+  for(unsigned int i = 0; i < v.size(); i++){
+    int dim = v[i].first;
+    int tag = v[i].second;
+    Shape s;
+    s.Type = (dim == 3) ? MSH_VOLUME : (dim == 2) ? MSH_SURF_PLAN :
+      (dim == 1) ? MSH_SEGM_LINE : MSH_POINT;
+    s.Num = tag;
+    List_Add(list, &s);
+  }
+}
+
+void yyerror(const char *s)
+{
+  Msg::Error("'%s', line %d : %s (%s)", gmsh_yyname.c_str(), gmsh_yylineno - 1,
+             s, gmsh_yytext);
+  gmsh_yyerrorstate++;
+}
+
+void yymsg(int level, const char *fmt, ...)
+{
+  va_list args;
+  char tmp[1024];
+
+  va_start(args, fmt);
+  vsprintf(tmp, fmt, args);
+  va_end(args);
+
+  if(level == 0){
+    Msg::Error("'%s', line %d : %s", gmsh_yyname.c_str(), gmsh_yylineno - 1, tmp);
+    gmsh_yyerrorstate++;
+  }
+  else if(level == 1){
+    Msg::Warning("'%s', line %d : %s", gmsh_yyname.c_str(), gmsh_yylineno - 1, tmp);
+  }
+  else{
+    Msg::Info("'%s', line %d : %s", gmsh_yyname.c_str(), gmsh_yylineno - 1, tmp);
+  }
+}
+
+void addPeriodicFace(int iTarget, int iSource,
+                     const std::vector<double>& affineTransform)
+{
+  if(GModel::current()->getOCCInternals() &&
+     GModel::current()->getOCCInternals()->getChanged())
+    GModel::current()->getOCCInternals()->synchronize(GModel::current());
+  if(GModel::current()->getGEOInternals()->getChanged())
+    GModel::current()->getGEOInternals()->synchronize(GModel::current());
+
+  GFace *target = GModel::current()->getFaceByTag(std::abs(iTarget));
+  GFace *source = GModel::current()->getFaceByTag(std::abs(iSource));
+  if (!target || !source) {
+    Msg::Error("Could not find edge slave %d or master %d for periodic copy",
+               iTarget, iSource);
+  }
+  else target->setMeshMaster(source, affineTransform);
+}
+
+void addPeriodicFace(int iTarget, int iSource,
+                     const std::map<int,int>& edgeCounterparts)
+{
+  if(GModel::current()->getOCCInternals() &&
+     GModel::current()->getOCCInternals()->getChanged())
+    GModel::current()->getOCCInternals()->synchronize(GModel::current());
+  if(GModel::current()->getGEOInternals()->getChanged())
+    GModel::current()->getGEOInternals()->synchronize(GModel::current());
+
+  Msg::Info("Encoding periodic connection between %d and %d", iTarget, iSource);
+  std::map<int,int>::const_iterator sIter = edgeCounterparts.begin();
+  for (; sIter != edgeCounterparts.end(); ++sIter) {
+    Msg::Info("%d - %d", sIter->first, sIter->second);
+  }
+
+  GFace *target = GModel::current()->getFaceByTag(std::abs(iTarget));
+  GFace *source = GModel::current()->getFaceByTag(std::abs(iSource));
+  if (!target || !source) {
+    Msg::Error("Could not find surface slave %d or master %d for periodic copy",
+               iTarget,iSource);
+  }
+  else target->setMeshMaster(source, edgeCounterparts);
+}
+
+void addPeriodicEdge(int iTarget,int iSource,
+                     const std::vector<double>& affineTransform)
+{
+  if(GModel::current()->getOCCInternals() &&
+     GModel::current()->getOCCInternals()->getChanged())
+    GModel::current()->getOCCInternals()->synchronize(GModel::current());
+  if(GModel::current()->getGEOInternals()->getChanged())
+    GModel::current()->getGEOInternals()->synchronize(GModel::current());
+
+  GEdge *target = GModel::current()->getEdgeByTag(std::abs(iTarget));
+  GEdge *source = GModel::current()->getEdgeByTag(std::abs(iSource));
+  if (!target || !source)
+    Msg::Error("Could not find surface %d or %d for periodic copy",
+               iTarget,iSource);
+  if (affineTransform.size() >= 12) {
+    target->setMeshMaster(source, affineTransform);
+  }
+  else {
+    target->setMeshMaster(source, iSource * iTarget < 0 ? -1 : 1);
+  }
+}
+
+void computeAffineTransformation(SPoint3& origin, SPoint3& axis,
+                                 double angle, SPoint3& translation,
+                                 std::vector<double>& tfo)
+{
+  tfo.resize(16,0.0);
+
+  double ca = cos(angle);
+  double sa = sin(angle);
+
+  double ux = axis.x();
+  double uy = axis.y();
+  double uz = axis.z();
+
+  tfo.resize(16);
+
+  tfo[0*4+0] = ca + ux*ux*(1.-ca);
+  tfo[0*4+1] = ux*uy*(1.-ca) - uz * sa;
+  tfo[0*4+2] = ux*uz*(1.-ca) + uy * sa;
+
+  tfo[1*4+0] = ux*uy*(1.-ca) + uz * sa;
+  tfo[1*4+1] = ca + uy*uy*(1.-ca);
+  tfo[1*4+2] = uy*uz*(1.-ca) - ux * sa;
+
+  tfo[2*4+0] = ux*uz*(1.-ca) - uy * sa;
+  tfo[2*4+1] = uy*uz*(1.-ca) + ux * sa;
+  tfo[2*4+2] = ca + uz*uz*(1.-ca);
+
+  int idx = 0;
+  for (size_t i = 0; i < 3; i++,idx++) {
+    int tIdx = i*4+3;
+    tfo[tIdx] = origin[i] + translation[i];
+    for (int j = 0; j < 3; j++,idx++) tfo[tIdx] -= tfo[idx] * origin[j];
+  }
+
+  for (int i = 0; i < 4; i++) tfo[12+i] = 0;
+  tfo[15] = 1;
+}
+
+void addEmbedded(int dim, std::vector<int> tags, int dim2, int tag2)
+{
+  if(GModel::current()->getOCCInternals() &&
+     GModel::current()->getOCCInternals()->getChanged())
+    GModel::current()->getOCCInternals()->synchronize(GModel::current());
+  if(GModel::current()->getGEOInternals()->getChanged())
+    GModel::current()->getGEOInternals()->synchronize(GModel::current());
+
+  if(dim2 == 2){
+    GFace *gf = GModel::current()->getFaceByTag(tag2);
+    if(!gf){
+      yymsg(0, "Unknown model face with tag %d", tag2);
+      return;
+    }
+    for(unsigned int i = 0; i < tags.size(); i++){
+      if(dim == 0){
+        GVertex *gv = GModel::current()->getVertexByTag(tags[i]);
+        if(gv)
+          gf->addEmbeddedVertex(gv);
+        else
+          yymsg(0, "Unknown model vertex %d", tags[i]);
+      }
+      else if(dim == 1){
+        GEdge *ge = GModel::current()->getEdgeByTag(tags[i]);
+        if(ge)
+          gf->addEmbeddedEdge(ge);
+        else
+          yymsg(0, "Unknown model edge %d", tags[i]);
+      }
+    }
+  }
+  else if(dim2 == 3){
+    GRegion *gr = GModel::current()->getRegionByTag(tag2);
+    if(!gr){
+      yymsg(0, "Unknown model region with tag %d", tag2);
+      return;
+    }
+    for(unsigned int i = 0; i < tags.size(); i++){
+      if(dim == 0){
+        GVertex *gv = GModel::current()->getVertexByTag(tags[i]);
+        if(gv)
+          gr->addEmbeddedVertex(gv);
+        else
+          yymsg(0, "Unknown model vertex with tag %d", tags[i]);
+      }
+      else if(dim == 1){
+        GEdge *ge = GModel::current()->getEdgeByTag(tags[i]);
+        if(ge)
+          gr->addEmbeddedEdge(ge);
+        else
+          yymsg(0, "Unknown model edge with tag %d", tags[i]);
+      }
+      else if(dim == 2){
+        GFace *gf = GModel::current()->getFaceByTag(tags[i]);
+        if(gf)
+          gr->addEmbeddedFace(gf);
+        else
+          yymsg(0, "Unknown model face with tag %d", tags[i]);
+      }
+    }
+  }
+}
+
+void getAllElementaryTags(int dim, List_T *out)
+{
+  if(GModel::current()->getOCCInternals() &&
+     GModel::current()->getOCCInternals()->getChanged())
+    GModel::current()->getOCCInternals()->synchronize(GModel::current());
+  if(GModel::current()->getGEOInternals()->getChanged())
+    GModel::current()->getGEOInternals()->synchronize(GModel::current());
+
+  std::vector<GEntity*> entities;
+  GModel::current()->getEntities(entities, dim);
+  for(unsigned int i = 0; i < entities.size(); i++){
+    double tag = entities[i]->tag();
+    List_Add(out, &tag);
+  }
+}
+
+void getAllPhysicalTags(int dim, List_T *out)
+{
+  if(GModel::current()->getGEOInternals()->getChanged())
+    GModel::current()->getGEOInternals()->synchronize(GModel::current());
+
+  std::map<int, std::vector<GEntity*> > groups;
+  GModel::current()->getPhysicalGroups(dim, groups);
+  for(std::map<int, std::vector<GEntity*> >::iterator it = groups.begin();
+      it != groups.end(); it++){
+    double d = it->first;
+    List_Add(out, &d);
+  }
+}
+
+void getElementaryTagsForPhysicalGroups(int dim, List_T *in, List_T *out)
+{
+  if(GModel::current()->getGEOInternals()->getChanged())
+    GModel::current()->getGEOInternals()->synchronize(GModel::current());
+
+  std::map<int, std::vector<GEntity*> > groups;
+  GModel::current()->getPhysicalGroups(dim, groups);
+  for(int i = 0; i < List_Nbr(in); i++){
+    double num;
+    List_Read(in, i, &num);
+    std::map<int, std::vector<GEntity*> >::iterator it = groups.find(num);
+    if(it != groups.end()){
+      for(unsigned j = 0; j < it->second.size(); j++){
+        double d = it->second[j]->tag();
+        List_Add(out, &d);
+      }
+    }
+  }
+}
+
+void getElementaryTagsInBoundingBox(int dim, double x1, double y1, double z1,
+                                    double x2, double y2, double z2, List_T *out)
+{
+  if(GModel::current()->getOCCInternals() &&
+     GModel::current()->getOCCInternals()->getChanged())
+    GModel::current()->getOCCInternals()->synchronize(GModel::current());
+  if(GModel::current()->getGEOInternals()->getChanged())
+    GModel::current()->getGEOInternals()->synchronize(GModel::current());
+
+  SBoundingBox3d box(x1, y1, z1, x2, y2, z2);
+  std::vector<GEntity*> entities;
+  GModel::current()->getEntitiesInBox(entities, box, dim);
+  for(unsigned int i = 0; i < entities.size(); i++){
+    double d = entities[i]->tag();
+    List_Add(out, &d);
+  }
+}
+
+void setVisibility(int dim, int visible, bool recursive)
+{
+  if(GModel::current()->getOCCInternals() &&
+     GModel::current()->getOCCInternals()->getChanged())
+    GModel::current()->getOCCInternals()->synchronize(GModel::current());
+  if(GModel::current()->getGEOInternals()->getChanged())
+    GModel::current()->getGEOInternals()->synchronize(GModel::current());
+
+  std::vector<GEntity*> entities;
+  GModel::current()->getEntities(entities, dim);
+  for(unsigned int i = 0; i < entities.size(); i++){
+    entities[i]->setVisibility(visible);
+  }
+}
+
+void setVisibility(const std::vector<std::pair<int, int> > &dimTags,
+                   int visible, bool recursive)
+{
+  if(GModel::current()->getOCCInternals() &&
+     GModel::current()->getOCCInternals()->getChanged())
+    GModel::current()->getOCCInternals()->synchronize(GModel::current());
+  if(GModel::current()->getGEOInternals()->getChanged())
+    GModel::current()->getGEOInternals()->synchronize(GModel::current());
+
+  for(unsigned int i = 0; i < dimTags.size(); i++){
+    GEntity *ge = GModel::current()->getEntityByTag
+      (dimTags[i].first, std::abs(dimTags[i].second));
+    if(ge) ge->setVisibility(visible, recursive);
+  }
+}
+
+void setColor(const std::vector<std::pair<int, int> > &dimTags,
+              unsigned int val, bool recursive)
+{
+  if(GModel::current()->getOCCInternals() &&
+     GModel::current()->getOCCInternals()->getChanged())
+    GModel::current()->getOCCInternals()->synchronize(GModel::current());
+  if(GModel::current()->getGEOInternals()->getChanged())
+    GModel::current()->getGEOInternals()->synchronize(GModel::current());
+
+  for(unsigned int i = 0; i < dimTags.size(); i++){
+    GEntity *ge = GModel::current()->getEntityByTag
+      (dimTags[i].first, std::abs(dimTags[i].second));
+    if(ge) ge->setColor(val, recursive);
+  }
+}
+
+int NEWPOINT()
+{
+  int tag = GModel::current()->getGEOInternals()->getMaxTag(0) + 1;
+  if(GModel::current()->getOCCInternals())
+    tag = std::max(tag, GModel::current()->getOCCInternals()->getMaxTag(0) + 1);
+  return tag;
+}
+
+int NEWLINE()
+{
+  int tag = 0;
+  if(CTX::instance()->geom.oldNewreg)
+    tag = NEWREG();
+  else
+    tag = GModel::current()->getGEOInternals()->getMaxTag(1) + 1;
+  if(GModel::current()->getOCCInternals())
+    tag = std::max(tag, GModel::current()->getOCCInternals()->getMaxTag(1) + 1);
+  return tag;
+}
+
+int NEWLINELOOP()
+{
+  int tag = 0;
+  if(CTX::instance()->geom.oldNewreg)
+    tag = NEWREG();
+  else
+    tag = GModel::current()->getGEOInternals()->getMaxTag(-1) + 1;
+  if(GModel::current()->getOCCInternals())
+    tag = std::max(tag, GModel::current()->getOCCInternals()->getMaxTag(-1) + 1);
+  return tag;
+}
+
+int NEWSURFACE()
+{
+  int tag = 0;
+  if(CTX::instance()->geom.oldNewreg)
+    tag = NEWREG();
+  else
+    tag = GModel::current()->getGEOInternals()->getMaxTag(2) + 1;
+  if(GModel::current()->getOCCInternals())
+    tag = std::max(tag, GModel::current()->getOCCInternals()->getMaxTag(2) + 1);
+  return tag;
+}
+
+int NEWSURFACELOOP()
+{
+  int tag = 0;
+  if(CTX::instance()->geom.oldNewreg)
+    tag = NEWREG();
+  else
+    tag = GModel::current()->getGEOInternals()->getMaxTag(-2) + 1;
+  if(GModel::current()->getOCCInternals())
+    tag = std::max(tag, GModel::current()->getOCCInternals()->getMaxTag(-2) + 1);
+  return tag;
+}
+
+int NEWVOLUME()
+{
+  int tag = 0;
+  if(CTX::instance()->geom.oldNewreg)
+    tag = NEWREG();
+  else
+    tag = GModel::current()->getGEOInternals()->getMaxTag(3) + 1;
+  if(GModel::current()->getOCCInternals())
+    tag = std::max(tag, GModel::current()->getOCCInternals()->getMaxTag(3) + 1);
+  return tag;
+}
+
+int NEWREG()
+{
+  int tag = 0;
+  for(int dim = -2; dim <= 3; dim++){
+    if(dim)
+      tag = std::max(tag, GModel::current()->getGEOInternals()->getMaxTag(dim) + 1);
+  }
+  tag = std::max(tag, GModel::current()->getGEOInternals()->getMaxPhysicalTag() + 1);
+  if(GModel::current()->getOCCInternals()){
+    for(int dim = -2; dim <= 3; dim++){
+      if(dim)
+        tag = std::max(tag, GModel::current()->getOCCInternals()->getMaxTag(dim) + 1);
+    }
+  }
+  return tag;
+}
+
+int NEWFIELD()
+{
+#if defined(HAVE_MESH)
+  return (GModel::current()->getFields()->maxId() + 1);
+#else
+  return 0;
+#endif
+}
+
+int NEWPHYSICAL()
+{
+  if(CTX::instance()->geom.oldNewreg)
+    return NEWREG();
+  else
+    return (GModel::current()->getGEOInternals()->getMaxPhysicalTag() + 1);
+}
+
+
+double treat_Struct_FullName_Float
+(char* c1, char* c2, int type_var, int index, double val_default, int type_treat)
+{
+  double out;
+  if(!c1 && gmsh_yysymbols.count(c2)){
+    if (type_treat == 1) out = 1.; // Exists (type_treat == 1)
+    else { // Get (0) or GetForced (2)
+      if (type_var == 1) {
+        gmsh_yysymbol &s(gmsh_yysymbols[c2]);
+        if(s.value.empty()){
+          out = val_default;
+          if (type_treat == 0) yymsg(0, "Uninitialized variable '%s'", c2);
+        }
+        else
+          out = s.value[0];
+      }
+      else if (type_var == 2) {
+        gmsh_yysymbol &s(gmsh_yysymbols[c2]);
+        if((int)s.value.size() < index + 1){
+          out = val_default;
+          if (type_treat == 0) yymsg(0, "Uninitialized variable '%s[%d]'", c2, index);
+        }
+        else
+          out = s.value[0];
+      }
+      else {
+        out = val_default;
+      }
+    }
+  }
+  else if(!c1 && type_treat == 1 && gmsh_yystringsymbols.count(c2)) {
+    out = 1.;
+  }
+  else{
+    std::string struct_namespace(c1? c1 : std::string("")), struct_name(c2);
+    if(nameSpaces.getTag(struct_namespace, struct_name, out)) {
+      out = val_default;
+      if (type_treat == 0) yymsg(0, "Unknown variable '%s'", struct_name.c_str());
+    }
+  }
+  Free(c1); Free(c2);
+  return out;
+}
+
+double treat_Struct_FullName_dot_tSTRING_Float
+(char* c1, char* c2, char* c3, int index, double val_default, int type_treat)
+{
+  double out;
+  std::string struct_namespace(c1? c1 : std::string("")), struct_name(c2);
+  std::string key_member(c3);
+  switch (nameSpaces.getMember
+          (struct_namespace, struct_name, key_member, out, index)) {
+  case 0:
+    if (type_treat == 1) out = 1.; // Exists (type_treat == 1)
+    break;
+  case 1:
+    if (!NumberOption(GMSH_GET, c2, 0, c3, out, type_treat==0))
+      out = val_default;
+    break;
+  case 2:
+    if (type_treat != 0) {
+      const std::string * out_dummy = NULL;
+      out = (nameSpaces.getMember
+             (struct_namespace, struct_name, key_member, out_dummy))?
+        val_default : 1.;
+    }
+    else {
+      out = val_default;
+      if (type_treat == 0)
+        yymsg(0, "Unknown member '%s' of Struct %s", c3, struct_name.c_str());
+    }
+    break;
+  case 3:
+    out = val_default;
+    if (type_treat == 0)
+      yymsg(0, "Index %d out of range", index);
+    break;
+  }
+  Free(c1); Free(c2);
+  if (flag_tSTRING_alloc) Free(c3);
+  return out;
+}
+
+int treat_Struct_FullName_dot_tSTRING_Float_getDim
+(char* c1, char* c2, char* c3)
+{
+  int out;
+  std::string struct_namespace(c1? c1 : std::string("")), struct_name(c2);
+  std::string key_member(c3);
+  switch (nameSpaces.getMember_Dim
+          (struct_namespace, struct_name, key_member, out)) {
+  case 0:
+    break;
+  case 1:
+    out = 0;
+    break;
+  case 2:
+    out = 0;
+    yymsg(0, "Unknown member '%s' of Struct %s", c3, struct_name.c_str());
+    break;
+  }
+  Free(c1); Free(c2);
+  if (flag_tSTRING_alloc) Free(c3);
+  return out;
+}
+
+char * treat_Struct_FullName_String
+(char* c1, char* c2, int type_var, int index, char * val_default, int type_treat)
+{
+  std::string string_default(val_default? val_default : std::string(""));
+  const std::string * out = NULL;
+  std::string out_tmp;
+  if(!c1 && gmsh_yystringsymbols.count(c2)){
+    // Get (0) or GetForced (2)
+    if(gmsh_yystringsymbols[c2].size() != 1){
+      out = &string_default;
+      if (type_treat == 0)
+        yymsg(0, "Expected single valued string variable '%s'", c2);
+    }
+    else {
+      out_tmp = gmsh_yystringsymbols[c2][0];
+      out = &out_tmp;
+    }
+  }
+  else{
+    out = &string_default;
+    if (type_treat == 0) yymsg(0, "Unknown string variable '%s'", c2);
+  }
+  char* out_c = (char*)Malloc((out->size() + 1) * sizeof(char));
+  strcpy(out_c, out->c_str());
+  Free(c1); Free(c2);
+  return out_c;
+}
+
+char* treat_Struct_FullName_dot_tSTRING_String
+(char* c1, char* c2, char* c3, int index, char * val_default, int type_treat)
+{
+  std::string string_default(val_default? val_default : std::string(""));
+  const std::string * out = NULL;
+  std::string out_tmp; // PD: we should avoid that -> StringOption() to be changed
+  std::string struct_namespace(c1? c1 : std::string("")), struct_name(c2);
+  std::string key_member(c3);
+  switch (nameSpaces.getMember
+          (struct_namespace, struct_name, key_member, out, index)) {
+  case 0:
+    break;
+  case 1:
+    if (StringOption(GMSH_GET, c2, 0, c3, out_tmp, type_treat==0))
+      out = &out_tmp;
+    else
+      out = &string_default;
+    break;
+  case 2:
+    out = &string_default;
+    if (type_treat == 0)
+      yymsg(0, "Unknown member '%s' of Struct %s", c3, struct_name.c_str());
+    break;
+  case 3:
+    out = &string_default;
+    if (type_treat == 0)
+      yymsg(0, "Index %d out of range", index);
+    break;
+  }
+  char* out_c = (char*)Malloc((out->size() + 1) * sizeof(char));
+  strcpy(out_c, out->c_str());
+  Free(c1); Free(c2);
+  if (flag_tSTRING_alloc) Free(c3);
+  return out_c;
+}
+
diff --git a/Parser/Gmsh.tab.cpp b/Parser/Gmsh.tab.cpp
index e12b706879c23db6c733fa8ef12ff918671898aa..26b3abde2db8c2bf426c2d0369bbf74592b62f7a 100644
--- a/Parser/Gmsh.tab.cpp
+++ b/Parser/Gmsh.tab.cpp
@@ -666,13 +666,19 @@ void setColor(const std::vector<std::pair<int, int> > &dimTags, unsigned int val
               bool recursive);
 
 double treat_Struct_FullName_Float
-  (char* c1, char* c2, double val_default = 0., int type_treat = 0);
+  (char* c1, char* c2, int type_var = 1, int index = 0,
+   double val_default = 0., int type_treat = 0);
 double treat_Struct_FullName_dot_tSTRING_Float
-  (char* c1, char* c2, char* c3, double val_default = 0., int type_treat = 0);
+  (char* c1, char* c2, char* c3, int index = 0,
+   double val_default = 0., int type_treat = 0);
+int treat_Struct_FullName_dot_tSTRING_Float_getDim
+  (char* c1, char* c2, char* c3);
 char* treat_Struct_FullName_String
-  (char* c1, char* c2, char* val_default = NULL, int type_treat = 0);
+  (char* c1, char* c2, int type_var = 1, int index = 0,
+   char* val_default = NULL, int type_treat = 0);
 char* treat_Struct_FullName_dot_tSTRING_String
-  (char* c1, char* c2, char* c3, char* val_default = NULL, int type_treat = 0);
+  (char* c1, char* c2, char* c3, int index = 0,
+   char* val_default = NULL, int type_treat = 0);
 
 struct doubleXstring{
   double d;
@@ -701,7 +707,7 @@ struct doubleXstring{
 
 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
 typedef union YYSTYPE
-#line 153 "Gmsh.y"
+#line 159 "Gmsh.y"
 {
   char *c;
   int i;
@@ -713,7 +719,7 @@ typedef union YYSTYPE
   struct TwoChar c2;
 }
 /* Line 193 of yacc.c.  */
-#line 717 "Gmsh.tab.cpp"
+#line 723 "Gmsh.tab.cpp"
 	YYSTYPE;
 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
 # define YYSTYPE_IS_DECLARED 1
@@ -726,7 +732,7 @@ typedef union YYSTYPE
 
 
 /* Line 216 of yacc.c.  */
-#line 730 "Gmsh.tab.cpp"
+#line 736 "Gmsh.tab.cpp"
 
 #ifdef short
 # undef short
@@ -941,16 +947,16 @@ union yyalloc
 /* YYFINAL -- State number of the termination state.  */
 #define YYFINAL  5
 /* YYLAST -- Last index in YYTABLE.  */
-#define YYLAST   15257
+#define YYLAST   15487
 
 /* YYNTOKENS -- Number of terminals.  */
 #define YYNTOKENS  248
 /* YYNNTS -- Number of nonterminals.  */
 #define YYNNTS  107
 /* YYNRULES -- Number of rules.  */
-#define YYNRULES  583
+#define YYNRULES  588
 /* YYNRULES -- Number of states.  */
-#define YYNSTATES  2128
+#define YYNSTATES  2151
 
 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
 #define YYUNDEFTOK  2
@@ -1062,21 +1068,21 @@ static const yytype_uint16 yyprhs[] =
     2322,  2329,  2336,  2343,  2348,  2350,  2352,  2354,  2356,  2358,
     2360,  2362,  2364,  2366,  2368,  2370,  2371,  2378,  2380,  2385,
     2392,  2394,  2399,  2404,  2409,  2416,  2422,  2430,  2435,  2440,
-    2445,  2449,  2452,  2458,  2464,  2468,  2474,  2481,  2486,  2494,
-    2501,  2508,  2515,  2520,  2527,  2532,  2533,  2536,  2537,  2540,
-    2541,  2549,  2551,  2555,  2557,  2559,  2562,  2563,  2567,  2569,
-    2572,  2575,  2579,  2583,  2595,  2605,  2613,  2621,  2623,  2627,
-    2629,  2631,  2634,  2638,  2643,  2649,  2651,  2653,  2656,  2660,
-    2664,  2670,  2675,  2678,  2681,  2684,  2687,  2691,  2695,  2699,
-    2703,  2720,  2737,  2754,  2771,  2773,  2775,  2777,  2781,  2786,
-    2791,  2796,  2803,  2810,  2819,  2828,  2833,  2848,  2853,  2858,
-    2860,  2862,  2866,  2870,  2880,  2888,  2890,  2896,  2900,  2907,
-    2909,  2913,  2915,  2917,  2922,  2927,  2931,  2937,  2944,  2950,
-    2956,  2962,  2968,  2970,  2975,  2977,  2979,  2981,  2983,  2988,
-    2995,  3000,  3007,  3013,  3021,  3026,  3031,  3036,  3045,  3050,
-    3055,  3060,  3065,  3074,  3083,  3090,  3095,  3102,  3107,  3109,
-    3114,  3119,  3120,  3127,  3132,  3135,  3140,  3142,  3146,  3152,
-    3158,  3167,  3169,  3171
+    2447,  2452,  2456,  2459,  2465,  2471,  2475,  2481,  2488,  2497,
+    2504,  2509,  2517,  2524,  2531,  2538,  2543,  2550,  2555,  2556,
+    2559,  2560,  2563,  2564,  2572,  2574,  2578,  2580,  2582,  2585,
+    2586,  2590,  2592,  2595,  2598,  2602,  2606,  2618,  2628,  2636,
+    2644,  2646,  2650,  2652,  2654,  2657,  2661,  2666,  2672,  2674,
+    2676,  2679,  2683,  2687,  2693,  2698,  2701,  2704,  2707,  2710,
+    2714,  2718,  2722,  2726,  2743,  2760,  2777,  2794,  2796,  2798,
+    2800,  2804,  2809,  2814,  2819,  2826,  2833,  2842,  2851,  2856,
+    2871,  2876,  2881,  2883,  2885,  2889,  2893,  2903,  2911,  2913,
+    2919,  2923,  2930,  2932,  2936,  2938,  2940,  2945,  2950,  2954,
+    2960,  2967,  2976,  2983,  2989,  2995,  3001,  3007,  3009,  3014,
+    3016,  3018,  3020,  3022,  3027,  3034,  3039,  3046,  3052,  3060,
+    3065,  3070,  3075,  3084,  3089,  3094,  3099,  3104,  3113,  3122,
+    3129,  3134,  3141,  3146,  3148,  3153,  3158,  3159,  3166,  3171,
+    3174,  3179,  3181,  3185,  3191,  3197,  3206,  3208,  3210
 };
 
 /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
@@ -1326,144 +1332,148 @@ static const yytype_int16 yyrhs[] =
      238,   334,   244,   335,   239,    -1,   202,   238,   334,   330,
      239,    -1,   202,   238,   334,   244,   335,   330,   239,    -1,
      201,   238,   349,   239,    -1,   245,   354,   272,   273,    -1,
-      86,   272,   354,   273,    -1,    86,   272,   273,    -1,   354,
-     271,    -1,   354,   240,   327,   241,   271,    -1,   354,   238,
-     327,   239,   271,    -1,   354,   244,   335,    -1,   354,     9,
-     354,   244,   335,    -1,   354,   240,   327,   241,   244,     4,
-      -1,   354,   244,     4,   271,    -1,   354,   240,   327,   241,
-     244,     4,   271,    -1,   191,   238,   348,   247,   327,   239,
-      -1,    56,   238,   341,   247,   341,   239,    -1,    57,   272,
-     348,   247,   348,   273,    -1,    55,   272,   348,   273,    -1,
-      58,   272,   348,   247,   348,   273,    -1,    63,   238,   352,
-     239,    -1,    -1,   247,   327,    -1,    -1,   247,   348,    -1,
-      -1,    84,   334,   337,   333,   240,   283,   241,    -1,   354,
-      -1,   354,     9,   354,    -1,     4,    -1,    87,    -1,    87,
-     327,    -1,    -1,   238,   336,   239,    -1,   339,    -1,   227,
-     338,    -1,   226,   338,    -1,   338,   227,   338,    -1,   338,
-     226,   338,    -1,   242,   327,   247,   327,   247,   327,   247,
-     327,   247,   327,   243,    -1,   242,   327,   247,   327,   247,
-     327,   247,   327,   243,    -1,   242,   327,   247,   327,   247,
-     327,   243,    -1,   238,   327,   247,   327,   247,   327,   239,
-      -1,   341,    -1,   340,   247,   341,    -1,   327,    -1,   343,
-      -1,   242,   243,    -1,   242,   344,   243,    -1,   227,   242,
-     344,   243,    -1,   327,   228,   242,   344,   243,    -1,   341,
-      -1,     5,    -1,   227,   343,    -1,   327,   228,   343,    -1,
-     327,     8,   327,    -1,   327,     8,   327,     8,   327,    -1,
-      91,   242,   327,   243,    -1,    91,     5,    -1,    94,     5,
-      -1,    97,     5,    -1,    99,     5,    -1,   125,    91,   342,
-      -1,   125,    94,   342,    -1,   125,    97,   342,    -1,   125,
-      99,   342,    -1,    91,   176,    64,   242,   327,   247,   327,
+     245,   334,   244,   335,   238,   239,    -1,    86,   272,   354,
+     273,    -1,    86,   272,   273,    -1,   354,   271,    -1,   354,
+     240,   327,   241,   271,    -1,   354,   238,   327,   239,   271,
+      -1,   354,   244,   335,    -1,   354,     9,   354,   244,   335,
+      -1,   354,   244,   335,   238,   327,   239,    -1,   354,     9,
+     354,   244,   335,   238,   327,   239,    -1,   354,   240,   327,
+     241,   244,     4,    -1,   354,   244,     4,   271,    -1,   354,
+     240,   327,   241,   244,     4,   271,    -1,   191,   238,   348,
+     247,   327,   239,    -1,    56,   238,   341,   247,   341,   239,
+      -1,    57,   272,   348,   247,   348,   273,    -1,    55,   272,
+     348,   273,    -1,    58,   272,   348,   247,   348,   273,    -1,
+      63,   238,   352,   239,    -1,    -1,   247,   327,    -1,    -1,
+     247,   348,    -1,    -1,    84,   334,   337,   333,   240,   283,
+     241,    -1,   354,    -1,   354,     9,   354,    -1,     4,    -1,
+      87,    -1,    87,   327,    -1,    -1,   238,   336,   239,    -1,
+     339,    -1,   227,   338,    -1,   226,   338,    -1,   338,   227,
+     338,    -1,   338,   226,   338,    -1,   242,   327,   247,   327,
+     247,   327,   247,   327,   247,   327,   243,    -1,   242,   327,
+     247,   327,   247,   327,   247,   327,   243,    -1,   242,   327,
+     247,   327,   247,   327,   243,    -1,   238,   327,   247,   327,
+     247,   327,   239,    -1,   341,    -1,   340,   247,   341,    -1,
+     327,    -1,   343,    -1,   242,   243,    -1,   242,   344,   243,
+      -1,   227,   242,   344,   243,    -1,   327,   228,   242,   344,
+     243,    -1,   341,    -1,     5,    -1,   227,   343,    -1,   327,
+     228,   343,    -1,   327,     8,   327,    -1,   327,     8,   327,
+       8,   327,    -1,    91,   242,   327,   243,    -1,    91,     5,
+      -1,    94,     5,    -1,    97,     5,    -1,    99,     5,    -1,
+     125,    91,   342,    -1,   125,    94,   342,    -1,   125,    97,
+     342,    -1,   125,    99,   342,    -1,    91,   176,    64,   242,
+     327,   247,   327,   247,   327,   247,   327,   247,   327,   247,
+     327,   243,    -1,    94,   176,    64,   242,   327,   247,   327,
      247,   327,   247,   327,   247,   327,   247,   327,   243,    -1,
-      94,   176,    64,   242,   327,   247,   327,   247,   327,   247,
-     327,   247,   327,   247,   327,   243,    -1,    97,   176,    64,
+      97,   176,    64,   242,   327,   247,   327,   247,   327,   247,
+     327,   247,   327,   247,   327,   243,    -1,    99,   176,    64,
      242,   327,   247,   327,   247,   327,   247,   327,   247,   327,
-     247,   327,   243,    -1,    99,   176,    64,   242,   327,   247,
-     327,   247,   327,   247,   327,   247,   327,   247,   327,   243,
-      -1,   296,    -1,   307,    -1,   316,    -1,   354,   272,   273,
-      -1,    39,   240,   354,   241,    -1,    39,   240,   343,   241,
-      -1,    39,   238,   343,   239,    -1,    39,   272,   242,   344,
-     243,   273,    -1,   354,   272,   242,   344,   243,   273,    -1,
-      40,   272,   327,   247,   327,   247,   327,   273,    -1,    41,
-     272,   327,   247,   327,   247,   327,   273,    -1,    42,   272,
-     348,   273,    -1,    43,   272,   327,   247,   327,   247,   327,
-     247,   327,   247,   327,   247,   327,   273,    -1,   196,   272,
-     343,   273,    -1,    32,   272,   343,   273,    -1,   327,    -1,
-     343,    -1,   344,   247,   327,    -1,   344,   247,   343,    -1,
-     242,   327,   247,   327,   247,   327,   247,   327,   243,    -1,
-     242,   327,   247,   327,   247,   327,   243,    -1,   354,    -1,
-       4,   244,   173,   244,     4,    -1,   242,   347,   243,    -1,
-     354,   240,   327,   241,   244,   174,    -1,   345,    -1,   347,
-     247,   345,    -1,   349,    -1,   354,    -1,   354,   240,   327,
-     241,    -1,   354,   238,   327,   239,    -1,   354,   244,   335,
-      -1,   354,     9,   354,   244,   335,    -1,   354,   240,   327,
-     241,   244,     4,    -1,   125,    91,   242,   327,   243,    -1,
-     125,    94,   242,   327,   243,    -1,   125,    97,   242,   327,
-     243,    -1,   125,    99,   242,   327,   243,    -1,     5,    -1,
-     209,   240,   354,   241,    -1,    67,    -1,   207,    -1,    72,
-      -1,    74,    -1,   193,   238,   348,   239,    -1,   192,   238,
-     348,   247,   348,   239,    -1,   194,   272,   348,   273,    -1,
-     194,   272,   348,   247,   348,   273,    -1,   203,   238,   334,
-     331,   239,    -1,   203,   238,   334,   244,   335,   331,   239,
-      -1,    48,   272,   352,   273,    -1,    49,   238,   348,   239,
-      -1,    50,   238,   348,   239,    -1,    51,   238,   348,   247,
-     348,   247,   348,   239,    -1,    46,   272,   352,   273,    -1,
-      60,   272,   348,   273,    -1,    61,   272,   348,   273,    -1,
-      62,   272,   348,   273,    -1,    59,   272,   327,   247,   348,
-     247,   348,   273,    -1,    54,   272,   348,   247,   327,   247,
-     327,   273,    -1,    54,   272,   348,   247,   327,   273,    -1,
-      47,   272,   348,   273,    -1,    47,   272,   348,   247,   344,
-     273,    -1,    68,   272,   348,   273,    -1,    69,    -1,    53,
-     272,   348,   273,    -1,    52,   272,   348,   273,    -1,    -1,
-      88,   272,   349,   350,   286,   273,    -1,    85,   272,   351,
-     273,    -1,   245,   327,    -1,   354,     9,   245,   327,    -1,
-     348,    -1,   352,   247,   348,    -1,     4,   246,   242,   327,
-     243,    -1,   353,   246,   242,   327,   243,    -1,   210,   240,
-     348,   241,   246,   242,   327,   243,    -1,     4,    -1,   353,
-      -1,   210,   240,   348,   241,    -1
+     247,   327,   243,    -1,   296,    -1,   307,    -1,   316,    -1,
+     354,   272,   273,    -1,    39,   240,   354,   241,    -1,    39,
+     240,   343,   241,    -1,    39,   238,   343,   239,    -1,    39,
+     272,   242,   344,   243,   273,    -1,   354,   272,   242,   344,
+     243,   273,    -1,    40,   272,   327,   247,   327,   247,   327,
+     273,    -1,    41,   272,   327,   247,   327,   247,   327,   273,
+      -1,    42,   272,   348,   273,    -1,    43,   272,   327,   247,
+     327,   247,   327,   247,   327,   247,   327,   247,   327,   273,
+      -1,   196,   272,   343,   273,    -1,    32,   272,   343,   273,
+      -1,   327,    -1,   343,    -1,   344,   247,   327,    -1,   344,
+     247,   343,    -1,   242,   327,   247,   327,   247,   327,   247,
+     327,   243,    -1,   242,   327,   247,   327,   247,   327,   243,
+      -1,   354,    -1,     4,   244,   173,   244,     4,    -1,   242,
+     347,   243,    -1,   354,   240,   327,   241,   244,   174,    -1,
+     345,    -1,   347,   247,   345,    -1,   349,    -1,   354,    -1,
+     354,   240,   327,   241,    -1,   354,   238,   327,   239,    -1,
+     354,   244,   335,    -1,   354,     9,   354,   244,   335,    -1,
+     354,   244,   335,   238,   327,   239,    -1,   354,     9,   354,
+     244,   335,   238,   327,   239,    -1,   354,   240,   327,   241,
+     244,     4,    -1,   125,    91,   242,   327,   243,    -1,   125,
+      94,   242,   327,   243,    -1,   125,    97,   242,   327,   243,
+      -1,   125,    99,   242,   327,   243,    -1,     5,    -1,   209,
+     240,   354,   241,    -1,    67,    -1,   207,    -1,    72,    -1,
+      74,    -1,   193,   238,   348,   239,    -1,   192,   238,   348,
+     247,   348,   239,    -1,   194,   272,   348,   273,    -1,   194,
+     272,   348,   247,   348,   273,    -1,   203,   238,   334,   331,
+     239,    -1,   203,   238,   334,   244,   335,   331,   239,    -1,
+      48,   272,   352,   273,    -1,    49,   238,   348,   239,    -1,
+      50,   238,   348,   239,    -1,    51,   238,   348,   247,   348,
+     247,   348,   239,    -1,    46,   272,   352,   273,    -1,    60,
+     272,   348,   273,    -1,    61,   272,   348,   273,    -1,    62,
+     272,   348,   273,    -1,    59,   272,   327,   247,   348,   247,
+     348,   273,    -1,    54,   272,   348,   247,   327,   247,   327,
+     273,    -1,    54,   272,   348,   247,   327,   273,    -1,    47,
+     272,   348,   273,    -1,    47,   272,   348,   247,   344,   273,
+      -1,    68,   272,   348,   273,    -1,    69,    -1,    53,   272,
+     348,   273,    -1,    52,   272,   348,   273,    -1,    -1,    88,
+     272,   349,   350,   286,   273,    -1,    85,   272,   351,   273,
+      -1,   245,   327,    -1,   354,     9,   245,   327,    -1,   348,
+      -1,   352,   247,   348,    -1,     4,   246,   242,   327,   243,
+      -1,   353,   246,   242,   327,   243,    -1,   210,   240,   348,
+     241,   246,   242,   327,   243,    -1,     4,    -1,   353,    -1,
+     210,   240,   348,   241,    -1
 };
 
 /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
 static const yytype_uint16 yyrline[] =
 {
-       0,   253,   253,   254,   259,   261,   265,   266,   267,   268,
-     287,   288,   289,   290,   291,   292,   293,   294,   295,   296,
-     297,   298,   299,   300,   301,   302,   306,   310,   317,   322,
-     327,   341,   354,   367,   395,   409,   422,   435,   454,   459,
-     460,   461,   462,   463,   467,   469,   474,   476,   482,   586,
-     481,   604,   611,   622,   621,   639,   646,   657,   656,   673,
-     690,   713,   712,   726,   727,   728,   729,   730,   734,   735,
-     741,   741,   742,   742,   748,   749,   750,   751,   756,   762,
-     824,   839,   868,   878,   883,   891,   896,   904,   913,   918,
-     930,   947,   953,   962,   980,   998,  1007,  1019,  1024,  1032,
-    1052,  1075,  1086,  1094,  1116,  1139,  1177,  1198,  1210,  1224,
-    1224,  1226,  1228,  1237,  1247,  1246,  1267,  1266,  1284,  1294,
-    1293,  1307,  1309,  1317,  1323,  1328,  1354,  1356,  1359,  1361,
-    1365,  1366,  1370,  1382,  1395,  1410,  1420,  1422,  1426,  1427,
-    1432,  1440,  1449,  1457,  1475,  1479,  1486,  1494,  1498,  1505,
-    1513,  1517,  1524,  1532,  1536,  1543,  1552,  1555,  1562,  1565,
-    1572,  1596,  1612,  1628,  1665,  1705,  1721,  1737,  1759,  1769,
-    1785,  1802,  1818,  1839,  1850,  1856,  1862,  1869,  1900,  1915,
-    1937,  1960,  1983,  2006,  2030,  2054,  2077,  2102,  2112,  2135,
-    2152,  2168,  2186,  2204,  2214,  2226,  2238,  2250,  2267,  2283,
-    2299,  2314,  2331,  2348,  2383,  2405,  2429,  2430,  2435,  2438,
-    2442,  2453,  2464,  2475,  2491,  2510,  2531,  2546,  2562,  2580,
-    2631,  2652,  2674,  2697,  2802,  2818,  2853,  2864,  2875,  2881,
-    2896,  2924,  2936,  2945,  2952,  2964,  2983,  2989,  2995,  3002,
-    3009,  3016,  3028,  3101,  3119,  3136,  3151,  3184,  3196,  3220,
-    3224,  3229,  3236,  3241,  3251,  3256,  3262,  3270,  3274,  3278,
-    3287,  3351,  3367,  3384,  3401,  3423,  3445,  3480,  3488,  3496,
-    3502,  3509,  3516,  3536,  3562,  3574,  3586,  3604,  3622,  3641,
-    3640,  3665,  3664,  3691,  3690,  3715,  3714,  3737,  3753,  3770,
-    3787,  3810,  3813,  3819,  3831,  3851,  3855,  3859,  3863,  3867,
-    3871,  3875,  3879,  3888,  3901,  3902,  3903,  3904,  3905,  3909,
-    3910,  3911,  3912,  3913,  3916,  3939,  3958,  3980,  3983,  3999,
-    4002,  4019,  4022,  4028,  4031,  4038,  4041,  4048,  4065,  4106,
-    4150,  4189,  4214,  4223,  4253,  4279,  4305,  4337,  4364,  4390,
-    4416,  4442,  4468,  4490,  4496,  4502,  4508,  4514,  4520,  4546,
-    4572,  4589,  4606,  4623,  4635,  4641,  4647,  4659,  4663,  4673,
-    4684,  4685,  4686,  4690,  4696,  4708,  4726,  4754,  4755,  4756,
-    4757,  4758,  4759,  4760,  4761,  4762,  4769,  4770,  4771,  4772,
-    4773,  4774,  4775,  4776,  4777,  4778,  4779,  4780,  4781,  4782,
-    4783,  4784,  4785,  4786,  4787,  4788,  4789,  4790,  4791,  4792,
-    4793,  4794,  4795,  4796,  4797,  4798,  4799,  4800,  4801,  4802,
-    4803,  4804,  4805,  4806,  4815,  4816,  4817,  4818,  4819,  4820,
-    4821,  4822,  4823,  4824,  4825,  4830,  4829,  4837,  4839,  4844,
-    4849,  4853,  4871,  4889,  4893,  4897,  4901,  4905,  4911,  4927,
-    4933,  4939,  4958,  4979,  5012,  5016,  5021,  5026,  5036,  5046,
-    5051,  5062,  5071,  5076,  5081,  5109,  5110,  5116,  5117,  5123,
-    5122,  5145,  5147,  5152,  5161,  5163,  5169,  5170,  5176,  5180,
-    5184,  5188,  5192,  5199,  5203,  5207,  5211,  5218,  5223,  5230,
-    5235,  5239,  5244,  5248,  5256,  5267,  5271,  5283,  5291,  5299,
-    5306,  5316,  5339,  5345,  5351,  5357,  5363,  5374,  5385,  5396,
-    5407,  5413,  5419,  5425,  5431,  5441,  5451,  5461,  5474,  5486,
-    5490,  5494,  5498,  5516,  5524,  5532,  5561,  5571,  5587,  5598,
-    5603,  5607,  5611,  5623,  5627,  5639,  5656,  5666,  5670,  5685,
-    5690,  5697,  5701,  5706,  5720,  5737,  5741,  5746,  5754,  5760,
-    5766,  5772,  5781,  5785,  5789,  5797,  5803,  5809,  5813,  5821,
-    5829,  5836,  5846,  5851,  5856,  5871,  5885,  5899,  5911,  5927,
-    5936,  5945,  5955,  5966,  5974,  5982,  5986,  6005,  6012,  6018,
-    6025,  6033,  6032,  6042,  6066,  6068,  6074,  6079,  6087,  6096,
-    6105,  6117,  6120,  6124
+       0,   259,   259,   260,   265,   267,   271,   272,   273,   274,
+     293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
+     303,   304,   305,   306,   307,   308,   312,   316,   323,   328,
+     333,   347,   360,   373,   401,   415,   428,   441,   460,   465,
+     466,   467,   468,   469,   473,   475,   480,   482,   488,   592,
+     487,   610,   617,   628,   627,   645,   652,   663,   662,   679,
+     696,   719,   718,   732,   733,   734,   735,   736,   740,   741,
+     747,   747,   748,   748,   754,   755,   756,   757,   762,   768,
+     830,   845,   874,   884,   889,   897,   902,   910,   919,   924,
+     936,   953,   959,   968,   986,  1004,  1013,  1025,  1030,  1038,
+    1058,  1081,  1092,  1100,  1122,  1145,  1183,  1204,  1216,  1230,
+    1230,  1232,  1234,  1243,  1253,  1252,  1273,  1272,  1290,  1300,
+    1299,  1313,  1315,  1323,  1329,  1334,  1360,  1362,  1365,  1367,
+    1371,  1372,  1376,  1388,  1401,  1416,  1426,  1428,  1432,  1433,
+    1438,  1446,  1455,  1463,  1481,  1485,  1492,  1500,  1504,  1511,
+    1519,  1523,  1530,  1538,  1542,  1549,  1558,  1561,  1568,  1571,
+    1578,  1602,  1618,  1634,  1671,  1711,  1727,  1743,  1765,  1775,
+    1791,  1808,  1824,  1845,  1856,  1862,  1868,  1875,  1906,  1921,
+    1943,  1966,  1989,  2012,  2036,  2060,  2083,  2108,  2118,  2141,
+    2158,  2174,  2192,  2210,  2220,  2232,  2244,  2256,  2273,  2289,
+    2305,  2320,  2337,  2354,  2389,  2411,  2435,  2436,  2441,  2444,
+    2448,  2459,  2470,  2481,  2497,  2516,  2537,  2552,  2568,  2586,
+    2637,  2658,  2680,  2703,  2808,  2824,  2859,  2870,  2881,  2887,
+    2902,  2930,  2942,  2951,  2958,  2970,  2989,  2995,  3001,  3008,
+    3015,  3022,  3034,  3107,  3125,  3142,  3157,  3190,  3202,  3226,
+    3230,  3235,  3242,  3247,  3257,  3262,  3268,  3276,  3280,  3284,
+    3293,  3357,  3373,  3390,  3407,  3429,  3451,  3486,  3494,  3502,
+    3508,  3515,  3522,  3542,  3568,  3580,  3592,  3610,  3628,  3647,
+    3646,  3671,  3670,  3697,  3696,  3721,  3720,  3743,  3759,  3776,
+    3793,  3816,  3819,  3825,  3837,  3857,  3861,  3865,  3869,  3873,
+    3877,  3881,  3885,  3894,  3907,  3908,  3909,  3910,  3911,  3915,
+    3916,  3917,  3918,  3919,  3922,  3945,  3964,  3986,  3989,  4005,
+    4008,  4025,  4028,  4034,  4037,  4044,  4047,  4054,  4071,  4112,
+    4156,  4195,  4220,  4229,  4259,  4285,  4311,  4343,  4370,  4396,
+    4422,  4448,  4474,  4496,  4502,  4508,  4514,  4520,  4526,  4552,
+    4578,  4595,  4612,  4629,  4641,  4647,  4653,  4665,  4669,  4679,
+    4690,  4691,  4692,  4696,  4702,  4714,  4732,  4760,  4761,  4762,
+    4763,  4764,  4765,  4766,  4767,  4768,  4775,  4776,  4777,  4778,
+    4779,  4780,  4781,  4782,  4783,  4784,  4785,  4786,  4787,  4788,
+    4789,  4790,  4791,  4792,  4793,  4794,  4795,  4796,  4797,  4798,
+    4799,  4800,  4801,  4802,  4803,  4804,  4805,  4806,  4807,  4808,
+    4809,  4810,  4811,  4812,  4821,  4822,  4823,  4824,  4825,  4826,
+    4827,  4828,  4829,  4830,  4831,  4836,  4835,  4843,  4845,  4850,
+    4855,  4859,  4864,  4869,  4873,  4877,  4881,  4885,  4891,  4907,
+    4912,  4918,  4924,  4943,  4964,  4997,  5001,  5006,  5010,  5015,
+    5020,  5030,  5040,  5045,  5056,  5065,  5070,  5075,  5103,  5104,
+    5110,  5111,  5117,  5116,  5139,  5141,  5146,  5155,  5157,  5163,
+    5164,  5170,  5174,  5178,  5182,  5186,  5193,  5197,  5201,  5205,
+    5212,  5217,  5224,  5229,  5233,  5238,  5242,  5250,  5261,  5265,
+    5277,  5285,  5293,  5300,  5310,  5333,  5339,  5345,  5351,  5357,
+    5368,  5379,  5390,  5401,  5407,  5413,  5419,  5425,  5435,  5445,
+    5455,  5468,  5480,  5484,  5488,  5492,  5510,  5518,  5526,  5555,
+    5565,  5581,  5592,  5597,  5601,  5605,  5617,  5621,  5633,  5650,
+    5660,  5664,  5679,  5684,  5691,  5695,  5700,  5714,  5731,  5735,
+    5740,  5744,  5749,  5757,  5763,  5769,  5775,  5784,  5788,  5792,
+    5800,  5806,  5812,  5816,  5824,  5832,  5839,  5849,  5854,  5859,
+    5874,  5888,  5902,  5914,  5930,  5939,  5948,  5958,  5969,  5977,
+    5985,  5989,  6008,  6015,  6021,  6028,  6036,  6035,  6045,  6069,
+    6071,  6077,  6082,  6090,  6099,  6108,  6120,  6123,  6127
 };
 #endif
 
@@ -1628,20 +1638,20 @@ static const yytype_uint16 yyr1[] =
      328,   328,   328,   328,   328,   329,   328,   328,   328,   328,
      328,   328,   328,   328,   328,   328,   328,   328,   328,   328,
      328,   328,   328,   328,   328,   328,   328,   328,   328,   328,
-     328,   328,   328,   328,   328,   330,   330,   331,   331,   333,
-     332,   334,   334,   335,   336,   336,   337,   337,   338,   338,
-     338,   338,   338,   339,   339,   339,   339,   340,   340,   341,
-     341,   341,   341,   341,   341,   342,   342,   343,   343,   343,
+     328,   328,   328,   328,   328,   328,   328,   328,   330,   330,
+     331,   331,   333,   332,   334,   334,   335,   336,   336,   337,
+     337,   338,   338,   338,   338,   338,   339,   339,   339,   339,
+     340,   340,   341,   341,   341,   341,   341,   341,   342,   342,
      343,   343,   343,   343,   343,   343,   343,   343,   343,   343,
      343,   343,   343,   343,   343,   343,   343,   343,   343,   343,
-     343,   343,   343,   343,   343,   343,   343,   343,   343,   344,
-     344,   344,   344,   345,   345,   345,   345,   346,   346,   347,
-     347,   348,   348,   348,   348,   348,   348,   348,   348,   348,
-     348,   348,   349,   349,   349,   349,   349,   349,   349,   349,
+     343,   343,   343,   343,   343,   343,   343,   343,   343,   343,
+     343,   343,   344,   344,   344,   344,   345,   345,   345,   345,
+     346,   346,   347,   347,   348,   348,   348,   348,   348,   348,
+     348,   348,   348,   348,   348,   348,   348,   349,   349,   349,
      349,   349,   349,   349,   349,   349,   349,   349,   349,   349,
      349,   349,   349,   349,   349,   349,   349,   349,   349,   349,
-     349,   350,   349,   349,   351,   351,   352,   352,   353,   353,
-     353,   354,   354,   354
+     349,   349,   349,   349,   349,   349,   350,   349,   349,   351,
+     351,   352,   352,   353,   353,   353,   354,   354,   354
 };
 
 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
@@ -1690,22 +1700,22 @@ static const yytype_uint8 yyr2[] =
        4,     6,     4,     4,     4,     4,     4,     4,     4,     4,
        6,     6,     6,     4,     1,     1,     1,     1,     1,     1,
        1,     1,     1,     1,     1,     0,     6,     1,     4,     6,
-       1,     4,     4,     4,     6,     5,     7,     4,     4,     4,
-       3,     2,     5,     5,     3,     5,     6,     4,     7,     6,
-       6,     6,     4,     6,     4,     0,     2,     0,     2,     0,
-       7,     1,     3,     1,     1,     2,     0,     3,     1,     2,
-       2,     3,     3,    11,     9,     7,     7,     1,     3,     1,
-       1,     2,     3,     4,     5,     1,     1,     2,     3,     3,
-       5,     4,     2,     2,     2,     2,     3,     3,     3,     3,
-      16,    16,    16,    16,     1,     1,     1,     3,     4,     4,
-       4,     6,     6,     8,     8,     4,    14,     4,     4,     1,
-       1,     3,     3,     9,     7,     1,     5,     3,     6,     1,
-       3,     1,     1,     4,     4,     3,     5,     6,     5,     5,
-       5,     5,     1,     4,     1,     1,     1,     1,     4,     6,
-       4,     6,     5,     7,     4,     4,     4,     8,     4,     4,
-       4,     4,     8,     8,     6,     4,     6,     4,     1,     4,
-       4,     0,     6,     4,     2,     4,     1,     3,     5,     5,
-       8,     1,     1,     4
+       1,     4,     4,     4,     6,     5,     7,     4,     4,     6,
+       4,     3,     2,     5,     5,     3,     5,     6,     8,     6,
+       4,     7,     6,     6,     6,     4,     6,     4,     0,     2,
+       0,     2,     0,     7,     1,     3,     1,     1,     2,     0,
+       3,     1,     2,     2,     3,     3,    11,     9,     7,     7,
+       1,     3,     1,     1,     2,     3,     4,     5,     1,     1,
+       2,     3,     3,     5,     4,     2,     2,     2,     2,     3,
+       3,     3,     3,    16,    16,    16,    16,     1,     1,     1,
+       3,     4,     4,     4,     6,     6,     8,     8,     4,    14,
+       4,     4,     1,     1,     3,     3,     9,     7,     1,     5,
+       3,     6,     1,     3,     1,     1,     4,     4,     3,     5,
+       6,     8,     6,     5,     5,     5,     5,     1,     4,     1,
+       1,     1,     1,     4,     6,     4,     6,     5,     7,     4,
+       4,     4,     8,     4,     4,     4,     4,     8,     8,     6,
+       4,     6,     4,     1,     4,     4,     0,     6,     4,     2,
+       4,     1,     3,     5,     5,     8,     1,     1,     4
 };
 
 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
@@ -1713,7 +1723,7 @@ static const yytype_uint8 yyr2[] =
    means the default is an error.  */
 static const yytype_uint16 yydefact[] =
 {
-       0,     0,     0,     2,     3,     1,   581,     0,     0,     0,
+       0,     0,     0,     2,     3,     1,   586,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
@@ -1726,9 +1736,9 @@ static const yytype_uint16 yydefact[] =
        0,     0,     0,   360,   361,   362,     0,     0,     5,     6,
        7,     8,    10,    11,    24,    12,    13,    14,    15,    23,
       22,    21,    16,     0,    17,    18,    19,    20,     0,    25,
-       0,   582,     0,   208,     0,     0,     0,     0,     0,   253,
+       0,   587,     0,   208,     0,     0,     0,     0,     0,   253,
        0,   255,   256,   251,   252,     0,   257,   258,   111,   121,
-     581,   466,   461,    70,    71,     0,     0,     0,     0,     0,
+     586,   469,   464,    70,    71,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,   259,     0,     0,     0,     0,     0,   414,   415,   417,
@@ -1738,1005 +1748,1050 @@ static const yytype_uint16 yydefact[] =
        0,     0,     0,     0,     0,   422,   423,   424,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,   419,   420,   421,     0,     0,     0,     0,
-       0,     0,   504,   505,     0,   506,   479,   367,   427,   430,
-     288,   480,   461,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,   507,   508,     0,   509,   482,   367,   427,   430,
+     288,   483,   464,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,   468,     0,     0,   208,     0,     0,     0,     0,
+       0,     0,   471,     0,     0,   208,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     581,     0,     0,   208,     0,     0,   357,     0,     0,     0,
-       0,     0,     0,     0,     0,   486,     0,   485,     0,     0,
-       0,     0,     0,   581,     0,     0,   525,     0,     0,     0,
-       0,   249,   250,     0,   542,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   544,     0,
-     568,   546,   547,     0,     0,     0,     0,     0,     0,   545,
+     586,     0,     0,   208,     0,     0,   357,     0,     0,     0,
+       0,     0,     0,     0,     0,   489,     0,   488,     0,     0,
+       0,     0,     0,   586,     0,     0,   528,     0,     0,     0,
+       0,   249,   250,     0,   547,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   549,     0,
+     573,   551,   552,     0,     0,     0,     0,     0,     0,   550,
        0,     0,     0,     0,   267,   268,     0,   208,     0,   208,
-       0,     0,     0,   461,     0,     0,   208,   363,     0,     0,
+       0,     0,     0,   464,     0,     0,   208,   363,     0,     0,
       76,     0,    63,     0,     0,    67,    66,    65,    64,    69,
-      68,    70,    71,     0,     0,     0,     0,     0,     0,   531,
-     461,     0,   207,     0,   206,     0,   174,     0,     0,   531,
-     532,     0,     0,   576,     0,   109,   109,     0,   459,     0,
-       0,     0,     0,     0,   519,   520,     0,     0,     0,     0,
+      68,    70,    71,     0,     0,     0,     0,     0,     0,   534,
+     464,     0,   207,     0,   206,     0,   174,     0,     0,   534,
+     535,     0,     0,   581,     0,   109,   109,     0,   462,     0,
+       0,     0,     0,     0,   522,   523,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,    70,    71,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,   492,     0,     0,   493,     0,   494,     0,   495,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,   370,     0,   369,   487,   371,     0,   481,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,    70,    71,     0,   441,     0,     0,     0,     0,     0,
-       0,   289,     0,   321,   321,     0,     0,     0,     0,     0,
+       0,   495,     0,     0,   496,     0,   497,     0,   498,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     208,     0,   208,   208,     0,   470,   469,     0,     0,     0,
-       0,   208,   208,     0,     0,     0,     0,   285,     0,   208,
+       0,   370,     0,   369,   490,   371,     0,   484,     0,     0,
+     464,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     323,     0,     0,     0,     0,     0,   232,     0,     0,   230,
-     358,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     331,   248,     0,     0,     0,     0,     0,   208,     0,     0,
+       0,     0,    70,    71,     0,   442,     0,     0,     0,     0,
+       0,     0,   289,     0,   321,   321,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,   208,     0,   208,   208,     0,   473,   472,     0,     0,
+       0,     0,   208,   208,     0,     0,     0,     0,   285,     0,
+     208,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,   323,     0,     0,     0,     0,     0,   232,     0,     0,
+     230,   358,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,   331,   248,     0,     0,     0,     0,     0,   208,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,   271,   270,     0,   236,     0,   237,
-       0,     0,   369,     0,   208,     0,     0,     0,     0,   309,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,    80,    72,    73,     0,     0,
-     246,    38,   242,     0,     0,     0,     0,     0,   203,     0,
-       0,     0,     0,     0,     0,     0,   209,     0,   175,     0,
+       0,     0,     0,     0,     0,   271,   270,     0,   236,     0,
+     237,     0,     0,   369,     0,   208,     0,     0,     0,     0,
+     309,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,    80,    72,    73,     0,
+       0,   246,    38,   242,     0,     0,     0,     0,     0,   203,
+       0,     0,     0,     0,     0,     0,     0,   209,     0,   175,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,   110,     0,     0,     0,   464,     0,     0,   462,     0,
+       0,     0,   110,     0,     0,     0,   467,     0,     0,   465,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,   315,     0,     0,     0,     0,     0,     0,   350,   351,
-     352,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,   315,     0,     0,     0,     0,     0,     0,   350,
+     351,   352,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,   461,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     425,   440,     0,     0,     0,     0,     0,     0,   496,   497,
-     498,   499,     0,     0,     0,     0,     0,   455,     0,   368,
-     482,     0,   489,     0,   387,   386,   385,   384,   380,   381,
-     388,   389,   383,   382,   373,   372,     0,   374,   488,   375,
-     378,   376,   377,   379,   462,     0,     0,   463,   444,     0,
-     507,     0,     0,     0,     0,     0,     0,     0,   319,     0,
-       0,   144,   145,     0,   147,   148,     0,   150,   151,     0,
-     153,   154,     0,   354,     0,   355,     0,   356,     0,     0,
-       0,     0,   353,     0,   208,     0,     0,     0,     0,     0,
-     472,   471,     0,     0,     0,     0,     0,     0,     0,   279,
+     464,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,   425,   441,     0,     0,     0,     0,     0,     0,   499,
+     500,   501,   502,     0,     0,     0,     0,     0,   458,     0,
+     368,   485,     0,     0,   492,     0,   387,   386,   385,   384,
+     380,   381,   388,   389,   383,   382,   373,   372,     0,   374,
+     491,   375,   378,   376,   377,   379,   465,     0,     0,   466,
+     445,     0,   510,     0,     0,     0,     0,     0,     0,     0,
+     319,     0,     0,   144,   145,     0,   147,   148,     0,   150,
+     151,     0,   153,   154,     0,   354,     0,   355,     0,   356,
+       0,     0,     0,     0,   353,     0,   208,     0,     0,     0,
+       0,     0,   475,   474,     0,     0,     0,     0,     0,     0,
+       0,   279,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,   334,     0,     0,   231,     0,     0,
+     226,     0,     0,     0,   349,   348,     0,     0,     0,   368,
+       0,     0,     0,     0,     0,     0,     0,     0,   272,   273,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,   334,     0,     0,   231,     0,     0,   226,     0,
-       0,     0,   349,   348,     0,     0,     0,   368,     0,     0,
-       0,     0,     0,     0,     0,     0,   272,   273,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   576,     0,
+       0,     0,   460,     0,     0,   238,   240,     0,   374,     0,
+     588,     0,     0,     0,     0,     0,     0,     0,     0,    87,
+       0,     0,     0,     0,     0,   368,     0,    63,     0,     0,
+       0,     0,    79,     0,    63,    64,     0,     0,   465,     0,
+       0,   445,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,   583,    28,    26,    27,     0,     0,     0,     0,
+       0,   466,   538,    29,     0,     0,   243,   582,    74,   112,
+      75,   122,   468,   470,   128,     0,     0,     0,     0,   524,
+     525,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,   571,     0,     0,     0,
-     457,     0,     0,   238,   240,     0,   374,     0,   583,     0,
-       0,     0,     0,     0,     0,     0,     0,    87,     0,     0,
-       0,     0,     0,   368,     0,    63,     0,     0,     0,     0,
-      79,     0,    63,    64,     0,     0,   462,     0,     0,   444,
+       0,     0,     0,     9,   391,   392,   393,   394,   395,   396,
+     397,   398,   399,   413,   400,     0,   402,   403,   404,   405,
+     406,   521,   407,   408,   409,     0,     0,     0,   513,   512,
+     511,     0,     0,     0,   518,     0,   455,     0,     0,     0,
+     457,   126,   440,     0,   494,     0,     0,     0,     0,     0,
+     428,   520,   433,     0,   437,     0,     0,     0,   486,     0,
+       0,   438,     0,     0,     0,     0,   432,   431,   450,     0,
+       0,     0,     0,     0,     0,   368,   317,   322,   320,     0,
+     330,     0,     0,     0,     0,     0,     0,     0,     0,   368,
+     368,   368,     0,     0,     0,     0,   227,     0,   239,   241,
+       0,     0,     0,   198,   200,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,   291,     0,   276,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     578,    28,    26,    27,     0,     0,     0,     0,     0,   463,
-     535,    29,     0,     0,   243,   577,    74,   112,    75,   122,
-     465,   467,   128,     0,     0,     0,     0,   521,   522,     0,
+     324,   333,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,   233,     0,     0,
+       0,     0,   563,     0,   570,   559,   560,   561,     0,   575,
+     574,     0,     0,   564,   565,   566,   572,   579,   578,     0,
+     136,     0,   553,     0,   555,     0,     0,     0,   548,     0,
+     235,     0,     0,     0,   310,     0,     0,     0,   364,     0,
+     584,     0,     0,     0,     0,   101,    63,     0,     0,     0,
+       0,     0,     0,     0,    95,     0,     0,     0,     0,     0,
+       0,     0,     0,    48,     0,     0,     0,    61,     0,    39,
+      40,    41,    42,    43,     0,   432,   431,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,   537,   536,     0,     0,     0,     0,     0,   133,     0,
+     129,   130,     0,     0,     0,     0,     0,   158,   158,     0,
+       0,     0,     0,     0,     0,     0,   156,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,   327,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     9,   391,   392,   393,   394,   395,   396,   397,   398,
-     399,   413,   400,     0,   402,   403,   404,   405,   406,   518,
-     407,   408,   409,     0,     0,     0,   510,   509,   508,     0,
-       0,     0,   515,     0,   452,     0,     0,     0,   454,   126,
-     439,     0,   491,     0,     0,     0,     0,     0,   428,   517,
-     433,     0,   437,     0,     0,     0,   483,     0,   438,     0,
-       0,     0,     0,   432,   431,   447,     0,     0,     0,     0,
-       0,   368,   317,   322,   320,     0,   330,     0,     0,     0,
-       0,     0,     0,     0,     0,   368,   368,   368,     0,     0,
-       0,     0,   227,     0,   239,   241,     0,     0,     0,   198,
-     200,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,   291,     0,   276,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,   324,   333,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,   233,     0,     0,     0,     0,   558,     0,
-     565,   554,   555,   556,     0,   570,   569,     0,     0,   559,
-     560,   561,   567,   574,   573,     0,   136,     0,   548,     0,
-     550,     0,     0,     0,   543,     0,   235,     0,     0,     0,
-     310,     0,     0,     0,   364,     0,   579,     0,     0,     0,
-       0,   101,    63,     0,     0,     0,     0,     0,     0,     0,
-      95,     0,     0,     0,     0,     0,     0,     0,     0,    48,
-       0,     0,     0,    61,     0,    39,    40,    41,    42,    43,
-       0,   432,   431,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,   534,   533,     0,     0,
-       0,     0,   133,     0,   129,   130,     0,     0,     0,     0,
-       0,   158,   158,     0,     0,     0,     0,     0,     0,     0,
-     156,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,   327,     0,     0,     0,     0,     0,     0,     0,     0,
+     458,   459,   435,     0,     0,   493,   390,   487,   446,   444,
+       0,   443,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,   329,     0,   146,     0,   149,     0,   152,     0,   155,
+       0,     0,     0,     0,     0,     0,     0,   234,     0,     0,
+       0,     0,     0,     0,     0,   296,     0,     0,   295,     0,
+     298,     0,   300,     0,   286,   292,     0,     0,     0,   225,
+       0,     0,     0,     0,     0,     0,     0,     0,   335,     0,
+     229,   228,   359,     0,     0,    35,    36,     0,     0,     0,
+       0,   529,     0,     0,     0,   262,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,   460,   461,   557,
+       0,     0,   208,   311,     0,   312,   208,     0,     0,   543,
+     544,   545,   546,     0,    86,     0,     0,     0,     0,    84,
+      91,    93,     0,   532,     0,    99,     0,     0,     0,     0,
+      81,     0,     0,     0,     0,     0,    34,   446,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,   455,   456,   435,     0,   490,   390,
-     484,   445,   443,     0,   442,     0,     0,     0,     0,     0,
-       0,     0,     0,   329,     0,   146,     0,   149,     0,   152,
-       0,   155,     0,     0,     0,     0,     0,     0,     0,   234,
-       0,     0,     0,     0,     0,     0,     0,   296,     0,     0,
-     295,     0,   298,     0,   300,     0,   286,   292,     0,     0,
-       0,   225,     0,     0,     0,     0,     0,     0,     0,     0,
-     335,     0,   229,   228,   359,     0,     0,    35,    36,     0,
-       0,     0,     0,   526,     0,     0,     0,   262,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,   457,
-     458,   552,     0,     0,   208,   311,     0,   312,   208,     0,
-       0,   538,   539,   540,   541,     0,    86,     0,     0,     0,
-       0,    84,    91,    93,     0,   529,     0,    99,     0,     0,
-       0,     0,    81,     0,     0,     0,     0,     0,    34,   445,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,    30,    31,     0,   536,     0,    32,     0,     0,
-     113,   118,     0,     0,   132,   135,   460,     0,    77,    78,
+       0,    30,    31,     0,   539,     0,     0,    32,     0,     0,
+     113,   118,     0,     0,   132,   135,   463,     0,    77,    78,
      160,     0,     0,     0,     0,     0,     0,   161,     0,     0,
      177,   178,     0,     0,     0,     0,   162,   190,   179,   183,
      184,   180,   181,   182,   169,     0,     0,   401,   410,   411,
-     412,   511,     0,     0,     0,   450,   451,   453,   127,   426,
-       0,     0,     0,     0,   449,   429,   434,     0,   191,   446,
-     512,   185,     0,     0,   156,     0,     0,   328,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   247,     0,
-       0,     0,     0,   208,   208,     0,     0,   297,   479,     0,
-       0,   299,   301,     0,     0,   280,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,   186,     0,     0,     0,
-       0,   165,   166,     0,     0,     0,     0,   102,   106,     0,
-     566,     0,     0,   564,     0,   575,     0,     0,   137,   138,
-     572,   549,   551,     0,     0,     0,   309,   313,   309,     0,
-     365,    85,    63,     0,     0,     0,     0,    83,     0,   527,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     477,     0,   446,   244,   245,   210,   211,   212,   213,     0,
-       0,     0,     0,     0,   537,     0,   114,   119,     0,     0,
-     519,   520,   131,     0,     0,   159,   163,   164,   170,     0,
-       0,   189,     0,   172,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,   436,   448,     0,   171,     0,   192,
-     318,   194,   195,   196,   197,   168,     0,   187,   193,     0,
-       0,     0,     0,     0,     0,   476,   475,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,   224,   223,     0,
-       0,     0,     0,     0,     0,     0,     0,   214,     0,     0,
-     332,    37,     0,   524,     0,     0,   264,   263,     0,     0,
-       0,     0,     0,     0,     0,   140,   141,   142,     0,   553,
-       0,   580,     0,     0,     0,     0,     0,    96,     0,     0,
-      97,   530,     0,     0,    88,     0,     0,     0,    44,     0,
-       0,     0,     0,     0,    46,    33,     0,   126,   136,     0,
+     412,   514,     0,     0,     0,   453,   454,   456,   127,   426,
+       0,     0,     0,     0,   452,   429,   434,     0,   191,   439,
+       0,   449,   447,   515,   185,     0,     0,   156,     0,     0,
+     328,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,   247,     0,     0,     0,     0,   208,   208,     0,     0,
+     297,   482,     0,     0,   299,   301,     0,     0,   280,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,   186,
+       0,     0,     0,     0,   165,   166,     0,     0,     0,     0,
+     102,   106,     0,   571,     0,     0,   569,     0,   580,     0,
+       0,   137,   138,   577,   554,   556,     0,     0,     0,   309,
+     313,   309,     0,   365,    85,    63,     0,     0,     0,     0,
+      83,     0,   530,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,   480,     0,     0,   449,   244,   447,   245,
+     210,   211,   212,   213,     0,     0,     0,     0,     0,     0,
+     542,   540,     0,   114,   119,     0,     0,   522,   523,   131,
+       0,     0,   159,   163,   164,   170,     0,     0,   189,     0,
+     172,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,   436,     0,   451,     0,   171,     0,   192,   318,   194,
+     195,   196,   197,   168,     0,   187,   193,     0,     0,     0,
+       0,     0,     0,   479,   478,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,   224,   223,     0,     0,     0,
+       0,     0,     0,     0,     0,   214,     0,     0,   332,    37,
+       0,   527,     0,     0,   264,   263,     0,     0,     0,     0,
+       0,     0,     0,   140,   141,   142,     0,   558,     0,   585,
+       0,     0,     0,     0,     0,    96,     0,     0,    97,   533,
+       0,     0,    88,     0,     0,     0,    44,     0,     0,     0,
+       0,     0,    46,     0,    33,     0,     0,   126,   136,     0,
      134,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,   513,   514,     0,     0,     0,     0,     0,     0,
-     173,     0,   325,   325,     0,   107,   108,   208,     0,   201,
-     202,   287,     0,   293,     0,     0,   208,     0,     0,     0,
-       0,     0,     0,     0,     0,   205,   204,     0,     0,     0,
-       0,   103,   104,   557,   563,   562,     0,   139,     0,     0,
-     314,     0,    92,    94,     0,   100,     0,    82,    89,    90,
-      49,     0,     0,     0,     0,   478,     0,     0,     0,     0,
-       0,   116,     0,   123,     0,   343,   345,   344,   346,     0,
-     347,   176,     0,     0,     0,     0,     0,     0,   290,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,   474,
-       0,   303,     0,     0,   281,     0,   215,     0,     0,     0,
-       0,     0,     0,     0,   523,   265,     0,   143,     0,   208,
-     366,     0,   528,     0,    45,     0,     0,     0,    62,    47,
-       0,   115,   120,   126,     0,     0,   157,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,   326,   336,     0,     0,
-     337,     0,   199,     0,   294,     0,   277,     0,   208,     0,
-       0,     0,     0,     0,     0,   167,   105,   261,   309,    98,
-       0,     0,     0,     0,     0,     0,   124,   125,     0,     0,
-       0,     0,     0,     0,   188,     0,   340,     0,   341,   342,
-     473,     0,     0,   283,   218,     0,     0,     0,     0,     0,
-       0,     0,     0,    53,     0,    59,     0,     0,   117,     0,
-       0,     0,     0,     0,     0,     0,     0,   302,   282,   278,
+       0,     0,   516,   517,     0,     0,     0,     0,     0,   448,
+       0,   173,     0,   325,   325,     0,   107,   108,   208,     0,
+     201,   202,   287,     0,   293,     0,     0,   208,     0,     0,
+       0,     0,     0,     0,     0,     0,   205,   204,     0,     0,
+       0,     0,   103,   104,   562,   568,   567,     0,   139,     0,
+       0,   314,     0,    92,    94,     0,   100,     0,    82,    89,
+      90,    49,     0,     0,     0,     0,   481,     0,     0,   448,
+     541,     0,     0,     0,   116,     0,   123,     0,   343,   345,
+     344,   346,     0,   347,   176,     0,     0,     0,     0,     0,
+       0,   290,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,   477,     0,   303,     0,     0,   281,     0,   215,
+       0,     0,     0,     0,     0,     0,     0,   526,   265,     0,
+     143,     0,   208,   366,     0,   531,     0,    45,     0,     0,
+       0,    62,    47,     0,   115,   120,   126,     0,     0,   157,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,   326,
+     336,     0,     0,   337,     0,   199,     0,   294,     0,   277,
+       0,   208,     0,     0,     0,     0,     0,     0,   167,   105,
+     261,   309,    98,     0,     0,     0,     0,     0,     0,   124,
+     125,     0,     0,     0,     0,     0,     0,   188,     0,   340,
+       0,   341,   342,   476,     0,     0,   283,   218,     0,     0,
+       0,     0,     0,     0,     0,     0,    53,     0,    59,     0,
+       0,   117,     0,     0,     0,     0,     0,     0,     0,     0,
+     302,   282,   278,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,   219,   220,   221,   222,     0,   216,   316,    50,
-       0,    57,     0,   254,     0,   516,     0,     0,     0,     0,
-       0,     0,   284,     0,     0,    51,     0,     0,   260,     0,
-       0,     0,     0,     0,     0,   217,     0,     0,     0,     0,
-     500,   501,   502,   503,     0,     0,    54,    52,     0,    55,
-       0,   338,   339,     0,     0,    60,    58,    56
+       0,     0,     0,     0,     0,   219,   220,   221,   222,     0,
+     216,   316,    50,     0,    57,     0,   254,     0,   519,     0,
+       0,     0,     0,     0,     0,   284,     0,     0,    51,     0,
+       0,   260,     0,     0,     0,     0,     0,     0,   217,     0,
+       0,     0,     0,   503,   504,   505,   506,     0,     0,    54,
+      52,     0,    55,     0,   338,   339,     0,     0,    60,    58,
+      56
 };
 
 /* YYDEFGOTO[NTERM-NUM].  */
 static const yytype_int16 yydefgoto[] =
 {
-      -1,     2,     3,   108,  1024,   109,   110,  1005,  1807,  1813,
-    1285,  1493,  1953,  2094,  1286,  2059,  2118,  1287,  2096,  1288,
-    1289,  1497,   404,   554,   555,  1088,   111,   732,   425,  1817,
-    1963,  1818,   426,  1699,  1356,  1313,  1314,  1315,  1456,  1648,
-    1649,   870,   873,   876,   879,  1544,  1534,   716,   252,   413,
+      -1,     2,     3,   108,  1026,   109,   110,  1007,  1825,  1831,
+    1289,  1501,  1976,  2117,  1290,  2082,  2141,  1291,  2119,  1292,
+    1293,  1505,   404,   555,   556,  1090,   111,   733,   425,  1837,
+    1986,  1838,   426,  1716,  1362,  1319,  1320,  1321,  1464,  1661,
+    1662,   872,   875,   878,   881,  1554,  1544,   717,   252,   413,
      414,   114,   115,   116,   117,   118,   119,   120,   121,   253,
-    1185,  1987,  2050,   907,  1181,  1182,   254,   982,   255,   125,
-    1382,  1145,   868,   921,  1923,   126,   127,   128,   129,   256,
-     257,  1109,  1125,  1243,   258,   737,   259,   858,   736,   428,
-     586,   292,  1679,   327,   328,   261,   528,   335,  1273,  1486,
-     423,   419,  1236,   964,   424,   131,   383
+    1189,  2010,  2073,   909,  1185,  1186,   254,   984,   255,   125,
+    1390,  1149,   870,   923,  1946,   126,   127,   128,   129,   256,
+     257,  1111,  1127,  1247,   258,   738,   259,   860,   737,   428,
+     587,   292,  1692,   327,   328,   261,   528,   335,  1277,  1494,
+     423,   419,  1240,   966,   424,   131,   383
 };
 
 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
    STATE-NUM.  */
-#define YYPACT_NINF -1790
+#define YYPACT_NINF -1788
 static const yytype_int16 yypact[] =
 {
-   10160,    35,    55, 10310, -1790, -1790,  -137,    71,    66,  -113,
-     -93,    27,   181,   251,   285,   292,    -8,   301,   315,    91,
-     100,    18,  -122,  -122,   -53,   120,   126,    21,   131,   136,
-      33,   178,   184,   190,   223,   250,   349,   361,   385,   411,
-     417,   283,   346,   514,   367,   449,   428,  5890,   437,   455,
-     665,   -71,   217,   293,   638,   -40,   500,   630,  -114,   525,
-     435,   435,   534,   463,   670, -1790, -1790, -1790, -1790, -1790,
-     601,   249,   750,   778,    48,    32,   786,   766,    81,   877,
-     898,   905,  5182,   930,   700,   709,   716,    28,     8, -1790,
-     718,   724, -1790, -1790,   967,   968,   735, -1790, 10477,   745,
-   10507,    34,    37, -1790, -1790, -1790,  9990,   749, -1790, -1790,
-   -1790, -1790, -1790, -1790, -1790, -1790, -1790, -1790, -1790, -1790,
-   -1790, -1790, -1790,   248, -1790, -1790, -1790, -1790,    54, -1790,
-     984,   751,  4944,   416,   753,   997,  9990,  8107,  8107, -1790,
-    9990, -1790, -1790, -1790, -1790,  8107, -1790, -1790, -1790, -1790,
-     759,   780,  1010, -1790, -1790, 10537,    18,  9990,  9044,  9990,
-    9990,   782,  9990,  9044,  9990,  9990,   799,  9990,  9044,  9990,
-    9990,  9990,  9990,  9990,  9990,  8107,  9990,  9990,  9990,  6126,
-     805, -1790,  9044,  5182,  5182,  5182,  8107, -1790, -1790, -1790,
-   -1790, -1790,  -122,  -122,  -122,  -122,  -122,  -122,  -122,  -122,
-    -122,  -122,  -122,  -122,  -122,  -122,  -122,  -122,  -122,  -122,
-    -122,  -122,  -122,  -122,  -122,   -84,  -122,  -122,  -122,  -122,
-    -122,   807,  -122,  -122,   812, -1790, -1790, -1790,  -122,  -122,
-      53,    43,    59,    63,  6126,   920,   509,   815,  -122,  -122,
-     817,   841,   843, -1790, -1790, -1790,  9990,  6362,  9990,  9990,
-    6598,    18, -1790, -1790,   829, -1790,  4307, -1790, -1790, -1790,
-   -1790, -1790,   177,  9990,  9044,   844,   846,  6834,  5182,  5182,
-    5182,   847,   849,   850,   851,  7070,  7306,  7542,   852,   895,
-    1087,  6126,   856,    28,   881,   884,   435,   435,   435,  9990,
-    9990,  -115, -1790,   -83,   435,  9361,   274,   280,   854,   855,
-     889,   891,   892,   893,   894,  9990,  5182,  5182,  5182,   900,
-       9,  1130,   899, -1790,  1135,  1152, -1790,   918,   924,   926,
-    5182,  5182,   927,   929,   931, -1790,  9990, -1790,  1164,  1167,
-    9990,  9990,  9990,   583,  9990,   933, -1790,  1000,  9990,  9990,
-    9990, -1790, -1790,  9990, -1790,  -122,  -122,  -122,   940,   941,
-     942,  -122,  -122,  -122,  -122,  -122,  -122,  -122, -1790,  -122,
-   -1790, -1790, -1790,  -122,  -122,   943,   944,  -122,   945, -1790,
-     946,  1178,  1181,   947, -1790, -1790,  1182, -1790,  1185, -1790,
-    -122,  9990, 13106,   224,  8107,  9990, -1790, -1790,  6126,  6126,
-   -1790,   951, 10537,   669,  1187, -1790, -1790, -1790, -1790, -1790,
-   -1790,  9990,  9990,   298,  6126,  1190,   383,  1713,   955,  1192,
-     153,   957, -1790,   958,  8875,  9990, -1790,  2051,    95, -1790,
-      68,   159,  9629, -1790,   219,  -158,  -147,  1113, -1790,    18,
-     956,   965, 13568,  9044,  4621, -1790,   282, 13593, 13618,  9990,
-   13643,   313, 13668, 13693,  9990, 13718,   333, 13743, 13768, 13793,
-   13818, 13843, 13868,   963, 13893, 13918, 13943,  1206,  9990,   358,
-    1208,  1209,  1211,   979,  9990,  9990,  9990,  9990,  9990,  9990,
-    9990,  9990,  9990,  9990,  9990,  9990,  9990,  9990,  9990,  9990,
-    9044,  9990,  9990,  9990,  9990,  9990,  9990,  9044,  9044,   977,
-    9990,  9990,  8107,  9990,  8107,  6126,  8107,  8107,  8107,  9990,
-      58, -1790,  1156,  9990, -1790,  1158, -1790,  1159, -1790,  1160,
-    6126,  5182,  5182,  5182,  5182,  8107,  8107,  9044,    18, 10537,
-      18,   989,  9044,   989, -1790,   989, 13968, -1790,   390,  -122,
-    9990,  9990,  9990,  9990,  9990,  9990,  9990,  9990,  9990,  9990,
-    9990,  9990,  9990,  9990,  7778,  9990,  9990,  9990,  9990,  9990,
-      18,  9990,  9990,  1224, -1790,   465, 13993,   429,  9990,  9990,
-    9990, -1790,  1222,  1223,  1223,  9275,  9275,  9275,  9275,  9990,
-    1225,  9990,  1226,  9990,  1227,  9044,  9044, 13134,   996,  1231,
-   -1790,   998, -1790, -1790,  -177, -1790, -1790,  9862, 10411,   435,
-     435,   416,   416,  -145,  9361,  9361,  9990,  2059,  -123, -1790,
-    9990,  9990,  9990,  9990,  9990,  9990,  9990,  9990,  9990, 14018,
-    1234,  1232,  1235,  9990,  1237,  9990, -1790,  9990,  4505, -1790,
-   -1790,  9044,  9044,  9044,  1238,  1239,  9990,  9990,  9990, 14043,
-   -1790, -1790, 14068, 14093, 14118,  1073, 10532, -1790,  1005,  4819,
-   14143, 14168, 13217,  8107,  8107,  8107,  8107,  8107,  8107,  8107,
-    8107,  8107,  9990,  8107,  8107,  8107,  8107,    15, 10537,  8107,
-    8107,  8107,    18,    18, -1790, -1790,  9044, -1790,  5249, -1790,
-    5485,  9990,   989,  9990, -1790,  9990,  9990,  1007, 14193,  8317,
-    1013,   493,  9990,  1247,  1012,  1014,  1015,  1017,  9990, 14218,
-   13244,   319,  1011,  1242,  1254, -1790, -1790, -1790,  9044,   227,
-   -1790, -1790, -1790,    18,  9990,  9990,  1224,  1021, -1790,   454,
-      39,    47,   535,  1024,   -28,   691, -1790, 12149, -1790,   145,
-    9044,    18,  9990,  9990,  1259,  1258,  9044,  9990,  1260,  8107,
-    1261, -1790,    18,  1262,  8107,  9990,  1026,  1030, -1790,  9990,
-   10537,  1264,  9044,  1096,  9044,  1266,  1269, 14243,  1270,  1102,
-    1273,  1274, 14268,  1275,  1107,  1277,  1278,  1279,  1281,  1283,
-    1285, -1790,  1286,  1287,  1288,  9990, 14293,  1054, -1790, -1790,
-   -1790,  1291, 13190, 13190, 13190, 13190, 13190, 13190, 13190, 13190,
-   13190, 13190, 13190, 10565, 13190, 13190, 13190, 13190,  1243,   371,
-   13190, 13190, 13190, 10598, 10631, 10664,  4621,  1060,  1059,   164,
-    9044, 10697, 10730,   371, 10763,   371,  1055,  1056,  1057,   231,
-    4283, -1790,   371,  1063, 12178,  1064,  1065,  1066, -1790, -1790,
-   -1790, -1790,  1067,  -133,   371,   -92,  1062,  -111,   544,  1303,
-   -1790,   371,  4855,  4883,   925,   888,   802,   802,   484,   484,
-     484,   484,   484,   484,   604,   604,  9044,   321, -1790,   321,
-     321,   989,   989,   989,  1068, 14318, 13271,  -205, -1790,  9044,
-   -1790,  1304,  1071, 14343, 14368, 14393,  9990,  6126,  1311,  1310,
-    1078,  4283,  1072,  1079,  4283,  1075,  1084,  4283,  1077,  1086,
-    4283,  1080, 14418, -1790, 14443, -1790, 14468, -1790,   555,   556,
-    9044,  1085, -1790,  5721, -1790,  5957,  6193,   435,  9990,  9990,
-   -1790, -1790,  1088,  1089,  9361,  8521,  1200,   -67,   435,  6429,
-   14493, 12207, 14518, 14543, 14568, 14593, 14618, 14643, 14668,  1323,
-    9990,  1327, -1790,  9990, 14693, -1790, 13298, 13325, -1790,   595,
-     597,   603, -1790, -1790, 13352, 13379, 10796, -1790,  1328,  1329,
-    1330,  1090,  9990,  6665,  9990,  9990, -1790, -1790,     1,  -119,
-     -70,  -119,  1099,  1100,  1093,   371,   371,  1094, 10829,   371,
-     371,   371,   371,  9990,   371,  1333, -1790,  1098,  1108,   481,
-     205,  1111,   605, -1790, -1790, 13190,   321,  6901,  1116,  1356,
-    1216,  9598,  1122,  1124,  1361,  6126, 12236, -1790,  9990,  9990,
-    9990,  9990,  2089,   467,   124, 10537,  9990,  1362,  1365,    52,
-   -1790,   606,  1324,  1325,  6126,    87,  1128, 14718, 13406,  1131,
-    9990,  9044,  9044,  9044,  9044,  9990,  1136,  1140,  1141,  1142,
-   -1790, -1790, -1790, -1790,  8107,   236,  1138, 14743, 13433, -1790,
-   -1790, -1790,   240, 10862, -1790, -1790, -1790,    16, -1790, -1790,
-    4283, -1790,  1380, 13190,   371,   435,   731,  4621, -1790,  6126,
-    6126,  1379,  6126,   763,  6126,  6126,  1381,  6126,  1293,  6126,
-    6126,  6126,  6126,  6126,  6126,  6126,  6126,  6126,  2374,  1386,
-    9044, -1790, -1790, -1790, -1790, -1790, -1790, -1790, -1790, -1790,
-   -1790, -1790, -1790,  9990, -1790, -1790, -1790, -1790, -1790, -1790,
-   -1790, -1790, -1790,  9990,  9990,  9990, -1790, -1790, -1790,   611,
-    9990,  9990, -1790,  9990, -1790,  6126,  8107,  8107, -1790,  1147,
-   -1790,  9990, -1790,  9990,  9990,  9990,  9990,  9990, -1790, -1790,
-   -1790,  1259, -1790,  1259,  9990,  1157, -1790,  6126, -1790,  9990,
-    9990,   612,  1259,  -205,  -170, -1790,   614,  6126,  9044,  1388,
-    1391,  1393,  2490, -1790, -1790,  1395, -1790,   234,  9990,   234,
-    9990,   234,  9990,   234,  9990,  1396,  1397,  1398,  1400,  1401,
-     622,  1405, -1790,  7137, -1790, -1790,   -89, 10895, 10928, -1790,
-   -1790, 12265,  -130,  1301,  1407,  9682,  1170,  1408,  1175,     5,
-      23,   476, -1790,   -86, -1790,   -67,  1409,  1412,  1413,  1415,
-    1416,  1417,  1419,  1420,  1422,  6126,  4283, -1790,  3066,  1173,
-    1424,  1426,  1427,  1305,  1428,  1430,  1431,  9990,  6126,  6126,
-    6126,  1434, 10961, -1790,  7714,  1313,  1435,  1436, -1790,  9044,
-   -1790, -1790, -1790, -1790,  8107, -1790, -1790,  9990,  8107, -1790,
-   -1790, -1790, -1790,  4283, -1790,  1174,  1194,  8107, -1790,  8107,
-   -1790,  1259,  8107,  1195, -1790,  1196, -1790,  1202,  1203,  9913,
-   -1790,  3112,  1204,  6126, -1790,  1199, -1790, 12294, 12323, 12352,
-   12381, -1790, -1790,  9990,  1441,   325,  9990,  1442,  1444,  3441,
-   -1790,  1446,    28,  1445,  1214,   371,  -122,  -122,  1449, -1790,
-    1219,  1240,  1241, -1790,  1470, -1790, -1790, -1790, -1790, -1790,
-    1259,   183,  2719, 13460,   627,   632,   642,   643, 14768,  9990,
-    9990,  9990,  9990,  1471,   158,  1259, -1790,  1246,  1473,  9990,
-    8014,   371,  4251,  1244,  1245, -1790,  1480,  1485,    57,  1252,
-    1253,  1374,  1374,  6126,  1491,  1256,  1257,  1494,  1495,  6126,
-    1331,  1263,  1500,  1502,  1503,  1504,  1506,  1507,  1508,  1509,
-    1511, -1790,  1513,   645, 13190, 13190, 13190, 13190,   371, 10994,
-   11027, 11060,  1280,   371,   371,  1380,   371, 11093, 11126, 11159,
-   11192, 14793, 13190,  1282,  1276,  4283, -1790,  1516,  4283,  4283,
-   -1790, -1790, -1790,  1520, -1790,   371,  1540,   648,  6126,  6126,
-    6126,  1522,  1542, -1790,  6126,  4283,  6126,  4283,  6126,  4283,
-    6126,  4283,  6126,  6126,  6126,  1309,  1312,  1546,   571, -1790,
-    9990,  9990,  9990,  1314,  1315,  1316,  1319, -1790,  3472,  6126,
-   -1790,  9990, -1790,  1554, -1790,  1555, -1790, -1790,  9361,   641,
-    5418, -1790,  1320,  1321,  1322,  1326,  1332,  1335,  8250,  1559,
-   -1790,  9044, -1790, -1790, -1790,  1336,  9990, -1790, -1790, 13487,
-    1560,  1561,  1403, -1790,  9990,  9990,  9990, -1790,  1563,   800,
-     486,  1334,  7898,  1337,  9990,    36,   371,  1341,   371,  1338,
-   -1790, -1790, 10537,  9990, -1790, -1790,  3528, -1790, -1790,  1339,
-    1564, -1790, -1790, -1790, -1790,  3613, -1790,   473,  1343,  1565,
-    3644, -1790, -1790, -1790,    28, -1790,   650, -1790,  9990,   234,
-    2939,  8107, -1790,  1344,  9990,  9990,  6126,  1346, -1790,  1347,
-    1569,  1577,  1584,  1585,  1588,  1589,  1591,  1303, 14818, 14843,
-   14868, 14893, -1790, -1790,  8107, -1790,  1594, -1790, 11225,  4683,
-    4283, -1790,  1592,  6598, -1790, -1790, -1790,  1380, -1790, -1790,
-   -1790,  9990,  9990,   435,  1595,  1598,  1599, -1790,  9990,  9990,
-   -1790, -1790,  1601,  1505,  1602,  9990, -1790, -1790, -1790, -1790,
-   -1790, -1790, -1790, -1790, -1790,  1607,  1371, -1790, -1790, -1790,
-   -1790, -1790,  9990,  9990,  9990, -1790, -1790, -1790,  1245, -1790,
-    9990,  9990,  9990,  9990, -1790, -1790, -1790,  1375, -1790,  -205,
-   -1790, -1790,  1376,  1610,  1331,  1613,  9990, -1790,  1614,  1616,
-    1618,  1619,  1620,   897,  1621,  9044,  9044,  9990, -1790,  9275,
-   12410, 14918,  8980,   416,   416,  9990,  9990, -1790,   527,  1382,
-   14943, -1790, -1790, 12439,   -77, -1790,  1622,  1625,  6126,   435,
-     435,   435,   435,   435,  5654,  1626, -1790,   653,  9990,  3676,
-    1627, -1790, -1790,  6126,  9306,   594, 14968, -1790, -1790,  8486,
-   -1790,  8107,  9990, -1790,  8107,  4283,  8572, 10537,  1387, -1790,
-   -1790, -1790, -1790,  1404,  1389, 12468,  8317, -1790,  8317,  6126,
-   -1790, -1790, 10537,  9990,  1629,  1633,    52, -1790,  1634, -1790,
-      28, 13514,  6126,  1636,  -119,  -119,  9990, 11258, 11291,   661,
-   -1790,  9990,   332, -1790, -1790, -1790, -1790, -1790, -1790,  1393,
-    1396,  1397,  1398,  1638, -1790,  9990, -1790, -1790,  1410,   693,
-    3015,  1632, -1790, 12497, 12526,   412, -1790, -1790, -1790, 12555,
-   12584, -1790,  1411, -1790, 12613,  1640,  6126, 13190, 13190, 11324,
-   11357, 11390, 11423, 11456, -1790, -1790,  9990, -1790,  1641, -1790,
-    4283, -1790, -1790, -1790, -1790, -1790,  1423, -1790, -1790,   694,
-     696, 13162,  3840,  1645,  1429, -1790, -1790,  9990,  1421,  1425,
-   12642, 13541,  1648,  6126,  1639,  1433,  9990, -1790, -1790,   701,
-     -59,    -4,   149,   156,   207,  8808,   210, -1790,  1649, 12671,
-   -1790, -1790,  1499, -1790,  9990,  9990, -1790, -1790,  9044,  3871,
-    1660,  1437, 13190,   371,  8107,  4283, -1790, -1790,    36, -1790,
-   10537, -1790,  1438,  1440,  1447,  1673,  3903, -1790,  1678,  1685,
-   -1790, -1790,  1448,  1688, -1790,  1689,  1690,   295,  4283,  9990,
-    9990,  1455,  6126,   702,  4283, -1790, 11489,  1147,  1194,  6126,
-   -1790,  9990, 10537,    18,  1692,  1693,  1694,  1695,  9990,  1696,
-    1698,   714, -1790, -1790,  9990,  9990,  9990,  9990,  9990, 12700,
-   -1790,  6126,   561,   646,  9044, -1790, -1790,   416,  9554, -1790,
-   -1790, -1790,  1699, -1790,  1463,  6126, -1790, 12729,  1701,  9044,
-     435,   435,   435,   435,   435, -1790, -1790,  9990, 12758, 12787,
-     720, -1790, -1790, -1790, -1790, -1790,   721, -1790,  1469,  1467,
-   -1790,  1704, -1790, -1790,    28, -1790,  1537, -1790, -1790, -1790,
-   -1790,  9990, 11522, 11555,  6126, -1790,  1706,  9990,  9990,  1472,
-    1474, -1790,  4190, -1790,  1478, -1790, -1790, -1790, -1790, 12816,
-   -1790, -1790,  1476, 11588, 11621, 11654, 11687, 11720, -1790,   722,
-    1479,   435,  6126,  1714,  1481,   435,  1718,   733,  1483, -1790,
-    9990, -1790,  1721,  1603,  7373,  1487, -1790,   741,   229,   255,
-     277,   279,   310,  3964, -1790, -1790,  1724, -1790,  1726, -1790,
-   -1790,  1727, -1790,  1493,  4283,  9990,  9990,   755, -1790,  4283,
-   11753, -1790, -1790,  1147, 10537,  1497, -1790,  9990,  9990,  9990,
-    9990,  9990,  9990,  1731,   435,    74, -1790, -1790,   435,   101,
-   -1790,  1732, -1790, 12845, -1790,  9990, -1790,   -67, -1790,  1733,
-    9044,  9044,  9044,  9044,  8808, -1790, -1790, -1790,  8317, -1790,
-    9990, 14993, 11786,    40,  9990,  1498, -1790, -1790, 11819, 11852,
-   11885, 11918, 11951, 11984, -1790,   312, -1790,   318, -1790, -1790,
-   -1790,  3999,   723,  7609, -1790,   757,   769,   770,   793,   366,
-     801,  1501,   822, -1790,  9990, -1790,  6126, 12874, -1790,  9990,
-    9990,  9990,  9990,  9990,  9990,   435,   435, -1790, -1790, -1790,
-     -67,  1734,  1736,  1737,  1739,  9044,  1740,  1742,  1743,  1510,
-   15018,   823,  1745, 12903, 13190, 12017, 12050, 12083, 12116,   441,
-     444,   832, -1790, -1790, -1790, -1790,   825, -1790, -1790, -1790,
-    8107, -1790,  1512, -1790,  1749, -1790,  9990,  9990,  9990,  9990,
-    9990,  9990, -1790,  1750,   830, -1790,  1515,  6126, -1790, 12932,
-   12961, 12990, 13019, 13048, 13077, -1790,  1752,  8107,  8107,   831,
-   -1790, -1790, -1790, -1790,  1753,  1754, -1790, -1790,   833, -1790,
-    1755, -1790, -1790,  1757,  8107, -1790, -1790, -1790
+   10315,    36,    89, 10465, -1788, -1788,  -180,    86,    90,  -203,
+    -112,    40,   220,   247,   270,   306,     2,   347,   357,     5,
+     130,    26,   -86,   -86,    88,   151,   168,     4,   190,   230,
+      33,   252,   258,   278,   321,   341,   350,   372,   386,   412,
+     418,   519,   598,   662,   427,   543,   483,  6044,   501,   538,
+     694,   -33,   584,   441,   639,   234,   599,   706,   -99,   580,
+       1,     1,   594,   376,   448, -1788, -1788, -1788, -1788, -1788,
+     605,   381,   747,   767,    13,    59,   775,   776,   507,   889,
+     897,   908,  5336,   911,   697,   703,   705,    27,    16, -1788,
+     708,   709, -1788, -1788,   943,   944,   711, -1788, 10662,   714,
+   10692,    18,    20, -1788, -1788, -1788, 10145,   715, -1788, -1788,
+   -1788, -1788, -1788, -1788, -1788, -1788, -1788, -1788, -1788, -1788,
+   -1788, -1788, -1788,   107, -1788, -1788, -1788, -1788,    64, -1788,
+     948,   710,  5098,   312,   716,   951, 10145, 10632, 10632, -1788,
+   10145, -1788, -1788, -1788, -1788, 10632, -1788, -1788, -1788, -1788,
+     713,   722,   953, -1788, -1788, 10722,    26, 10145,  8962, 10145,
+   10145,   725, 10145,  8962, 10145, 10145,   726, 10145,  8962, 10145,
+   10145, 10145, 10145, 10145, 10145, 10632, 10145, 10145, 10145,  6280,
+     727, -1788,  8962,  5336,  5336,  5336, 10632, -1788, -1788, -1788,
+   -1788, -1788,   -86,   -86,   -86,   -86,   -86,   -86,   -86,   -86,
+     -86,   -86,   -86,   -86,   -86,   -86,   -86,   -86,   -86,   -86,
+     -86,   -86,   -86,   -86,   -86,   307,   -86,   -86,   -86,   -86,
+     -86,   728,   -86,   -86,   729, -1788, -1788, -1788,   -86,   -86,
+       8,    22,    31,    34,  6280,   850,   514,   731,   -86,   -86,
+     732,   733,   737, -1788, -1788, -1788, 10145,  6516, 10145, 10145,
+    6752,    26, -1788, -1788,   734, -1788,  4183, -1788, -1788, -1788,
+   -1788, -1788,   106, 10145,  8962,   739,   740,  6988,  5336,  5336,
+    5336,   741,   742,   743,   744,  7224,  7460,  7696,   746,  9279,
+     981,  6280,   749,    27,   750,   751,     1,     1,     1, 10145,
+   10145,   -56, -1788,   336,     1,  9515,   380,   117,   748,   756,
+     757,   759,   761,   762,   766, 10145,  5336,  5336,  5336,   768,
+      12,   999,   769, -1788,  1001,  1002, -1788,   772,   777,   778,
+    5336,  5336,   781,   785,   786, -1788, 10145, -1788,  1011,  1012,
+   10145, 10145, 10145,   392, 10145,   788, -1788,   851, 10145, 10145,
+   10145, -1788, -1788, 10145, -1788,   -86,   -86,   -86,   793,   794,
+     795,   -86,   -86,   -86,   -86,   -86,   -86,   -86, -1788,   -86,
+   -1788, -1788, -1788,   -86,   -86,   796,   797,   -86,   798, -1788,
+     800,  1031,  1035,   803, -1788, -1788,  1036, -1788,  1040, -1788,
+     -86, 10145, 13163,   116, 10632, 10145, -1788, -1788,  6280,  6280,
+   -1788,   805, 10722,   626,  1043, -1788, -1788, -1788, -1788, -1788,
+   -1788, 10145, 10145,    51,  6280,  1046,   461,  1316,   813,  1051,
+      49,   825, -1788,   827,  8235, 10145, -1788,  1962,  -170, -1788,
+      69,  -123,  9471, -1788,   -88,  -138,   -38,   984, -1788,    26,
+     821,   828, 13625,  8962,  4363, -1788,   176, 13650, 13675, 10145,
+   13700,   211, 13725, 13750, 10145, 13775,   217, 13800, 13825, 13850,
+   13875, 13900, 13925,   835, 13950, 13975, 14000,  1069, 10145,   224,
+    1071,  1072,  1073,   841, 10145, 10145, 10145, 10145, 10145, 10145,
+   10145, 10145, 10145, 10145, 10145, 10145, 10145, 10145, 10145, 10145,
+    8962, 10145, 10145, 10145, 10145, 10145, 10145,  8962,  8962,   839,
+   10145, 10145, 10632, 10145, 10632,  6280, 10632, 10632, 10632, 10145,
+      47, -1788,  1018, 10145, -1788,  1019, -1788,  1020, -1788,  1045,
+    6280,  5336,  5336,  5336,  5336, 10632, 10632,  8962,    26, 10722,
+      26,   870,  8962,   870, -1788,   870, 14025, -1788,   255,   867,
+      52, 10145, 10145, 10145, 10145, 10145, 10145, 10145, 10145, 10145,
+   10145, 10145, 10145, 10145, 10145,  7932, 10145, 10145, 10145, 10145,
+   10145,    26, 10145, 10145,  1109, -1788,   536, 14050,   294, 10145,
+   10145, 10145, -1788,  1116,  1117,  1117,  9193,  9193,  9193,  9193,
+   10145,  1119, 10145,  1125, 10145,  1126,  8962,  8962, 13191,   894,
+    1128, -1788,   899, -1788, -1788,  -179, -1788, -1788,  9546,  9786,
+       1,     1,   312,   312,  -151,  9515,  9515, 10145,  1648,  -140,
+   -1788, 10145, 10145, 10145, 10145, 10145, 10145, 10145, 10145, 10145,
+   14075,  1136,  1138,  1139, 10145,  1141, 10145, -1788, 10145,  4405,
+   -1788, -1788,  8962,  8962,  8962,  1142,  1143, 10145, 10145, 10145,
+   14100, -1788, -1788, 14125, 14150, 14175,   972,  9861, -1788,   909,
+    4540, 14200, 14225, 13274, 10632, 10632, 10632, 10632, 10632, 10632,
+   10632, 10632, 10632, 10145, 10632, 10632, 10632, 10632,    11, 10722,
+   10632, 10632, 10632,    26,    26, -1788, -1788,  8962, -1788,  5403,
+   -1788,  5639, 10145,   870, 10145, -1788, 10145, 10145,   913, 14250,
+    7999,   916,   369, 10145,  1144,   910,   915,   917,   918, 10145,
+   14275, 13301,   155,   914,  1154,  1156, -1788, -1788, -1788,  8962,
+      21, -1788, -1788, -1788,    26, 10145, 10145,  1109,   924, -1788,
+     397,    39,    41,   424,   927,    30,   669, -1788,  3481, -1788,
+     140,  8962,    26, 10145, 10145,  1162,  1164,  8962, 10145,  1165,
+   10632,  1166, -1788,    26,  1167, 10632, 10145,   929,   934, -1788,
+   10145, 10722,  1168,  8962,  1003,  8962,  1170,  1173, 14300,  1175,
+    1007,  1177,  1178, 14325,  1179,  1013,  1180,  1181,  1183,  1184,
+    1185,  1187, -1788,  1188,  1193,  1194, 10145, 14350,   960, -1788,
+   -1788, -1788,  1198, 13247, 13247, 13247, 13247, 13247, 13247, 13247,
+   13247, 13247, 13247, 13247, 10017, 13247, 13247, 13247, 13247,   871,
+     -26, 13247, 13247, 13247, 10050, 10717, 10750,  4363,   966,   965,
+      99,  8962, 10783, 10816,   -26, 10849,   -26,   961,   967,   968,
+     -62, 15250, -1788,   -26,   971, 12235,   974,   975,   976, -1788,
+   -1788, -1788, -1788,   977,  -111,   -26,  -187,   980,   520,   443,
+    1200, -1788,  1162,   -26,  4804,  4980,  1225,  1769,  1118,  1118,
+     445,   445,   445,   445,   445,   445,   477,   477,  8962,   296,
+   -1788,   296,   296,   870,   870,   870,   978, 14375, 13328,   -72,
+     983,  8962, -1788,  1216,   985, 14400, 14425, 14450, 10145,  6280,
+    1222,  1224,   989, 15250,   986,   993, 15250,   987,   996, 15250,
+     990,   997, 15250,   992, 14475, -1788, 14500, -1788, 14525, -1788,
+     444,   469,  8962,   998, -1788,  5875, -1788,  6111,  6347,     1,
+   10145, 10145, -1788, -1788,  1004,  1005,  9515,  8439,  1113,   401,
+       1,  6583, 14550, 12264, 14575, 14600, 14625, 14650, 14675, 14700,
+   14725,  1237, 10145,  1239, -1788, 10145, 14750, -1788, 13355, 13382,
+   -1788,   479,   488,   494, -1788, -1788, 13409, 13436, 10882, -1788,
+    1242,  1243,  1244,  1008, 10145,  6819, 10145, 10145, -1788, -1788,
+      19,   -47,   -27,   -47,  1014,  1016,  1009,   -26,   -26,  1010,
+   10915,   -26,   -26,   -26,   -26, 10145,   -26,  1249, -1788,  1017,
+    1024,   194,   591,  1025,   526, -1788, -1788, 13247,   296,  7055,
+    1000,  1258,  1120,  9599,  1026,  1028,  1261,  6280, 12293, -1788,
+   10145, 10145, 10145, 10145,  2112,   162,    85, 10722, 10145,  1270,
+    1275,    28, -1788,   527,  1235,  1236,  6280,    25,  1039, 14775,
+   13463,   534, 10145,  8962,  8962,  8962,  8962, 10145,  1047,  1048,
+    1050,  1052, -1788, -1788, -1788, -1788, 10632,   -31,  1053, 14800,
+   13490, -1788,  1054, -1788,   145, 10948, -1788, -1788, -1788,    98,
+   -1788, -1788, 15250, -1788,  1280, 13247,   -26,     1,   614,  4363,
+   -1788,  6280,  6280,  1282,  6280,   684,  6280,  6280,  1284,  6280,
+    1195,  6280,  6280,  6280,  6280,  6280,  6280,  6280,  6280,  6280,
+    2398,  1288,  8962, -1788, -1788, -1788, -1788, -1788, -1788, -1788,
+   -1788, -1788, -1788, -1788, -1788, 10145, -1788, -1788, -1788, -1788,
+   -1788, -1788, -1788, -1788, -1788, 10145, 10145, 10145, -1788, -1788,
+   -1788,   549, 10145, 10145, -1788, 10145, -1788,  6280, 10632, 10632,
+   -1788,  1049, -1788, 10145, -1788, 10145, 10145, 10145, 10145, 10145,
+   -1788, -1788, -1788,  1162, -1788,  1162, 10145,  1059, -1788,  6280,
+    1061, -1788, 10145, 10145,   554,  1162,   -72,  -103, -1788, 10145,
+     556,  6280,  8962,  1293,  1294,  1295,  2514, -1788, -1788,  1297,
+   -1788,   166, 10145,   166, 10145,   166, 10145,   166, 10145,  1301,
+    1303,  1304,  1305,  1307,   559,  1300, -1788,  7291, -1788, -1788,
+    -133, 10981, 11014, -1788, -1788, 12322,   -82,  1207,  1313,  9830,
+    1077,  1314,  1083,    32,    35,   328, -1788,  -109, -1788,   401,
+    1317,  1319,  1320,  1321,  1322,  1323,  1324,  1326,  1327,  6280,
+   15250, -1788,  2550,  1093,  1330,  1347,  1352,  1263,  1363,  1365,
+    1366, 10145,  6280,  6280,  6280,  1369, 11047, -1788,  5009,  1251,
+    1370,  1371, -1788,  8962, -1788, -1788, -1788, -1788, 10632, -1788,
+   -1788, 10145, 10632, -1788, -1788, -1788, -1788, 15250, -1788,  1131,
+    1130, 10632, -1788, 10632, -1788,  1162, 10632,  1140, -1788,  1133,
+   -1788,  1146,  1148,  9914, -1788,  2592,  1150,  6280, -1788,  1135,
+   -1788, 12351, 12380, 12409, 12438, -1788, -1788, 10145,  1375,    56,
+   10145,  1376,  1380,  2694, -1788,  1387,    27,  1390,  1160,   -26,
+     -86,   -86,  1395, -1788,  1171,  1172,  1163, -1788,  1396, -1788,
+   -1788, -1788, -1788, -1788,  1162,   322,   780, 10145, 13517,   562,
+     564,   565,   570, 14825, 10145, 10145, 10145, 10145,  1398,   150,
+    1162, -1788,  1169, 10145,  1400, 10145,  4237,   -26,  4604,  1174,
+    1161, -1788,  1405,  1406,    74,  1176,  1182,  1298,  1298,  6280,
+    1410,  1186,  1189,  1411,  1415,  6280,  1246,  1190,  1417,  1421,
+    1424,  1428,  1429,  1431,  1432,  1433,  1434, -1788,  1454,   571,
+   13247, 13247, 13247, 13247,   -26, 11080, 11113, 11146,  1221,   -26,
+     -26,  1280,   -26, 11179, 11212, 11245, 11278, 14850, 13247,  1226,
+    1214, 15250, -1788,  1457,  1245, 15250, 15250, -1788,  1248, -1788,
+    1483, -1788, 14875,   -26,  1485,   572,  6280,  6280,  6280,  1488,
+    1491, -1788,  6280, 15250,  6280, 15250,  6280, 15250,  6280, 15250,
+    6280,  6280,  6280,  1252,  1256,  1493,   389, -1788, 10145, 10145,
+   10145,  1260,  1262,  1264,  1265, -1788,  2927,  6280, -1788, 10145,
+   -1788,  1497, -1788,  1501, -1788, -1788,  9515,   472,  5572, -1788,
+    1266,  1267,  1268,  1269,  1273,  1274,  8168,  1511, -1788,  8962,
+   -1788, -1788, -1788,  1276, 10145, -1788, -1788, 13544,  1513,  1515,
+    1350, -1788, 10145, 10145, 10145, -1788,  1517,   497,   214,  1277,
+    5032,  1278, 10145,    29,   -26,  1289,   -26,  1302, -1788, -1788,
+   10722, 10145, -1788, -1788,  3000, -1788, -1788,  1308,  1521, -1788,
+   -1788, -1788, -1788,  3039, -1788,   204,  1285,  1543,  3085, -1788,
+   -1788, -1788,    27, -1788,   577, -1788, 10145,   166,  1068, 10632,
+   -1788,  1318, 10145, 10145,  6280,  1309, -1788,   548,  1548,  1552,
+   14900,  1553,  1554,  1555,  1556,  1557,  1200, 14925, 14950, 14975,
+   15000, -1788, -1788, 10632,  1328,  1550, 15025, -1788, 11311,  4862,
+   15250, -1788,  1558,  6752, -1788, -1788, -1788,  1280, -1788, -1788,
+   -1788, 10145, 10145,     1,  1561,  1563,  1564, -1788, 10145, 10145,
+   -1788, -1788,  1565,  1469,  1566, 10145, -1788, -1788, -1788, -1788,
+   -1788, -1788, -1788, -1788, -1788,  1568,  1332, -1788, -1788, -1788,
+   -1788, -1788, 10145, 10145, 10145, -1788, -1788, -1788,  1161, -1788,
+   10145, 10145, 10145, 10145, -1788, -1788, -1788,  1336, -1788, -1788,
+   10145,   -72, -1788, -1788, -1788,  1334,  1571,  1246,  1572, 10145,
+   -1788,  1573,  1574,  1576,  1577,  1578,   858,  1579,  8962,  8962,
+   10145, -1788,  9193, 12467, 15050,  8662,   312,   312, 10145, 10145,
+   -1788,   528,  1339, 15075, -1788, -1788, 12496,  -107, -1788,  1581,
+    1582,  6280,     1,     1,     1,     1,     1,  5808,  1584, -1788,
+     578, 10145,  3120,  1585, -1788, -1788,  6280,  8898,   702, 15100,
+   -1788, -1788,  8404, -1788, 10632, 10145, -1788, 10632, 15250,  8490,
+   10722,  1346, -1788, -1788, -1788, -1788,  1355,  1348, 12525,  7999,
+   -1788,  7999,  6280, -1788, -1788, 10722, 10145,  1590,  1593,    28,
+   -1788,  1594, -1788,    27, 13571,  6280,  1595,   -47,   -47, 10145,
+   11344, 11377,   603, -1788, 10145, 10145,   330, -1788,  1357, -1788,
+   -1788, -1788, -1788, -1788,  1295,  1301,  1303,  1304,  1596, 10145,
+   -1788, -1788, 10145, -1788, -1788,  1361,   608,  3153,  1600, -1788,
+   12554, 12583,   342, -1788, -1788, -1788, 12612, 12641, -1788,  1367,
+   -1788, 12670,  1605,  6280, 13247, 13247, 11410, 11443, 11476, 11509,
+   11542, -1788, 15125, -1788, 10145, -1788,  1606, -1788, 15250, -1788,
+   -1788, -1788, -1788, -1788,  1372, -1788, -1788,   610,   613, 13219,
+    3245,  1607,  1377, -1788, -1788, 10145,  1368,  1374, 12699, 13598,
+    1614,  6280,  1617,  1379, 10145, -1788, -1788,   616,  -104,   -69,
+     -52,   -25,   156,  8726,   161, -1788,  1620, 12728, -1788, -1788,
+    1456, -1788, 10145, 10145, -1788, -1788,  8962,  3272,  1624,  1393,
+   13247,   -26, 10632, 15250, -1788, -1788,    29, -1788, 10722, -1788,
+    1394,  1397,  1399,  1627,  3513, -1788,  1629,  1632, -1788, -1788,
+    1401,  1633, -1788,  1635,  1638,   174, 15250, 10145, 10145,  1404,
+    6280,   627, 15250, 15150, -1788, 15175, 11575,  1049,  1130,  6280,
+   -1788, 10145, 10722,    26,  1641,  1642,  1643,  1644, 10145,  1646,
+    1647,   628, -1788, -1788, 10145, 10145, 10145, 10145, 10145, -1788,
+   12757, -1788,  6280,   547,   596,  8962, -1788, -1788,   312,  9224,
+   -1788, -1788, -1788,  1649, -1788,  1413,  6280, -1788, 12786,  1651,
+    8962,     1,     1,     1,     1,     1, -1788, -1788, 10145, 12815,
+   12844,   629, -1788, -1788, -1788, -1788, -1788,   635, -1788,  1419,
+    1418, -1788,  1653, -1788, -1788,    27, -1788,  1489, -1788, -1788,
+   -1788, -1788, 10145, 11608, 11641,  6280, -1788,  1658, 10145,  1423,
+   -1788, 10145,  1425,  1435, -1788,  3938, -1788,  1441, -1788, -1788,
+   -1788, -1788, 12873, -1788, -1788,  1439, 11674, 11707, 11740, 11773,
+   11806, -1788,   637,  1442,     1,  6280,  1660,  1443,     1,  1661,
+     638,  1440, -1788, 10145, -1788,  1683,  1562,  7527,  1449, -1788,
+     640,   167,   173,   178,   210,   216,  3565, -1788, -1788,  1687,
+   -1788,  1689, -1788, -1788,  1691, -1788,  1461, 15250, 10145, 10145,
+     645, -1788, 15250, 11839, -1788, -1788,  1049, 10722,  1465, -1788,
+   10145, 10145, 10145, 10145, 10145, 10145,  1699,     1,    96, -1788,
+   -1788,     1,   131, -1788,  1700, -1788, 12902, -1788, 10145, -1788,
+     401, -1788,  1701,  8962,  8962,  8962,  8962,  8726, -1788, -1788,
+   -1788,  7999, -1788, 10145, 15200, 11872,    53, 10145,  1466, -1788,
+   -1788, 11905, 11938, 11971, 12004, 12037, 12070, -1788,   222, -1788,
+     239, -1788, -1788, -1788,  3899,   539,  7763, -1788,   647,   648,
+     653,   656,   274,   659,  1467,   661, -1788, 10145, -1788,  6280,
+   12931, -1788, 10145, 10145, 10145, 10145, 10145, 10145,     1,     1,
+   -1788, -1788, -1788,   401,  1702,  1705,  1706,  1707,  8962,  1708,
+    1709,  1710,  1476, 15225,   664,  1713, 12960, 13247, 12103, 12136,
+   12169, 12202,   279,   304,   634, -1788, -1788, -1788, -1788,   666,
+   -1788, -1788, -1788, 10632, -1788,  1478, -1788,  1715, -1788, 10145,
+   10145, 10145, 10145, 10145, 10145, -1788,  1716,   667, -1788,  1481,
+    6280, -1788, 12989, 13018, 13047, 13076, 13105, 13134, -1788,  1718,
+   10632, 10632,   693, -1788, -1788, -1788, -1788,  1719,  1720, -1788,
+   -1788,   695, -1788,  1721, -1788, -1788,  1723, 10632, -1788, -1788,
+   -1788
 };
 
 /* YYPGOTO[NTERM-NUM].  */
 static const yytype_int16 yypgoto[] =
 {
-   -1790, -1790, -1790, -1790,   460, -1790, -1790, -1790, -1790,  -235,
-   -1790, -1790, -1790, -1790, -1790, -1790, -1790, -1790, -1790, -1790,
-   -1790, -1790,  -684,  -127,    -2,  3206, -1790,  1340, -1790, -1790,
-   -1790, -1790, -1790, -1790, -1789, -1790,   413,   242,   -51, -1790,
-     -18, -1790, -1790, -1790, -1790,   187,   450,  1770,     6,  -589,
-    -260, -1790, -1790, -1790, -1790, -1790, -1790, -1790, -1790,  1771,
-   -1790, -1790, -1790, -1790, -1179, -1177,  1773, -1642,  1774, -1790,
-   -1790, -1790,  1215, -1790,   -63, -1790, -1790, -1790, -1790,  1960,
-   -1790, -1790,   414,   323,  1780, -1790,     3,  -679, -1790, -1790,
-      38, -1790, -1601,   294,   103,  2582,  1027,  -273,   118, -1790,
-     -65,   215, -1790, -1790,  -497, -1790,    -3
+   -1788, -1788, -1788, -1788,   425, -1788, -1788, -1788, -1788,  -290,
+   -1788, -1788, -1788, -1788, -1788, -1788, -1788, -1788, -1788, -1788,
+   -1788, -1788,  -681,   -98,  4006,  3106, -1788,  1311, -1788, -1788,
+   -1788, -1788, -1788, -1788, -1787, -1788,   374,   215,   -85, -1788,
+     -48, -1788, -1788, -1788, -1788,   157,   431,  1758,     6,  -588,
+    -273, -1788, -1788, -1788, -1788, -1788, -1788, -1788, -1788,  1759,
+   -1788, -1788, -1788, -1788, -1187, -1178,  1760, -1657,  1762, -1788,
+   -1788, -1788,  1204, -1788,   -92, -1788, -1788, -1788, -1788,  1983,
+   -1788, -1788,   405,   309,  1778, -1788,     0,  -701, -1788, -1788,
+      38, -1788, -1621,   300,  -102,  2317,  1155,  -280,   103, -1788,
+     -65,   -44, -1788, -1788,  -497, -1788,    -3
 };
 
 /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
    positive, shift that token.  If negative, reduce the rule which
    number is the opposite.  If zero, do what YYDEFACT says.
    If YYTABLE_NINF, syntax error.  */
-#define YYTABLE_NINF -538
+#define YYTABLE_NINF -543
 static const yytype_int16 yytable[] =
 {
-     132,   809,   902,   903,  1417,   405,  1419,   996,  1216,   113,
-     581,  1412,   337,   614,  1792,  1004,  1793,  1759,   152,   150,
-     155,   156,   150,  1310,   151,   161,   266,  1009,  1899,  1414,
-     399,   400,   333,   139,   282,   597,   315,   166,   316,   376,
-    1646,     4,   378,   161,   262,  1030,  2035,   267,   504,   589,
-     590,   166,   310,   618,   278,     5,   150,   279,   501,   283,
-     387,  1174,   150,  1530,   506,   399,   400,   408,   508,   266,
-     897,   314,   418,   421,  1373,   284,   285,   721,  1175,   262,
-    2016,   589,   590,   730,   336,   135,  1176,  1177,  1178,   731,
-    1016,  1279,  1179,  1180,   733,   372,   589,   590,   291,   293,
-     731,   296,   904,   589,   590,   133,   696,  2018,   697,   134,
-     453,   589,   590,  1404,  1117,  1831,   153,   668,   154,   670,
-     696,   463,   697,   317,   908,   137,   679,   591,   729,   410,
-     406,  1262,   311,  1123,   420,   420,  1124,   589,   590,   412,
-     589,   590,   420,   589,   590,   138,   949,  1120,   951,   589,
-     590,  1021,  1121,   431,   487,   262,   488,   150,  1400,   592,
-     262,  1418,   703,   136,  1513,   262,  1413,   589,   590,   696,
-    1756,   697,   420,   550,  2005,   320,   262,  1219,   321,   262,
-     262,   262,   262,   420,  1415,   157,   550,   141,  1859,   158,
-     464,   465,   466,   467,   468,   469,   470,   471,   472,   473,
-     474,   475,   476,   477,   478,   479,   480,   481,   482,   483,
-     484,   485,   486,   489,   490,   491,   492,   493,   494,   505,
-     496,   497,   589,   590,  1647,   107,   499,   500,   107,   502,
-     145,   262,   312,   550,  1002,   507,   516,   517,   107,   509,
-    1919,  1262,  1417,  1860,   262,  1217,   338,   262,   529,   615,
-    1280,  1281,  1282,  1283,   153,   134,   154,   142,   107,   162,
-     963,   262,   107,   163,   262,   262,   262,   262,   107,   140,
-     334,   167,   262,   262,   262,   168,   377,   162,   262,   379,
-     336,  1012,  2036,   589,   590,   167,   460,   461,   462,  1013,
-     313,   143,   388,  1957,  1272,   503,   389,   696,   144,   697,
-     589,   590,   691,   262,   262,   262,   722,   146,   723,  1263,
-    1266,   268,   724,   371,   269,   375,   270,   262,   262,   677,
-     893,   147,   895,   896,   584,   585,   995,   589,   590,  1477,
-    1284,   148,   593,   598,   719,   395,   396,   397,   398,   909,
-     149,   260,   720,   643,   644,   645,   306,   409,   307,   649,
-     650,   651,   652,   653,   654,   655,  2031,   656,   159,   399,
-     400,   657,   658,   107,   160,   661,  1022,  1023,  1265,   164,
-     430,   562,   563,   564,   165,   589,   590,   943,   671,  1022,
-    1023,   420,   589,   590,   271,   262,   262,   272,   399,   400,
-     273,   704,   274,   705,   179,  -532,  1861,   706,   725,   399,
-     400,   262,   551,  1862,   552,  1098,   726,   707,   553,   610,
-     611,   612,   399,   400,   977,   551,   169,   552,   399,   400,
-     411,   553,   170,   624,   625,  -534,   738,   803,   171,   805,
-     262,   807,   808,   589,   590,  2061,   589,   590,   395,   396,
-     397,  1003,  1363,   180,  1364,   395,   396,   397,   398,  1241,
-     822,   823,  1242,  1371,  1863,   589,   590,  1864,   728,   399,
-     400,   172,   675,  1384,   676,  1386,   729,  1388,   553,  1390,
-    1108,   692,   693,   457,  1262,  1304,  1990,   262,   729,  1308,
-    1662,   589,   590,   744,   262,   799,   385,   744,   173,   420,
-     386,   420,   262,   420,   420,   420,  2109,   812,  1478,  1479,
-     589,   590,  1991,   589,   590,   589,   590,   262,   262,   262,
-     262,   262,   420,   420,   262,   152,   599,   152,   600,   262,
-     181,   825,   601,   827,  1992,   743,  1993,   831,   260,   744,
-     395,   396,   397,   398,  1890,   530,   589,   590,   589,   590,
-     183,   262,  1891,   184,   589,   590,   185,   854,    59,    60,
-      61,    62,   547,   548,   399,   400,   749,  1994,   549,  2045,
-     744,   561,  1459,    73,   997,  2046,    76,   399,   400,   570,
-     572,   574,   262,   262,  -537,   579,   754,  1598,  1599,   950,
-     744,   952,   953,   954,   955,   956,   957,   174,   959,   960,
-     961,   962,   589,   590,   967,   968,   969,   412,   412,   175,
-     511,   767,  1775,   512,  1174,   744,   513,   683,   514,   182,
-     696,  1499,   697,  2055,   818,   819,   820,   821,   262,   262,
-     262,  1175,   696,   176,   697,   698,  1515,   900,   901,  1176,
-    1177,  1178,   585,   830,  1163,  1179,  1180,   744,   589,   590,
-     420,   420,   420,   420,   420,   420,   420,   420,   420,   177,
-     420,   420,   420,   420,   965,   178,   420,   420,   420,   152,
-     971,   287,   288,   262,  1035,   970,   186,   589,   590,  1039,
-     589,   590,   862,   289,   297,   263,   744,   290,   395,   396,
-     397,   398,   680,   681,   395,   396,   397,   398,  2090,   287,
-     288,  2091,   157,  1920,  1921,   262,  1011,   264,   694,  1922,
-    1006,   289,   399,   400,   696,   295,   697,   859,   399,   400,
-     542,   543,   673,   545,   546,   547,   548,   262,  1026,  1416,
-     696,   549,   697,   262,   281,   696,   420,   697,  1239,  1037,
-    1135,   420,   275,   744,   826,   276,   984,   277,   280,   262,
-     985,   262,   531,   532,   533,   534,   535,   536,   537,   538,
+     132,   810,  1427,   582,   904,   905,  1011,  1425,   161,   113,
+    1777,   998,  1810,   501,  1811,   150,   615,   310,   152,  1006,
+     337,   151,   598,   376,  1032,   378,  1220,   504,  1004,  1283,
+     150,   333,   150,  1659,   405,   137,   506,   166,  1420,   508,
+     619,  1422,     4,   161,   262,   166,   139,   590,   591,   282,
+    1922,   150,  1122,   150,   371,   692,   375,  1123,   704,  2058,
+    1485,   429,   133,   315,   266,   316,   134,   408,   899,   720,
+     387,   314,   418,   421,   283,   590,   591,   721,   722,   262,
+    1540,   460,   461,   462,   336,   267,   590,   591,   409,     5,
+     284,   285,  1266,   590,   591,   372,   906,   311,   291,   293,
+     135,   296,  2039,   731,   669,  1316,   671,   910,   551,   732,
+     453,   430,  1851,   680,  1408,   551,   726,   590,   591,   590,
+     591,   463,   590,   591,   727,   551,   138,   266,   697,   410,
+     698,  1130,   399,   400,   420,   420,  1119,  2041,  1426,   412,
+    1774,  1380,   420,  1880,   590,   591,  1023,   951,  1018,   953,
+     317,   729,   153,   431,   154,   262,  1522,   590,   591,   730,
+     262,  1412,   997,   399,   400,   262,   563,   564,   565,  1266,
+     590,   591,   420,  1266,   590,   591,   262,  1110,  1881,   262,
+     262,   262,   262,   420,   502,   730,   592,   136,  1284,  1285,
+    1286,  1287,   697,  1421,   698,  1882,  1423,   312,   505,  2028,
+     730,   590,   591,   734,   611,   612,   613,   507,  1309,   732,
+     509,  1675,   697,   697,   698,   698,   745,  1660,   625,   626,
+    1223,   107,  1883,   107,   693,   694,   141,   287,   288,  1486,
+    1487,   262,   395,   396,   397,  1005,   107,   107,   107,   289,
+     145,  1942,   162,   290,   262,   148,   163,   262,   530,  1425,
+     503,   529,   616,   142,   338,   313,   965,   107,   134,   107,
+     377,   262,   379,  1221,   262,   262,   262,   262,  1288,   334,
+    1276,   167,   262,   262,   262,   168,   143,   162,   262,   167,
+     336,  1014,   140,  1015,   399,   400,   697,   705,   698,   706,
+     153,  -535,   154,   707,  1980,  2059,   395,   396,   397,   398,
+     590,   591,   388,   262,   262,   262,   389,   723,   895,   724,
+     897,   898,   144,   725,  1267,  1270,   411,   262,   262,   678,
+     399,   400,   590,   591,   585,   586,   157,   911,   278,  1269,
+     158,   279,   594,   599,   399,   400,   153,   552,   154,   553,
+    1100,   399,   400,   554,   552,   385,   553,   260,   684,   386,
+     554,   399,   400,   146,   676,   601,   677,   590,   591,   602,
+     554,  1024,  1025,   147,  2054,   945,   395,   396,   397,   398,
+     149,  1024,  1025,   395,   396,   397,   398,   395,   396,   397,
+     398,   420,   590,   591,  1314,   262,   262,   590,   591,   159,
+     399,   400,   745,   590,   591,  1611,  1612,   399,   400,   590,
+     591,   262,   979,  1884,   590,   591,   160,   708,  1885,   819,
+     820,   821,   822,  1911,  2013,   395,   396,   397,   398,   744,
+    2014,  1912,  1369,   745,  1370,  2015,   739,   804,   164,   806,
+     262,   808,   809,   697,  1378,   698,   590,   591,  2084,   399,
+     400,  1243,   590,   591,    59,    60,    61,    62,   590,   591,
+     823,   824,   297,   697,   750,   698,  1178,  2016,   745,    73,
+     755,   745,    76,  2017,   745,   590,   591,   768,   165,  2068,
+    1392,   745,  1394,  1179,  1396,   827,  1398,   262,   306,   457,
+     307,  1180,  1181,  1182,   262,   800,  2069,  1183,  1184,   420,
+     169,   420,   262,   420,   420,   420,   170,   813,   831,  2132,
+     590,   591,   745,  1651,  1652,   590,   591,   262,   262,   262,
+     262,   262,   420,   420,   262,   152,   171,   152,   826,   262,
+     828,  2078,   874,   877,   880,   883,  2113,   548,   549,  1178,
+     590,   591,   271,   550,   260,   272,   531,   864,   273,   298,
+     274,   745,   262,   299,  1467,   487,  1179,   488,   856,   300,
+     301,  2114,   302,   303,  1180,  1181,  1182,   399,   400,   172,
+    1183,  1184,   590,   591,  -537,   399,   400,   562,   590,   591,
+     304,  1424,  -542,   262,   262,   571,   573,   575,   593,   173,
+     952,   580,   954,   955,   956,   957,   958,   959,   174,   961,
+     962,   963,   964,  1507,   999,   969,   970,   971,   412,   412,
+    1178,   320,   287,   288,   321,   511,   590,   591,   512,  1524,
+     175,   513,   986,   514,   289,   968,   987,  1179,   295,   262,
+     262,   262,   600,  1167,   176,  1180,  1181,  1182,   902,   903,
+     179,  1183,  1184,   586,   183,   157,   636,   184,   134,  1013,
+     185,   420,   420,   420,   420,   420,   420,   420,   420,   420,
+     177,   420,   420,   420,   420,   967,   178,   420,   420,   420,
+     152,   973,   170,   972,   262,  1037,  1016,  1178,   181,   182,
+    1041,   543,   544,   674,   546,   547,   548,   549,   268,  1943,
+    1944,   269,   550,   270,  1179,  1945,  1128,  1162,   681,   682,
+     745,   745,  1180,  1181,  1182,   180,   262,  1046,  1183,  1184,
+     697,  1008,   698,   699,   695,   674,   546,   547,   548,   549,
+    1793,  1325,  1163,  1326,   550,  1628,   745,   685,   262,  1028,
+     686,   186,  1206,   687,   262,   688,   745,   420,  1947,  1948,
+    1039,  1207,   420,   275,  1945,   745,   276,  1208,   277,   263,
+     262,   745,   262,   532,   533,   534,   535,   536,   537,   538,
      539,   540,   541,   542,   543,   544,   545,   546,   547,   548,
-     684,   298,   265,   685,   549,   299,   686,   286,   687,  1174,
-    1752,   300,   301,   170,   302,   303,   294,  1014,  1924,  1925,
-     872,   875,   878,   881,  1922,  1017,  1175,  1126,  1018,   806,
-    1019,   744,   304,  1663,  1176,  1177,  1178,   262,  1158,  1159,
-    1179,  1180,   744,   744,   561,  1672,  1638,  1639,  2022,   531,
-     532,   533,   534,   535,   536,   537,   538,   539,   540,   541,
-     542,   543,   673,   545,   546,   547,   548,   635,  1319,   134,
-    1320,   549,   673,   545,   546,   547,   548,  1776,  1202,   305,
-    1203,   549,   744,   262,   744,  1417,  1204,   308,  1245,  1275,
-     744,  1174,   744,   744,  1348,  1370,   262,  1375,   744,   744,
-    1325,   744,  1326,   319,   262,  1397,  1264,  1267,  1175,   744,
-    1503,  2071,   309,   966,   744,  1504,  1176,  1177,  1178,   744,
-     318,   322,  1179,  1180,  1615,  1505,  1506,   262,  1556,   744,
-     744,  1582,   744,  1669,  1417,   744,  1768,  1670,   187,   150,
-     744,  1736,   323,  1737,  1811,   188,   189,   190,  1812,   324,
-     191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
-     201,   202,   203,   204,   205,   206,   207,   380,   209,   210,
-     211,   212,   213,   214,   329,  1166,  1820,  1842,   330,  1843,
-    1821,   744,  1172,   744,  1858,  1896,  1183,   331,  1812,  1897,
-     220,   221,   222,   223,   332,  1044,   339,  1912,   224,  1303,
-    1174,  1812,   340,  1946,  1947,  1973,  2048,   744,   729,  1812,
-     225,   226,   227,   341,   342,   343,  1981,  1175,   228,    21,
-     744,   229,   262,   373,  1989,  1176,  1177,  1178,   744,   384,
-     390,  1179,  1180,  1674,  1675,   415,  1274,   391,  2003,  1485,
-    2051,   262,  1812,   416,   744,   134,  1372,  1374,   262,   262,
-     262,   262,  2052,  2053,  1748,  1749,   744,   744,   427,   429,
-     439,   420,   536,   537,   538,   539,   540,   541,   542,   543,
-     673,   545,   546,   547,   548,  1311,  2054,   444,   510,   549,
-     744,  1353,  1354,   458,  2056,   495,   262,   262,   744,   262,
-     498,   262,   262,   515,   262,   518,   262,   262,   262,   262,
-     262,   262,   262,   262,   262,  2058,  2082,   262,  2093,  1897,
-    1812,   386,   744,  2106,  2120,  2092,  2123,  2107,  1812,   519,
-    2124,   520,   558,  1318,   559,   565,   237,   566,   567,   568,
-     238,   578,   602,   603,   575,   240,   241,   242,   580,   243,
-     244,   245,   262,   420,   420,   107,   534,   535,   536,   537,
-     538,   539,   540,   541,   542,   543,   673,   545,   546,   547,
-     548,   246,   381,   582,   262,   549,   583,   604,   248,   605,
-     606,   607,   608,   326,   262,   262,   616,   576,   613,   617,
-     251,   619,   533,   534,   535,   536,   537,   538,   539,   540,
-     541,   542,   543,   673,   545,   546,   547,   548,   620,  1451,
-     621,  1143,   549,  1453,  1372,  1374,   622,   626,   623,   627,
-     630,   628,  1457,   631,  1458,   637,   638,  1460,   646,   647,
-     648,   659,   660,   662,   664,   436,   663,   665,   667,   666,
-     441,   669,   262,   682,   688,   446,   695,   701,   702,   133,
-     735,   708,   761,   739,  1656,   262,   262,   262,  1658,   459,
-    1268,  1668,   740,   765,   768,   769,   262,   770,   771,   800,
-     813,   420,   815,   816,   817,   420,   549,  1501,   857,   866,
-     867,   883,   885,   887,   420,   891,   420,   892,   922,   420,
-     894,   920,   923,   925,   932,   933,   941,   944,   978,   999,
-     262,   530,   983,   987,   988,   998,   989,   990,  1928,   991,
-    1000,  1010,  1015,  1029,  1031,  1041,  1034,  1036,  1038,   336,
-    1042,  1045,  1046,  1049,  1490,  1491,  1050,  1052,  1053,  1255,
-    1054,  1055,  1057,  1058,  1059,  1060,  1061,  1876,  1062,   420,
-    1063,   557,  1064,  1065,  1066,  1067,  1070,  1071,  1278,  1096,
-    1097,  1122,  1105,  1106,  1107,  1111,  1113,  1114,  1115,   262,
-    1127,  1137,  1132,  1138,  1116,  1144,  1146,  1147,  1149,  1148,
-     262,  1446,  1150,  1151,  1152,  1153,   262,  1154,  1173,  1161,
-    1195,  1169,  1170,  1197,  1211,  1208,  1209,  1210,  1222,  1223,
-    1224,  1227,  1235,  1321,  1322,  1237,  1324,  1238,  1327,  1328,
-    1664,  1330,  1244,  1332,  1333,  1334,  1335,  1336,  1337,  1338,
-    1339,  1340,  1247,  1248,  1249,  1252,  1253,  1254,  1270,  1271,
-    1276,  1277,  1290,  -535,  1299,   262,   262,   262,  1300,  1301,
-    1302,   262,  1305,   262,  1312,   262,  1323,   262,  1329,   262,
-     262,   262,  1331,  1342,  1355,  1378,  1366,  1801,  1379,  1352,
-    1380,  1383,  1435,  1392,  1393,  1394,   262,  1395,  1396,  1398,
-    1405,  1406,  1409,  1411,  1410,  1431,  1420,   262,  1421,  1454,
-    1422,  1367,  1423,  1424,  1425,   262,  1426,  1427,   262,  1428,
-    1432,  1376,  1433,  1434,  1461,  1436,  1437,  1438,  1443,  1448,
-    1449,  1455,  1470,  1462,  1463,  1464,  1468,  1476,  1481,  1693,
-    1482,  1487,  1725,  1484,  1488,  1492,  1614,  1494,   531,   532,
-     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
-     543,   742,   545,   546,   547,   548,  1498,  1512,  1495,  1517,
-     549,   336,   696,  1496,   697,  1526,  1528,   420,   420,  1429,
-    1516,  1529,  1527,   262,  1531,  1532,  1533,  1537,  1538,  1539,
-    1540,  1541,  1440,  1441,  1442,  1545,  1546,  1543,  1547,  1548,
-    1549,   420,  1550,  1551,  1552,  1553,   262,  1554,  1555,  1565,
-     262,  1576,  1578,  1124,  1579,  1521,  1586,  1525,   531,   532,
-     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
-     543,   673,   545,   546,   547,   548,  1581,  1469,  1587,   828,
-     549,  1595,  1447,  1597,  1596,  1725,  1603,  1604,  1605,  1606,
-    1611,  1612,  1618,  1619,  1620,  1626,  1631,  1632,  1621,  1637,
-    1660,  1705,  1666,  1682,  1622,  1633,  1781,  1623,  1628,  1783,
-    1651,  1641,  1676,  1683,  1644,  1242,  1659,  1665,  1681,  -536,
-    1684,  1685,   262,   262,  1686,  1687,  1934,  1688,  1694,  1698,
-    1712,  1706,   888,   889,  1707,  1708,  1524,  1711,  1713,   412,
-     412,  1951,  1715,  1716,  1724,   262,  1727,  1536,  1726,  1729,
-    1731,   262,  1732,  1542,  1733,  1734,  1735,  1738,  1757,  1753,
-     262,  1758,  1767,  1771,  1788,  1797,  1790,  1798,   420,  1823,
-    1800,   420,  1804,  1789,  1815,  1830,  1855,  1840,   929,   930,
-     931,  1846,  1819,  1828,  1853,  1865,   262,  1760,  1761,  1762,
-    1763,  1764,  1766,  1274,  1849,  1841,  1872,   336,  1850,   262,
-    1867,  1847,  1583,  1584,  1585,  1856,  1873,  1654,  1588,  1882,
-    1589,  1879,  1590,  1880,  1591,  1884,  1592,  1593,  1594,  1998,
-    1881,  1885,  1886,   972,  1887,  1888,  1889,  1894,  1905,  1906,
-    1907,  1908,  1910,  1609,  1911,  1931,  1932,  1936,  1948,  1949,
-    1950,  1952,  1958,   262,  1617,  1961,  1965,  1962,  1967,   700,
-    1977,  1974,  1625,  1978,  1980,  1001,  1982,  1984,  2023,  1988,
-    1996,  1985,  1997,  1999,  1697,  2000,  2007,  2014,  2019,  2024,
-    2072,  2038,  2073,  2074,  2057,  2075,  2077,  1025,  2078,  2079,
-     262,  2083,  2080,  1032,  2097,  2098,  2105,  2108,  2116,  2121,
-    2122,  2125,   262,  2126,  1514,  2032,   734,  1900,  1568,  1702,
-    1877,  1728,  1535,   112,   122,   262,   123,   124,  1577,   869,
-    1926,   420,  1653,   130,  1799,     0,     0,     0,     0,     0,
-    1680,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,   262,
-       0,     0,     0,  1696,  1743,     0,   262,     0,     0,     0,
-    1904,     0,     0,     0,     0,     0,     0,  1099,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   262,     0,
-       0,   262,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,   262,   412,  1780,     0,   262,     0,     0,     0,
-       0,  1786,  1787,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,  1131,     0,     0,     0,  1795,     0,     0,
-       0,   336,     0,     0,     0,     0,  1136,     0,     0,     0,
-       0,   262,     0,     0,     0,     0,     0,     0,  1938,  1939,
-    1940,  1941,  1942,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,  1680,     0,     0,     0,     0,  1160,     0,   262,
-       0,     0,     0,     0,     0,     0,     0,  1772,   531,   532,
-     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
-     543,   673,   545,   546,   547,   548,     0,     0,     0,     0,
-     549,     0,     0,  1794,     0,     0,     0,     0,     0,  1975,
-       0,     0,     0,  1979,     0,     0,  1803,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,   262,   262,   262,
-     262,   262,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,  1878,     0,     0,     0,     0,
-    1680,     0,  2015,     0,     0,  2095,  2017,     0,     0,     0,
+     549,  1138,  1178,  1019,  1125,   550,  1020,  1126,  1021,  1249,
+    1279,  1770,  1297,   745,   745,   697,  -538,   698,   861,  1179,
+     264,  1331,  2071,  1332,   150,   344,  1695,  1180,  1181,  1182,
+    -539,   265,  1354,  1183,  1184,   807,   745,  1377,   262,  1383,
+     281,   745,  1405,   745,  1676,  1512,   745,  1513,  1514,   745,
+     562,   745,   745,  1515,  1566,  1595,  1685,   745,   745,   745,
+    1682,  1786,   286,  2045,  1683,   745,   345,   346,   347,   348,
+     349,   350,   351,   352,   353,  1245,   294,   280,  1246,   354,
+     355,   356,   357,   305,   308,   262,  1829,   358,   359,   360,
+    1830,  1840,   361,  1863,   362,  1841,  1864,   745,   262,  1879,
+     745,   309,  1754,  1830,  1755,   363,   262,  1425,   364,   318,
+    1917,  1935,  1969,   319,  1918,  1830,   745,  2115,  1970,   531,
+    1996,  2004,   730,  2012,  1830,   745,  2094,   745,  2026,   262,
+    2074,  2075,  1830,   322,   745,   745,  2076,  1268,  1271,  2077,
+     745,   323,  2079,   745,  2081,   393,   745,  2105,  1918,  2116,
+    2129,  1830,   324,   745,  2130,   329,  1425,   532,   533,   534,
+     535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
+     674,   546,   547,   548,   549,   330,  2143,  1170,  2146,   550,
+    1830,   331,  2147,   332,  1176,  1794,   339,   340,  1187,   341,
+     342,   343,   373,  1272,   390,   384,   391,   416,   415,   134,
+     427,  1308,   429,   439,   444,   458,   495,   498,   510,   515,
+     518,   519,   365,   366,   367,   520,   386,   559,   560,   566,
+     567,   568,   569,   368,   262,   579,   603,   369,   576,   370,
+     107,   581,   583,   584,   604,   605,  1493,   606,  1278,   607,
+     608,  1687,  1688,   262,   609,   617,   614,   620,   621,   618,
+     262,   262,   262,   262,   622,   399,   400,   631,   632,   623,
+     624,   627,  -536,   420,  1508,   628,   629,   639,  1766,  1767,
+     638,   647,   648,   649,   660,   661,   663,   665,  1379,  1381,
+     664,   666,   668,  1359,  1360,   667,   670,   683,   262,   262,
+     689,   262,   696,   262,   262,   702,   262,   703,   262,   262,
+     262,   262,   262,   262,   262,   262,   262,   133,   740,   262,
+     709,   736,   150,   344,   762,   741,   766,   769,   770,   771,
+     772,   801,   814,   816,   817,  1324,   532,   533,   534,   535,
+     536,   537,   538,   539,   540,   541,   542,   543,   544,   743,
+     546,   547,   548,   549,   262,   420,   420,   550,   550,   818,
+     697,   832,   698,   859,   345,   346,   347,   348,   349,   350,
+     351,   352,   353,   868,   869,   885,   262,   354,   355,   356,
+     357,   887,   889,   893,   894,   358,   359,   360,   262,   262,
+     361,   896,   362,   922,   924,   943,   925,   927,   934,   935,
+     989,   946,   990,   363,   980,   985,   364,   991,  1000,   992,
+     993,  1001,  1002,  1459,  1012,  1017,  1031,  1461,  1043,  1147,
+    1033,  1036,  1038,  1040,  1044,  1047,  1465,  1051,  1466,  1048,
+    1052,  1468,  1054,  1055,  1056,  1057,  1059,  1061,  1062,  1060,
+    1063,  1064,  1065,   393,  1066,  1067,   262,  1379,  1381,  1669,
+    1068,  1069,  1072,  1671,  1073,  1098,  1099,  1129,  1107,   262,
+     262,   262,  1681,  1113,  1108,  1109,  1115,  1116,  1117,  1124,
+     262,  1139,  1135,  1141,  1118,   420,  1148,  1142,  1151,   420,
+    1150,  1509,  1153,  1152,  1154,  1155,  1157,  1156,   420,  1158,
+     420,  1177,  1165,   420,  1199,  1201,  1251,  1173,  1174,  1212,
+    1213,  1214,  1215,  1226,   262,  1227,  1228,  1231,  1239,  1454,
+     365,   366,   367,  1242,  1241,  1252,  1248,  1258,  1253,  1256,
+    1257,   368,  1531,   336,  1535,   369,  1274,   370,   107,  1275,
+    1951,  1280,  1281,  1294,  1318,  1304,  1305,  1259,  1306,  1329,
+    1307,  1335,  1313,   420,  1337,  1348,  1361,  1310,  1372,  1374,
+    1386,  1387,  1388,  1391,  1406,  1897,  1282,   697,  1400,   698,
+    1401,  1402,  1403,   436,  1404,   262,  1413,  1414,   441,  1417,
+    1418,  1419,   701,   446,  1428,  1429,   262,  1430,  1431,  1432,
+    1433,  1434,   262,  1435,  1436,  1439,  1440,   459,   537,   538,
+     539,   540,   541,   542,   543,   544,   674,   546,   547,   548,
+     549,  1327,  1328,  1441,  1330,   550,  1333,  1334,  1442,  1336,
+    1443,  1338,  1339,  1340,  1341,  1342,  1343,  1344,  1345,  1346,
+    1444,  1445,  1446,  1451,  1456,  1457,  1462,  1463,  1478,  1469,
+    1470,  1484,  1489,   262,   262,   262,  1490,  1677,  1471,   262,
+    1472,   262,  1476,   262,  1492,   262,  1495,   262,   262,   262,
+    1496,  1500,  1506,  1819,  1521,  1504,  1527,  1358,  1537,  1502,
+    1503,  1538,  1539,  1525,   262,  1536,  1547,  1550,  1541,   558,
+    1543,  1551,  1553,  1556,  1542,   262,  1667,  1557,  1548,  1373,
+    1558,  1549,  1555,   262,  1559,  1560,   262,  1561,  1562,  1563,
+    1564,  1384,   534,   535,   536,   537,   538,   539,   540,   541,
+     542,   543,   544,   674,   546,   547,   548,   549,  1708,  1565,
+    1575,  1126,   550,  1588,  1627,  1586,   532,   533,   534,   535,
+     536,   537,   538,   539,   540,   541,   542,   543,   544,   674,
+     546,   547,   548,   549,  1589,  1714,  1590,  1591,   550,   336,
+    1455,  1594,  1599,  1743,  1608,   420,   420,  1600,  1609,  1437,
+    1610,   262,  1616,  1624,  1617,  1619,  1618,  1625,  1631,  1632,
+    1633,  1634,  1448,  1449,  1450,  1635,  1636,  1639,  1641,  1644,
+     420,  1645,  1646,  1650,  1654,  1657,   262,  1673,  1664,  1678,
+     262,   532,   533,   534,   535,   536,   537,   538,   539,   540,
+     541,   542,   543,   544,   674,   546,   547,   548,   549,  1246,
+    1679,  1694,  1696,   550,  1710,  1672,  1689,  1477,  1697,  1699,
+    1700,  1701,  1702,  1703,  1729,  1715,  1709,  1723,  1761,  1724,
+    1725,  1728,  1730,  1732,  1733,  1741,  1744,  1745,  1747,  1749,
+    1750,  1722,  1751,  1752,  1753,  1756,  1771,  1775,  1776,  1799,
+    1785,  1789,  1801,  1806,  1807,  1808,  1815,  1816,  1743,  -540,
+    1818,  1822,  1834,  1839,  1957,   262,   262,  1843,  1798,  1848,
+    1850,  1870,  1861,  1867,  1862,  1804,  1805,  1871,  1534,  1868,
+    1874,  1877,   412,   412,  1876,  1974,  1886,  1888,   262,  1546,
+    1893,  1813,  1894,  1903,   262,  1552,  1905,  1900,  1906,  1908,
+    1901,  1909,  1902,   262,  1910,  1907,  1915,  1928,  1929,  1930,
+    1931,   420,  1933,  1934,   420,  1954,  1955,  1959,  1971,  1973,
+    1972,     7,     8,  1975,  1981,  -541,  2000,  2003,  1984,   262,
+    1778,  1779,  1780,  1781,  1782,  1784,  1278,   829,  1985,  1988,
+     336,  1990,   262,  2005,  1997,  2001,  1596,  1597,  1598,  2007,
+    2008,  2011,  1601,  2019,  1602,  2020,  1603,  2022,  1604,  2021,
+    1605,  1606,  1607,  2023,  2030,  2037,  2042,  2047,  2095,  2061,
+    2080,  2096,  2097,  2098,  2100,  2101,  2102,  1622,  2103,  2106,
+    2120,  2121,  2128,  2131,  2139,  2144,  2145,  2148,  1630,  2149,
+     262,   890,   891,  2055,  1523,  1578,  1638,   735,  2046,   710,
+      25,    26,   711,    28,    29,   712,    31,   713,    33,    34,
+      35,    36,  1719,  1923,  1746,    38,    39,    40,  1898,  1545,
+      42,   112,   122,   123,  1899,   124,   714,    48,   262,   871,
+      50,   715,  1949,    53,   716,  1587,  1666,   931,   932,   933,
+     262,   130,  1817,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,    70,   262,     0,     0,     0,     0,  1926,   420,
+       0,     0,     0,     0,  1693,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,    84,    85,    86,     0,
+       0,     0,   974,     0,     0,     0,     0,   262,     0,  1713,
+       0,     0,     0,     0,     0,     0,   262,     0,     0,     0,
+    1927,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,  1003,     0,     0,     0,     0,   262,
+       0,     0,   262,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,   262,   412,     0,  1027,   262,     0,     0,
+       0,     0,  1034,     0,     0,     0,     0,     0,     0,     0,
+       0,   908,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,   336,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,   262,     0,     0,     0,     0,     0,     0,  1961,
+    1962,  1963,  1964,  1965,     0,     0,     0,     0,     0,     0,
+       0,  1693,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,   262,  2029,     0,     0,  1790,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,  1101,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   719,     0,
+       0,     0,  1812,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,  1998,     0,     0,  1821,  2002,   535,   536,   537,
+     538,   539,   540,   541,   542,   543,   544,   674,   546,   547,
+     548,   549,     0,  1134,     0,     0,   550,     0,     0,     0,
+     262,   262,   262,   262,   262,     0,  1140,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,  2029,   262,     0,     0,     0,  1903,  1294,  1295,
-    1296,  1297,  2117,  2119,     0,     0,     0,  1854,     0,     0,
-       0,     0,   262,     0,     0,     0,     0,   718,     0,  2127,
-       0,     0,     0,     0,     0,     0,   382,     0,     0,     0,
-       0,     0,     7,     8,     0,     0,     0,   420,     0,     0,
-       0,     0,     0,  2069,  2070,     0,     0,     0,     0,     0,
-       0,     0,   407,     0,   262,  1261,   417,  1343,     0,     0,
-     422,     0,     0,     0,   420,   420,  1895,     0,     0,     0,
-       0,     0,     0,  1901,     0,     0,     0,   432,   434,   437,
-     438,   420,   440,   434,   442,   443,     0,   445,   434,   447,
-     448,   449,   450,   451,   452,  1680,   454,   455,   456,     0,
-       0,     0,   434,     0,     0,     0,     0,     0,     0,  1933,
-     709,    25,    26,   710,    28,    29,   711,    31,   712,    33,
-      34,    35,    36,     0,     0,  1377,    38,    39,    40,     0,
-       0,    42,     0,     0,     0,     0,     0,   713,    48,  2006,
-       0,    50,   714,     0,    53,   715,     0,     0,  1680,     0,
+       0,     0,     0,  1693,     0,  2038,     0,     0,  2118,  2040,
+       0,     0,     0,     0,     0,     0,     0,  1164,     0,     0,
+       0,     0,     0,     0,     0,  2052,   262,     0,     0,     0,
+       0,     0,     0,     0,     0,  2140,  2142,     0,     0,     0,
+       0,  1875,     0,     0,     0,   262,     0,     0,     0,     0,
+       0,     0,  2150,     0,     0,     0,     0,     0,     0,   382,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,    70,     0,     0,   521,   523,   525,   526,
-     434,     0,     0,     0,     0,     0,  1976,     0,     0,     0,
-       0,     0,     0,   556,   434,     0,     0,    84,    85,    86,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,   577,
-       0,     0,     0,     0,     0,     0,  1450,     0,     0,   587,
-     588,     0,     0,     0,     0,   588,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,   609,   531,   532,   533,   534,
-     535,   536,   537,   538,   539,   540,   541,   542,   543,   673,
-     545,   546,   547,   548,     0,     0,   629,     0,   549,     0,
-     632,   633,   634,     0,   636,     0,     0,     0,   639,   640,
-     641,     0,   906,   642,   531,   532,   533,   534,   535,   536,
-     537,   538,   539,   540,   541,   542,   543,   673,   545,   546,
-     547,   548,     0,     0,     0,     0,   549,     0,     0,     0,
-    1680,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,   672,     0,     0,     0,   678,     0,     0,     0,     0,
+     420,     0,     0,     0,     0,     0,  2092,  2093,     0,     0,
+       0,     0,     0,     0,     0,   407,     0,   262,  1265,   417,
+       0,     0,     0,   422,     0,     0,     0,   420,   420,     0,
+    1916,     0,     0,     0,     0,     0,     0,     0,     0,  1924,
+     432,   434,   437,   438,   420,   440,   434,   442,   443,     0,
+     445,   434,   447,   448,   449,   450,   451,   452,     0,   454,
+     455,   456,  1693,     0,     0,   434,     0,     0,  1299,  1300,
+    1301,  1302,     0,     0,     0,     0,  1956,   532,   533,   534,
+     535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
+     674,   546,   547,   548,   549,     0,     0,     0,     0,   550,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,   689,   690,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,   717,     0,     0,     0,     0,
-    1341,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,  1680,     0,   523,     0,     0,     0,     0,     0,   747,
-       0,     0,     0,     0,   752,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   766,     0,
-       0,     0,     0,     0,   772,   773,   774,   775,   776,   777,
-     778,   779,   780,   781,   782,   783,   784,   785,   786,   787,
-     788,   790,   791,   792,   793,   794,   795,   796,   796,     0,
-     801,   802,     0,   804,     0,     0,     0,     0,  1627,   810,
-       0,     0,     0,   814,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,   796,     0,     0,
-       0,     0,   434,     0,     0,     0,     0,     0,     0,     0,
-     832,   833,   834,   835,   836,   837,   838,   839,   840,   841,
-     842,   843,   844,   845,   847,   849,   850,   851,   852,   853,
-       0,   855,   856,     0,     0,     0,     0,     0,   863,   864,
-     865,     0,     0,     0,     0,   871,   874,   877,   880,   882,
-       0,   884,     0,   886,     0,   434,   434,     0,     0,     0,
+       0,     0,     0,     0,     0,  1693,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,  1349,     0,   521,
+     523,   525,   526,   434,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,  1999,   557,   434,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,   521,   672,   905,     0,     0,     0,
-     910,   911,   912,   913,   914,   915,   916,   917,   918,     0,
-       0,     0,     0,   924,     0,   926,     0,   927,     0,     0,
-       0,   434,   434,   434,     0,     0,   934,   935,   936,   531,
-     532,   533,   534,   535,   536,   537,   538,   539,   540,   541,
-     542,   543,   673,   545,   546,   547,   548,     0,     0,     0,
-       0,   549,   958,     0,     0,     0,     0,     0,  1381,     0,
-       0,     0,  1739,  1740,     0,     0,   434,     0,     0,     0,
-       0,   975,     0,   976,     0,   855,   856,     0,     0,     0,
-       0,     0,   986,     0,     0,     0,     0,     0,   992,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   434,     0,
-       0,     0,     0,     0,  1007,  1008,     0,     0,     0,     0,
+       0,     0,   578,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,   588,   589,     0,     0,     0,     0,   589,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   610,     0,
+       0,     0,     0,     0,     0,     0,     0,  1385,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,   630,
+       0,     0,     0,   633,   634,   635,     0,   637,     0,     0,
+       0,   640,   641,   642,     0,     0,   643,   532,   533,   534,
+     535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
+     674,   546,   547,   548,   549,     0,     0,     0,     0,   550,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,  1693,
+       0,     0,     0,     0,   673,     0,     0,     0,   679,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,  1458,     0,
+       0,     0,     0,     0,   690,   691,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   718,     0,
+       0,     0,     0,     0,  1347,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,   523,     0,     0,     0,
+    1693,     0,   748,     0,     0,     0,     0,   753,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     434,     0,  1027,  1028,     0,     0,   434,  1033,     0,     0,
-       0,     0,     0,     0,     0,  1040,     0,     0,     0,  1043,
-       0,     0,   847,     0,  1047,   531,   532,   533,   534,   535,
-     536,   537,   538,   539,   540,   541,   542,   543,   673,   545,
-     546,   547,   548,   150,   344,  1068,     0,   549,     0,     0,
+       0,   767,     0,     0,     0,     0,     0,   773,   774,   775,
+     776,   777,   778,   779,   780,   781,   782,   783,   784,   785,
+     786,   787,   788,   789,   791,   792,   793,   794,   795,   796,
+     797,   797,     0,   802,   803,   435,   805,     0,     0,     0,
+     435,     0,   811,     0,     0,   435,   815,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,   435,
+     797,     0,     0,     0,     0,   434,     0,     0,     0,     0,
+       0,     0,     0,     0,   834,   835,   836,   837,   838,   839,
+     840,   841,   842,   843,   844,   845,   846,   847,   849,   851,
+     852,   853,   854,   855,     0,   857,   858,     0,     0,     0,
+       0,     0,   865,   866,   867,     0,     0,     0,     0,   873,
+     876,   879,   882,   884,     0,   886,  1438,   888,     0,   434,
+     434,     0,     0,     0,   524,     0,     0,   435,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   521,   673,
+     907,   435,     0,     0,   912,   913,   914,   915,   916,   917,
+     918,   919,   920,     0,  1640,     0,     0,   926,  1475,   928,
+       0,   929,     0,     0,     0,   434,   434,   434,     0,     0,
+     936,   937,   938,   532,   533,   534,   535,   536,   537,   538,
+     539,   540,   541,   542,   543,   544,   674,   546,   547,   548,
+     549,     0,     0,     0,     0,   550,   960,     0,     0,     0,
+       0,     0,  1389,     0,     0,     0,     0,     0,     0,     0,
+     434,     0,     0,     0,     0,   977,     0,   978,     0,   857,
+     858,     0,     0,     0,     0,     0,   988,     0,     0,     0,
+       0,     0,   994,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,   434,     0,     0,     0,     0,     0,  1009,  1010,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     435,     0,     0,     0,     0,   435,     0,     0,     0,     0,
-     435,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     434,     0,     0,     0,   435,   345,   346,   347,   348,   349,
-     350,   351,   352,   353,     0,     0,     0,     0,   354,   355,
-     356,   357,     0,     0,     0,     0,   358,   359,   360,     0,
-       0,   361,     0,   362,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,   363,  1870,   434,   364,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,   434,
-       0,     0,     0,     0,     0,     0,  1142,     0,     0,   524,
-       0,     0,   435,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,   393,     0,   435,     0,     0,     0,
-     434,     0,     0,     0,     0,     0,     0,     0,  1167,  1168,
-       0,     0,     0,     0,  1171,     0,     0,     0,     0,     0,
-       0,  1927,     0,     0,     0,     0,     0,     0,     0,     0,
-    1196,     0,     0,  1198,     0,     0,  1937,     0,     0,     0,
+    1491,     0,     0,     0,   434,     0,  1029,  1030,     0,     0,
+     434,  1035,     0,     0,     0,     0,     0,     0,     0,  1042,
+       0,     0,     0,  1045,     0,     0,   849,     0,  1049,   532,
+     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
+     543,   544,   674,   546,   547,   548,   549,     0,     0,  1070,
+     524,   550,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,  1757,  1758,   532,   533,   534,   535,   536,
+     537,   538,   539,   540,   541,   542,   543,   544,   674,   546,
+     547,   548,   549,     0,   434,     0,     0,   550,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,   790,     0,     0,
+       0,     0,     0,     0,   798,   799,     0,   532,   533,   534,
+     535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
+     674,   546,   547,   548,   549,     0,     0,     0,     0,   550,
+       0,   434,     0,     0,   825,     0,     0,     0,     0,   435,
+       0,     0,     0,     0,   434,     0,     0,     0,     0,     0,
+       0,  1146,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,   850,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,   434,     0,     0,     0,     0,
+       0,     0,     0,  1171,  1172,     0,     0,     0,     0,  1175,
+       0,     0,     0,   435,   435,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,  1200,     0,     0,  1202,   532,
+     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
+     543,   544,   674,   546,   547,   548,   549,  1216,     0,  1218,
+    1219,   550,     0,  1620,     0,     0,     0,     0,     0,   435,
+     435,   435,     0,     0,     0,     0,     0,     0,  1237,     0,
+       0,  1891,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,  1255,     0,     0,     0,
+       0,     0,     0,  1261,  1262,  1263,  1264,     0,     0,     0,
+       0,  1273,     0,     0,   435,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,  1298,   434,   434,   434,   434,
+    1303,     0,     0,     0,     0,     0,  1670,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,   435,     0,     0,     0,
+    1950,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,  1960,     0,     0,   435,     0,
+       0,     0,     0,     0,   435,  1674,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,   434,     0,     0,     0,     0,
+     850,     0,  1050,     0,     0,     0,     0,     0,  1350,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,  1351,  1352,
+    1353,     0,     0,     0,     0,  1355,  1356,     0,  1357,     0,
+       0,  1680,     0,     0,     0,     0,  1363,     0,  1364,  1365,
+    1366,  1367,  1368,     0,     0,     0,     0,     0,     0,  1371,
+       0,     0,     0,     0,     0,  1375,  1376,     0,   435,     0,
+       0,     0,  1382,     0,     0,   434,  1788,     0,     0,     0,
+       0,     0,     0,     0,     0,  1393,     0,  1395,     0,  1397,
+       0,  1399,   532,   533,   534,   535,   536,   537,   538,   539,
+     540,   541,   542,   543,   544,   674,   546,   547,   548,   549,
+    1842,   531,  1416,     0,   550,   435,     0,     0,  2048,  2049,
+    2050,  2051,  2053,     0,     0,     0,     0,     0,   435,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,  1212,     0,  1214,  1215,     0,     0,     0,     0,
-       0,   365,   366,   367,     0,     0,     0,     0,     0,     0,
-       0,     0,   368,  1233,     0,     0,   369,     0,   370,   107,
+       0,     0,     0,     0,  1447,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,   434,     0,     0,   435,
+       0,     0,     0,     0,  1460,   532,   533,   534,   535,   536,
+     537,   538,   539,   540,   541,   542,   543,   544,   674,   546,
+     547,   548,   549,  2099,     0,     0,  1474,   550,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,  1251,     0,   150,   344,     0,     0,     0,  1257,  1258,
-    1259,  1260,     0,     0,   399,   400,  1269,     0,     0,     0,
-       0,  -533,     0,  1500,     0,     0,     0,     0,     0,     0,
-    1293,   434,   434,   434,   434,  1298,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,   345,   346,   347,   348,   349,
-     350,   351,   352,   353,     0,     0,     0,     0,   354,   355,
-     356,   357,     0,     0,     0,     0,   358,   359,   360,     0,
-       0,   361,     0,   362,     0,   524,     0,  2025,  2026,  2027,
-    2028,  2030,  1822,   530,   363,     0,     0,   364,     0,     0,
-     434,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,  1344,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,  1345,  1346,  1347,     0,     0,     0,     0,
-    1349,  1350,   789,  1351,   393,     0,     0,     0,     0,   797,
-     798,  1357,  1430,  1358,  1359,  1360,  1361,  1362,     0,     0,
-       0,     0,  2076,     0,  1365,     0,     0,     0,     0,  1368,
-    1369,     0,     0,     0,     0,     0,     0,     0,   434,   824,
-       0,     0,     0,     0,   435,     0,     0,     0,  1385,     0,
-    1387,     0,  1389,     0,  1391,     0,     0,     0,  1467,     0,
-       0,     0,     0,     0,     0,     0,   848,     0,     0,     0,
-       0,   365,   366,   367,     0,  1408,     0,     0,     0,     0,
-       0,     0,   368,     0,     0,     0,   369,     0,   370,   107,
-       0,     0,     0,     0,     0,     0,     0,   435,   435,     0,
-       0,     0,     0,     0,     0,     0,     0,  1439,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   696,   434,
-     697,     0,     0,     0,     0,     0,     0,  1452,     0,     0,
+    1483,  1866,     0,  1488,   532,   533,   534,   535,   536,   537,
+     538,   539,   540,   541,   542,   543,   544,   674,   546,   547,
+     548,   549,     0,     0,     0,     0,   550,     0,  1892,     0,
+    1510,     0,     0,     0,     0,     0,     0,  1517,  1518,  1519,
+    1520,     0,     0,     0,     0,     0,  1526,     0,  1528,  1530,
+     532,   533,   534,   535,   536,   537,   538,   539,   540,   541,
+     542,   543,   544,   674,   546,   547,   548,   549,     0,     0,
+       0,     0,   550,     0,     0,     0,     0,     0,     0,     0,
+     435,   435,   435,   435,     0,   532,   533,   534,   535,   536,
+     537,   538,   539,   540,   541,   542,   543,   544,   674,   546,
+     547,   548,   549,     0,     0,     0,     0,   550,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   532,   533,
+     534,   535,   536,   537,   538,   539,   540,   541,   542,   543,
+     544,   743,   546,   547,   548,   549,     0,     0,     0,   435,
+     550,  1613,  1614,  1615,     0,     0,     0,     0,     0,     0,
+    1621,     0,  1623,     0,     0,     0,     0,     0,     0,  1626,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,   435,   435,   435,     0,     0,     0,  1466,
+       0,     0,   434,     0,     0,     0,     0,  1642,     0,     0,
+       0,     0,     0,     0,     0,  1647,  1648,  1649,     0,     0,
+       0,     0,     0,     0,     0,  1658,     0,     0,     0,     0,
+       0,     0,     0,     0,  1668,     0,     0,     0,     0,   435,
+     532,   533,   534,   535,   536,   537,   538,   539,   540,   541,
+     542,   543,   544,   674,   546,   547,   548,   549,     0,  1684,
+       0,     0,   550,     0,     0,  1690,  1691,   532,   533,   534,
+     535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
+     674,   546,   547,   548,   549,     0,     0,     0,     0,   550,
+       0,     0,   700,     0,     0,     0,  1717,     0,     0,  1904,
+       0,     0,     0,     0,  1720,  1721,     0,     0,     0,     0,
+       0,  1726,  1727,     0,     0,     0,     0,     0,  1731,     0,
+     435,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,  1734,  1735,  1736,     0,     0,
+       0,     0,     0,  1737,  1738,  1739,  1740,     0,     0,     0,
+       0,  2018,     0,  1742,     0,     0,     0,     0,     0,     0,
+       0,     0,  1748,     0,     0,     0,     0,     0,     0,     0,
+       0,   434,   434,  1759,     0,  1760,     0,     0,     0,     0,
+       0,  1768,  1769,     0,     0,     0,   812,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,  1475,     0,     0,  1480,     0,     0,     0,
-     531,   532,   533,   534,   535,   536,   537,   538,   539,   540,
-     541,   542,   543,   742,   545,   546,   547,   548,   435,     0,
-       0,     0,   549,     0,     0,     0,     0,     0,     0,  1508,
-    1509,  1510,  1511,     0,     0,     0,     0,     0,     0,  1518,
-    1520,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     435,   531,   532,   533,   534,   535,   536,   537,   538,   539,
-     540,   541,   542,   543,   673,   545,   546,   547,   548,     0,
-       0,     0,   435,   549,     0,     0,     0,     0,   435,     0,
+     434,     0,     0,     0,  1787,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,  1797,     0,     0,  1800,     0,
+       0,     0,  1803,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,  1814,
+       0,     0,   862,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,  1826,     0,     0,     0,     0,  1832,  1833,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,   848,     0,  1048,   531,   532,   533,
+       0,     0,  1835,     0,     0,  1836,   532,   533,   534,   535,
+     536,   537,   538,   539,   540,   541,   542,   543,   544,   674,
+     546,   547,   548,   549,     0,     0,     0,     0,   550,     0,
+       0,     0,     0,     0,  1022,     0,     0,  1860,   532,   533,
      534,   535,   536,   537,   538,   539,   540,   541,   542,   543,
-     673,   545,   546,   547,   548,     0,     0,     0,     0,   549,
+     544,   674,   546,   547,   548,   549,     0,     0,  1869,     0,
+     550,     0,     0,     0,     0,     0,   435,  1878,     0,     0,
+       0,     0,     0,     0,     0,     0,   523,     0,     0,     0,
+       0,     0,     0,     0,     0,  1889,  1890,     0,     0,   434,
+     532,   533,   534,   535,   536,   537,   538,   539,   540,   541,
+     542,   543,   544,   674,   546,   547,   548,   549,     0,     0,
+       0,     0,   550,     0,     0,     0,     0,     0,     0,     0,
+    1913,  1914,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,  1925,     0,     0,     0,     0,     0,
+       0,  1932,     0,     0,     0,     0,     0,  1936,  1937,  1938,
+    1939,  1940,     0,     0,     0,     0,     0,     0,   434,     0,
+    1718,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,   434,     0,     0,     0,     0,     0,     0,
+       0,  1966,     0,     0,     0,     0,     0,     0,     0,  1074,
+    1075,  1076,  1077,  1078,  1079,  1080,  1081,  1082,  1083,  1084,
+       0,  1086,  1087,  1088,  1089,  1977,  1091,  1092,  1093,  1094,
+       0,  1982,     0,     0,  1983,  2070,     0,     0,     0,     0,
+    1104,     0,  1106,     0,     0,     0,     0,     0,     0,  1112,
+       0,     0,     0,     0,     0,   435,   435,     0,     0,     0,
+    1120,  1121,     0,     0,     0,     0,  2006,     0,     0,  1131,
+       0,     0,     0,     0,     0,  1987,     0,     0,     0,     0,
+       0,     0,     0,     0,   435,     0,     0,     0,     0,     0,
+       0,  2024,  2025,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,  2031,  2032,  2033,  2034,  2035,  2036,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-    1600,  1601,  1602,     0,     0,     0,     0,     0,     0,  1608,
-       0,  1610,     0,     0,     0,     0,     0,     0,  1613,     0,
-       0,     0,   435,     0,     0,     0,     0,     0,     0,     0,
-       0,   434,     0,     0,     0,     0,  1629,     0,     0,     0,
-       0,     0,     0,     0,  1634,  1635,  1636,     0,     0,     0,
-       0,     0,     0,     0,  1645,     0,     0,     0,     0,     0,
-       0,     0,     0,  1655,     0,     0,     0,     0,   435,     0,
+       0,  2044,     0,     0,     0,     0,   434,   434,   434,   434,
+     434,     0,     0,     0,     0,     0,  1832,     0,     0,     0,
+    2060,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   155,   156,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,   435,     0,     0,     0,     0,     0,  1483,  1671,     0,
-       0,     0,     0,     0,  1677,  1678,     0,     0,     0,     0,
+    2083,     0,     0,     0,     0,  2086,  2087,  2088,  2089,  2090,
+    2091,     0,     0,     0,     0,     0,     0,  1222,  1224,  1225,
+       0,   434,     0,  1229,  1230,     0,     0,  1233,  1234,  1235,
+    1236,     0,  1238,     0,     0,     0,     0,  1244,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,   435,     0,     0,     0,     0,     0,  1607,     0,
-       0,     0,     0,  1700,     0,     0,     0,     0,     0,     0,
-       0,  1703,  1704,     0,     0,     0,     0,     0,  1709,  1710,
-       0,     0,     0,     0,     0,  1714,     0,     0,     0,     0,
+       0,     0,  2122,  2123,  2124,  2125,  2126,  2127,     0,     0,
+     524,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,   435,   532,   533,   534,   535,   536,   537,
+     538,   539,   540,   541,   542,   543,   544,   674,   546,   547,
+     548,   549,     0,     0,     0,     0,   550,     0,   406,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,  1717,  1718,  1719,     0,     0,     0,     0,     0,
-    1720,  1721,  1722,  1723,  1657,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,  1730,     0,     0,     0,
-       0,     0,     0,     0,     0,   434,   434,  1741,     0,  1742,
-       0,     0,     0,     0,     0,  1750,  1751,     0,     0,     0,
+       0,  1322,  1323,   532,   533,   534,   535,   536,   537,   538,
+     539,   540,   541,   542,   543,   544,   674,   546,   547,   548,
+     549,     0,     0,     0,     0,   550,     0,     0,     0,     0,
+       0,     0,   435,     0,     0,     0,     0,     0,     0,     0,
+       0,   531,     0,     0,     0,     0,     0,   435,   464,   465,
+     466,   467,   468,   469,   470,   471,   472,   473,   474,   475,
+     476,   477,   478,   479,   480,   481,   482,   483,   484,   485,
+     486,   489,   490,   491,   492,   493,   494,     0,   496,   497,
+       0,     0,     0,     0,   499,   500,     0,     0,     0,     0,
+     187,   150,   344,     0,   516,   517,     0,   188,   189,   190,
+       0,     0,   191,   192,   193,   194,   195,   196,   197,   198,
+     199,   200,   201,   202,   203,   204,   205,   206,   207,   380,
+     209,   210,   211,   212,   213,   214,     0,     0,     0,     0,
+       0,     0,     0,   345,   346,   347,   348,   349,   350,   351,
+     352,   353,   220,   221,   222,   223,   354,   355,   356,   357,
+     224,     0,     0,     0,   358,   359,   360,     0,     0,   361,
+       0,   362,   225,   226,   227,     0,     0,     0,     0,     0,
+     228,    21,   363,   229,     0,   364,     0,     0,     0,     0,
+     435,   435,   435,   435,   435,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,   434,     0,     0,     0,  1769,     0,
-       0,     0,     0,   435,   435,   435,   435,     0,     0,  1779,
-       0,     0,  1782,     0,     0,     0,  1785,     0,     0,     0,
-       0,     0,   699,     0,     0,     0,     0,     0,     0,  1661,
-       0,     0,     0,  1796,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,  1808,     0,     0,     0,
-       0,  1814,     0,     0,     0,     0,     0,     0,     0,     0,
-    1667,     0,   435,     0,     0,  1816,   531,   532,   533,   534,
-     535,   536,   537,   538,   539,   540,   541,   542,   543,   673,
-     545,   546,   547,   548,     0,     0,     0,     0,   549,     0,
-       0,     0,  1770,     0,     0,     0,  1839,   531,   532,   533,
+       0,   644,   645,   646,     0,     0,     0,   650,   651,   652,
+     653,   654,   655,   656,     0,   657,     0,     0,     0,   658,
+     659,   531,     0,   662,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,  1497,   672,     0,     0,     0,
+       0,     0,     0,     0,     0,   435,     0,     0,   532,   533,
      534,   535,   536,   537,   538,   539,   540,   541,   542,   543,
-     673,   545,   546,   547,   548,     0,   811,  1848,     0,   549,
-       0,     0,     0,     0,     0,     0,  1857,     0,     0,     0,
-     435,     0,     0,     0,     0,   523,     0,     0,     0,     0,
-       0,     0,     0,     0,  1868,  1869,     0,     0,   434,     0,
-       0,     0,     0,   531,   532,   533,   534,   535,   536,   537,
-     538,   539,   540,   541,   542,   543,   673,   545,   546,   547,
-     548,   860,     0,     0,     0,   549,     0,     0,     0,  1892,
-    1893,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,  1902,     0,     0,     0,     0,     0,     0,  1909,     0,
-       0,     0,     0,     0,  1913,  1914,  1915,  1916,  1917,     0,
-       0,   435,     0,     0,   434,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,   434,
-       0,     0,     0,     0,     0,     0,     0,  1943,   531,   532,
-     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
-     543,   673,   545,   546,   547,   548,  1845,     0,     0,     0,
-     549,  1954,     0,     0,     0,     0,     0,  1959,  1960,   531,
-     532,   533,   534,   535,   536,   537,   538,   539,   540,   541,
-     542,   543,   673,   545,   546,   547,   548,  1871,     0,     0,
-       0,   549,     0,     0,     0,     0,     0,     0,     0,     0,
-    1983,   531,   532,   533,   534,   535,   536,   537,   538,   539,
-     540,   541,   542,   543,   673,   545,   546,   547,   548,  1883,
-       0,     0,     0,   549,     0,  2001,  2002,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,  2008,  2009,  2010,
-    2011,  2012,  2013,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,  2021,     0,     0,     0,     0,
-     434,   434,   434,   434,   434,     0,     0,     0,     0,     0,
-    1814,     0,     0,     0,  2037,     0,     0,     0,     0,     0,
-    1995,     0,     0,     0,     0,     0,     0,     0,  1072,  1073,
-    1074,  1075,  1076,  1077,  1078,  1079,  1080,  1081,  1082,     0,
-    1084,  1085,  1086,  1087,  2060,  1089,  1090,  1091,  1092,  2063,
-    2064,  2065,  2066,  2067,  2068,  2047,     0,     0,     0,  1102,
-       0,  1104,     0,   435,     0,   434,     0,     0,  1110,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,  1118,
-    1119,     0,     0,     0,     0,     0,     0,  1128,     0,     0,
-       0,     0,     0,     0,     0,     0,  2099,  2100,  2101,  2102,
-    2103,  2104,     0,     0,     0,   531,   532,   533,   534,   535,
-     536,   537,   538,   539,   540,   541,   542,   543,   673,   545,
-     546,   547,   548,     0,     0,     0,     0,   549,     0,     0,
-       0,     0,     0,     0,     0,     0,   531,   532,   533,   534,
-     535,   536,   537,   538,   539,   540,   541,   542,   543,   673,
-     545,   546,   547,   548,     0,  1701,     0,     0,   549,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   531,   532,
-     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
-     543,   673,   545,   546,   547,   548,     0,     0,     0,     0,
-     549,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,  1218,  1220,  1221,     0,     0,
-       0,  1225,  1226,     0,     0,  1229,  1230,  1231,  1232,     0,
-    1234,     0,     0,     0,     0,  1240,     0,   435,   435,   531,
-     532,   533,   534,   535,   536,   537,   538,   539,   540,   541,
-     542,   543,   673,   545,   546,   547,   548,  1964,     0,     0,
-       0,   549,     0,     0,     0,     0,   435,     0,     0,     0,
-       0,     0,     0,     0,   531,   532,   533,   534,   535,   536,
-     537,   538,   539,   540,   541,   542,   543,   673,   545,   546,
-     547,   548,     0,     0,     0,     0,   549,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,  1316,
-    1317,     0,     0,     0,   187,     6,   344,     0,     0,     0,
-       0,   188,   189,   190,     0,     0,   191,   192,   193,   194,
-     195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
-     205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
-     215,   216,   217,   218,   219,     0,     0,   345,   346,   347,
-     348,   349,   350,   351,   352,   353,   220,   221,   222,   223,
-     354,   355,   356,   357,   224,   530,     0,     0,   358,   359,
-     360,     0,     0,   361,     0,   362,   225,   226,   227,     0,
-       0,     0,     0,     0,   228,    21,   363,   229,     0,   364,
-       0,     0,   230,     0,     0,   231,     0,   524,   232,     0,
-     233,     0,     0,     0,     0,     0,     0,    37,     0,     0,
-     435,     0,     0,     0,     0,     0,     0,     0,     0,   234,
-       0,    49,     0,     0,   235,     0,   236,     0,     0,     0,
-       0,     0,     0,    59,    60,    61,    62,    63,     0,     0,
-      65,    66,    67,    68,    69,     0,     0,     0,    73,     0,
-       0,    76,     0,     0,     0,   531,   532,   533,   534,   535,
-     536,   537,   538,   539,   540,   541,   542,   543,   673,   545,
-     546,   547,   548,     0,     0,     0,   435,   549,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,   435,   237,   365,   366,   367,   238,   239,     0,     0,
-       0,   240,   241,   242,   368,   243,   244,   245,   369,     0,
-     370,   107,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,   246,   247,     0,
-       0,  1489,     0,     0,   248,     0,     0,     0,     0,   326,
-       0,     0,     0,  1523,     0,     0,   251,     0,   531,   532,
-     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
-     543,   673,   545,   546,   547,   548,     0,  1522,     7,     8,
-     549,     0,   531,   532,   533,   534,   535,   536,   537,   538,
-     539,   540,   541,   542,   543,   544,   545,   546,   547,   548,
-       0,     0,     0,     0,   549,     0,     0,     0,     0,     0,
-    1557,  1558,  1559,  1560,  1561,     0,     0,     0,     0,  1566,
-    1567,     0,  1569,     0,     0,     0,     0,     0,  1575,     0,
-       0,     0,   435,   435,   435,   435,   435,     0,     0,     0,
-       0,  1580,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,   709,    25,    26,   710,
-      28,    29,   711,    31,   712,    33,    34,    35,    36,     0,
+     544,   545,   546,   547,   548,   549,     0,     0,     7,     8,
+     550,     0,     0,  1532,     0,     0,     0,     0,   237,   365,
+     366,   367,   238,     0,     0,     0,     0,   240,   241,   242,
+     368,   243,   244,   245,   369,     0,   370,   107,     0,     0,
+       0,     0,     0,     0,     0,     0,  1567,  1568,  1569,  1570,
+    1571,     0,     0,   246,   381,  1576,  1577,     0,  1579,     0,
+     248,     0,     0,     0,  1585,   326,     0,     0,     0,  1529,
+       0,     0,   251,     0,     0,     0,     0,     0,     0,  1593,
+       0,     0,     0,     0,     0,     0,   710,    25,    26,   711,
+      28,    29,   712,    31,   713,    33,    34,    35,    36,     0,
        0,     0,    38,    39,    40,     0,     0,    42,     0,     0,
-       0,     0,     0,   713,    48,     0,     0,    50,   714,   530,
-      53,   715,     0,     0,     0,     0,     0,   435,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,    70,
-       0,     0,     0,     0,     0,     0,  1640,     0,  1643,     0,
-       0,     0,  1650,     0,  1652,     0,     0,     0,     0,     0,
-       0,     0,     0,    84,    85,    86,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,   187,     6,   344,     0,
-       0,     0,     0,   188,   189,   190,  1673,     0,   191,   192,
-     193,   194,   195,   196,   197,   198,   199,   200,   201,   202,
-     203,   204,   205,   206,   207,   208,   209,   210,   211,   212,
-     213,   214,   215,   216,   217,   218,   219,     0,     0,   345,
-     346,   347,   348,   349,   350,   351,   352,   353,   220,   221,
-     222,   223,   354,   355,   356,   357,   224,     0,   928,     0,
-     358,   359,   360,     0,     0,   361,     0,   362,   225,   226,
-     227,     0,     0,     0,     0,     0,   228,    21,   363,   229,
-       0,   364,     0,     0,   230,     0,     0,   231,     0,     0,
-     232,     0,   233,     0,     0,     0,     0,     0,     0,    37,
+       0,     0,     0,   714,    48,     0,     0,    50,   715,     0,
+      53,   716,     0,     0,     0,     0,   833,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   947,    70,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,   234,     0,    49,     0,     0,   235,     0,   236,     0,
-       0,     0,     0,     0,     0,    59,    60,    61,    62,    63,
-       0,     0,    65,    66,    67,    68,    69,   945,     0,     0,
-      73,     0,     0,    76,     0,     0,   531,   532,   533,   534,
-     535,   536,   537,   538,   539,   540,   541,   542,   543,   742,
-     545,   546,   547,   548,     0,     0,     0,     0,   549,     0,
-       0,     0,     0,  1129,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,   237,   365,   366,   367,   238,   239,
-    1805,  1806,     0,   240,   241,   242,   368,   243,   244,   245,
-     369,  1130,   370,   107,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,   246,
-     247,     0,     0,     0,     0,     0,   248,     0,     0,     0,
-       0,   326,     0,  1832,  1833,   250,     0,     0,   251,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,   187,   150,   344,
-       0,   392,     0,     0,   188,   189,   190,     0,     0,   191,
+       0,     0,     0,     0,  1653,     0,  1656,     0,     0,     0,
+    1663,     0,  1665,    84,    85,    86,     0,     0,   532,   533,
+     534,   535,   536,   537,   538,   539,   540,   541,   542,   543,
+     544,   743,   546,   547,   548,   549,     0,     0,     0,     0,
+     550,     0,     0,     0,  1686,     0,     0,   187,     6,   344,
+       0,     0,     0,     0,   188,   189,   190,     0,     0,   191,
      192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
-     202,   203,   204,   205,   206,   207,   380,   209,   210,   211,
-     212,   213,   214,     0,     0,     0,     0,     0,  1874,  1875,
+     202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
+     212,   213,   214,   215,   216,   217,   218,   219,   930,     0,
      345,   346,   347,   348,   349,   350,   351,   352,   353,   220,
      221,   222,   223,   354,   355,   356,   357,   224,     0,     0,
        0,   358,   359,   360,     0,     0,   361,     0,   362,   225,
      226,   227,     0,     0,     0,     0,     0,   228,    21,   363,
-     229,     0,   364,     0,   531,   532,   533,   534,   535,   536,
-     537,   538,   539,   540,   541,   542,   543,   673,   545,   546,
-     547,   548,     0,     0,     0,     0,   549,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,   393,
-     531,   532,   533,   534,   535,   536,   537,   538,   539,   540,
-     541,   542,   543,   673,   545,   546,   547,   548,     0,     0,
-       0,     0,   549,     0,     0,     0,     0,     0,   531,   532,
-     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
-     543,   673,   545,   546,   547,   548,     0,     0,     0,     0,
-     549,     0,     0,     0,     0,     0,     0,     0,   394,     0,
-       0,     0,     0,     0,     0,   237,   365,   366,   367,   238,
-       0,     0,     0,     0,   240,   241,   242,   368,   243,   244,
-     245,   369,     0,   370,   107,   395,   396,   397,   398,     0,
+     229,     0,   364,     0,     0,   230,     0,     0,   231,     0,
+       0,   232,     0,   233,     0,     0,     0,     0,     0,     0,
+      37,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,   234,     0,    49,     0,     0,   235,     0,   236,
+       0,     0,     0,     0,     0,     0,    59,    60,    61,    62,
+      63,     0,     0,    65,    66,    67,    68,    69,     0,     0,
+       0,    73,     0,     0,    76,   532,   533,   534,   535,   536,
+     537,   538,   539,   540,   541,   542,   543,   544,   674,   546,
+     547,   548,   549,     0,     0,     0,     0,   550,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,  1823,  1824,   237,   365,   366,   367,   238,
+     239,     0,     0,     0,   240,   241,   242,   368,   243,   244,
+     245,   369,  1132,   370,   107,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     246,   381,     0,     0,     0,     0,     0,   248,     0,   399,
-     400,     0,   401,     0,   402,   187,     6,   325,   403,   251,
+     246,   247,     0,     0,     0,     0,     0,   248,     0,     0,
+    1852,  1853,   326,     0,     0,     0,  1533,     0,     0,   251,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,   187,     6,   344,     0,     0,
        0,     0,   188,   189,   190,     0,     0,   191,   192,   193,
      194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
      204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
+     214,   215,   216,   217,   218,   219,  1895,  1896,   345,   346,
+     347,   348,   349,   350,   351,   352,   353,   220,   221,   222,
+     223,   354,   355,   356,   357,   224,     0,     0,     0,   358,
+     359,   360,     0,     0,   361,     0,   362,   225,   226,   227,
+       0,     0,     0,     0,     0,   228,    21,   363,   229,     0,
+     364,     0,     0,   230,     0,     0,   231,     0,     0,   232,
+       0,   233,     0,     0,     0,     0,     0,     0,    37,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+     234,     0,    49,     0,     0,   235,     0,   236,  1133,     0,
+       0,     0,     0,     0,    59,    60,    61,    62,    63,     0,
+       0,    65,    66,    67,    68,    69,     0,     0,     0,    73,
+       0,     0,    76,     0,     0,     0,     0,  1453,     0,   532,
+     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
+     543,   544,   674,   546,   547,   548,   549,     0,     0,     0,
+       0,   550,     0,     0,     0,  1317,     0,     0,     0,     0,
+       0,     0,     0,   237,   365,   366,   367,   238,   239,     0,
+       0,     0,   240,   241,   242,   368,   243,   244,   245,   369,
+       0,   370,   107,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   246,   247,
+       0,     0,     0,     0,     0,   248,     0,     0,     0,     0,
+     326,   187,   150,   344,   250,   392,     0,   251,   188,   189,
+     190,     0,     0,   191,   192,   193,   194,   195,   196,   197,
+     198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
+     380,   209,   210,   211,   212,   213,   214,     0,     0,     0,
+       0,     0,     0,     0,   345,   346,   347,   348,   349,   350,
+     351,   352,   353,   220,   221,   222,   223,   354,   355,   356,
+     357,   224,     0,     0,     0,   358,   359,   360,     0,     0,
+     361,     0,   362,   225,   226,   227,     0,     0,     0,     0,
+       0,   228,    21,   363,   229,     0,   364,     0,     0,     0,
+       0,     0,     0,  2108,     0,   532,   533,   534,   535,   536,
+     537,   538,   539,   540,   541,   542,   543,   544,   674,   546,
+     547,   548,   549,     0,     0,     0,     0,   550,     0,     0,
+       0,     0,     0,   393,   532,   533,   534,   535,   536,   537,
+     538,   539,   540,   541,   542,   543,   544,   674,   546,   547,
+     548,   549,     0,     0,     0,     0,   550,   532,   533,   534,
+     535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
+     674,   546,   547,   548,   549,     0,     0,     0,     0,   550,
+       0,   697,     0,   698,     0,     0,     0,     0,     0,  1655,
+       0,     0,   394,     0,     0,     0,  1498,  1499,     0,   237,
+     365,   366,   367,   238,     0,     0,     0,     0,   240,   241,
+     242,   368,   243,   244,   245,   369,     0,   370,   107,   395,
+     396,   397,   398,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,   246,   381,     0,     0,     0,     0,
+       0,   248,     0,   399,   400,     0,   401,     0,   402,   187,
+       6,   325,   403,   251,     0,     0,   188,   189,   190,     0,
+       0,   191,   192,   193,   194,   195,   196,   197,   198,   199,
+     200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
+     210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,   220,   221,   222,   223,     0,     0,     0,     0,   224,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,   225,   226,   227,     0,     0,     7,     8,     0,   228,
+      21,     0,   229,     0,     0,     0,     0,   230,     0,     0,
+     231,     0,     0,   232,     0,   233,     0,     0,     0,     0,
+       0,     0,    37,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,   234,     0,    49,     0,     0,   235,
+       0,   236,     0,     0,     0,     0,     0,     0,    59,    60,
+      61,    62,    63,     0,     0,    65,    66,    67,    68,    69,
+       0,     0,     0,    73,     0,     0,    76,     0,     0,     0,
+       0,     0,     0,     0,   710,    25,    26,   711,    28,    29,
+     712,    31,   713,    33,    34,    35,    36,     0,     0,     0,
+      38,    39,    40,     0,     0,    42,     0,     0,     0,     0,
+       0,   714,    48,     0,     0,    50,   715,   237,    53,   716,
+       0,   238,   239,     0,     0,     0,   240,   241,   242,     0,
+     243,   244,   245,     0,     0,     0,   107,    70,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,   246,   247,     0,     0,     0,     0,     0,   248,
+       0,    84,    85,    86,   326,   187,     6,  1629,   250,     0,
+       0,   251,   188,   189,   190,     0,     0,   191,   192,   193,
+     194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
+     204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
      214,   215,   216,   217,   218,   219,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,   220,   221,   222,
      223,     0,     0,     0,     0,   224,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,   225,   226,   227,
+       0,     0,     0,     0,     0,     0,   975,   225,   226,   227,
        0,     0,     7,     8,     0,   228,    21,     0,   229,     0,
-    2085,     0,     0,   230,     0,     0,   231,     0,     0,   232,
+       0,     0,     0,   230,     0,     0,   231,     0,     0,   232,
        0,   233,     0,     0,     0,     0,     0,     0,    37,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
      234,     0,    49,     0,     0,   235,     0,   236,     0,     0,
        0,     0,     0,     0,    59,    60,    61,    62,    63,     0,
        0,    65,    66,    67,    68,    69,     0,     0,     0,    73,
        0,     0,    76,     0,     0,     0,     0,     0,     0,     0,
-     709,    25,    26,   710,    28,    29,   711,    31,   712,    33,
+     710,    25,    26,   711,    28,    29,   712,    31,   713,    33,
       34,    35,    36,     0,     0,     0,    38,    39,    40,     0,
-       0,    42,     0,     0,     0,     0,     0,   713,    48,     0,
-       0,    50,   714,   237,    53,   715,     0,   238,   239,     0,
+       0,    42,     0,     0,     0,     0,     0,   714,    48,     0,
+       0,    50,   715,   237,    53,   716,     0,   238,   239,     0,
        0,     0,   240,   241,   242,     0,   243,   244,   245,     0,
        0,     0,   107,    70,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,   246,   247,
        0,     0,     0,     0,     0,   248,     0,    84,    85,    86,
-     326,   187,     6,  1616,   250,     0,     0,   251,   188,   189,
+     326,   187,     6,     0,   250,     0,     0,   251,   188,   189,
      190,     0,     0,   191,   192,   193,   194,   195,   196,   197,
      198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
      208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
      218,   219,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,   220,   221,   222,   223,     0,     0,     0,
        0,   224,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,   973,   225,   226,   227,     0,     0,     7,     8,
+       0,     0,   976,   225,   226,   227,     0,     0,     7,     8,
        0,   228,    21,     0,   229,     0,     0,     0,     0,   230,
        0,     0,   231,     0,     0,   232,     0,   233,     0,     0,
        0,     0,     0,     0,    37,     0,     0,     0,     0,     0,
@@ -2744,22 +2799,22 @@ static const yytype_int16 yytable[] =
        0,   235,     0,   236,     0,     0,     0,     0,     0,     0,
       59,    60,    61,    62,    63,     0,     0,    65,    66,    67,
       68,    69,     0,     0,     0,    73,     0,     0,    76,     0,
-       0,     0,     0,     0,     0,     0,   709,    25,    26,   710,
-      28,    29,   711,    31,   712,    33,    34,    35,    36,     0,
+       0,     0,     0,     0,     0,     0,   710,    25,    26,   711,
+      28,    29,   712,    31,   713,    33,    34,    35,    36,     0,
        0,     0,    38,    39,    40,     0,     0,    42,     0,     0,
-       0,     0,     0,   713,    48,     0,     0,    50,   714,   237,
-      53,   715,     0,   238,   239,     0,     0,     0,   240,   241,
+       0,     0,     0,   714,    48,     0,     0,    50,   715,   237,
+      53,   716,     0,   238,   239,     0,     0,     0,   240,   241,
      242,     0,   243,   244,   245,     0,     0,     0,   107,    70,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,   246,   247,     0,     0,     0,     0,
-       0,   248,     0,    84,    85,    86,   326,   187,     6,     0,
-     250,     0,     0,   251,   188,   189,   190,     0,     0,   191,
+       0,     0,     0,     0,   595,  1783,     0,     0,     0,     0,
+       0,   248,     0,    84,    85,    86,   597,   187,     6,     0,
+     290,   527,     0,   251,   188,   189,   190,     0,     0,   191,
      192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
      202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
      212,   213,   214,   215,   216,   217,   218,   219,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,   220,
      221,   222,   223,     0,     0,     0,     0,   224,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   974,   225,
+       0,     0,     0,     0,     0,     0,     0,     0,  1166,   225,
      226,   227,     0,     0,     7,     8,     0,   228,    21,     0,
      229,     0,     0,     0,     0,   230,     0,     0,   231,     0,
        0,   232,     0,   233,     0,     0,     0,     0,     0,     0,
@@ -2768,22 +2823,22 @@ static const yytype_int16 yytable[] =
        0,     0,     0,     0,     0,     0,    59,    60,    61,    62,
       63,     0,     0,    65,    66,    67,    68,    69,     0,     0,
        0,    73,     0,     0,    76,     0,     0,     0,     0,     0,
-       0,     0,   709,    25,    26,   710,    28,    29,   711,    31,
-     712,    33,    34,    35,    36,     0,     0,     0,    38,    39,
-      40,     0,     0,    42,     0,     0,     0,     0,     0,   713,
-      48,     0,     0,    50,   714,   237,    53,   715,     0,   238,
+       0,     0,   710,    25,    26,   711,    28,    29,   712,    31,
+     713,    33,    34,    35,    36,     0,     0,     0,    38,    39,
+      40,     0,     0,    42,     0,     0,     0,     0,     0,   714,
+      48,     0,     0,    50,   715,   237,    53,   716,     0,   238,
      239,     0,     0,     0,   240,   241,   242,     0,   243,   244,
      245,     0,     0,     0,   107,    70,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     594,  1765,     0,     0,     0,     0,     0,   248,     0,    84,
-      85,    86,   596,   187,     6,     0,   290,   527,     0,   251,
+     246,   247,     0,     0,     0,     0,     0,   248,     0,    84,
+      85,    86,   249,   187,     6,     0,   250,     0,     0,   251,
      188,   189,   190,     0,     0,   191,   192,   193,   194,   195,
      196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
      206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
      216,   217,   218,   219,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,   220,   221,   222,   223,     0,
        0,     0,     0,   224,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,  1162,   225,   226,   227,     0,     0,
+       0,     0,     0,     0,  1168,   225,   226,   227,     0,     0,
        7,     8,     0,   228,    21,     0,   229,     0,     0,     0,
        0,   230,     0,     0,   231,     0,     0,   232,     0,   233,
        0,     0,     0,     0,     0,     0,    37,     0,     0,     0,
@@ -2791,15 +2846,15 @@ static const yytype_int16 yytable[] =
       49,     0,     0,   235,     0,   236,     0,     0,     0,     0,
        0,     0,    59,    60,    61,    62,    63,     0,     0,    65,
       66,    67,    68,    69,     0,     0,     0,    73,     0,     0,
-      76,     0,     0,     0,     0,     0,     0,     0,   709,    25,
-      26,   710,    28,    29,   711,    31,   712,    33,    34,    35,
+      76,     0,     0,     0,     0,     0,     0,     0,   710,    25,
+      26,   711,    28,    29,   712,    31,   713,    33,    34,    35,
       36,     0,     0,     0,    38,    39,    40,     0,     0,    42,
-       0,     0,     0,     0,     0,   713,    48,     0,     0,    50,
-     714,   237,    53,   715,     0,   238,   239,     0,     0,     0,
+       0,     0,     0,     0,     0,   714,    48,     0,     0,    50,
+     715,   237,    53,   716,     0,   238,   239,     0,     0,     0,
      240,   241,   242,     0,   243,   244,   245,     0,     0,     0,
      107,    70,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,   246,   247,     0,     0,
-       0,     0,     0,   248,     0,    84,    85,    86,   249,   187,
+       0,     0,     0,   248,     0,    84,    85,    86,   326,   187,
        6,     0,   250,     0,     0,   251,   188,   189,   190,     0,
        0,   191,   192,   193,   194,   195,   196,   197,   198,   199,
      200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
@@ -2807,7 +2862,7 @@ static const yytype_int16 yytable[] =
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,   220,   221,   222,   223,     0,     0,     0,     0,   224,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-    1164,   225,   226,   227,     0,     0,     7,     8,     0,   228,
+    1169,   225,   226,   227,     0,     0,     7,     8,     0,   228,
       21,     0,   229,     0,     0,     0,     0,   230,     0,     0,
      231,     0,     0,   232,     0,   233,     0,     0,     0,     0,
        0,     0,    37,     0,     0,     0,     0,     0,     0,     0,
@@ -2815,22 +2870,22 @@ static const yytype_int16 yytable[] =
        0,   236,     0,     0,     0,     0,     0,     0,    59,    60,
       61,    62,    63,     0,     0,    65,    66,    67,    68,    69,
        0,     0,     0,    73,     0,     0,    76,     0,     0,     0,
-       0,     0,     0,     0,   709,    25,    26,   710,    28,    29,
-     711,    31,   712,    33,    34,    35,    36,     0,     0,     0,
+       0,     0,     0,     0,   710,    25,    26,   711,    28,    29,
+     712,    31,   713,    33,    34,    35,    36,     0,     0,     0,
       38,    39,    40,     0,     0,    42,     0,     0,     0,     0,
-       0,   713,    48,     0,     0,    50,   714,   237,    53,   715,
+       0,   714,    48,     0,     0,    50,   715,   237,    53,   716,
        0,   238,   239,     0,     0,     0,   240,   241,   242,     0,
      243,   244,   245,     0,     0,     0,   107,    70,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,   246,   247,     0,     0,     0,     0,     0,   248,
-       0,    84,    85,    86,   326,   187,     6,     0,   250,     0,
+       0,     0,   246,   433,     0,     0,     0,     0,     0,   248,
+       0,    84,    85,    86,   326,   187,     6,     0,   522,     0,
        0,   251,   188,   189,   190,     0,     0,   191,   192,   193,
      194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
      204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
      214,   215,   216,   217,   218,   219,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,   220,   221,   222,
      223,     0,     0,     0,     0,   224,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,  1165,   225,   226,   227,
+       0,     0,     0,     0,     0,     0,  1188,   225,   226,   227,
        0,     0,     7,     8,     0,   228,    21,     0,   229,     0,
        0,     0,     0,   230,     0,     0,   231,     0,     0,   232,
        0,   233,     0,     0,     0,     0,     0,     0,    37,     0,
@@ -2839,22 +2894,22 @@ static const yytype_int16 yytable[] =
        0,     0,     0,     0,    59,    60,    61,    62,    63,     0,
        0,    65,    66,    67,    68,    69,     0,     0,     0,    73,
        0,     0,    76,     0,     0,     0,     0,     0,     0,     0,
-     709,    25,    26,   710,    28,    29,   711,    31,   712,    33,
+     710,    25,    26,   711,    28,    29,   712,    31,   713,    33,
       34,    35,    36,     0,     0,     0,    38,    39,    40,     0,
-       0,    42,     0,     0,     0,     0,     0,   713,    48,     0,
-       0,    50,   714,   237,    53,   715,     0,   238,   239,     0,
+       0,    42,     0,     0,     0,     0,     0,   714,    48,     0,
+       0,    50,   715,   237,    53,   716,     0,   238,   239,     0,
        0,     0,   240,   241,   242,     0,   243,   244,   245,     0,
        0,     0,   107,    70,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,   246,   433,
        0,     0,     0,     0,     0,   248,     0,    84,    85,    86,
-     326,   187,     6,     0,   522,     0,     0,   251,   188,   189,
+     326,   187,     6,     0,     0,   527,     0,   251,   188,   189,
      190,     0,     0,   191,   192,   193,   194,   195,   196,   197,
      198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
      208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
      218,   219,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,   220,   221,   222,   223,     0,     0,     0,
        0,   224,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,  1184,   225,   226,   227,     0,     0,     7,     8,
+       0,     0,  1217,   225,   226,   227,     0,     0,     7,     8,
        0,   228,    21,     0,   229,     0,     0,     0,     0,   230,
        0,     0,   231,     0,     0,   232,     0,   233,     0,     0,
        0,     0,     0,     0,    37,     0,     0,     0,     0,     0,
@@ -2862,22 +2917,22 @@ static const yytype_int16 yytable[] =
        0,   235,     0,   236,     0,     0,     0,     0,     0,     0,
       59,    60,    61,    62,    63,     0,     0,    65,    66,    67,
       68,    69,     0,     0,     0,    73,     0,     0,    76,     0,
-       0,     0,     0,     0,     0,     0,   709,    25,    26,   710,
-      28,    29,   711,    31,   712,    33,    34,    35,    36,     0,
+       0,     0,     0,     0,     0,     0,   710,    25,    26,   711,
+      28,    29,   712,    31,   713,    33,    34,    35,    36,     0,
        0,     0,    38,    39,    40,     0,     0,    42,     0,     0,
-       0,     0,     0,   713,    48,     0,     0,    50,   714,   237,
-      53,   715,     0,   238,   239,     0,     0,     0,   240,   241,
+       0,     0,     0,   714,    48,     0,     0,    50,   715,   237,
+      53,   716,     0,   238,   239,     0,     0,     0,   240,   241,
      242,     0,   243,   244,   245,     0,     0,     0,   107,    70,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,   246,   433,     0,     0,     0,     0,
-       0,   248,     0,    84,    85,    86,   326,   187,     6,     0,
-       0,   527,     0,   251,   188,   189,   190,     0,     0,   191,
+       0,     0,     0,     0,   246,   247,     0,     0,     0,     0,
+       0,   248,     0,    84,    85,    86,   561,   187,     6,     0,
+     250,     0,     0,   251,   188,   189,   190,     0,     0,   191,
      192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
      202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
      212,   213,   214,   215,   216,   217,   218,   219,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,   220,
      221,   222,   223,     0,     0,     0,     0,   224,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,  1213,   225,
+       0,     0,     0,     0,     0,     0,     0,     0,  1250,   225,
      226,   227,     0,     0,     7,     8,     0,   228,    21,     0,
      229,     0,     0,     0,     0,   230,     0,     0,   231,     0,
        0,   232,     0,   233,     0,     0,     0,     0,     0,     0,
@@ -2886,22 +2941,22 @@ static const yytype_int16 yytable[] =
        0,     0,     0,     0,     0,     0,    59,    60,    61,    62,
       63,     0,     0,    65,    66,    67,    68,    69,     0,     0,
        0,    73,     0,     0,    76,     0,     0,     0,     0,     0,
-       0,     0,   709,    25,    26,   710,    28,    29,   711,    31,
-     712,    33,    34,    35,    36,     0,     0,     0,    38,    39,
-      40,     0,     0,    42,     0,     0,     0,     0,     0,   713,
-      48,     0,     0,    50,   714,   237,    53,   715,     0,   238,
+       0,     0,   710,    25,    26,   711,    28,    29,   712,    31,
+     713,    33,    34,    35,    36,     0,     0,     0,    38,    39,
+      40,     0,     0,    42,     0,     0,     0,     0,     0,   714,
+      48,     0,     0,    50,   715,   237,    53,   716,     0,   238,
      239,     0,     0,     0,   240,   241,   242,     0,   243,   244,
      245,     0,     0,     0,   107,    70,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
      246,   247,     0,     0,     0,     0,     0,   248,     0,    84,
-      85,    86,   560,   187,     6,     0,   250,     0,     0,   251,
+      85,    86,   570,   187,     6,     0,   250,     0,     0,   251,
      188,   189,   190,     0,     0,   191,   192,   193,   194,   195,
      196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
      206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
      216,   217,   218,   219,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,   220,   221,   222,   223,     0,
        0,     0,     0,   224,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,  1246,   225,   226,   227,     0,     0,
+       0,     0,     0,     0,  1407,   225,   226,   227,     0,     0,
        7,     8,     0,   228,    21,     0,   229,     0,     0,     0,
        0,   230,     0,     0,   231,     0,     0,   232,     0,   233,
        0,     0,     0,     0,     0,     0,    37,     0,     0,     0,
@@ -2909,15 +2964,15 @@ static const yytype_int16 yytable[] =
       49,     0,     0,   235,     0,   236,     0,     0,     0,     0,
        0,     0,    59,    60,    61,    62,    63,     0,     0,    65,
       66,    67,    68,    69,     0,     0,     0,    73,     0,     0,
-      76,     0,     0,     0,     0,     0,     0,     0,   709,    25,
-      26,   710,    28,    29,   711,    31,   712,    33,    34,    35,
+      76,     0,     0,     0,     0,     0,     0,     0,   710,    25,
+      26,   711,    28,    29,   712,    31,   713,    33,    34,    35,
       36,     0,     0,     0,    38,    39,    40,     0,     0,    42,
-       0,     0,     0,     0,     0,   713,    48,     0,     0,    50,
-     714,   237,    53,   715,     0,   238,   239,     0,     0,     0,
+       0,     0,     0,     0,     0,   714,    48,     0,     0,    50,
+     715,   237,    53,   716,     0,   238,   239,     0,     0,     0,
      240,   241,   242,     0,   243,   244,   245,     0,     0,     0,
      107,    70,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,   246,   247,     0,     0,
-       0,     0,     0,   248,     0,    84,    85,    86,   569,   187,
+       0,     0,     0,   248,     0,    84,    85,    86,   572,   187,
        6,     0,   250,     0,     0,   251,   188,   189,   190,     0,
        0,   191,   192,   193,   194,   195,   196,   197,   198,   199,
      200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
@@ -2925,7 +2980,7 @@ static const yytype_int16 yytable[] =
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,   220,   221,   222,   223,     0,     0,     0,     0,   224,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-    1399,   225,   226,   227,     0,     0,     7,     8,     0,   228,
+    2009,   225,   226,   227,     0,     0,     7,     8,     0,   228,
       21,     0,   229,     0,     0,     0,     0,   230,     0,     0,
      231,     0,     0,   232,     0,   233,     0,     0,     0,     0,
        0,     0,    37,     0,     0,     0,     0,     0,     0,     0,
@@ -2933,22 +2988,22 @@ static const yytype_int16 yytable[] =
        0,   236,     0,     0,     0,     0,     0,     0,    59,    60,
       61,    62,    63,     0,     0,    65,    66,    67,    68,    69,
        0,     0,     0,    73,     0,     0,    76,     0,     0,     0,
-       0,     0,     0,     0,   709,    25,    26,   710,    28,    29,
-     711,    31,   712,    33,    34,    35,    36,     0,     0,     0,
+       0,     0,     0,     0,   710,    25,    26,   711,    28,    29,
+     712,    31,   713,    33,    34,    35,    36,     0,     0,     0,
       38,    39,    40,     0,     0,    42,     0,     0,     0,     0,
-       0,   713,    48,     0,     0,    50,   714,   237,    53,   715,
+       0,   714,    48,     0,     0,    50,   715,   237,    53,   716,
        0,   238,   239,     0,     0,     0,   240,   241,   242,     0,
      243,   244,   245,     0,     0,     0,   107,    70,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,   246,   247,     0,     0,     0,     0,     0,   248,
-       0,    84,    85,    86,   571,   187,     6,     0,   250,     0,
+       0,    84,    85,    86,   574,   187,     6,     0,   250,     0,
        0,   251,   188,   189,   190,     0,     0,   191,   192,   193,
      194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
      204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
      214,   215,   216,   217,   218,   219,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,   220,   221,   222,
      223,     0,     0,     0,     0,   224,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,  1986,   225,   226,   227,
+       0,     0,     0,     0,     0,     0,  2072,   225,   226,   227,
        0,     0,     7,     8,     0,   228,    21,     0,   229,     0,
        0,     0,     0,   230,     0,     0,   231,     0,     0,   232,
        0,   233,     0,     0,     0,     0,     0,     0,    37,     0,
@@ -2957,39 +3012,39 @@ static const yytype_int16 yytable[] =
        0,     0,     0,     0,    59,    60,    61,    62,    63,     0,
        0,    65,    66,    67,    68,    69,     0,     0,     0,    73,
        0,     0,    76,     0,     0,     0,     0,     0,     0,     0,
-     709,    25,    26,   710,    28,    29,   711,    31,   712,    33,
+     710,    25,    26,   711,    28,    29,   712,    31,   713,    33,
       34,    35,    36,     0,     0,     0,    38,    39,    40,     0,
-       0,    42,  1445,     0,     0,     0,     0,   713,    48,     0,
-       0,    50,   714,   237,    53,   715,     0,   238,   239,     0,
-       0,     0,   240,   241,   242,     0,   243,   244,   245,     0,
-       0,     0,   107,    70,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   246,   247,
+       0,    42,     0,     0,     0,     0,     0,   714,    48,     0,
+       0,    50,   715,   237,    53,   716,     0,   238,   239,     0,
+     982,     0,   240,   241,   242,     0,   243,   244,   245,     0,
+       0,     0,   107,    70,     0,     0,     0,   983,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   246,   433,
        0,     0,     0,     0,     0,   248,     0,    84,    85,    86,
-     573,   187,     6,     0,   250,     0,     0,   251,   188,   189,
+     326,   187,     6,     0,   848,     0,     0,   251,   188,   189,
      190,     0,     0,   191,   192,   193,   194,   195,   196,   197,
      198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
      208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
      218,   219,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,   220,   221,   222,   223,     0,     0,     0,
        0,   224,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,  2049,   225,   226,   227,     0,     0,     0,     0,
+       0,     0,     0,   225,   226,   227,     0,     0,     7,     8,
        0,   228,    21,     0,   229,     0,     0,     0,     0,   230,
        0,     0,   231,     0,     0,   232,     0,   233,     0,     0,
        0,     0,     0,     0,    37,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,   234,     0,    49,     0,
        0,   235,     0,   236,     0,     0,     0,     0,     0,     0,
       59,    60,    61,    62,    63,     0,     0,    65,    66,    67,
-      68,    69,     0,     0,     0,    73,     0,     0,    76,   531,
-     532,   533,   534,   535,   536,   537,   538,   539,   540,   541,
-     542,   543,   673,   545,   546,   547,   548,     0,     0,     0,
-       0,   549,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,   237,
-       0,     0,     0,   238,   239,     0,     0,     0,   240,   241,
-     242,     0,   243,   244,   245,     0,     0,     0,   107,     0,
+      68,    69,     0,     0,     0,    73,     0,     0,    76,     0,
+       0,     0,     0,     0,     0,     0,   710,    25,    26,   711,
+      28,    29,   712,    31,   713,    33,    34,    35,    36,     0,
+       0,     0,    38,    39,    40,     0,     0,    42,     0,     0,
+       0,     0,     0,   714,    48,     0,     0,    50,   715,   237,
+      53,   716,     0,   238,   239,     0,     0,     0,   240,   241,
+     242,     0,   243,   244,   245,     0,     0,     0,   107,    70,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,   246,   433,     0,     0,     0,     0,
-       0,   248,     0,     0,     0,     0,   326,   187,   150,   344,
-     846,     0,     0,   251,   188,   189,   190,     0,     0,   191,
+       0,     0,     0,     0,   246,   247,     0,     0,     0,     0,
+       0,   248,     0,    84,    85,    86,   326,   187,   150,   344,
+    1637,     0,     0,   251,   188,   189,   190,     0,     0,   191,
      192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
      202,   203,   204,   205,   206,   207,   380,   209,   210,   211,
      212,   213,   214,     0,     0,     0,     0,     0,     0,     0,
@@ -2997,1254 +3052,1277 @@ static const yytype_int16 yytable[] =
      221,   222,   223,   354,   355,   356,   357,   224,     0,     0,
        0,   358,   359,   360,     0,     0,   361,     0,   362,   225,
      226,   227,     0,     0,     0,     0,     0,   228,    21,   363,
-     229,     0,   364,     0,     0,     0,     0,     0,     0,     0,
-       0,   150,   344,   531,   532,   533,   534,   535,   536,   537,
-     538,   539,   540,   541,   542,   543,   673,   545,   546,   547,
-     548,     0,     0,     0,     0,   549,     0,   696,     0,   697,
-       0,     0,     0,     0,     0,  1642,     0,     0,     0,     0,
-       0,     0,     0,   345,   346,   347,   348,   349,   350,   351,
-     352,   353,     0,     0,     0,     0,   354,   355,   356,   357,
-       0,     0,     0,     0,   358,   359,   360,     0,     0,   361,
-       0,   362,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,   363,     0,     0,   364,     0,     0,     0,     0,
+     229,     0,   364,   187,   150,   344,     0,     0,     0,     0,
+     188,   189,   190,     0,     0,   191,   192,   193,   194,   195,
+     196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
+     206,   207,   380,   209,   210,   211,   212,   213,   214,     0,
+       0,     0,     0,     0,     0,     0,   345,   346,   347,   348,
+     349,   350,   351,   352,   353,   220,   221,   222,   223,   354,
+     355,   356,   357,   224,     0,     0,     0,   358,   359,   360,
+       0,     0,   361,     0,   362,   225,   226,   227,     0,     0,
+       0,     0,     0,   228,    21,   363,   229,     0,   364,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,   237,   365,   366,   367,   238,
        0,     0,     0,     0,   240,   241,   242,   368,   243,   244,
      245,   369,     0,   370,   107,     0,     0,     0,     0,     0,
-       0,     0,   393,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
      246,   381,     0,     0,     0,     0,     0,   248,     0,     0,
-       0,     0,   326,   187,     6,     0,  1519,     0,     0,   251,
-     188,   189,   190,     0,     0,   191,   192,   193,   194,   195,
-     196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
-     206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
-     216,   217,   218,   219,     0,     0,     0,     0,     0,   365,
-     366,   367,     0,     0,     0,   220,   221,   222,   223,     0,
-     368,     0,     0,   224,   369,     0,   370,   107,     0,     0,
-       0,     0,     0,     0,     0,   225,   226,   227,     0,     0,
-       7,     8,     0,   228,    21,     0,   229,     0,     0,     0,
-       0,   230,     0,     0,   231,     0,     0,   232,     0,   233,
-       0,     0,     0,     0,     0,     0,    37,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   234,     0,
-      49,     0,     0,   235,     0,   236,     0,     0,     0,     0,
-       0,     0,    59,    60,    61,    62,    63,     0,     0,    65,
-      66,    67,    68,    69,     0,     0,     0,    73,     0,     0,
-      76,     0,     0,     0,     0,     0,     0,     0,   709,    25,
-      26,   710,    28,    29,   711,    31,   712,    33,    34,    35,
-      36,     0,     0,     0,    38,    39,    40,     0,     0,    42,
-       0,     0,     0,     0,     0,   713,    48,     0,     0,    50,
-     714,   237,    53,   715,     0,   238,   239,     0,   980,     0,
-     240,   241,   242,     0,   243,   244,   245,     0,     0,     0,
-     107,    70,     0,     0,     0,   981,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,   246,   247,     0,     0,
-       0,     0,     0,   248,     0,    84,    85,    86,   326,   187,
-     150,   344,  1624,     0,     0,   251,   188,   189,   190,     0,
+       0,     0,   326,     0,     0,     0,  1796,     0,     0,   251,
+       0,     0,     0,     0,   532,   533,   534,   535,   536,   537,
+     538,   539,   540,   541,   542,   543,   544,   674,   546,   547,
+     548,   549,     0,     0,     0,     0,   550,     0,   939,     0,
+       0,   237,   365,   366,   367,   238,   900,     0,     0,     0,
+     240,   241,   242,   368,   243,   244,   245,   369,     0,   370,
+     107,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,   246,   381,     0,     0,
+       0,     0,     0,   248,     0,     0,     0,     0,   326,   187,
+       6,     0,  1802,     0,     0,   251,   188,   189,   190,     0,
        0,   191,   192,   193,   194,   195,   196,   197,   198,   199,
-     200,   201,   202,   203,   204,   205,   206,   207,   380,   209,
-     210,   211,   212,   213,   214,     0,     0,     0,     0,     0,
-       0,     0,   345,   346,   347,   348,   349,   350,   351,   352,
-     353,   220,   221,   222,   223,   354,   355,   356,   357,   224,
-       0,     0,     0,   358,   359,   360,     0,     0,   361,     0,
-     362,   225,   226,   227,     0,     0,     0,     0,     0,   228,
-      21,   363,   229,     0,   364,   187,   150,   344,     0,     0,
-       0,     0,   188,   189,   190,     0,     0,   191,   192,   193,
-     194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
-     204,   205,   206,   207,   380,   209,   210,   211,   212,   213,
-     214,     0,     0,     0,     0,     0,     0,     0,   345,   346,
-     347,   348,   349,   350,   351,   352,   353,   220,   221,   222,
-     223,   354,   355,   356,   357,   224,     0,     0,     0,   358,
-     359,   360,     0,     0,   361,     0,   362,   225,   226,   227,
-       0,     0,     0,     0,     0,   228,    21,   363,   229,     0,
-     364,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,   237,   365,   366,
-     367,   238,     0,     0,     0,     0,   240,   241,   242,   368,
-     243,   244,   245,   369,     0,   370,   107,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,   246,   381,     0,     0,     0,     0,     0,   248,
-       0,     0,     0,     0,   326,     0,     0,     0,  1778,     0,
-       0,   251,     0,     0,     0,     0,   531,   532,   533,   534,
-     535,   536,   537,   538,   539,   540,   541,   542,   543,   673,
-     545,   546,   547,   548,     0,     0,     0,     0,   549,     0,
-     937,     0,     0,   237,   365,   366,   367,   238,   898,     0,
-       0,     0,   240,   241,   242,   368,   243,   244,   245,   369,
-       0,   370,   107,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   246,   381,
-       0,     0,     0,     0,     0,   248,     0,     0,     0,     0,
-     326,   187,     6,     0,  1784,     0,     0,   251,   188,   189,
-     190,     0,     0,   191,   192,   193,   194,   195,   196,   197,
-     198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
-     208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
-     218,   219,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,   220,   221,   222,   223,     0,     0,     0,
-       0,   224,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,   225,   226,   227,     0,     0,     7,     8,
-       0,   228,    21,     0,   229,     0,     0,     0,     0,   230,
-       0,     0,   231,     0,     0,   232,     0,   233,     0,     0,
-       0,     0,     0,     0,    37,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,   234,     0,    49,     0,
-       0,   235,     0,   236,     0,     0,     0,     0,     0,     0,
-      59,    60,    61,    62,    63,     0,     0,    65,    66,    67,
-      68,    69,     0,     0,     0,    73,     0,     0,    76,     0,
-       0,     0,     0,     0,     0,     0,   709,    25,    26,   710,
-      28,    29,   711,    31,   712,    33,    34,    35,    36,     0,
-       0,     0,    38,    39,    40,     0,     0,    42,     0,     0,
-       0,     0,     0,   713,    48,     0,     0,    50,   714,   237,
-      53,   715,     0,   238,   239,     0,     0,     0,   240,   241,
-     242,     0,   243,   244,   245,     0,     0,     0,   107,    70,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,   594,  1765,     0,     0,     0,     0,
-       0,   248,     0,    84,    85,    86,   596,   187,     6,     0,
-     290,     0,     0,   251,   188,   189,   190,     0,     0,   191,
-     192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
-     202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
-     212,   213,   214,   215,   216,   217,   218,   219,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,   220,
-     221,   222,   223,     0,     0,     0,     0,   224,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,   225,
-     226,   227,     0,     0,     0,     0,     0,   228,    21,     0,
-     229,     0,     0,     0,     0,   230,     0,     0,   231,     0,
-       0,   232,     0,   233,     0,     0,     0,     0,     0,     0,
-      37,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,   234,     0,    49,     0,     0,   235,     0,   236,
-       0,     0,     0,     0,     0,     0,    59,    60,    61,    62,
-      63,     0,     0,    65,    66,    67,    68,    69,     0,     0,
-       0,    73,     0,     0,    76,   531,   532,   533,   534,   535,
-     536,   537,   538,   539,   540,   541,   542,   543,   673,   545,
-     546,   547,   548,     0,     0,     0,     0,   549,     0,     0,
-       0,     0,     0,  1746,     0,     0,     0,  1747,     0,     0,
-       0,     0,     0,     0,     0,   237,     0,     0,     0,   238,
-     239,     0,     0,     0,   240,   241,   242,     0,   243,   244,
-     245,     0,     0,     0,   107,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     246,   433,     0,     0,     0,     0,     0,   248,   187,   150,
-     344,     0,   326,     0,     0,   188,   189,   190,     0,   251,
-     191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
-     201,   202,   203,   204,   205,   206,   207,   380,   209,   210,
-     211,   212,   213,   214,     0,     0,     0,     0,     0,     0,
-       0,   345,   346,   347,   348,   349,   350,   351,   352,   353,
-     220,   221,   222,   223,   354,   355,   356,   357,   224,     0,
-       0,     0,   358,   359,   360,     0,     0,   361,     0,   362,
-     225,   226,   227,     0,     0,     0,     0,     0,   228,    21,
-     363,   229,     0,   364,   187,   150,     0,     0,     0,     0,
-       0,   188,   189,   190,     0,     0,   191,   192,   193,   194,
-     195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
-     205,   206,   207,   380,   209,   210,   211,   212,   213,   214,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,   220,   221,   222,   223,
-       0,     0,     0,     0,   224,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,   225,   226,   227,     0,
-       0,     0,     0,     0,   228,    21,     0,   229,     0,     0,
+     200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
+     210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,   237,   365,   366,   367,
-     238,     0,     0,     0,     0,   240,   241,   242,   368,   243,
-     244,   245,   369,     0,   370,   107,     0,     0,     0,     0,
+       0,   220,   221,   222,   223,     0,     0,     0,     0,   224,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,   246,   381,     0,     0,     0,     0,     0,   248,     0,
-       0,     0,     0,   326,     0,     0,     0,     0,     0,     0,
-     251,   531,   532,   533,   534,   535,   536,   537,   538,   539,
-     540,   541,   542,   543,   673,   545,   546,   547,   548,     0,
-       0,     0,     0,   549,     0,     0,     0,     0,     0,  1773,
-       0,     0,   237,  1774,     0,     0,   238,     0,     0,     0,
-       0,   240,   241,   242,     0,   243,   244,   245,     0,     0,
-       0,   107,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,   594,   595,     0,
-       0,     0,     0,     0,   248,     0,     0,     0,     0,   596,
-       0,   187,   150,   290,  1250,     0,   251,     0,   188,   189,
-     190,     0,     0,   191,   192,   193,   194,   195,   196,   197,
-     198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
-     380,   209,   210,   211,   212,   213,   214,     0,     0,     0,
+       0,   225,   226,   227,     0,     0,     0,     0,     0,   228,
+      21,     0,   229,     0,     0,     0,     0,   230,     0,     0,
+     231,     0,     0,   232,     0,   233,     0,     0,     0,     0,
+       0,     0,    37,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,   234,     0,    49,     0,     0,   235,
+       0,   236,     0,     0,     0,     0,     0,     0,    59,    60,
+      61,    62,    63,     0,     0,    65,    66,    67,    68,    69,
+       0,     0,     0,    73,     0,     0,    76,   532,   533,   534,
+     535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
+     674,   546,   547,   548,   549,     0,     0,     0,     0,   550,
+       0,     0,     0,     0,     0,  1764,     0,     0,     0,  1765,
+       0,     0,     0,     0,     0,     0,     0,   237,     0,     0,
+       0,   238,   239,     0,     0,     0,   240,   241,   242,     0,
+     243,   244,   245,     0,     0,     0,   107,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,   220,   221,   222,   223,     0,     0,     0,
-       0,   224,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,   225,   226,   227,     0,     0,     0,     0,
-       0,   228,    21,     0,   229,   187,   150,     0,  1407,     0,
-       0,     0,   188,   189,   190,     0,     0,   191,   192,   193,
+       0,     0,   595,  1783,     0,     0,     0,     0,     0,   248,
+       0,     0,     0,     0,   597,   187,     6,     0,   290,     0,
+       0,   251,   188,   189,   190,     0,     0,   191,   192,   193,
      194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
-     204,   205,   206,   207,   380,   209,   210,   211,   212,   213,
-     214,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+     204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
+     214,   215,   216,   217,   218,   219,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,   220,   221,   222,
      223,     0,     0,     0,     0,   224,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,   225,   226,   227,
-       0,     0,     0,     0,     0,   228,    21,     0,   229,   531,
-     532,   533,   534,   535,   536,   537,   538,   539,   540,   541,
-     542,   543,   673,   545,   546,   547,   548,     0,     0,   237,
-       0,   549,     0,   238,     0,     0,     0,  1929,   240,   241,
-     242,  1930,   243,   244,   245,     0,     0,     0,   107,     0,
+       0,     0,     0,     0,     0,   228,    21,     0,   229,     0,
+       0,     0,     0,   230,     0,     0,   231,     0,     0,   232,
+       0,   233,     0,     0,     0,     0,     0,     0,    37,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,   246,   381,     0,     0,     0,     0,
-       0,   248,     0,     0,     0,     0,   326,     0,     0,     0,
-       0,     0,     0,   251,   531,   532,   533,   534,   535,   536,
-     537,   538,   539,   540,   541,   542,   543,   673,   545,   546,
-     547,   548,     0,     0,     0,     0,   549,     0,     0,     0,
-       0,     0,     0,   237,     0,     0,   727,   238,     0,     0,
+     234,     0,    49,     0,     0,   235,     0,   236,     0,     0,
+       0,     0,     0,     0,    59,    60,    61,    62,    63,     0,
+       0,    65,    66,    67,    68,    69,     0,     0,     0,    73,
+       0,     0,    76,   532,   533,   534,   535,   536,   537,   538,
+     539,   540,   541,   542,   543,   544,   674,   546,   547,   548,
+     549,     0,     0,     0,     0,   550,     0,     0,     0,     0,
+       0,  1791,     0,     0,     0,  1792,     0,     0,     0,     0,
+       0,     0,     0,   237,     0,     0,     0,   238,   239,     0,
        0,     0,   240,   241,   242,     0,   243,   244,   245,     0,
        0,     0,   107,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   246,   381,
-       0,     0,     0,     0,     0,   248,   187,   150,     0,  1465,
+       0,     0,     0,     0,     0,     0,     0,     0,   246,   433,
+       0,     0,     0,     0,     0,   248,   187,   150,   344,     0,
      326,     0,     0,   188,   189,   190,     0,   251,   191,   192,
      193,   194,   195,   196,   197,   198,   199,   200,   201,   202,
      203,   204,   205,   206,   207,   380,   209,   210,   211,   212,
-     213,   214,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   220,   221,
-     222,   223,     0,     0,     0,     0,   224,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   225,   226,
-     227,     0,     0,   187,   150,     0,   228,    21,     0,   229,
-     188,   189,   190,     0,     0,   191,   192,   193,   194,   195,
+     213,   214,     0,     0,     0,     0,     0,     0,     0,   345,
+     346,   347,   348,   349,   350,   351,   352,   353,   220,   221,
+     222,   223,   354,   355,   356,   357,   224,     0,     0,     0,
+     358,   359,   360,     0,     0,   361,     0,   362,   225,   226,
+     227,     0,     0,     0,     0,     0,   228,    21,   363,   229,
+       0,   364,   187,   150,     0,     0,     0,     0,     0,   188,
+     189,   190,     0,     0,   191,   192,   193,   194,   195,   196,
+     197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
+     207,   380,   209,   210,   211,   212,   213,   214,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,   220,   221,   222,   223,     0,     0,
+       0,     0,   224,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,   225,   226,   227,     0,     0,     0,
+       0,     0,   228,    21,     0,   229,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,   237,   365,   366,   367,   238,     0,
+       0,     0,     0,   240,   241,   242,   368,   243,   244,   245,
+     369,     0,   370,   107,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,   246,
+     381,     0,     0,     0,     0,     0,   248,     0,     0,     0,
+       0,   326,     0,     0,     0,     0,     0,     0,   251,   532,
+     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
+     543,   544,   674,   546,   547,   548,   549,     0,     0,     0,
+       0,   550,     0,     0,     0,     0,     0,  1952,     0,     0,
+     237,  1953,     0,     0,   238,     0,     0,     0,     0,   240,
+     241,   242,     0,   243,   244,   245,     0,     0,     0,   107,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,   246,   381,     0,     0,     0,
+       0,     0,   248,     0,     0,     0,     0,   326,   187,   150,
+       0,   577,     0,     0,   251,   188,   189,   190,     0,     0,
+     191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
+     201,   202,   203,   204,   205,   206,   207,   380,   209,   210,
+     211,   212,   213,   214,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+     220,   221,   222,   223,     0,     0,     0,     0,   224,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+     225,   226,   227,     0,     0,     0,     0,     0,   228,    21,
+       0,   229,   187,   150,     0,  1254,     0,     0,     0,   188,
+     189,   190,     0,     0,   191,   192,   193,   194,   195,   196,
+     197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
+     207,   380,   209,   210,   211,   212,   213,   214,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,   220,   221,   222,   223,     0,     0,
+       0,     0,   224,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,   225,   226,   227,     0,     0,     0,
+       0,     0,   228,    21,     0,   229,   532,   533,   534,   535,
+     536,   537,   538,   539,   540,   541,   542,   543,   544,   674,
+     546,   547,   548,   549,     0,     0,   237,     0,   550,     0,
+     238,     0,     0,     0,     0,   240,   241,   242,   728,   243,
+     244,   245,     0,     0,     0,   107,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,   595,   596,     0,     0,     0,     0,     0,   248,     0,
+       0,     0,     0,   597,     0,     0,     0,   290,     0,     0,
+     251,   532,   533,   534,   535,   536,   537,   538,   539,   540,
+     541,   542,   543,   544,   674,   546,   547,   548,   549,     0,
+       0,     0,     0,   550,     0,     0,     0,     0,     0,     0,
+     237,     0,     0,   900,   238,     0,     0,     0,     0,   240,
+     241,   242,     0,   243,   244,   245,     0,     0,     0,   107,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,   246,   381,     0,     0,     0,
+       0,     0,   248,   187,   150,     0,  1415,   326,     0,     0,
+     188,   189,   190,     0,   251,   191,   192,   193,   194,   195,
      196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
      206,   207,   380,   209,   210,   211,   212,   213,   214,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,   220,   221,   222,   223,     0,
        0,     0,     0,   224,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,   225,   226,   227,     0,     0,
-       0,     0,     0,   228,    21,     0,   229,   531,   532,   533,
-     534,   535,   536,   537,   538,   539,   540,   541,   542,   543,
-     673,   545,   546,   547,   548,     0,     0,     0,     0,   549,
-       0,     0,     0,     0,   237,     0,     0,     0,   238,   898,
-       0,     0,     0,   240,   241,   242,     0,   243,   244,   245,
-       0,     0,     0,   107,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,   246,
-     381,     0,     0,     0,     0,     0,   248,     0,     0,     0,
-       0,   326,     0,     0,     0,     0,     0,     0,   251,     0,
-      -4,     1,     0,     0,    -4,     0,     0,     0,     0,     0,
-       0,     0,     0,    -4,    -4,     0,     0,     0,     0,     0,
-       0,   237,     0,     0,     0,   238,     0,     0,     0,     0,
-     240,   241,   242,     0,   243,   244,   245,     0,     0,     0,
-     107,     0,     0,     0,    -4,    -4,     0,     0,     0,     0,
+       0,     0,     0,   228,    21,     0,   229,   187,   150,     0,
+    1473,     0,     0,     0,   188,   189,   190,     0,     0,   191,
+     192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
+     202,   203,   204,   205,   206,   207,   380,   209,   210,   211,
+     212,   213,   214,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,   220,
+     221,   222,   223,     0,     0,     0,     0,   224,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,   225,
+     226,   227,     0,     0,     0,     0,     0,   228,    21,     0,
+     229,   532,   533,   534,   535,   536,   537,   538,   539,   540,
+     541,   542,   543,   544,   674,   546,   547,   548,   549,     0,
+       0,   237,     0,   550,     0,   238,     0,     0,     0,     0,
+     240,   241,   242,   901,   243,   244,   245,     0,     0,     0,
+     107,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,   246,   381,     0,     0,
-       0,     0,     0,   248,    -4,    -4,    -4,     0,   326,     0,
-      -4,    -4,     0,    -4,     0,   251,     0,     0,    -4,    -4,
-       0,    -4,    -4,     0,    -4,     0,     0,     0,     0,    -4,
-      -4,    -4,    -4,    -4,    -4,    -4,    -4,    -4,    -4,    -4,
-      -4,    -4,    -4,    -4,     0,     0,    -4,    -4,    -4,    -4,
-      -4,     0,    -4,     0,    -4,    -4,    -4,    -4,    -4,    -4,
-      -4,     0,    -4,    -4,    -4,    -4,    -4,    -4,     0,    -4,
-      -4,    -4,    -4,    -4,    -4,    -4,    -4,    -4,     0,    -4,
-      -4,    -4,    -4,    -4,    -4,    -4,    -4,    -4,    -4,    -4,
-      -4,    -4,    -4,     0,     6,     0,    -4,    -4,    -4,     0,
-       0,     0,    -4,     7,     8,     0,     0,    -4,    -4,    -4,
-      -4,     0,     0,    -4,     0,    -4,     0,    -4,    -4,    -4,
-      -4,    -4,    -4,    -4,    -4,    -4,    -4,    -4,    -4,    -4,
-      -4,     0,     0,     0,     9,    10,     0,    -4,    -4,    -4,
-       0,     0,     0,     0,     0,     0,     0,     0,    -4,     0,
-      -4,     0,     0,     0,    11,    12,    13,     0,     0,     0,
-      14,    15,     0,    16,     0,     0,     0,     0,    17,    18,
-       0,    19,    20,     0,    21,     0,     0,     0,     0,    22,
-      23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
-      33,    34,    35,    36,     0,     0,    37,    38,    39,    40,
-      41,     0,    42,     0,    43,    44,    45,    46,    47,    48,
-      49,     0,    50,    51,    52,    53,    54,    55,     0,    56,
-      57,    58,    59,    60,    61,    62,    63,    64,     0,    65,
-      66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
-      76,    77,    78,     0,     0,     0,    79,    80,    81,     0,
-       0,     0,    82,     0,     0,     0,     0,    83,    84,    85,
-      86,   150,   344,    87,     0,    88,     0,    89,    90,    91,
-      92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
-     102,     0,     0,     0,     0,     0,     0,   103,   104,   105,
-       0,   374,   344,     0,     0,     0,     0,     0,   106,     0,
-     107,     0,     0,   345,   346,   347,   348,   349,   350,   351,
-     352,   353,     0,     0,     0,     0,   354,   355,   356,   357,
-       0,     0,   344,     0,   358,   359,   360,     0,     0,   361,
-       0,   362,     0,   345,   346,   347,   348,   349,   350,   351,
-     352,   353,   363,     0,     0,   364,   354,   355,   356,   357,
-       0,     0,     0,     0,   358,   359,   360,     0,     0,   361,
-       0,   362,     0,   345,   346,   347,   348,   349,   350,   351,
-     352,   353,   363,     0,     0,   364,   354,   355,   356,   357,
-       0,     0,     0,     0,   358,   359,   360,     0,     0,   361,
-       0,   362,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,   363,     0,     0,   364,   531,   532,   533,   534,
-     535,   536,   537,   538,   539,   540,   541,   542,   543,   673,
-     545,   546,   547,   548,     0,     0,     0,     0,   549,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   899,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,   365,
-     366,   367,     0,     0,     0,     0,     0,     0,     0,     0,
-     368,     0,     0,     0,   369,     0,   370,   107,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,   365,
-     366,   367,     0,     0,     0,     0,     0,     0,     0,     0,
-     368,     0,     0,     0,   369,     0,   370,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,   365,
-     366,   367,     0,     0,     0,     0,     0,     0,     0,     0,
-     368,     0,     0,     0,   369,     0,   370,   531,   532,   533,
+       0,     0,     0,   248,     0,     0,     0,     0,   326,     0,
+       0,     0,     0,     0,     0,   251,   532,   533,   534,   535,
+     536,   537,   538,   539,   540,   541,   542,   543,   544,   674,
+     546,   547,   548,   549,     0,     0,     0,     0,   550,     0,
+       0,     0,     0,     0,     0,   237,     0,     0,   944,   238,
+       0,     0,     0,     0,   240,   241,   242,     0,   243,   244,
+     245,     0,     0,     0,   107,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+     246,   381,     0,     0,     0,     0,     0,   248,   187,   150,
+       0,     0,   326,     0,     0,   188,   189,   190,     0,   251,
+     191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
+     201,   202,   203,   204,   205,   206,   207,   380,   209,   210,
+     211,   212,   213,   214,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+     220,   221,   222,   223,     0,     0,     0,     0,   224,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+     225,   226,   227,     0,     0,     0,     0,     0,   228,    21,
+       0,   229,   532,   533,   534,   535,   536,   537,   538,   539,
+     540,   541,   542,   543,   544,   674,   546,   547,   548,   549,
+       0,     0,     0,     0,   550,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,  1085,   532,   533,   534,   535,   536,
+     537,   538,   539,   540,   541,   542,   543,   544,   674,   546,
+     547,   548,   549,     0,     0,     0,     0,   550,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,  1095,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,    -4,     1,     0,     0,    -4,
+       0,     0,     0,     0,     0,     0,     0,     0,    -4,    -4,
+       0,     0,     0,     0,     0,     0,   237,     0,     0,     0,
+     238,     0,     0,     0,     0,   240,   241,   242,     0,   243,
+     244,   245,     0,     0,     0,   107,     0,     0,     0,    -4,
+      -4,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,   246,   381,     0,     0,     0,     0,     0,   248,    -4,
+      -4,    -4,     0,   326,     0,    -4,    -4,     0,    -4,     0,
+     251,     0,     0,    -4,    -4,     0,    -4,    -4,     0,    -4,
+       0,     0,     0,     0,    -4,    -4,    -4,    -4,    -4,    -4,
+      -4,    -4,    -4,    -4,    -4,    -4,    -4,    -4,    -4,     0,
+       0,    -4,    -4,    -4,    -4,    -4,     0,    -4,     0,    -4,
+      -4,    -4,    -4,    -4,    -4,    -4,     0,    -4,    -4,    -4,
+      -4,    -4,    -4,     0,    -4,    -4,    -4,    -4,    -4,    -4,
+      -4,    -4,    -4,     0,    -4,    -4,    -4,    -4,    -4,    -4,
+      -4,    -4,    -4,    -4,    -4,    -4,    -4,    -4,     0,     6,
+       0,    -4,    -4,    -4,     0,     0,     0,    -4,     7,     8,
+       0,     0,    -4,    -4,    -4,    -4,     0,     0,    -4,     0,
+      -4,     0,    -4,    -4,    -4,    -4,    -4,    -4,    -4,    -4,
+      -4,    -4,    -4,    -4,    -4,    -4,     0,     0,     0,     9,
+      10,     0,    -4,    -4,    -4,     0,     0,     0,     0,     0,
+       0,     0,     0,    -4,     0,    -4,     0,     0,     0,    11,
+      12,    13,     0,     0,     0,    14,    15,     0,    16,     0,
+       0,     0,     0,    17,    18,     0,    19,    20,     0,    21,
+       0,     0,     0,     0,    22,    23,    24,    25,    26,    27,
+      28,    29,    30,    31,    32,    33,    34,    35,    36,     0,
+       0,    37,    38,    39,    40,    41,     0,    42,     0,    43,
+      44,    45,    46,    47,    48,    49,     0,    50,    51,    52,
+      53,    54,    55,     0,    56,    57,    58,    59,    60,    61,
+      62,    63,    64,     0,    65,    66,    67,    68,    69,    70,
+      71,    72,    73,    74,    75,    76,    77,    78,     0,     0,
+       0,    79,    80,    81,     0,     0,     0,    82,     0,     0,
+       0,     0,    83,    84,    85,    86,   150,   344,    87,     0,
+      88,     0,    89,    90,    91,    92,    93,    94,    95,    96,
+      97,    98,    99,   100,   101,   102,     0,     0,     0,     0,
+       0,     0,   103,   104,   105,     0,   150,   344,     0,     0,
+       0,     0,     0,   106,     0,   107,     0,     0,   345,   346,
+     347,   348,   349,   350,   351,   352,   353,     0,     0,     0,
+       0,   354,   355,   356,   357,     0,   374,   344,     0,   358,
+     359,   360,     0,     0,   361,     0,   362,     0,   345,   346,
+     347,   348,   349,   350,   351,   352,   353,   363,     0,     0,
+     364,   354,   355,   356,   357,     0,     0,   344,     0,   358,
+     359,   360,     0,     0,   361,     0,   362,     0,   345,   346,
+     347,   348,   349,   350,   351,   352,   353,   363,     0,     0,
+     364,   354,   355,   356,   357,     0,     0,   393,     0,   358,
+     359,   360,     0,     0,   361,     0,   362,     0,   345,   346,
+     347,   348,   349,   350,   351,   352,   353,   363,     0,     0,
+     364,   354,   355,   356,   357,     0,     0,     0,     0,   358,
+     359,   360,     0,     0,   361,     0,   362,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,   363,     0,     0,
+     364,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,   365,   366,   367,     0,     0,     0,
+       0,     0,     0,     0,     0,   368,     0,     0,     0,   369,
+       0,   370,   107,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,   365,   366,   367,     0,     0,     0,
+       0,     0,     0,     0,     0,   368,     0,     0,     0,   369,
+       0,   370,   107,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,   365,   366,   367,     0,     0,     0,
+       0,     0,     0,     0,     0,   368,     0,     0,     0,   369,
+       0,   370,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,   365,   366,   367,     0,     0,     0,
+       0,     0,     0,     0,     0,   368,     0,     0,     0,   369,
+       0,   370,   532,   533,   534,   535,   536,   537,   538,   539,
+     540,   541,   542,   543,   544,   674,   546,   547,   548,   549,
+       0,     0,     0,     0,   550,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,  1096,   532,   533,   534,   535,   536,
+     537,   538,   539,   540,   541,   542,   543,   544,   674,   546,
+     547,   548,   549,     0,     0,     0,     0,   550,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,  1097,   532,   533,
      534,   535,   536,   537,   538,   539,   540,   541,   542,   543,
-     673,   545,   546,   547,   548,     0,     0,     0,     0,   549,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,   942,
-     531,   532,   533,   534,   535,   536,   537,   538,   539,   540,
-     541,   542,   543,   673,   545,   546,   547,   548,     0,     0,
-       0,     0,   549,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,  1083,   531,   532,   533,   534,   535,   536,   537,
-     538,   539,   540,   541,   542,   543,   673,   545,   546,   547,
-     548,     0,     0,     0,     0,   549,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,  1093,   531,   532,   533,   534,
-     535,   536,   537,   538,   539,   540,   541,   542,   543,   673,
-     545,   546,   547,   548,     0,     0,     0,     0,   549,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,  1094,   531,
+     544,   674,   546,   547,   548,   549,     0,     0,     0,     0,
+     550,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+    1102,   532,   533,   534,   535,   536,   537,   538,   539,   540,
+     541,   542,   543,   544,   674,   546,   547,   548,   549,     0,
+       0,     0,     0,   550,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,  1103,   532,   533,   534,   535,   536,   537,
+     538,   539,   540,   541,   542,   543,   544,   674,   546,   547,
+     548,   549,     0,     0,     0,     0,   550,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,  1105,   532,   533,   534,
+     535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
+     674,   546,   547,   548,   549,     0,     0,     0,     0,   550,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,  1211,
      532,   533,   534,   535,   536,   537,   538,   539,   540,   541,
-     542,   543,   673,   545,   546,   547,   548,     0,     0,     0,
-       0,   549,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,  1095,   531,   532,   533,   534,   535,   536,   537,   538,
-     539,   540,   541,   542,   543,   673,   545,   546,   547,   548,
-       0,     0,     0,     0,   549,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,  1100,   531,   532,   533,   534,   535,
-     536,   537,   538,   539,   540,   541,   542,   543,   673,   545,
-     546,   547,   548,     0,     0,     0,     0,   549,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,  1101,   531,   532,
+     542,   543,   544,   674,   546,   547,   548,   549,     0,     0,
+       0,     0,   550,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,  1232,   532,   533,   534,   535,   536,   537,   538,
+     539,   540,   541,   542,   543,   544,   674,   546,   547,   548,
+     549,     0,     0,     0,     0,   550,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,  1315,   532,   533,   534,   535,
+     536,   537,   538,   539,   540,   541,   542,   543,   544,   674,
+     546,   547,   548,   549,     0,     0,     0,     0,   550,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,  1409,   532,
      533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
-     543,   673,   545,   546,   547,   548,     0,     0,     0,     0,
-     549,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-    1103,   531,   532,   533,   534,   535,   536,   537,   538,   539,
-     540,   541,   542,   543,   673,   545,   546,   547,   548,     0,
-       0,     0,     0,   549,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,  1207,   531,   532,   533,   534,   535,   536,
-     537,   538,   539,   540,   541,   542,   543,   673,   545,   546,
-     547,   548,     0,     0,     0,     0,   549,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,  1228,   531,   532,   533,
+     543,   544,   674,   546,   547,   548,   549,     0,     0,     0,
+       0,   550,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,  1410,   532,   533,   534,   535,   536,   537,   538,   539,
+     540,   541,   542,   543,   544,   674,   546,   547,   548,   549,
+       0,     0,     0,     0,   550,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,  1452,   532,   533,   534,   535,   536,
+     537,   538,   539,   540,   541,   542,   543,   544,   674,   546,
+     547,   548,   549,     0,     0,     0,     0,   550,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,  1572,   532,   533,
      534,   535,   536,   537,   538,   539,   540,   541,   542,   543,
-     673,   545,   546,   547,   548,     0,     0,     0,     0,   549,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,  1309,
-     531,   532,   533,   534,   535,   536,   537,   538,   539,   540,
-     541,   542,   543,   673,   545,   546,   547,   548,     0,     0,
-       0,     0,   549,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,  1401,   531,   532,   533,   534,   535,   536,   537,
-     538,   539,   540,   541,   542,   543,   673,   545,   546,   547,
-     548,     0,     0,     0,     0,   549,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,  1402,   531,   532,   533,   534,
-     535,   536,   537,   538,   539,   540,   541,   542,   543,   673,
-     545,   546,   547,   548,     0,     0,     0,     0,   549,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,  1444,   531,
+     544,   674,   546,   547,   548,   549,     0,     0,     0,     0,
+     550,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+    1573,   532,   533,   534,   535,   536,   537,   538,   539,   540,
+     541,   542,   543,   544,   674,   546,   547,   548,   549,     0,
+       0,     0,     0,   550,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,  1574,   532,   533,   534,   535,   536,   537,
+     538,   539,   540,   541,   542,   543,   544,   674,   546,   547,
+     548,   549,     0,     0,     0,     0,   550,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,  1580,   532,   533,   534,
+     535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
+     674,   546,   547,   548,   549,     0,     0,     0,     0,   550,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,  1581,
      532,   533,   534,   535,   536,   537,   538,   539,   540,   541,
-     542,   543,   673,   545,   546,   547,   548,     0,     0,     0,
-       0,   549,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,  1562,   531,   532,   533,   534,   535,   536,   537,   538,
-     539,   540,   541,   542,   543,   673,   545,   546,   547,   548,
-       0,     0,     0,     0,   549,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,  1563,   531,   532,   533,   534,   535,
-     536,   537,   538,   539,   540,   541,   542,   543,   673,   545,
-     546,   547,   548,     0,     0,     0,     0,   549,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,  1564,   531,   532,
+     542,   543,   544,   674,   546,   547,   548,   549,     0,     0,
+       0,     0,   550,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,  1582,   532,   533,   534,   535,   536,   537,   538,
+     539,   540,   541,   542,   543,   544,   674,   546,   547,   548,
+     549,     0,     0,     0,     0,   550,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,  1583,   532,   533,   534,   535,
+     536,   537,   538,   539,   540,   541,   542,   543,   544,   674,
+     546,   547,   548,   549,     0,     0,     0,     0,   550,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,  1712,   532,
      533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
-     543,   673,   545,   546,   547,   548,     0,     0,     0,     0,
-     549,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-    1570,   531,   532,   533,   534,   535,   536,   537,   538,   539,
-     540,   541,   542,   543,   673,   545,   546,   547,   548,     0,
-       0,     0,     0,   549,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,  1571,   531,   532,   533,   534,   535,   536,
-     537,   538,   539,   540,   541,   542,   543,   673,   545,   546,
-     547,   548,     0,     0,     0,     0,   549,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,  1572,   531,   532,   533,
+     543,   544,   674,   546,   547,   548,   549,     0,     0,     0,
+       0,   550,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,  1827,   532,   533,   534,   535,   536,   537,   538,   539,
+     540,   541,   542,   543,   544,   674,   546,   547,   548,   549,
+       0,     0,     0,     0,   550,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,  1828,   532,   533,   534,   535,   536,
+     537,   538,   539,   540,   541,   542,   543,   544,   674,   546,
+     547,   548,   549,     0,     0,     0,     0,   550,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,  1854,   532,   533,
      534,   535,   536,   537,   538,   539,   540,   541,   542,   543,
-     673,   545,   546,   547,   548,     0,     0,     0,     0,   549,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,  1573,
-     531,   532,   533,   534,   535,   536,   537,   538,   539,   540,
-     541,   542,   543,   673,   545,   546,   547,   548,     0,     0,
-       0,     0,   549,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,  1695,   531,   532,   533,   534,   535,   536,   537,
-     538,   539,   540,   541,   542,   543,   673,   545,   546,   547,
-     548,     0,     0,     0,     0,   549,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,  1809,   531,   532,   533,   534,
-     535,   536,   537,   538,   539,   540,   541,   542,   543,   673,
-     545,   546,   547,   548,     0,     0,     0,     0,   549,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,  1810,   531,
+     544,   674,   546,   547,   548,   549,     0,     0,     0,     0,
+     550,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+    1855,   532,   533,   534,   535,   536,   537,   538,   539,   540,
+     541,   542,   543,   544,   674,   546,   547,   548,   549,     0,
+       0,     0,     0,   550,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,  1856,   532,   533,   534,   535,   536,   537,
+     538,   539,   540,   541,   542,   543,   544,   674,   546,   547,
+     548,   549,     0,     0,     0,     0,   550,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,  1857,   532,   533,   534,
+     535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
+     674,   546,   547,   548,   549,     0,     0,     0,     0,   550,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,  1858,
      532,   533,   534,   535,   536,   537,   538,   539,   540,   541,
-     542,   543,   673,   545,   546,   547,   548,     0,     0,     0,
-       0,   549,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,  1834,   531,   532,   533,   534,   535,   536,   537,   538,
-     539,   540,   541,   542,   543,   673,   545,   546,   547,   548,
-       0,     0,     0,     0,   549,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,  1835,   531,   532,   533,   534,   535,
-     536,   537,   538,   539,   540,   541,   542,   543,   673,   545,
-     546,   547,   548,     0,     0,     0,     0,   549,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,  1836,   531,   532,
+     542,   543,   544,   674,   546,   547,   548,   549,     0,     0,
+       0,     0,   550,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,  1921,   532,   533,   534,   535,   536,   537,   538,
+     539,   540,   541,   542,   543,   544,   674,   546,   547,   548,
+     549,     0,     0,     0,     0,   550,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,  1978,   532,   533,   534,   535,
+     536,   537,   538,   539,   540,   541,   542,   543,   544,   674,
+     546,   547,   548,   549,     0,     0,     0,     0,   550,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,  1979,   532,
      533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
-     543,   673,   545,   546,   547,   548,     0,     0,     0,     0,
-     549,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-    1837,   531,   532,   533,   534,   535,   536,   537,   538,   539,
-     540,   541,   542,   543,   673,   545,   546,   547,   548,     0,
-       0,     0,     0,   549,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,  1838,   531,   532,   533,   534,   535,   536,
-     537,   538,   539,   540,   541,   542,   543,   673,   545,   546,
-     547,   548,     0,     0,     0,     0,   549,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,  1898,   531,   532,   533,
+     543,   544,   674,   546,   547,   548,   549,     0,     0,     0,
+       0,   550,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,  1991,   532,   533,   534,   535,   536,   537,   538,   539,
+     540,   541,   542,   543,   544,   674,   546,   547,   548,   549,
+       0,     0,     0,     0,   550,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,  1992,   532,   533,   534,   535,   536,
+     537,   538,   539,   540,   541,   542,   543,   544,   674,   546,
+     547,   548,   549,     0,     0,     0,     0,   550,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,  1993,   532,   533,
      534,   535,   536,   537,   538,   539,   540,   541,   542,   543,
-     673,   545,   546,   547,   548,     0,     0,     0,     0,   549,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,  1955,
-     531,   532,   533,   534,   535,   536,   537,   538,   539,   540,
-     541,   542,   543,   673,   545,   546,   547,   548,     0,     0,
-       0,     0,   549,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,  1956,   531,   532,   533,   534,   535,   536,   537,
-     538,   539,   540,   541,   542,   543,   673,   545,   546,   547,
-     548,     0,     0,     0,     0,   549,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,  1968,   531,   532,   533,   534,
-     535,   536,   537,   538,   539,   540,   541,   542,   543,   673,
-     545,   546,   547,   548,     0,     0,     0,     0,   549,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,  1969,   531,
+     544,   674,   546,   547,   548,   549,     0,     0,     0,     0,
+     550,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+    1994,   532,   533,   534,   535,   536,   537,   538,   539,   540,
+     541,   542,   543,   544,   674,   546,   547,   548,   549,     0,
+       0,     0,     0,   550,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,  1995,   532,   533,   534,   535,   536,   537,
+     538,   539,   540,   541,   542,   543,   544,   674,   546,   547,
+     548,   549,     0,     0,     0,     0,   550,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,  2027,   532,   533,   534,
+     535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
+     674,   546,   547,   548,   549,     0,     0,     0,     0,   550,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,  2057,
      532,   533,   534,   535,   536,   537,   538,   539,   540,   541,
-     542,   543,   673,   545,   546,   547,   548,     0,     0,     0,
-       0,   549,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,  1970,   531,   532,   533,   534,   535,   536,   537,   538,
-     539,   540,   541,   542,   543,   673,   545,   546,   547,   548,
-       0,     0,     0,     0,   549,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,  1971,   531,   532,   533,   534,   535,
-     536,   537,   538,   539,   540,   541,   542,   543,   673,   545,
-     546,   547,   548,     0,     0,     0,     0,   549,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,  1972,   531,   532,
+     542,   543,   544,   674,   546,   547,   548,   549,     0,     0,
+       0,     0,   550,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,  2062,   532,   533,   534,   535,   536,   537,   538,
+     539,   540,   541,   542,   543,   544,   674,   546,   547,   548,
+     549,     0,     0,     0,     0,   550,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,  2063,   532,   533,   534,   535,
+     536,   537,   538,   539,   540,   541,   542,   543,   544,   674,
+     546,   547,   548,   549,     0,     0,     0,     0,   550,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,  2064,   532,
      533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
-     543,   673,   545,   546,   547,   548,     0,     0,     0,     0,
-     549,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-    2004,   531,   532,   533,   534,   535,   536,   537,   538,   539,
-     540,   541,   542,   543,   673,   545,   546,   547,   548,     0,
-       0,     0,     0,   549,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,  2034,   531,   532,   533,   534,   535,   536,
-     537,   538,   539,   540,   541,   542,   543,   673,   545,   546,
-     547,   548,     0,     0,     0,     0,   549,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,  2039,   531,   532,   533,
+     543,   544,   674,   546,   547,   548,   549,     0,     0,     0,
+       0,   550,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,  2065,   532,   533,   534,   535,   536,   537,   538,   539,
+     540,   541,   542,   543,   544,   674,   546,   547,   548,   549,
+       0,     0,     0,     0,   550,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,  2066,   532,   533,   534,   535,   536,
+     537,   538,   539,   540,   541,   542,   543,   544,   674,   546,
+     547,   548,   549,     0,     0,     0,     0,   550,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,  2067,   532,   533,
      534,   535,   536,   537,   538,   539,   540,   541,   542,   543,
-     673,   545,   546,   547,   548,     0,     0,     0,     0,   549,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,  2040,
-     531,   532,   533,   534,   535,   536,   537,   538,   539,   540,
-     541,   542,   543,   673,   545,   546,   547,   548,     0,     0,
-       0,     0,   549,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,  2041,   531,   532,   533,   534,   535,   536,   537,
-     538,   539,   540,   541,   542,   543,   673,   545,   546,   547,
-     548,     0,     0,     0,     0,   549,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,  2042,   531,   532,   533,   534,
-     535,   536,   537,   538,   539,   540,   541,   542,   543,   673,
-     545,   546,   547,   548,     0,     0,     0,     0,   549,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,  2043,   531,
+     544,   674,   546,   547,   548,   549,     0,     0,     0,     0,
+     550,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+    2109,   532,   533,   534,   535,   536,   537,   538,   539,   540,
+     541,   542,   543,   544,   674,   546,   547,   548,   549,     0,
+       0,     0,     0,   550,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,  2110,   532,   533,   534,   535,   536,   537,
+     538,   539,   540,   541,   542,   543,   544,   674,   546,   547,
+     548,   549,     0,     0,     0,     0,   550,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,  2111,   532,   533,   534,
+     535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
+     674,   546,   547,   548,   549,     0,     0,     0,     0,   550,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,  2112,
      532,   533,   534,   535,   536,   537,   538,   539,   540,   541,
-     542,   543,   673,   545,   546,   547,   548,     0,     0,     0,
-       0,   549,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,  2044,   531,   532,   533,   534,   535,   536,   537,   538,
-     539,   540,   541,   542,   543,   673,   545,   546,   547,   548,
-       0,     0,     0,     0,   549,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,  2086,   531,   532,   533,   534,   535,
-     536,   537,   538,   539,   540,   541,   542,   543,   673,   545,
-     546,   547,   548,     0,     0,     0,     0,   549,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,  2087,   531,   532,
+     542,   543,   544,   674,   546,   547,   548,   549,     0,     0,
+       0,     0,   550,     0,     0,     0,     0,     0,  1114,   532,
      533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
-     543,   673,   545,   546,   547,   548,     0,     0,     0,     0,
-     549,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-    2088,   531,   532,   533,   534,   535,   536,   537,   538,   539,
-     540,   541,   542,   543,   673,   545,   546,   547,   548,     0,
-       0,     0,     0,   549,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,  2089,   531,   532,   533,   534,   535,   536,
-     537,   538,   539,   540,   541,   542,   543,   673,   545,   546,
-     547,   548,     0,     0,     0,     0,   549,     0,     0,     0,
-       0,     0,  1020,   531,   532,   533,   534,   535,   536,   537,
-     538,   539,   540,   541,   542,   543,   673,   545,   546,   547,
-     548,     0,     0,     0,     0,   549,     0,     0,     0,     0,
-       0,  1112,   531,   532,   533,   534,   535,   536,   537,   538,
-     539,   540,   541,   542,   543,   673,   545,   546,   547,   548,
-       0,     0,     0,     0,   549,     0,     0,     0,     0,     0,
-    1187,   531,   532,   533,   534,   535,   536,   537,   538,   539,
-     540,   541,   542,   543,   673,   545,   546,   547,   548,     0,
-       0,     0,     0,   549,     0,     0,     0,     0,     0,  1256,
-     531,   532,   533,   534,   535,   536,   537,   538,   539,   540,
-     541,   542,   543,   673,   545,   546,   547,   548,     0,     0,
-       0,     0,   549,     0,     0,     0,     0,     0,  1403,   531,
+     543,   544,   674,   546,   547,   548,   549,     0,     0,     0,
+       0,   550,     0,     0,     0,     0,     0,  1191,   532,   533,
+     534,   535,   536,   537,   538,   539,   540,   541,   542,   543,
+     544,   674,   546,   547,   548,   549,     0,     0,     0,     0,
+     550,     0,     0,     0,     0,     0,  1260,   532,   533,   534,
+     535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
+     674,   546,   547,   548,   549,     0,     0,     0,     0,   550,
+       0,     0,     0,     0,     0,  1411,   532,   533,   534,   535,
+     536,   537,   538,   539,   540,   541,   542,   543,   544,   674,
+     546,   547,   548,   549,     0,     0,     0,     0,   550,     0,
+       0,     0,     0,     0,  1479,   532,   533,   534,   535,   536,
+     537,   538,   539,   540,   541,   542,   543,   544,   674,   546,
+     547,   548,   549,     0,     0,     0,     0,   550,     0,     0,
+       0,     0,     0,  1480,   532,   533,   534,   535,   536,   537,
+     538,   539,   540,   541,   542,   543,   544,   674,   546,   547,
+     548,   549,     0,     0,     0,     0,   550,     0,     0,     0,
+       0,     0,  1481,   532,   533,   534,   535,   536,   537,   538,
+     539,   540,   541,   542,   543,   544,   674,   546,   547,   548,
+     549,     0,     0,     0,     0,   550,     0,     0,     0,     0,
+       0,  1482,   532,   533,   534,   535,   536,   537,   538,   539,
+     540,   541,   542,   543,   544,   674,   546,   547,   548,   549,
+       0,     0,     0,     0,   550,     0,     0,     0,     0,     0,
+    1762,   532,   533,   534,   535,   536,   537,   538,   539,   540,
+     541,   542,   543,   544,   674,   546,   547,   548,   549,     0,
+       0,     0,     0,   550,     0,     0,     0,     0,     0,  1773,
      532,   533,   534,   535,   536,   537,   538,   539,   540,   541,
-     542,   543,   673,   545,   546,   547,   548,     0,     0,     0,
-       0,   549,     0,     0,     0,     0,     0,  1471,   531,   532,
+     542,   543,   544,   674,   546,   547,   548,   549,     0,     0,
+       0,     0,   550,     0,     0,     0,     0,     0,  1809,   532,
      533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
-     543,   673,   545,   546,   547,   548,     0,     0,     0,     0,
-     549,     0,     0,     0,     0,     0,  1472,   531,   532,   533,
+     543,   544,   674,   546,   547,   548,   549,     0,     0,     0,
+       0,   550,     0,     0,     0,     0,     0,  1844,   532,   533,
      534,   535,   536,   537,   538,   539,   540,   541,   542,   543,
-     673,   545,   546,   547,   548,     0,     0,     0,     0,   549,
-       0,     0,     0,     0,     0,  1473,   531,   532,   533,   534,
-     535,   536,   537,   538,   539,   540,   541,   542,   543,   673,
-     545,   546,   547,   548,     0,     0,     0,     0,   549,     0,
-       0,     0,     0,     0,  1474,   531,   532,   533,   534,   535,
-     536,   537,   538,   539,   540,   541,   542,   543,   673,   545,
-     546,   547,   548,     0,     0,     0,     0,   549,     0,     0,
-       0,     0,     0,  1744,   531,   532,   533,   534,   535,   536,
-     537,   538,   539,   540,   541,   542,   543,   673,   545,   546,
-     547,   548,     0,     0,     0,     0,   549,     0,     0,     0,
-       0,     0,  1755,   531,   532,   533,   534,   535,   536,   537,
-     538,   539,   540,   541,   542,   543,   673,   545,   546,   547,
-     548,     0,     0,     0,     0,   549,     0,     0,     0,     0,
-       0,  1791,   531,   532,   533,   534,   535,   536,   537,   538,
-     539,   540,   541,   542,   543,   673,   545,   546,   547,   548,
-       0,     0,     0,     0,   549,     0,     0,     0,     0,     0,
-    1824,   531,   532,   533,   534,   535,   536,   537,   538,   539,
-     540,   541,   542,   543,   673,   545,   546,   547,   548,     0,
-       0,     0,     0,   549,     0,     0,     0,     0,     0,  1825,
-     531,   532,   533,   534,   535,   536,   537,   538,   539,   540,
-     541,   542,   543,   673,   545,   546,   547,   548,     0,     0,
-       0,     0,   549,     0,     0,     0,     0,     0,  1826,   531,
+     544,   674,   546,   547,   548,   549,     0,     0,     0,     0,
+     550,     0,     0,     0,     0,     0,  1845,   532,   533,   534,
+     535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
+     674,   546,   547,   548,   549,     0,     0,     0,     0,   550,
+       0,     0,     0,     0,     0,  1846,   532,   533,   534,   535,
+     536,   537,   538,   539,   540,   541,   542,   543,   544,   674,
+     546,   547,   548,   549,     0,     0,     0,     0,   550,     0,
+       0,     0,     0,     0,  1847,   532,   533,   534,   535,   536,
+     537,   538,   539,   540,   541,   542,   543,   544,   674,   546,
+     547,   548,   549,     0,     0,     0,     0,   550,     0,     0,
+       0,     0,     0,  1849,   532,   533,   534,   535,   536,   537,
+     538,   539,   540,   541,   542,   543,   544,   674,   546,   547,
+     548,   549,     0,     0,     0,     0,   550,     0,     0,     0,
+       0,     0,  1872,   532,   533,   534,   535,   536,   537,   538,
+     539,   540,   541,   542,   543,   544,   674,   546,   547,   548,
+     549,     0,     0,     0,     0,   550,     0,     0,     0,     0,
+       0,  1887,   532,   533,   534,   535,   536,   537,   538,   539,
+     540,   541,   542,   543,   544,   674,   546,   547,   548,   549,
+       0,     0,     0,     0,   550,     0,     0,     0,     0,     0,
+    1941,   532,   533,   534,   535,   536,   537,   538,   539,   540,
+     541,   542,   543,   544,   674,   546,   547,   548,   549,     0,
+       0,     0,     0,   550,     0,     0,     0,     0,     0,  1958,
      532,   533,   534,   535,   536,   537,   538,   539,   540,   541,
-     542,   543,   673,   545,   546,   547,   548,     0,     0,     0,
-       0,   549,     0,     0,     0,     0,     0,  1827,   531,   532,
+     542,   543,   544,   674,   546,   547,   548,   549,     0,     0,
+       0,     0,   550,     0,     0,     0,     0,     0,  1967,   532,
      533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
-     543,   673,   545,   546,   547,   548,     0,     0,     0,     0,
-     549,     0,     0,     0,     0,     0,  1829,   531,   532,   533,
+     543,   544,   674,   546,   547,   548,   549,     0,     0,     0,
+       0,   550,     0,     0,     0,     0,     0,  1968,   532,   533,
      534,   535,   536,   537,   538,   539,   540,   541,   542,   543,
-     673,   545,   546,   547,   548,     0,     0,     0,     0,   549,
-       0,     0,     0,     0,     0,  1851,   531,   532,   533,   534,
-     535,   536,   537,   538,   539,   540,   541,   542,   543,   673,
-     545,   546,   547,   548,     0,     0,     0,     0,   549,     0,
-       0,     0,     0,     0,  1866,   531,   532,   533,   534,   535,
-     536,   537,   538,   539,   540,   541,   542,   543,   673,   545,
-     546,   547,   548,     0,     0,     0,     0,   549,     0,     0,
-       0,     0,     0,  1918,   531,   532,   533,   534,   535,   536,
-     537,   538,   539,   540,   541,   542,   543,   673,   545,   546,
-     547,   548,     0,     0,     0,     0,   549,     0,     0,     0,
-       0,     0,  1935,   531,   532,   533,   534,   535,   536,   537,
-     538,   539,   540,   541,   542,   543,   673,   545,   546,   547,
-     548,     0,     0,     0,     0,   549,     0,     0,     0,     0,
-       0,  1944,   531,   532,   533,   534,   535,   536,   537,   538,
-     539,   540,   541,   542,   543,   673,   545,   546,   547,   548,
-       0,     0,     0,     0,   549,     0,     0,     0,     0,     0,
-    1945,   531,   532,   533,   534,   535,   536,   537,   538,   539,
-     540,   541,   542,   543,   673,   545,   546,   547,   548,     0,
-       0,     0,     0,   549,     0,     0,     0,     0,     0,  1966,
-     531,   532,   533,   534,   535,   536,   537,   538,   539,   540,
-     541,   542,   543,   673,   545,   546,   547,   548,     0,     0,
-       0,     0,   549,     0,     0,     0,     0,     0,  2020,   531,
+     544,   674,   546,   547,   548,   549,     0,     0,     0,     0,
+     550,     0,     0,     0,     0,     0,  1989,   532,   533,   534,
+     535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
+     674,   546,   547,   548,   549,     0,     0,     0,     0,   550,
+       0,     0,     0,     0,     0,  2043,   532,   533,   534,   535,
+     536,   537,   538,   539,   540,   541,   542,   543,   544,   674,
+     546,   547,   548,   549,     0,     0,     0,     0,   550,     0,
+       0,     0,     0,     0,  2085,   532,   533,   534,   535,   536,
+     537,   538,   539,   540,   541,   542,   543,   544,   674,   546,
+     547,   548,   549,     0,     0,     0,     0,   550,     0,     0,
+       0,     0,     0,  2107,   532,   533,   534,   535,   536,   537,
+     538,   539,   540,   541,   542,   543,   544,   674,   546,   547,
+     548,   549,     0,     0,     0,     0,   550,     0,     0,     0,
+       0,     0,  2133,   532,   533,   534,   535,   536,   537,   538,
+     539,   540,   541,   542,   543,   544,   674,   546,   547,   548,
+     549,     0,     0,     0,     0,   550,     0,     0,     0,     0,
+       0,  2134,   532,   533,   534,   535,   536,   537,   538,   539,
+     540,   541,   542,   543,   544,   674,   546,   547,   548,   549,
+       0,     0,     0,     0,   550,     0,     0,     0,     0,     0,
+    2135,   532,   533,   534,   535,   536,   537,   538,   539,   540,
+     541,   542,   543,   544,   674,   546,   547,   548,   549,     0,
+       0,     0,     0,   550,     0,     0,     0,     0,     0,  2136,
      532,   533,   534,   535,   536,   537,   538,   539,   540,   541,
-     542,   543,   673,   545,   546,   547,   548,     0,     0,     0,
-       0,   549,     0,     0,     0,     0,     0,  2062,   531,   532,
+     542,   543,   544,   674,   546,   547,   548,   549,     0,     0,
+       0,     0,   550,     0,     0,     0,     0,     0,  2137,   532,
      533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
-     543,   673,   545,   546,   547,   548,     0,     0,     0,     0,
-     549,     0,     0,     0,     0,     0,  2084,   531,   532,   533,
+     543,   544,   674,   546,   547,   548,   549,     0,     0,     0,
+       0,   550,     0,     0,     0,     0,     0,  2138,   532,   533,
      534,   535,   536,   537,   538,   539,   540,   541,   542,   543,
-     673,   545,   546,   547,   548,     0,     0,     0,     0,   549,
-       0,     0,     0,     0,     0,  2110,   531,   532,   533,   534,
-     535,   536,   537,   538,   539,   540,   541,   542,   543,   673,
-     545,   546,   547,   548,     0,     0,     0,     0,   549,     0,
-       0,     0,     0,     0,  2111,   531,   532,   533,   534,   535,
-     536,   537,   538,   539,   540,   541,   542,   543,   673,   545,
-     546,   547,   548,     0,     0,     0,     0,   549,     0,     0,
-       0,     0,     0,  2112,   531,   532,   533,   534,   535,   536,
-     537,   538,   539,   540,   541,   542,   543,   673,   545,   546,
-     547,   548,     0,     0,     0,     0,   549,     0,     0,     0,
-       0,     0,  2113,   531,   532,   533,   534,   535,   536,   537,
-     538,   539,   540,   541,   542,   543,   673,   545,   546,   547,
-     548,     0,     0,     0,     0,   549,     0,     0,     0,     0,
-       0,  2114,   531,   532,   533,   534,   535,   536,   537,   538,
-     539,   540,   541,   542,   543,   673,   545,   546,   547,   548,
-       0,     0,     0,     0,   549,     0,     0,     0,     0,     0,
-    2115,   531,   532,   533,   534,   535,   536,   537,   538,   539,
-     540,   541,   542,   543,   673,   545,   546,   547,   548,     0,
-       0,     0,     0,   549,     0,     0,     0,     0,   674,   531,
-     532,   533,   534,   535,   536,   537,   538,   539,   540,   541,
-     542,   543,   673,   545,   546,   547,   548,     0,     0,     0,
-       0,   549,     0,     0,     0,     0,   890,   531,   532,   533,
-     534,   535,   536,   537,   538,   539,   540,   541,   542,   543,
-     673,   545,   546,   547,   548,     0,     0,     0,     0,   549,
-       0,     0,     0,     0,  1844,   531,   532,   533,   534,   535,
-     536,   537,   538,   539,   540,   541,   542,   543,   673,   545,
-     546,   547,   548,     0,     0,     0,     0,   549,     0,   696,
-       0,   697,   531,   532,   533,   534,   535,   536,   537,   538,
-     539,   540,   541,   542,   543,   673,   545,   546,   547,   548,
-       0,     0,     0,     0,   549,     0,     0,     0,   948,   531,
+     544,   674,   546,   547,   548,   549,     0,     0,     0,     0,
+     550,     0,     0,     0,     0,   675,   532,   533,   534,   535,
+     536,   537,   538,   539,   540,   541,   542,   543,   544,   674,
+     546,   547,   548,   549,     0,     0,     0,     0,   550,     0,
+       0,     0,     0,   892,   532,   533,   534,   535,   536,   537,
+     538,   539,   540,   541,   542,   543,   544,   674,   546,   547,
+     548,   549,     0,     0,     0,     0,   550,     0,     0,     0,
+       0,  1865,   532,   533,   534,   535,   536,   537,   538,   539,
+     540,   541,   542,   543,   544,   674,   546,   547,   548,   549,
+       0,     0,     0,     0,   550,     0,   697,     0,   698,   532,
+     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
+     543,   544,   674,   546,   547,   548,   549,     0,     0,     0,
+       0,   550,     0,     0,     0,   950,   532,   533,   534,   535,
+     536,   537,   538,   539,   540,   541,   542,   543,   544,   674,
+     546,   547,   548,   549,     0,     0,     0,     0,   550,     0,
+       0,     0,   996,   532,   533,   534,   535,   536,   537,   538,
+     539,   540,   541,   542,   543,   544,   674,   546,   547,   548,
+     549,     0,     0,     0,     0,   550,     0,     0,     0,  1137,
      532,   533,   534,   535,   536,   537,   538,   539,   540,   541,
-     542,   543,   673,   545,   546,   547,   548,     0,     0,     0,
-       0,   549,     0,     0,     0,   994,   531,   532,   533,   534,
-     535,   536,   537,   538,   539,   540,   541,   542,   543,   673,
-     545,   546,   547,   548,     0,     0,     0,     0,   549,     0,
-       0,     0,  1134,   531,   532,   533,   534,   535,   536,   537,
-     538,   539,   540,   541,   542,   543,   673,   545,   546,   547,
-     548,     0,     0,     0,     0,   549,     0,     0,     0,  1200,
-     531,   532,   533,   534,   535,   536,   537,   538,   539,   540,
-     541,   542,   543,   673,   545,   546,   547,   548,     0,     0,
-       0,     0,   549,     0,     0,     0,  1201,   531,   532,   533,
+     542,   543,   544,   674,   546,   547,   548,   549,     0,     0,
+       0,     0,   550,     0,     0,     0,  1204,   532,   533,   534,
+     535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
+     674,   546,   547,   548,   549,     0,     0,     0,     0,   550,
+       0,     0,     0,  1205,   532,   533,   534,   535,   536,   537,
+     538,   539,   540,   541,   542,   543,   544,   674,   546,   547,
+     548,   549,     0,     0,     0,     0,   550,     0,     0,     0,
+    1209,   532,   533,   534,   535,   536,   537,   538,   539,   540,
+     541,   542,   543,   544,   674,   546,   547,   548,   549,     0,
+       0,     0,     0,   550,     0,     0,     0,  1210,   532,   533,
      534,   535,   536,   537,   538,   539,   540,   541,   542,   543,
-     673,   545,   546,   547,   548,     0,     0,     0,     0,   549,
-       0,     0,     0,  1205,   531,   532,   533,   534,   535,   536,
-     537,   538,   539,   540,   541,   542,   543,   673,   545,   546,
-     547,   548,     0,     0,     0,     0,   549,     0,     0,     0,
-    1206,   531,   532,   533,   534,   535,   536,   537,   538,   539,
-     540,   541,   542,   543,   673,   545,   546,   547,   548,     0,
-       0,     0,     0,   549,     0,     0,     0,  1292,   531,   532,
+     544,   674,   546,   547,   548,   549,     0,     0,     0,     0,
+     550,     0,     0,     0,  1296,   532,   533,   534,   535,   536,
+     537,   538,   539,   540,   541,   542,   543,   544,   674,   546,
+     547,   548,   549,     0,     0,     0,     0,   550,     0,     0,
+       0,  1312,   532,   533,   534,   535,   536,   537,   538,   539,
+     540,   541,   542,   543,   544,   674,   546,   547,   548,   549,
+       0,     0,     0,     0,   550,     0,     0,     0,  1511,   532,
      533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
-     543,   673,   545,   546,   547,   548,     0,     0,     0,     0,
-     549,     0,     0,     0,  1307,   531,   532,   533,   534,   535,
-     536,   537,   538,   539,   540,   541,   542,   543,   673,   545,
-     546,   547,   548,     0,     0,     0,     0,   549,     0,     0,
-       0,  1502,   531,   532,   533,   534,   535,   536,   537,   538,
-     539,   540,   541,   542,   543,   673,   545,   546,   547,   548,
-       0,     0,     0,     0,   549,     0,     0,     0,  1630,   531,
+     543,   544,   674,   546,   547,   548,   549,     0,     0,     0,
+       0,   550,     0,     0,     0,  1643,   532,   533,   534,   535,
+     536,   537,   538,   539,   540,   541,   542,   543,   544,   674,
+     546,   547,   548,   549,     0,     0,     0,     0,   550,     0,
+       0,     0,  1820,   532,   533,   534,   535,   536,   537,   538,
+     539,   540,   541,   542,   543,   544,   674,   546,   547,   548,
+     549,     0,     0,     0,     0,   550,     0,     0,     0,  1873,
      532,   533,   534,   535,   536,   537,   538,   539,   540,   541,
-     542,   543,   673,   545,   546,   547,   548,     0,     0,     0,
-       0,   549,     0,     0,     0,  1802,   531,   532,   533,   534,
-     535,   536,   537,   538,   539,   540,   541,   542,   543,   673,
-     545,   546,   547,   548,     0,     0,     0,     0,   549,     0,
-       0,     0,  1852,   531,   532,   533,   534,   535,   536,   537,
-     538,   539,   540,   541,   542,   543,   673,   545,   546,   547,
-     548,     0,     0,     0,     0,   549,     0,   741,   531,   532,
-     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
-     543,   673,   545,   546,   547,   548,     0,     0,     0,     0,
-     549,     0,   745,   531,   532,   533,   534,   535,   536,   537,
-     538,   539,   540,   541,   542,   543,   673,   545,   546,   547,
-     548,     0,     0,     0,     0,   549,     0,   746,   531,   532,
-     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
-     543,   673,   545,   546,   547,   548,     0,     0,     0,     0,
-     549,     0,   748,   531,   532,   533,   534,   535,   536,   537,
-     538,   539,   540,   541,   542,   543,   673,   545,   546,   547,
-     548,     0,     0,     0,     0,   549,     0,   750,   531,   532,
-     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
-     543,   673,   545,   546,   547,   548,     0,     0,     0,     0,
-     549,     0,   751,   531,   532,   533,   534,   535,   536,   537,
-     538,   539,   540,   541,   542,   543,   673,   545,   546,   547,
-     548,     0,     0,     0,     0,   549,     0,   753,   531,   532,
-     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
-     543,   673,   545,   546,   547,   548,     0,     0,     0,     0,
-     549,     0,   755,   531,   532,   533,   534,   535,   536,   537,
-     538,   539,   540,   541,   542,   543,   673,   545,   546,   547,
-     548,     0,     0,     0,     0,   549,     0,   756,   531,   532,
-     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
-     543,   673,   545,   546,   547,   548,     0,     0,     0,     0,
-     549,     0,   757,   531,   532,   533,   534,   535,   536,   537,
-     538,   539,   540,   541,   542,   543,   673,   545,   546,   547,
-     548,     0,     0,     0,     0,   549,     0,   758,   531,   532,
-     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
-     543,   673,   545,   546,   547,   548,     0,     0,     0,     0,
-     549,     0,   759,   531,   532,   533,   534,   535,   536,   537,
-     538,   539,   540,   541,   542,   543,   673,   545,   546,   547,
-     548,     0,     0,     0,     0,   549,     0,   760,   531,   532,
-     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
-     543,   673,   545,   546,   547,   548,     0,     0,     0,     0,
-     549,     0,   762,   531,   532,   533,   534,   535,   536,   537,
-     538,   539,   540,   541,   542,   543,   673,   545,   546,   547,
-     548,     0,     0,     0,     0,   549,     0,   763,   531,   532,
-     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
-     543,   673,   545,   546,   547,   548,     0,     0,     0,     0,
-     549,     0,   764,   531,   532,   533,   534,   535,   536,   537,
-     538,   539,   540,   541,   542,   543,   673,   545,   546,   547,
-     548,     0,     0,     0,     0,   549,     0,   829,   531,   532,
-     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
-     543,   673,   545,   546,   547,   548,     0,     0,     0,     0,
-     549,     0,   861,   531,   532,   533,   534,   535,   536,   537,
-     538,   539,   540,   541,   542,   543,   673,   545,   546,   547,
-     548,     0,     0,     0,     0,   549,     0,   919,   531,   532,
-     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
-     543,   673,   545,   546,   547,   548,     0,     0,     0,     0,
-     549,     0,   937,   531,   532,   533,   534,   535,   536,   537,
-     538,   539,   540,   541,   542,   543,   673,   545,   546,   547,
-     548,     0,     0,     0,     0,   549,     0,   938,   531,   532,
-     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
-     543,   673,   545,   546,   547,   548,     0,     0,     0,     0,
-     549,     0,   939,   531,   532,   533,   534,   535,   536,   537,
-     538,   539,   540,   541,   542,   543,   673,   545,   546,   547,
-     548,     0,     0,     0,     0,   549,     0,   940,   531,   532,
-     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
-     543,   673,   545,   546,   547,   548,     0,     0,     0,     0,
-     549,     0,   946,   531,   532,   533,   534,   535,   536,   537,
-     538,   539,   540,   541,   542,   543,   673,   545,   546,   547,
-     548,     0,     0,     0,     0,   549,     0,   947,   531,   532,
-     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
-     543,   673,   545,   546,   547,   548,     0,     0,     0,     0,
-     549,     0,   979,   531,   532,   533,   534,   535,   536,   537,
-     538,   539,   540,   541,   542,   543,   673,   545,   546,   547,
-     548,     0,     0,     0,     0,   549,     0,   993,   531,   532,
-     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
-     543,   673,   545,   546,   547,   548,     0,     0,     0,     0,
-     549,     0,  1051,   531,   532,   533,   534,   535,   536,   537,
-     538,   539,   540,   541,   542,   543,   673,   545,   546,   547,
-     548,     0,     0,     0,     0,   549,     0,  1056,   531,   532,
-     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
-     543,   673,   545,   546,   547,   548,     0,     0,     0,     0,
-     549,     0,  1069,   531,   532,   533,   534,   535,   536,   537,
-     538,   539,   540,   541,   542,   543,   673,   545,   546,   547,
-     548,     0,     0,     0,     0,   549,     0,  1133,   531,   532,
-     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
-     543,   673,   545,   546,   547,   548,     0,     0,     0,     0,
-     549,     0,  1139,   531,   532,   533,   534,   535,   536,   537,
-     538,   539,   540,   541,   542,   543,   673,   545,   546,   547,
-     548,     0,     0,     0,     0,   549,     0,  1140,   531,   532,
-     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
-     543,   673,   545,   546,   547,   548,     0,     0,     0,     0,
-     549,     0,  1141,   531,   532,   533,   534,   535,   536,   537,
-     538,   539,   540,   541,   542,   543,   673,   545,   546,   547,
-     548,     0,     0,     0,     0,   549,     0,  1155,   531,   532,
-     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
-     543,   673,   545,   546,   547,   548,     0,     0,     0,     0,
-     549,     0,  1156,   531,   532,   533,   534,   535,   536,   537,
-     538,   539,   540,   541,   542,   543,   673,   545,   546,   547,
-     548,     0,     0,     0,     0,   549,     0,  1157,   531,   532,
-     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
-     543,   673,   545,   546,   547,   548,     0,     0,     0,     0,
-     549,     0,  1186,   531,   532,   533,   534,   535,   536,   537,
-     538,   539,   540,   541,   542,   543,   673,   545,   546,   547,
-     548,     0,     0,     0,     0,   549,     0,  1188,   531,   532,
-     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
-     543,   673,   545,   546,   547,   548,     0,     0,     0,     0,
-     549,     0,  1189,   531,   532,   533,   534,   535,   536,   537,
-     538,   539,   540,   541,   542,   543,   673,   545,   546,   547,
-     548,     0,     0,     0,     0,   549,     0,  1190,   531,   532,
-     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
-     543,   673,   545,   546,   547,   548,     0,     0,     0,     0,
-     549,     0,  1191,   531,   532,   533,   534,   535,   536,   537,
-     538,   539,   540,   541,   542,   543,   673,   545,   546,   547,
-     548,     0,     0,     0,     0,   549,     0,  1192,   531,   532,
-     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
-     543,   673,   545,   546,   547,   548,     0,     0,     0,     0,
-     549,     0,  1193,   531,   532,   533,   534,   535,   536,   537,
-     538,   539,   540,   541,   542,   543,   673,   545,   546,   547,
-     548,     0,     0,     0,     0,   549,     0,  1194,   531,   532,
-     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
-     543,   673,   545,   546,   547,   548,     0,     0,     0,     0,
-     549,     0,  1199,   531,   532,   533,   534,   535,   536,   537,
-     538,   539,   540,   541,   542,   543,   673,   545,   546,   547,
-     548,     0,     0,     0,     0,   549,     0,  1291,   531,   532,
-     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
-     543,   673,   545,   546,   547,   548,     0,     0,     0,     0,
-     549,     0,  1306,   531,   532,   533,   534,   535,   536,   537,
-     538,   539,   540,   541,   542,   543,   673,   545,   546,   547,
-     548,     0,     0,     0,     0,   549,     0,  1507,   531,   532,
-     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
-     543,   673,   545,   546,   547,   548,     0,     0,     0,     0,
-     549,     0,  1574,   531,   532,   533,   534,   535,   536,   537,
-     538,   539,   540,   541,   542,   543,   673,   545,   546,   547,
-     548,     0,     0,     0,     0,   549,     0,  1689,   531,   532,
-     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
-     543,   673,   545,   546,   547,   548,     0,     0,     0,     0,
-     549,     0,  1690,   531,   532,   533,   534,   535,   536,   537,
-     538,   539,   540,   541,   542,   543,   673,   545,   546,   547,
-     548,     0,     0,     0,     0,   549,     0,  1691,   531,   532,
-     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
-     543,   673,   545,   546,   547,   548,     0,     0,     0,     0,
-     549,     0,  1692,   531,   532,   533,   534,   535,   536,   537,
-     538,   539,   540,   541,   542,   543,   673,   545,   546,   547,
-     548,     0,     0,     0,     0,   549,     0,  1745,   531,   532,
-     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
-     543,   673,   545,   546,   547,   548,     0,     0,     0,     0,
-     549,     0,  1754,   531,   532,   533,   534,   535,   536,   537,
-     538,   539,   540,   541,   542,   543,   673,   545,   546,   547,
-     548,     0,     0,     0,     0,   549,     0,  1777,   531,   532,
-     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
-     543,   673,   545,   546,   547,   548,     0,     0,     0,     0,
-     549,     0,  2033,   531,   532,   533,   534,   535,   536,   537,
-     538,   539,   540,   541,   542,   543,   673,   545,   546,   547,
-     548,     0,     0,     0,     0,   549,     0,  2081
+     542,   543,   544,   674,   546,   547,   548,   549,     0,     0,
+       0,     0,   550,     0,   742,   532,   533,   534,   535,   536,
+     537,   538,   539,   540,   541,   542,   543,   544,   674,   546,
+     547,   548,   549,     0,     0,     0,     0,   550,     0,   746,
+     532,   533,   534,   535,   536,   537,   538,   539,   540,   541,
+     542,   543,   544,   674,   546,   547,   548,   549,     0,     0,
+       0,     0,   550,     0,   747,   532,   533,   534,   535,   536,
+     537,   538,   539,   540,   541,   542,   543,   544,   674,   546,
+     547,   548,   549,     0,     0,     0,     0,   550,     0,   749,
+     532,   533,   534,   535,   536,   537,   538,   539,   540,   541,
+     542,   543,   544,   674,   546,   547,   548,   549,     0,     0,
+       0,     0,   550,     0,   751,   532,   533,   534,   535,   536,
+     537,   538,   539,   540,   541,   542,   543,   544,   674,   546,
+     547,   548,   549,     0,     0,     0,     0,   550,     0,   752,
+     532,   533,   534,   535,   536,   537,   538,   539,   540,   541,
+     542,   543,   544,   674,   546,   547,   548,   549,     0,     0,
+       0,     0,   550,     0,   754,   532,   533,   534,   535,   536,
+     537,   538,   539,   540,   541,   542,   543,   544,   674,   546,
+     547,   548,   549,     0,     0,     0,     0,   550,     0,   756,
+     532,   533,   534,   535,   536,   537,   538,   539,   540,   541,
+     542,   543,   544,   674,   546,   547,   548,   549,     0,     0,
+       0,     0,   550,     0,   757,   532,   533,   534,   535,   536,
+     537,   538,   539,   540,   541,   542,   543,   544,   674,   546,
+     547,   548,   549,     0,     0,     0,     0,   550,     0,   758,
+     532,   533,   534,   535,   536,   537,   538,   539,   540,   541,
+     542,   543,   544,   674,   546,   547,   548,   549,     0,     0,
+       0,     0,   550,     0,   759,   532,   533,   534,   535,   536,
+     537,   538,   539,   540,   541,   542,   543,   544,   674,   546,
+     547,   548,   549,     0,     0,     0,     0,   550,     0,   760,
+     532,   533,   534,   535,   536,   537,   538,   539,   540,   541,
+     542,   543,   544,   674,   546,   547,   548,   549,     0,     0,
+       0,     0,   550,     0,   761,   532,   533,   534,   535,   536,
+     537,   538,   539,   540,   541,   542,   543,   544,   674,   546,
+     547,   548,   549,     0,     0,     0,     0,   550,     0,   763,
+     532,   533,   534,   535,   536,   537,   538,   539,   540,   541,
+     542,   543,   544,   674,   546,   547,   548,   549,     0,     0,
+       0,     0,   550,     0,   764,   532,   533,   534,   535,   536,
+     537,   538,   539,   540,   541,   542,   543,   544,   674,   546,
+     547,   548,   549,     0,     0,     0,     0,   550,     0,   765,
+     532,   533,   534,   535,   536,   537,   538,   539,   540,   541,
+     542,   543,   544,   674,   546,   547,   548,   549,     0,     0,
+       0,     0,   550,     0,   830,   532,   533,   534,   535,   536,
+     537,   538,   539,   540,   541,   542,   543,   544,   674,   546,
+     547,   548,   549,     0,     0,     0,     0,   550,     0,   863,
+     532,   533,   534,   535,   536,   537,   538,   539,   540,   541,
+     542,   543,   544,   674,   546,   547,   548,   549,     0,     0,
+       0,     0,   550,     0,   921,   532,   533,   534,   535,   536,
+     537,   538,   539,   540,   541,   542,   543,   544,   674,   546,
+     547,   548,   549,     0,     0,     0,     0,   550,     0,   939,
+     532,   533,   534,   535,   536,   537,   538,   539,   540,   541,
+     542,   543,   544,   674,   546,   547,   548,   549,     0,     0,
+       0,     0,   550,     0,   940,   532,   533,   534,   535,   536,
+     537,   538,   539,   540,   541,   542,   543,   544,   674,   546,
+     547,   548,   549,     0,     0,     0,     0,   550,     0,   941,
+     532,   533,   534,   535,   536,   537,   538,   539,   540,   541,
+     542,   543,   544,   674,   546,   547,   548,   549,     0,     0,
+       0,     0,   550,     0,   942,   532,   533,   534,   535,   536,
+     537,   538,   539,   540,   541,   542,   543,   544,   674,   546,
+     547,   548,   549,     0,     0,     0,     0,   550,     0,   948,
+     532,   533,   534,   535,   536,   537,   538,   539,   540,   541,
+     542,   543,   544,   674,   546,   547,   548,   549,     0,     0,
+       0,     0,   550,     0,   949,   532,   533,   534,   535,   536,
+     537,   538,   539,   540,   541,   542,   543,   544,   674,   546,
+     547,   548,   549,     0,     0,     0,     0,   550,     0,   981,
+     532,   533,   534,   535,   536,   537,   538,   539,   540,   541,
+     542,   543,   544,   674,   546,   547,   548,   549,     0,     0,
+       0,     0,   550,     0,   995,   532,   533,   534,   535,   536,
+     537,   538,   539,   540,   541,   542,   543,   544,   674,   546,
+     547,   548,   549,     0,     0,     0,     0,   550,     0,  1053,
+     532,   533,   534,   535,   536,   537,   538,   539,   540,   541,
+     542,   543,   544,   674,   546,   547,   548,   549,     0,     0,
+       0,     0,   550,     0,  1058,   532,   533,   534,   535,   536,
+     537,   538,   539,   540,   541,   542,   543,   544,   674,   546,
+     547,   548,   549,     0,     0,     0,     0,   550,     0,  1071,
+     532,   533,   534,   535,   536,   537,   538,   539,   540,   541,
+     542,   543,   544,   674,   546,   547,   548,   549,     0,     0,
+       0,     0,   550,     0,  1136,   532,   533,   534,   535,   536,
+     537,   538,   539,   540,   541,   542,   543,   544,   674,   546,
+     547,   548,   549,     0,     0,     0,     0,   550,     0,  1143,
+     532,   533,   534,   535,   536,   537,   538,   539,   540,   541,
+     542,   543,   544,   674,   546,   547,   548,   549,     0,     0,
+       0,     0,   550,     0,  1144,   532,   533,   534,   535,   536,
+     537,   538,   539,   540,   541,   542,   543,   544,   674,   546,
+     547,   548,   549,     0,     0,     0,     0,   550,     0,  1145,
+     532,   533,   534,   535,   536,   537,   538,   539,   540,   541,
+     542,   543,   544,   674,   546,   547,   548,   549,     0,     0,
+       0,     0,   550,     0,  1159,   532,   533,   534,   535,   536,
+     537,   538,   539,   540,   541,   542,   543,   544,   674,   546,
+     547,   548,   549,     0,     0,     0,     0,   550,     0,  1160,
+     532,   533,   534,   535,   536,   537,   538,   539,   540,   541,
+     542,   543,   544,   674,   546,   547,   548,   549,     0,     0,
+       0,     0,   550,     0,  1161,   532,   533,   534,   535,   536,
+     537,   538,   539,   540,   541,   542,   543,   544,   674,   546,
+     547,   548,   549,     0,     0,     0,     0,   550,     0,  1190,
+     532,   533,   534,   535,   536,   537,   538,   539,   540,   541,
+     542,   543,   544,   674,   546,   547,   548,   549,     0,     0,
+       0,     0,   550,     0,  1192,   532,   533,   534,   535,   536,
+     537,   538,   539,   540,   541,   542,   543,   544,   674,   546,
+     547,   548,   549,     0,     0,     0,     0,   550,     0,  1193,
+     532,   533,   534,   535,   536,   537,   538,   539,   540,   541,
+     542,   543,   544,   674,   546,   547,   548,   549,     0,     0,
+       0,     0,   550,     0,  1194,   532,   533,   534,   535,   536,
+     537,   538,   539,   540,   541,   542,   543,   544,   674,   546,
+     547,   548,   549,     0,     0,     0,     0,   550,     0,  1195,
+     532,   533,   534,   535,   536,   537,   538,   539,   540,   541,
+     542,   543,   544,   674,   546,   547,   548,   549,     0,     0,
+       0,     0,   550,     0,  1196,   532,   533,   534,   535,   536,
+     537,   538,   539,   540,   541,   542,   543,   544,   674,   546,
+     547,   548,   549,     0,     0,     0,     0,   550,     0,  1197,
+     532,   533,   534,   535,   536,   537,   538,   539,   540,   541,
+     542,   543,   544,   674,   546,   547,   548,   549,     0,     0,
+       0,     0,   550,     0,  1198,   532,   533,   534,   535,   536,
+     537,   538,   539,   540,   541,   542,   543,   544,   674,   546,
+     547,   548,   549,     0,     0,     0,     0,   550,     0,  1203,
+     532,   533,   534,   535,   536,   537,   538,   539,   540,   541,
+     542,   543,   544,   674,   546,   547,   548,   549,     0,     0,
+       0,     0,   550,     0,  1295,   532,   533,   534,   535,   536,
+     537,   538,   539,   540,   541,   542,   543,   544,   674,   546,
+     547,   548,   549,     0,     0,     0,     0,   550,     0,  1311,
+     532,   533,   534,   535,   536,   537,   538,   539,   540,   541,
+     542,   543,   544,   674,   546,   547,   548,   549,     0,     0,
+       0,     0,   550,     0,  1516,   532,   533,   534,   535,   536,
+     537,   538,   539,   540,   541,   542,   543,   544,   674,   546,
+     547,   548,   549,     0,     0,     0,     0,   550,     0,  1584,
+     532,   533,   534,   535,   536,   537,   538,   539,   540,   541,
+     542,   543,   544,   674,   546,   547,   548,   549,     0,     0,
+       0,     0,   550,     0,  1592,   532,   533,   534,   535,   536,
+     537,   538,   539,   540,   541,   542,   543,   544,   674,   546,
+     547,   548,   549,     0,     0,     0,     0,   550,     0,  1698,
+     532,   533,   534,   535,   536,   537,   538,   539,   540,   541,
+     542,   543,   544,   674,   546,   547,   548,   549,     0,     0,
+       0,     0,   550,     0,  1704,   532,   533,   534,   535,   536,
+     537,   538,   539,   540,   541,   542,   543,   544,   674,   546,
+     547,   548,   549,     0,     0,     0,     0,   550,     0,  1705,
+     532,   533,   534,   535,   536,   537,   538,   539,   540,   541,
+     542,   543,   544,   674,   546,   547,   548,   549,     0,     0,
+       0,     0,   550,     0,  1706,   532,   533,   534,   535,   536,
+     537,   538,   539,   540,   541,   542,   543,   544,   674,   546,
+     547,   548,   549,     0,     0,     0,     0,   550,     0,  1707,
+     532,   533,   534,   535,   536,   537,   538,   539,   540,   541,
+     542,   543,   544,   674,   546,   547,   548,   549,     0,     0,
+       0,     0,   550,     0,  1711,   532,   533,   534,   535,   536,
+     537,   538,   539,   540,   541,   542,   543,   544,   674,   546,
+     547,   548,   549,     0,     0,     0,     0,   550,     0,  1763,
+     532,   533,   534,   535,   536,   537,   538,   539,   540,   541,
+     542,   543,   544,   674,   546,   547,   548,   549,     0,     0,
+       0,     0,   550,     0,  1772,   532,   533,   534,   535,   536,
+     537,   538,   539,   540,   541,   542,   543,   544,   674,   546,
+     547,   548,   549,     0,     0,     0,     0,   550,     0,  1795,
+     532,   533,   534,   535,   536,   537,   538,   539,   540,   541,
+     542,   543,   544,   674,   546,   547,   548,   549,     0,     0,
+       0,     0,   550,     0,  1859,   532,   533,   534,   535,   536,
+     537,   538,   539,   540,   541,   542,   543,   544,   674,   546,
+     547,   548,   549,     0,     0,     0,     0,   550,     0,  1919,
+     532,   533,   534,   535,   536,   537,   538,   539,   540,   541,
+     542,   543,   544,   674,   546,   547,   548,   549,     0,     0,
+       0,     0,   550,     0,  1920,   532,   533,   534,   535,   536,
+     537,   538,   539,   540,   541,   542,   543,   544,   674,   546,
+     547,   548,   549,     0,     0,     0,     0,   550,     0,  2056,
+     532,   533,   534,   535,   536,   537,   538,   539,   540,   541,
+     542,   543,   544,   674,   546,   547,   548,   549,     0,     0,
+       0,     0,   550,     0,  2104,   532,   533,   534,   535,   536,
+     537,   538,   539,   540,   541,   542,   543,   544,   674,   546,
+     547,   548,   549,     0,     0,     0,     0,   550
 };
 
 static const yytype_int16 yycheck[] =
 {
-       3,   498,   591,   592,  1181,   132,  1185,   691,     7,     3,
-     283,     6,     4,     4,  1656,   699,  1658,  1618,    21,     4,
-      22,    23,     4,     7,    21,     4,    97,   706,  1817,     6,
-     235,   236,     4,     6,   148,   295,     4,     4,     6,     5,
-       4,     6,     5,     4,    47,   724,     6,   118,     5,   226,
-     227,     4,     4,   313,    94,     0,     4,    97,     5,   173,
-       6,   128,     4,     6,     5,   235,   236,   132,     5,    97,
-     247,    74,   137,   138,   244,   189,   190,     9,   145,    82,
-       6,   226,   227,   241,    87,    14,   153,   154,   155,   247,
-     118,     4,   159,   160,   241,    98,   226,   227,    60,    61,
-     247,    63,   247,   226,   227,   242,   239,     6,   241,   246,
-     175,   226,   227,   243,   247,  1716,   238,   377,   240,   379,
-     239,   186,   241,    91,   247,   238,   386,   242,   247,   132,
-     132,     7,    84,   244,   137,   138,   247,   226,   227,   133,
-     226,   227,   145,   226,   227,   238,   643,   239,   645,   226,
-     227,     6,   244,   156,   238,   158,   240,     4,   247,   242,
-     163,   247,     9,    97,     6,   168,   161,   226,   227,   239,
-     247,   241,   175,     9,  1963,    94,   179,   247,    97,   182,
-     183,   184,   185,   186,   161,   238,     9,     6,   247,   242,
-     192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
-     202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
-     212,   213,   214,   215,   216,   217,   218,   219,   220,   176,
-     222,   223,   226,   227,   188,   210,   228,   229,   210,   176,
-     238,   234,   184,     9,     7,   176,   238,   239,   210,   176,
-    1841,     7,  1419,   247,   247,   244,   238,   250,   251,   240,
-     163,   164,   165,   166,   238,   246,   240,     6,   210,   238,
-     245,   264,   210,   242,   267,   268,   269,   270,   210,   242,
-     242,   238,   275,   276,   277,   242,   242,   238,   281,   242,
-     283,   242,   242,   226,   227,   238,   183,   184,   185,   242,
-     242,     6,   238,  1894,   242,   242,   242,   239,     6,   241,
-     226,   227,     4,   306,   307,   308,   238,     6,   240,   993,
-     994,    94,   244,    98,    97,   100,    99,   320,   321,   384,
-     580,     6,   582,   583,   286,   287,     7,   226,   227,     4,
-     243,   240,   294,   295,   239,   211,   212,   213,   214,   599,
-     240,    47,   247,   345,   346,   347,    97,   132,    99,   351,
-     352,   353,   354,   355,   356,   357,  1998,   359,   238,   235,
-     236,   363,   364,   210,   238,   367,   221,   222,   244,   238,
-     155,   268,   269,   270,   238,   226,   227,   637,   380,   221,
-     222,   384,   226,   227,    91,   388,   389,    94,   235,   236,
-      97,   238,    99,   240,   111,   242,   247,   244,   239,   235,
-     236,   404,   238,   247,   240,   241,   247,   410,   244,   306,
-     307,   308,   235,   236,   674,   238,   238,   240,   235,   236,
-       4,   244,   238,   320,   321,   242,   429,   492,   238,   494,
-     433,   496,   497,   226,   227,  2036,   226,   227,   211,   212,
-     213,   214,  1121,    97,  1123,   211,   212,   213,   214,   244,
-     515,   516,   247,  1132,   247,   226,   227,   247,   239,   235,
-     236,   238,   238,  1147,   240,  1149,   247,  1151,   244,  1153,
-     239,   173,   174,   179,     7,   239,   247,   480,   247,   239,
-       7,   226,   227,   247,   487,   488,   238,   247,   238,   492,
-     242,   494,   495,   496,   497,   498,  2097,   500,   173,   174,
-     226,   227,   247,   226,   227,   226,   227,   510,   511,   512,
-     513,   514,   515,   516,   517,   518,   242,   520,   238,   522,
-       6,   518,   242,   520,   247,   243,   247,   529,   234,   247,
-     211,   212,   213,   214,   239,     8,   226,   227,   226,   227,
-      91,   544,   247,    94,   226,   227,    97,   550,   132,   133,
-     134,   135,   231,   232,   235,   236,   243,   247,   237,   247,
-     247,   267,  1241,   147,   691,   247,   150,   235,   236,   275,
-     276,   277,   575,   576,   242,   281,   243,     6,     7,   644,
-     247,   646,   647,   648,   649,   650,   651,   238,   653,   654,
-     655,   656,   226,   227,   659,   660,   661,   591,   592,   238,
-      91,   243,     8,    94,   128,   247,    97,   392,    99,   242,
-     239,  1290,   241,   247,   511,   512,   513,   514,   621,   622,
-     623,   145,   239,   238,   241,   242,  1305,   589,   590,   153,
-     154,   155,   594,   243,   894,   159,   160,   247,   226,   227,
-     643,   644,   645,   646,   647,   648,   649,   650,   651,   238,
-     653,   654,   655,   656,   657,   238,   659,   660,   661,   662,
-     663,   226,   227,   666,   729,   662,   238,   226,   227,   734,
-     226,   227,   243,   238,     4,   238,   247,   242,   211,   212,
-     213,   214,   388,   389,   211,   212,   213,   214,   247,   226,
-     227,   247,   238,   132,   133,   698,   242,   242,   404,   138,
-     703,   238,   235,   236,   239,   242,   241,   242,   235,   236,
-     226,   227,   228,   229,   230,   231,   232,   720,   721,   243,
-     239,   237,   241,   726,    94,   239,   729,   241,   247,   732,
-     857,   734,    94,   247,   519,    97,   243,    99,   238,   742,
-     247,   744,   215,   216,   217,   218,   219,   220,   221,   222,
-     223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
-      91,    91,    97,    94,   237,    95,    97,   242,    99,   128,
-     243,   101,   102,   238,   104,   105,   242,   242,   132,   133,
-     565,   566,   567,   568,   138,    94,   145,   243,    97,   495,
-      99,   247,   122,  1477,   153,   154,   155,   800,   243,   243,
-     159,   160,   247,   247,   510,  1489,     6,     7,  1987,   215,
-     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
-     226,   227,   228,   229,   230,   231,   232,   244,    97,   246,
-      99,   237,   228,   229,   230,   231,   232,   243,   243,   238,
-     243,   237,   247,   846,   247,  2022,   243,    97,   243,   243,
-     247,   128,   247,   247,   243,   243,   859,   243,   247,   247,
-      97,   247,    99,    97,   867,   243,   993,   994,   145,   247,
-     243,  2050,    94,   658,   247,   243,   153,   154,   155,   247,
-      94,     4,   159,   160,   243,   243,   243,   890,   243,   247,
-     247,   243,   247,   243,  2071,   247,   243,   247,     3,     4,
-     247,     4,     4,     6,   243,    10,    11,    12,   247,     4,
-      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
-      25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
-      35,    36,    37,    38,     4,   897,   243,   243,   238,   243,
-     247,   247,   904,   247,   243,   243,   908,   238,   247,   247,
-      55,    56,    57,    58,   238,   740,   238,   243,    63,  1024,
-     128,   247,   238,   243,   243,   243,   243,   247,   247,   247,
-      75,    76,    77,     6,     6,   240,   243,   145,    83,    84,
-     247,    86,   985,   238,   243,   153,   154,   155,   247,   240,
-       6,   159,   160,  1490,  1491,   242,   999,   246,   243,  1272,
-     243,  1004,   247,     6,   247,   246,  1133,  1134,  1011,  1012,
-    1013,  1014,   243,   243,  1603,  1604,   247,   247,   238,     9,
-     238,  1024,   220,   221,   222,   223,   224,   225,   226,   227,
-     228,   229,   230,   231,   232,  1037,   243,   238,   118,   237,
-     247,  1106,  1107,   238,   243,   238,  1049,  1050,   247,  1052,
-     238,  1054,  1055,   238,  1057,   238,  1059,  1060,  1061,  1062,
-    1063,  1064,  1065,  1066,  1067,   243,   243,  1070,   243,   247,
-     247,   242,   247,   243,   243,   243,   243,   247,   247,   238,
-     247,   238,   238,  1045,   238,   238,   191,   238,   238,   238,
-     195,     4,   238,   238,   242,   200,   201,   202,   242,   204,
-     205,   206,  1105,  1106,  1107,   210,   218,   219,   220,   221,
+       3,   498,  1189,   283,   592,   593,   707,  1185,     4,     3,
+    1631,   692,  1669,     5,  1671,     4,     4,     4,    21,   700,
+       4,    21,   295,     5,   725,     5,     7,     5,     7,     4,
+       4,     4,     4,     4,   132,   238,     5,     4,     6,     5,
+     313,     6,     6,     4,    47,     4,     6,   226,   227,   148,
+    1837,     4,   239,     4,    98,     4,   100,   244,     9,     6,
+       4,     9,   242,     4,    97,     6,   246,   132,   247,   239,
+       6,    74,   137,   138,   173,   226,   227,   247,     9,    82,
+       6,   183,   184,   185,    87,   118,   226,   227,   132,     0,
+     189,   190,     7,   226,   227,    98,   247,    84,    60,    61,
+      14,    63,     6,   241,   377,     7,   379,   247,     9,   247,
+     175,   155,  1733,   386,   247,     9,   239,   226,   227,   226,
+     227,   186,   226,   227,   247,     9,   238,    97,   239,   132,
+     241,   832,   235,   236,   137,   138,   247,     6,   247,   133,
+     247,   244,   145,   247,   226,   227,     6,   644,   118,   646,
+      91,   239,   238,   156,   240,   158,     6,   226,   227,   247,
+     163,   243,     7,   235,   236,   168,   268,   269,   270,     7,
+     226,   227,   175,     7,   226,   227,   179,   239,   247,   182,
+     183,   184,   185,   186,   176,   247,   242,    97,   163,   164,
+     165,   166,   239,   161,   241,   247,   161,   184,   176,  1986,
+     247,   226,   227,   241,   306,   307,   308,   176,   239,   247,
+     176,     7,   239,   239,   241,   241,   247,   188,   320,   321,
+     247,   210,   247,   210,   173,   174,     6,   226,   227,   173,
+     174,   234,   211,   212,   213,   214,   210,   210,   210,   238,
+     238,  1862,   238,   242,   247,   240,   242,   250,   251,  1427,
+     242,   251,   240,     6,   238,   242,   245,   210,   246,   210,
+     242,   264,   242,   244,   267,   268,   269,   270,   243,   242,
+     242,   238,   275,   276,   277,   242,     6,   238,   281,   238,
+     283,   242,   242,   242,   235,   236,   239,   238,   241,   240,
+     238,   242,   240,   244,  1915,   242,   211,   212,   213,   214,
+     226,   227,   238,   306,   307,   308,   242,   238,   581,   240,
+     583,   584,     6,   244,   995,   996,     4,   320,   321,   384,
+     235,   236,   226,   227,   286,   287,   238,   600,    94,   244,
+     242,    97,   294,   295,   235,   236,   238,   238,   240,   240,
+     241,   235,   236,   244,   238,   238,   240,    47,   392,   242,
+     244,   235,   236,     6,   238,   238,   240,   226,   227,   242,
+     244,   221,   222,     6,  2021,   638,   211,   212,   213,   214,
+     240,   221,   222,   211,   212,   213,   214,   211,   212,   213,
+     214,   384,   226,   227,   239,   388,   389,   226,   227,   238,
+     235,   236,   247,   226,   227,     6,     7,   235,   236,   226,
+     227,   404,   675,   247,   226,   227,   238,   410,   247,   511,
+     512,   513,   514,   239,   247,   211,   212,   213,   214,   243,
+     247,   247,  1123,   247,  1125,   247,   429,   492,   238,   494,
+     433,   496,   497,   239,  1135,   241,   226,   227,  2059,   235,
+     236,   247,   226,   227,   132,   133,   134,   135,   226,   227,
+     515,   516,     4,   239,   243,   241,   128,   247,   247,   147,
+     243,   247,   150,   247,   247,   226,   227,   243,   238,   247,
+    1151,   247,  1153,   145,  1155,   519,  1157,   480,    97,   179,
+      99,   153,   154,   155,   487,   488,   247,   159,   160,   492,
+     238,   494,   495,   496,   497,   498,   238,   500,   243,  2120,
+     226,   227,   247,     6,     7,   226,   227,   510,   511,   512,
+     513,   514,   515,   516,   517,   518,   238,   520,   518,   522,
+     520,   247,   566,   567,   568,   569,   247,   231,   232,   128,
+     226,   227,    91,   237,   234,    94,     8,   243,    97,    91,
+      99,   247,   545,    95,  1245,   238,   145,   240,   551,   101,
+     102,   247,   104,   105,   153,   154,   155,   235,   236,   238,
+     159,   160,   226,   227,   242,   235,   236,   267,   226,   227,
+     122,   243,   242,   576,   577,   275,   276,   277,   242,   238,
+     645,   281,   647,   648,   649,   650,   651,   652,   238,   654,
+     655,   656,   657,  1294,   692,   660,   661,   662,   592,   593,
+     128,    94,   226,   227,    97,    91,   226,   227,    94,  1310,
+     238,    97,   243,    99,   238,   659,   247,   145,   242,   622,
+     623,   624,   242,   896,   238,   153,   154,   155,   590,   591,
+     111,   159,   160,   595,    91,   238,   244,    94,   246,   242,
+      97,   644,   645,   646,   647,   648,   649,   650,   651,   652,
+     238,   654,   655,   656,   657,   658,   238,   660,   661,   662,
+     663,   664,   238,   663,   667,   730,   242,   128,     6,   242,
+     735,   226,   227,   228,   229,   230,   231,   232,    94,   132,
+     133,    97,   237,    99,   145,   138,   243,   243,   388,   389,
+     247,   247,   153,   154,   155,    97,   699,   741,   159,   160,
+     239,   704,   241,   242,   404,   228,   229,   230,   231,   232,
+       8,    97,   243,    99,   237,   243,   247,    91,   721,   722,
+      94,   238,   243,    97,   727,    99,   247,   730,   132,   133,
+     733,   243,   735,    94,   138,   247,    97,   243,    99,   238,
+     743,   247,   745,   215,   216,   217,   218,   219,   220,   221,
      222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
-     232,   226,   227,   242,  1127,   237,   242,   238,   233,   238,
-     238,   238,   238,   238,  1137,  1138,     6,   242,   238,   240,
-     245,     6,   217,   218,   219,   220,   221,   222,   223,   224,
-     225,   226,   227,   228,   229,   230,   231,   232,     6,  1224,
-     242,   867,   237,  1228,  1291,  1292,   242,   240,   242,   240,
-       6,   240,  1237,     6,  1239,   242,   176,  1242,   238,   238,
-     238,   238,   238,   238,     6,   158,   240,     6,     6,   242,
-     163,     6,  1195,   242,     7,   168,     6,   242,     6,   242,
-      87,   243,   239,   247,  1464,  1208,  1209,  1210,  1468,   182,
-     995,  1484,   247,     7,     6,     6,  1219,     6,   239,   242,
-      64,  1224,    64,    64,    64,  1228,   237,  1292,     4,     7,
-       7,     6,     6,     6,  1237,   239,  1239,     6,     6,  1242,
-     242,     7,     7,     6,     6,     6,   173,   242,   241,     7,
-    1253,     8,   239,     6,   242,   244,   242,   242,  1847,   242,
-       6,   240,   238,     4,     6,   239,     6,     6,     6,  1272,
-     240,     7,   176,     7,  1276,  1277,     7,     7,   176,   985,
-       7,     7,     7,   176,     7,     7,     7,  1784,     7,  1292,
-       7,   264,     7,     7,     7,     7,   242,     6,  1004,   239,
-     241,   239,   247,   247,   247,   242,   242,   242,   242,  1312,
-       7,     7,   244,   242,   247,     4,     6,   239,   239,   247,
-    1323,     8,   247,   239,   247,   239,  1329,   247,   128,   244,
-       7,   243,   243,     6,   244,     7,     7,     7,   239,   239,
-     247,   247,     9,  1049,  1050,   247,  1052,   239,  1054,  1055,
-    1477,  1057,   241,  1059,  1060,  1061,  1062,  1063,  1064,  1065,
-    1066,  1067,   246,     7,   148,   243,   242,     6,     6,     4,
-      46,    46,   244,   242,   238,  1378,  1379,  1380,   238,   238,
-     238,  1384,   244,  1386,     4,  1388,     7,  1390,     7,  1392,
-    1393,  1394,    99,     7,   247,     7,   239,  1670,     7,  1105,
-       7,     6,    97,     7,     7,     7,  1409,     7,     7,     4,
-     109,     4,   242,   238,     6,   242,     7,  1420,     6,   245,
-       7,  1127,     7,     7,     7,  1428,     7,     7,  1431,     7,
-       6,  1137,     6,     6,   239,     7,     6,     6,     4,     4,
-       4,   247,   243,   247,   242,   242,   242,     6,     6,  1514,
-       6,     6,  1579,     7,   240,     6,  1418,   238,   215,   216,
-     217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
-     227,   228,   229,   230,   231,   232,     6,     6,   238,     6,
-     237,  1484,   239,   242,   241,   241,     6,  1490,  1491,  1195,
-     244,     6,   247,  1496,   242,   242,   122,     6,   242,   242,
-       6,     6,  1208,  1209,  1210,   242,     6,   176,     6,     6,
-       6,  1514,     6,     6,     6,     6,  1519,     6,     5,   239,
-    1523,   239,     6,   247,     4,  1310,     4,  1312,   215,   216,
-     217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
-     227,   228,   229,   230,   231,   232,     6,  1253,     6,   522,
-     237,   242,   239,     7,   242,  1682,   242,   242,   242,   240,
-       6,     6,   242,   242,   242,     6,     6,     6,   242,     6,
-       6,  1533,     7,     4,   242,   172,  1641,   242,   242,  1644,
-     239,   247,   238,     6,   247,   247,   247,   244,   242,   242,
-       6,     6,  1595,  1596,     6,     6,  1856,     6,     4,     7,
-      95,     6,   575,   576,     6,     6,  1312,     6,     6,  1603,
-    1604,  1884,     5,   242,   239,  1618,     6,  1323,   242,     6,
-       6,  1624,     6,  1329,     6,     6,     6,     6,     6,   247,
-    1633,     6,     6,     6,   247,     6,   247,     4,  1641,     7,
-       6,  1644,     6,   239,     6,     5,     7,     6,   621,   622,
-     623,     6,   242,   242,     6,     6,  1659,  1619,  1620,  1621,
-    1622,  1623,  1624,  1666,   243,   242,     6,  1670,   243,  1672,
-     171,   242,  1378,  1379,  1380,   242,   239,  1462,  1384,     6,
-    1386,   243,  1388,   243,  1390,     7,  1392,  1393,  1394,  1949,
-     243,     6,   244,   666,     6,     6,     6,   242,     6,     6,
-       6,     6,     6,  1409,     6,     6,   243,     6,   239,   242,
-       6,   174,     6,  1716,  1420,   243,   238,   243,   242,     6,
-       6,   242,  1428,   242,     6,   698,   243,     6,  1988,   242,
-       6,   128,     6,     6,  1519,   242,   239,     6,     6,     6,
-       6,   243,     6,     6,   243,     6,     6,   720,     6,     6,
-    1753,     6,   242,   726,   242,     6,     6,   242,     6,     6,
-       6,     6,  1765,     6,  1304,  2000,   426,  1818,  1355,  1527,
-    1788,  1584,  1322,     3,     3,  1778,     3,     3,  1364,   564,
-    1843,  1784,  1459,     3,  1666,    -1,    -1,    -1,    -1,    -1,
-    1496,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1812,
-      -1,    -1,    -1,  1519,  1599,    -1,  1819,    -1,    -1,    -1,
-    1823,    -1,    -1,    -1,    -1,    -1,    -1,   800,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1841,    -1,
-      -1,  1844,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,  1855,  1847,  1639,    -1,  1859,    -1,    -1,    -1,
-      -1,  1646,  1647,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,   846,    -1,    -1,    -1,  1662,    -1,    -1,
-      -1,  1884,    -1,    -1,    -1,    -1,   859,    -1,    -1,    -1,
-      -1,  1894,    -1,    -1,    -1,    -1,    -1,    -1,  1860,  1861,
-    1862,  1863,  1864,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,  1618,    -1,    -1,    -1,    -1,   890,    -1,  1922,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1633,   215,   216,
-     217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
-     227,   228,   229,   230,   231,   232,    -1,    -1,    -1,    -1,
-     237,    -1,    -1,  1659,    -1,    -1,    -1,    -1,    -1,  1921,
-      -1,    -1,    -1,  1925,    -1,    -1,  1672,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1990,  1991,  1992,
-    1993,  1994,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,  1790,    -1,    -1,    -1,    -1,
-    1716,    -1,  1974,    -1,    -1,  2080,  1978,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,  1994,  2036,    -1,    -1,    -1,  1822,  1011,  1012,
-    1013,  1014,  2107,  2108,    -1,    -1,    -1,  1753,    -1,    -1,
-      -1,    -1,  2055,    -1,    -1,    -1,    -1,     6,    -1,  2124,
-      -1,    -1,    -1,    -1,    -1,    -1,   106,    -1,    -1,    -1,
-      -1,    -1,    13,    14,    -1,    -1,    -1,  2080,    -1,    -1,
-      -1,    -1,    -1,  2045,  2046,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,   132,    -1,  2097,     6,   136,  1070,    -1,    -1,
-     140,    -1,    -1,    -1,  2107,  2108,  1812,    -1,    -1,    -1,
-      -1,    -1,    -1,  1819,    -1,    -1,    -1,   157,   158,   159,
-     160,  2124,   162,   163,   164,   165,    -1,   167,   168,   169,
-     170,   171,   172,   173,   174,  1841,   176,   177,   178,    -1,
-      -1,    -1,   182,    -1,    -1,    -1,    -1,    -1,    -1,  1855,
-      91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
-     101,   102,   103,    -1,    -1,  1138,   107,   108,   109,    -1,
-      -1,   112,    -1,    -1,    -1,    -1,    -1,   118,   119,  1964,
-      -1,   122,   123,    -1,   125,   126,    -1,    -1,  1894,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,   144,    -1,    -1,   246,   247,   248,   249,
-     250,    -1,    -1,    -1,    -1,    -1,  1922,    -1,    -1,    -1,
-      -1,    -1,    -1,   263,   264,    -1,    -1,   168,   169,   170,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   279,
-      -1,    -1,    -1,    -1,    -1,    -1,  1219,    -1,    -1,   289,
-     290,    -1,    -1,    -1,    -1,   295,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,   305,   215,   216,   217,   218,
+     232,   859,   128,    94,   244,   237,    97,   247,    99,   243,
+     243,   243,   238,   247,   247,   239,   242,   241,   242,   145,
+     242,    97,   243,    99,     4,     5,   238,   153,   154,   155,
+     242,    97,   243,   159,   160,   495,   247,   243,   801,   243,
+      94,   247,   243,   247,  1485,   243,   247,   243,   243,   247,
+     510,   247,   247,   243,   243,   243,  1497,   247,   247,   247,
+     243,   243,   242,  2010,   247,   247,    46,    47,    48,    49,
+      50,    51,    52,    53,    54,   244,   242,   238,   247,    59,
+      60,    61,    62,   238,    97,   848,   243,    67,    68,    69,
+     247,   243,    72,   243,    74,   247,   243,   247,   861,   243,
+     247,    94,     4,   247,     6,    85,   869,  2045,    88,    94,
+     243,   243,   243,    97,   247,   247,   247,   243,   243,     8,
+     243,   243,   247,   243,   247,   247,  2073,   247,   243,   892,
+     243,   243,   247,     4,   247,   247,   243,   995,   996,   243,
+     247,     4,   243,   247,   243,   125,   247,   243,   247,   243,
+     243,   247,     4,   247,   247,     4,  2094,   215,   216,   217,
+     218,   219,   220,   221,   222,   223,   224,   225,   226,   227,
+     228,   229,   230,   231,   232,   238,   243,   899,   243,   237,
+     247,   238,   247,   238,   906,   243,   238,   238,   910,     6,
+       6,   240,   238,   997,     6,   240,   246,     6,   242,   246,
+     238,  1026,     9,   238,   238,   238,   238,   238,   118,   238,
+     238,   238,   192,   193,   194,   238,   242,   238,   238,   238,
+     238,   238,   238,   203,   987,     4,   238,   207,   242,   209,
+     210,   242,   242,   242,   238,   238,  1276,   238,  1001,   238,
+     238,  1498,  1499,  1006,   238,     6,   238,     6,     6,   240,
+    1013,  1014,  1015,  1016,   242,   235,   236,     6,     6,   242,
+     242,   240,   242,  1026,   244,   240,   240,   176,  1616,  1617,
+     242,   238,   238,   238,   238,   238,   238,     6,  1136,  1137,
+     240,     6,     6,  1108,  1109,   242,     6,   242,  1051,  1052,
+       7,  1054,     6,  1056,  1057,   242,  1059,     6,  1061,  1062,
+    1063,  1064,  1065,  1066,  1067,  1068,  1069,   242,   247,  1072,
+     243,    87,     4,     5,   239,   247,     7,     6,     6,     6,
+     239,   242,    64,    64,    64,  1047,   215,   216,   217,   218,
      219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
-     229,   230,   231,   232,    -1,    -1,   326,    -1,   237,    -1,
-     330,   331,   332,    -1,   334,    -1,    -1,    -1,   338,   339,
-     340,    -1,   243,   343,   215,   216,   217,   218,   219,   220,
+     229,   230,   231,   232,  1107,  1108,  1109,   237,   237,    64,
+     239,   244,   241,     4,    46,    47,    48,    49,    50,    51,
+      52,    53,    54,     7,     7,     6,  1129,    59,    60,    61,
+      62,     6,     6,   239,     6,    67,    68,    69,  1141,  1142,
+      72,   242,    74,     7,     6,   173,     7,     6,     6,     6,
+       6,   242,   242,    85,   241,   239,    88,   242,   244,   242,
+     242,     7,     6,  1228,   240,   238,     4,  1232,   239,   869,
+       6,     6,     6,     6,   240,     7,  1241,     7,  1243,   176,
+       7,  1246,     7,   176,     7,     7,     7,     7,     7,   176,
+       7,     7,     7,   125,     7,     7,  1199,  1295,  1296,  1472,
+       7,     7,   242,  1476,     6,   239,   241,     7,   247,  1212,
+    1213,  1214,  1492,   242,   247,   247,   242,   242,   242,   239,
+    1223,   238,   244,     7,   247,  1228,     4,   242,   239,  1232,
+       6,  1296,   239,   247,   247,   239,   239,   247,  1241,   247,
+    1243,   128,   244,  1246,     7,     6,   246,   243,   243,     7,
+       7,     7,   244,   239,  1257,   239,   247,   247,     9,     8,
+     192,   193,   194,   239,   247,     7,   241,     6,   148,   243,
+     242,   203,  1316,  1276,  1318,   207,     6,   209,   210,     4,
+    1868,    46,    46,   244,     4,   238,   238,   987,   238,     7,
+     238,     7,   238,  1296,    99,     7,   247,   244,   239,   238,
+       7,     7,     7,     6,     4,  1802,  1006,   239,     7,   241,
+       7,     7,     7,   158,     7,  1318,   109,     4,   163,   242,
+       6,   238,     6,   168,     7,     6,  1329,     7,     7,     7,
+       7,     7,  1335,     7,     7,   242,     6,   182,   220,   221,
+     222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
+     232,  1051,  1052,     6,  1054,   237,  1056,  1057,     6,  1059,
+      97,  1061,  1062,  1063,  1064,  1065,  1066,  1067,  1068,  1069,
+       7,     6,     6,     4,     4,     4,   245,   247,   243,   239,
+     247,     6,     6,  1386,  1387,  1388,     6,  1485,   242,  1392,
+     242,  1394,   242,  1396,     7,  1398,     6,  1400,  1401,  1402,
+     240,     6,     6,  1683,     6,   242,     6,  1107,   247,   238,
+     238,     6,     6,   244,  1417,   241,     6,     6,   242,   264,
+     122,     6,   176,     6,   242,  1428,  1470,     6,   242,  1129,
+       6,   242,   242,  1436,     6,     6,  1439,     6,     6,     6,
+       6,  1141,   217,   218,   219,   220,   221,   222,   223,   224,
+     225,   226,   227,   228,   229,   230,   231,   232,  1523,     5,
+     239,   247,   237,     6,  1426,   239,   215,   216,   217,   218,
+     219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
+     229,   230,   231,   232,   239,  1529,   238,     4,   237,  1492,
+     239,     6,     4,  1591,   242,  1498,  1499,     6,   242,  1199,
+       7,  1504,   242,     6,   242,   240,   242,     6,   242,   242,
+     242,   242,  1212,  1213,  1214,   242,   242,     6,   242,     6,
+    1523,     6,   172,     6,   247,   247,  1529,     6,   239,   244,
+    1533,   215,   216,   217,   218,   219,   220,   221,   222,   223,
+     224,   225,   226,   227,   228,   229,   230,   231,   232,   247,
+       7,   242,     4,   237,     4,   247,   238,  1257,     6,     6,
+       6,     6,     6,     6,    95,     7,   238,     6,  1612,     6,
+       6,     6,     6,     5,   242,   239,   242,     6,     6,     6,
+       6,  1543,     6,     6,     6,     6,   247,     6,     6,  1654,
+       6,     6,  1657,   247,   239,   247,     6,     4,  1696,   242,
+       6,     6,     6,   242,  1877,  1608,  1609,     7,  1652,   242,
+       5,   243,     6,     6,   242,  1659,  1660,   243,  1318,   242,
+       6,   242,  1616,  1617,     7,  1905,     6,   171,  1631,  1329,
+       6,  1675,   239,     6,  1637,  1335,     7,   243,     6,     6,
+     243,     6,   243,  1646,     6,   244,   242,     6,     6,     6,
+       6,  1654,     6,     6,  1657,     6,   243,     6,   239,     6,
+     242,    13,    14,   174,     6,   242,     6,     6,   243,  1672,
+    1632,  1633,  1634,  1635,  1636,  1637,  1679,   522,   243,   238,
+    1683,   242,  1685,   243,   242,   242,  1386,  1387,  1388,     6,
+     128,   242,  1392,     6,  1394,     6,  1396,     6,  1398,  1972,
+    1400,  1401,  1402,   242,   239,     6,     6,     6,     6,   243,
+     243,     6,     6,     6,     6,     6,     6,  1417,   242,     6,
+     242,     6,     6,   242,     6,     6,     6,     6,  1428,     6,
+    1733,   576,   577,  2023,  1309,  1361,  1436,   426,  2011,    91,
+      92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
+     102,   103,  1537,  1838,  1597,   107,   108,   109,  1806,  1328,
+     112,     3,     3,     3,  1808,     3,   118,   119,  1771,   565,
+     122,   123,  1864,   125,   126,  1370,  1467,   622,   623,   624,
+    1783,     3,  1679,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,   144,  1796,    -1,    -1,    -1,    -1,  1842,  1802,
+      -1,    -1,    -1,    -1,  1504,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,   168,   169,   170,    -1,
+      -1,    -1,   667,    -1,    -1,    -1,    -1,  1830,    -1,  1529,
+      -1,    -1,    -1,    -1,    -1,    -1,  1839,    -1,    -1,    -1,
+    1843,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,   699,    -1,    -1,    -1,    -1,  1862,
+      -1,    -1,  1865,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,  1876,  1868,    -1,   721,  1880,    -1,    -1,
+      -1,    -1,   727,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,   243,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,  1905,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,  1915,    -1,    -1,    -1,    -1,    -1,    -1,  1881,
+    1882,  1883,  1884,  1885,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,  1631,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,  1945,  1987,    -1,    -1,  1646,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,   801,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     6,    -1,
+      -1,    -1,  1672,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,  1944,    -1,    -1,  1685,  1948,   218,   219,   220,
      221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
-     231,   232,    -1,    -1,    -1,    -1,   237,    -1,    -1,    -1,
-    2036,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,   381,    -1,    -1,    -1,   385,    -1,    -1,    -1,    -1,
+     231,   232,    -1,   848,    -1,    -1,   237,    -1,    -1,    -1,
+    2013,  2014,  2015,  2016,  2017,    -1,   861,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,   401,   402,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,   415,    -1,    -1,    -1,    -1,
-       6,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,  2097,    -1,   433,    -1,    -1,    -1,    -1,    -1,   439,
-      -1,    -1,    -1,    -1,   444,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   458,    -1,
-      -1,    -1,    -1,    -1,   464,   465,   466,   467,   468,   469,
-     470,   471,   472,   473,   474,   475,   476,   477,   478,   479,
-     480,   481,   482,   483,   484,   485,   486,   487,   488,    -1,
-     490,   491,    -1,   493,    -1,    -1,    -1,    -1,  1431,   499,
-      -1,    -1,    -1,   503,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,   517,    -1,    -1,
-      -1,    -1,   522,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-     530,   531,   532,   533,   534,   535,   536,   537,   538,   539,
-     540,   541,   542,   543,   544,   545,   546,   547,   548,   549,
-      -1,   551,   552,    -1,    -1,    -1,    -1,    -1,   558,   559,
-     560,    -1,    -1,    -1,    -1,   565,   566,   567,   568,   569,
-      -1,   571,    -1,   573,    -1,   575,   576,    -1,    -1,    -1,
+      -1,    -1,    -1,  1733,    -1,  1997,    -1,    -1,  2103,  2001,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,   892,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,  2017,  2059,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,  2130,  2131,    -1,    -1,    -1,
+      -1,  1771,    -1,    -1,    -1,  2078,    -1,    -1,    -1,    -1,
+      -1,    -1,  2147,    -1,    -1,    -1,    -1,    -1,    -1,   106,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,   594,   595,   596,    -1,    -1,    -1,
-     600,   601,   602,   603,   604,   605,   606,   607,   608,    -1,
-      -1,    -1,    -1,   613,    -1,   615,    -1,   617,    -1,    -1,
-      -1,   621,   622,   623,    -1,    -1,   626,   627,   628,   215,
-     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
-     226,   227,   228,   229,   230,   231,   232,    -1,    -1,    -1,
-      -1,   237,   652,    -1,    -1,    -1,    -1,    -1,   128,    -1,
-      -1,    -1,  1595,  1596,    -1,    -1,   666,    -1,    -1,    -1,
-      -1,   671,    -1,   673,    -1,   675,   676,    -1,    -1,    -1,
-      -1,    -1,   682,    -1,    -1,    -1,    -1,    -1,   688,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   698,    -1,
-      -1,    -1,    -1,    -1,   704,   705,    -1,    -1,    -1,    -1,
+    2103,    -1,    -1,    -1,    -1,    -1,  2068,  2069,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,   132,    -1,  2120,     6,   136,
+      -1,    -1,    -1,   140,    -1,    -1,    -1,  2130,  2131,    -1,
+    1830,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1839,
+     157,   158,   159,   160,  2147,   162,   163,   164,   165,    -1,
+     167,   168,   169,   170,   171,   172,   173,   174,    -1,   176,
+     177,   178,  1862,    -1,    -1,   182,    -1,    -1,  1013,  1014,
+    1015,  1016,    -1,    -1,    -1,    -1,  1876,   215,   216,   217,
+     218,   219,   220,   221,   222,   223,   224,   225,   226,   227,
+     228,   229,   230,   231,   232,    -1,    -1,    -1,    -1,   237,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-     720,    -1,   722,   723,    -1,    -1,   726,   727,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,   735,    -1,    -1,    -1,   739,
-      -1,    -1,   742,    -1,   744,   215,   216,   217,   218,   219,
-     220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
-     230,   231,   232,     4,     5,   765,    -1,   237,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,  1915,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1072,    -1,   246,
+     247,   248,   249,   250,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,  1945,   263,   264,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-     158,    -1,    -1,    -1,    -1,   163,    -1,    -1,    -1,    -1,
-     168,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-     800,    -1,    -1,    -1,   182,    46,    47,    48,    49,    50,
-      51,    52,    53,    54,    -1,    -1,    -1,    -1,    59,    60,
-      61,    62,    -1,    -1,    -1,    -1,    67,    68,    69,    -1,
-      -1,    72,    -1,    74,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    85,  1778,   846,    88,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   859,
-      -1,    -1,    -1,    -1,    -1,    -1,   866,    -1,    -1,   247,
-      -1,    -1,   250,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,   125,    -1,   264,    -1,    -1,    -1,
-     890,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   898,   899,
-      -1,    -1,    -1,    -1,   904,    -1,    -1,    -1,    -1,    -1,
-      -1,  1844,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-     920,    -1,    -1,   923,    -1,    -1,  1859,    -1,    -1,    -1,
+      -1,    -1,   279,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,   289,   290,    -1,    -1,    -1,    -1,   295,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   305,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1142,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   326,
+      -1,    -1,    -1,   330,   331,   332,    -1,   334,    -1,    -1,
+      -1,   338,   339,   340,    -1,    -1,   343,   215,   216,   217,
+     218,   219,   220,   221,   222,   223,   224,   225,   226,   227,
+     228,   229,   230,   231,   232,    -1,    -1,    -1,    -1,   237,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2059,
+      -1,    -1,    -1,    -1,   381,    -1,    -1,    -1,   385,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1223,    -1,
+      -1,    -1,    -1,    -1,   401,   402,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   415,    -1,
+      -1,    -1,    -1,    -1,     6,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,   433,    -1,    -1,    -1,
+    2120,    -1,   439,    -1,    -1,    -1,    -1,   444,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,   942,    -1,   944,   945,    -1,    -1,    -1,    -1,
-      -1,   192,   193,   194,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,   203,   963,    -1,    -1,   207,    -1,   209,   210,
+      -1,   458,    -1,    -1,    -1,    -1,    -1,   464,   465,   466,
+     467,   468,   469,   470,   471,   472,   473,   474,   475,   476,
+     477,   478,   479,   480,   481,   482,   483,   484,   485,   486,
+     487,   488,    -1,   490,   491,   158,   493,    -1,    -1,    -1,
+     163,    -1,   499,    -1,    -1,   168,   503,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   182,
+     517,    -1,    -1,    -1,    -1,   522,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,   531,   532,   533,   534,   535,   536,
+     537,   538,   539,   540,   541,   542,   543,   544,   545,   546,
+     547,   548,   549,   550,    -1,   552,   553,    -1,    -1,    -1,
+      -1,    -1,   559,   560,   561,    -1,    -1,    -1,    -1,   566,
+     567,   568,   569,   570,    -1,   572,     6,   574,    -1,   576,
+     577,    -1,    -1,    -1,   247,    -1,    -1,   250,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   595,   596,
+     597,   264,    -1,    -1,   601,   602,   603,   604,   605,   606,
+     607,   608,   609,    -1,  1439,    -1,    -1,   614,     6,   616,
+      -1,   618,    -1,    -1,    -1,   622,   623,   624,    -1,    -1,
+     627,   628,   629,   215,   216,   217,   218,   219,   220,   221,
+     222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
+     232,    -1,    -1,    -1,    -1,   237,   653,    -1,    -1,    -1,
+      -1,    -1,   128,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     667,    -1,    -1,    -1,    -1,   672,    -1,   674,    -1,   676,
+     677,    -1,    -1,    -1,    -1,    -1,   683,    -1,    -1,    -1,
+      -1,    -1,   689,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,   699,    -1,    -1,    -1,    -1,    -1,   705,   706,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,   981,    -1,     4,     5,    -1,    -1,    -1,   988,   989,
-     990,   991,    -1,    -1,   235,   236,   996,    -1,    -1,    -1,
-      -1,   242,    -1,   244,    -1,    -1,    -1,    -1,    -1,    -1,
-    1010,  1011,  1012,  1013,  1014,  1015,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    46,    47,    48,    49,    50,
-      51,    52,    53,    54,    -1,    -1,    -1,    -1,    59,    60,
-      61,    62,    -1,    -1,    -1,    -1,    67,    68,    69,    -1,
-      -1,    72,    -1,    74,    -1,   433,    -1,  1990,  1991,  1992,
-    1993,  1994,     7,     8,    85,    -1,    -1,    88,    -1,    -1,
-    1070,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,  1083,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,  1093,  1094,  1095,    -1,    -1,    -1,    -1,
-    1100,  1101,   480,  1103,   125,    -1,    -1,    -1,    -1,   487,
-     488,  1111,     6,  1113,  1114,  1115,  1116,  1117,    -1,    -1,
-      -1,    -1,  2055,    -1,  1124,    -1,    -1,    -1,    -1,  1129,
-    1130,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1138,   517,
-      -1,    -1,    -1,    -1,   522,    -1,    -1,    -1,  1148,    -1,
-    1150,    -1,  1152,    -1,  1154,    -1,    -1,    -1,     6,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,   544,    -1,    -1,    -1,
-      -1,   192,   193,   194,    -1,  1175,    -1,    -1,    -1,    -1,
-      -1,    -1,   203,    -1,    -1,    -1,   207,    -1,   209,   210,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,   575,   576,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1207,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   239,  1219,
-     241,    -1,    -1,    -1,    -1,    -1,    -1,  1227,    -1,    -1,
+       6,    -1,    -1,    -1,   721,    -1,   723,   724,    -1,    -1,
+     727,   728,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   736,
+      -1,    -1,    -1,   740,    -1,    -1,   743,    -1,   745,   215,
+     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
+     226,   227,   228,   229,   230,   231,   232,    -1,    -1,   766,
+     433,   237,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,  1608,  1609,   215,   216,   217,   218,   219,
+     220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
+     230,   231,   232,    -1,   801,    -1,    -1,   237,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,   480,    -1,    -1,
+      -1,    -1,    -1,    -1,   487,   488,    -1,   215,   216,   217,
+     218,   219,   220,   221,   222,   223,   224,   225,   226,   227,
+     228,   229,   230,   231,   232,    -1,    -1,    -1,    -1,   237,
+      -1,   848,    -1,    -1,   517,    -1,    -1,    -1,    -1,   522,
+      -1,    -1,    -1,    -1,   861,    -1,    -1,    -1,    -1,    -1,
+      -1,   868,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,   545,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,   892,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,   900,   901,    -1,    -1,    -1,    -1,   906,
+      -1,    -1,    -1,   576,   577,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,   922,    -1,    -1,   925,   215,
+     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
+     226,   227,   228,   229,   230,   231,   232,   944,    -1,   946,
+     947,   237,    -1,     6,    -1,    -1,    -1,    -1,    -1,   622,
+     623,   624,    -1,    -1,    -1,    -1,    -1,    -1,   965,    -1,
+      -1,  1796,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,   983,    -1,    -1,    -1,
+      -1,    -1,    -1,   990,   991,   992,   993,    -1,    -1,    -1,
+      -1,   998,    -1,    -1,   667,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,  1012,  1013,  1014,  1015,  1016,
+    1017,    -1,    -1,    -1,    -1,    -1,     6,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,   699,    -1,    -1,    -1,
+    1865,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,  1880,    -1,    -1,   721,    -1,
+      -1,    -1,    -1,    -1,   727,     6,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,  1072,    -1,    -1,    -1,    -1,
+     743,    -1,   745,    -1,    -1,    -1,    -1,    -1,  1085,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1095,  1096,
+    1097,    -1,    -1,    -1,    -1,  1102,  1103,    -1,  1105,    -1,
+      -1,     6,    -1,    -1,    -1,    -1,  1113,    -1,  1115,  1116,
+    1117,  1118,  1119,    -1,    -1,    -1,    -1,    -1,    -1,  1126,
+      -1,    -1,    -1,    -1,    -1,  1132,  1133,    -1,   801,    -1,
+      -1,    -1,  1139,    -1,    -1,  1142,     6,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,  1152,    -1,  1154,    -1,  1156,
+      -1,  1158,   215,   216,   217,   218,   219,   220,   221,   222,
+     223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
+       7,     8,  1179,    -1,   237,   848,    -1,    -1,  2013,  2014,
+    2015,  2016,  2017,    -1,    -1,    -1,    -1,    -1,   861,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,   621,   622,   623,    -1,    -1,    -1,  1249,
+      -1,    -1,    -1,    -1,  1211,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,  1223,    -1,    -1,   892,
+      -1,    -1,    -1,    -1,  1231,   215,   216,   217,   218,   219,
+     220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
+     230,   231,   232,  2078,    -1,    -1,  1253,   237,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,  1263,    -1,    -1,  1266,    -1,    -1,    -1,
+    1267,     6,    -1,  1270,   215,   216,   217,   218,   219,   220,
+     221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
+     231,   232,    -1,    -1,    -1,    -1,   237,    -1,     6,    -1,
+    1297,    -1,    -1,    -1,    -1,    -1,    -1,  1304,  1305,  1306,
+    1307,    -1,    -1,    -1,    -1,    -1,  1313,    -1,  1315,  1316,
      215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
-     225,   226,   227,   228,   229,   230,   231,   232,   666,    -1,
-      -1,    -1,   237,    -1,    -1,    -1,    -1,    -1,    -1,  1299,
-    1300,  1301,  1302,    -1,    -1,    -1,    -1,    -1,    -1,  1309,
-    1310,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-     698,   215,   216,   217,   218,   219,   220,   221,   222,   223,
-     224,   225,   226,   227,   228,   229,   230,   231,   232,    -1,
-      -1,    -1,   720,   237,    -1,    -1,    -1,    -1,   726,    -1,
+     225,   226,   227,   228,   229,   230,   231,   232,    -1,    -1,
+      -1,    -1,   237,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+    1013,  1014,  1015,  1016,    -1,   215,   216,   217,   218,   219,
+     220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
+     230,   231,   232,    -1,    -1,    -1,    -1,   237,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   215,   216,
+     217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
+     227,   228,   229,   230,   231,   232,    -1,    -1,    -1,  1072,
+     237,  1408,  1409,  1410,    -1,    -1,    -1,    -1,    -1,    -1,
+    1417,    -1,  1419,    -1,    -1,    -1,    -1,    -1,    -1,  1426,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,   742,    -1,   744,   215,   216,   217,
+      -1,    -1,  1439,    -1,    -1,    -1,    -1,  1444,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,  1452,  1453,  1454,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,  1462,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,  1471,    -1,    -1,    -1,    -1,  1142,
+     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
+     225,   226,   227,   228,   229,   230,   231,   232,    -1,  1496,
+      -1,    -1,   237,    -1,    -1,  1502,  1503,   215,   216,   217,
      218,   219,   220,   221,   222,   223,   224,   225,   226,   227,
      228,   229,   230,   231,   232,    -1,    -1,    -1,    -1,   237,
+      -1,    -1,   406,    -1,    -1,    -1,  1533,    -1,    -1,     6,
+      -1,    -1,    -1,    -1,  1541,  1542,    -1,    -1,    -1,    -1,
+      -1,  1548,  1549,    -1,    -1,    -1,    -1,    -1,  1555,    -1,
+    1223,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,  1572,  1573,  1574,    -1,    -1,
+      -1,    -1,    -1,  1580,  1581,  1582,  1583,    -1,    -1,    -1,
+      -1,     6,    -1,  1590,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,  1599,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,  1608,  1609,  1610,    -1,  1612,    -1,    -1,    -1,    -1,
+      -1,  1618,  1619,    -1,    -1,    -1,   500,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    1400,  1401,  1402,    -1,    -1,    -1,    -1,    -1,    -1,  1409,
-      -1,  1411,    -1,    -1,    -1,    -1,    -1,    -1,  1418,    -1,
-      -1,    -1,   800,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,  1431,    -1,    -1,    -1,    -1,  1436,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,  1444,  1445,  1446,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,  1454,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,  1463,    -1,    -1,    -1,    -1,   846,    -1,
+    1637,    -1,    -1,    -1,  1641,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,  1652,    -1,    -1,  1655,    -1,
+      -1,    -1,  1659,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1676,
+      -1,    -1,   556,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,  1689,    -1,    -1,    -1,    -1,  1694,  1695,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,   859,    -1,    -1,    -1,    -1,    -1,     6,  1488,    -1,
-      -1,    -1,    -1,    -1,  1494,  1495,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,   890,    -1,    -1,    -1,    -1,    -1,     6,    -1,
-      -1,    -1,    -1,  1523,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,  1531,  1532,    -1,    -1,    -1,    -1,    -1,  1538,  1539,
-      -1,    -1,    -1,    -1,    -1,  1545,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,  1562,  1563,  1564,    -1,    -1,    -1,    -1,    -1,
-    1570,  1571,  1572,  1573,     6,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,  1586,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,  1595,  1596,  1597,    -1,  1599,
-      -1,    -1,    -1,    -1,    -1,  1605,  1606,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,  1624,    -1,    -1,    -1,  1628,    -1,
-      -1,    -1,    -1,  1011,  1012,  1013,  1014,    -1,    -1,  1639,
-      -1,    -1,  1642,    -1,    -1,    -1,  1646,    -1,    -1,    -1,
-      -1,    -1,   406,    -1,    -1,    -1,    -1,    -1,    -1,     6,
-      -1,    -1,    -1,  1663,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,  1676,    -1,    -1,    -1,
-      -1,  1681,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       6,    -1,  1070,    -1,    -1,  1695,   215,   216,   217,   218,
+      -1,    -1,  1709,    -1,    -1,  1712,   215,   216,   217,   218,
      219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
      229,   230,   231,   232,    -1,    -1,    -1,    -1,   237,    -1,
-      -1,    -1,     6,    -1,    -1,    -1,  1726,   215,   216,   217,
-     218,   219,   220,   221,   222,   223,   224,   225,   226,   227,
-     228,   229,   230,   231,   232,    -1,   500,  1747,    -1,   237,
-      -1,    -1,    -1,    -1,    -1,    -1,  1756,    -1,    -1,    -1,
-    1138,    -1,    -1,    -1,    -1,  1765,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,  1774,  1775,    -1,    -1,  1778,    -1,
-      -1,    -1,    -1,   215,   216,   217,   218,   219,   220,   221,
-     222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
-     232,   555,    -1,    -1,    -1,   237,    -1,    -1,    -1,  1809,
-    1810,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,  1821,    -1,    -1,    -1,    -1,    -1,    -1,  1828,    -1,
-      -1,    -1,    -1,    -1,  1834,  1835,  1836,  1837,  1838,    -1,
-      -1,  1219,    -1,    -1,  1844,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1859,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1867,   215,   216,
-     217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
-     227,   228,   229,   230,   231,   232,     6,    -1,    -1,    -1,
-     237,  1891,    -1,    -1,    -1,    -1,    -1,  1897,  1898,   215,
-     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
-     226,   227,   228,   229,   230,   231,   232,     6,    -1,    -1,
-      -1,   237,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    1930,   215,   216,   217,   218,   219,   220,   221,   222,   223,
-     224,   225,   226,   227,   228,   229,   230,   231,   232,     6,
-      -1,    -1,    -1,   237,    -1,  1955,  1956,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1967,  1968,  1969,
-    1970,  1971,  1972,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,  1985,    -1,    -1,    -1,    -1,
-    1990,  1991,  1992,  1993,  1994,    -1,    -1,    -1,    -1,    -1,
-    2000,    -1,    -1,    -1,  2004,    -1,    -1,    -1,    -1,    -1,
-       6,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   772,   773,
-     774,   775,   776,   777,   778,   779,   780,   781,   782,    -1,
-     784,   785,   786,   787,  2034,   789,   790,   791,   792,  2039,
-    2040,  2041,  2042,  2043,  2044,     6,    -1,    -1,    -1,   803,
-      -1,   805,    -1,  1431,    -1,  2055,    -1,    -1,   812,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   823,
-     824,    -1,    -1,    -1,    -1,    -1,    -1,   831,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,  2086,  2087,  2088,  2089,
-    2090,  2091,    -1,    -1,    -1,   215,   216,   217,   218,   219,
-     220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
-     230,   231,   232,    -1,    -1,    -1,    -1,   237,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,   215,   216,   217,   218,
-     219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
-     229,   230,   231,   232,    -1,  1523,    -1,    -1,   237,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   215,   216,
+      -1,    -1,    -1,    -1,   243,    -1,    -1,  1744,   215,   216,
      217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
-     227,   228,   229,   230,   231,   232,    -1,    -1,    -1,    -1,
-     237,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,   949,   950,   951,    -1,    -1,
-      -1,   955,   956,    -1,    -1,   959,   960,   961,   962,    -1,
-     964,    -1,    -1,    -1,    -1,   969,    -1,  1595,  1596,   215,
-     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
-     226,   227,   228,   229,   230,   231,   232,     7,    -1,    -1,
-      -1,   237,    -1,    -1,    -1,    -1,  1624,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,   215,   216,   217,   218,   219,   220,
+     227,   228,   229,   230,   231,   232,    -1,    -1,  1765,    -1,
+     237,    -1,    -1,    -1,    -1,    -1,  1439,  1774,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,  1783,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,  1792,  1793,    -1,    -1,  1796,
+     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
+     225,   226,   227,   228,   229,   230,   231,   232,    -1,    -1,
+      -1,    -1,   237,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+    1827,  1828,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,  1841,    -1,    -1,    -1,    -1,    -1,
+      -1,  1848,    -1,    -1,    -1,    -1,    -1,  1854,  1855,  1856,
+    1857,  1858,    -1,    -1,    -1,    -1,    -1,    -1,  1865,    -1,
+    1533,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,  1880,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,  1888,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   773,
+     774,   775,   776,   777,   778,   779,   780,   781,   782,   783,
+      -1,   785,   786,   787,   788,  1912,   790,   791,   792,   793,
+      -1,  1918,    -1,    -1,  1921,     6,    -1,    -1,    -1,    -1,
+     804,    -1,   806,    -1,    -1,    -1,    -1,    -1,    -1,   813,
+      -1,    -1,    -1,    -1,    -1,  1608,  1609,    -1,    -1,    -1,
+     824,   825,    -1,    -1,    -1,    -1,  1953,    -1,    -1,   833,
+      -1,    -1,    -1,    -1,    -1,     7,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,  1637,    -1,    -1,    -1,    -1,    -1,
+      -1,  1978,  1979,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,  1990,  1991,  1992,  1993,  1994,  1995,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,  2008,    -1,    -1,    -1,    -1,  2013,  2014,  2015,  2016,
+    2017,    -1,    -1,    -1,    -1,    -1,  2023,    -1,    -1,    -1,
+    2027,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    22,    23,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+    2057,    -1,    -1,    -1,    -1,  2062,  2063,  2064,  2065,  2066,
+    2067,    -1,    -1,    -1,    -1,    -1,    -1,   951,   952,   953,
+      -1,  2078,    -1,   957,   958,    -1,    -1,   961,   962,   963,
+     964,    -1,   966,    -1,    -1,    -1,    -1,   971,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,  2109,  2110,  2111,  2112,  2113,  2114,    -1,    -1,
+    1783,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,  1796,   215,   216,   217,   218,   219,   220,
      221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
-     231,   232,    -1,    -1,    -1,    -1,   237,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1043,
-    1044,    -1,    -1,    -1,     3,     4,     5,    -1,    -1,    -1,
-      -1,    10,    11,    12,    -1,    -1,    15,    16,    17,    18,
-      19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
-      29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
-      39,    40,    41,    42,    43,    -1,    -1,    46,    47,    48,
-      49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
-      59,    60,    61,    62,    63,     8,    -1,    -1,    67,    68,
-      69,    -1,    -1,    72,    -1,    74,    75,    76,    77,    -1,
-      -1,    -1,    -1,    -1,    83,    84,    85,    86,    -1,    88,
-      -1,    -1,    91,    -1,    -1,    94,    -1,  1765,    97,    -1,
-      99,    -1,    -1,    -1,    -1,    -1,    -1,   106,    -1,    -1,
-    1778,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   118,
-      -1,   120,    -1,    -1,   123,    -1,   125,    -1,    -1,    -1,
-      -1,    -1,    -1,   132,   133,   134,   135,   136,    -1,    -1,
-     139,   140,   141,   142,   143,    -1,    -1,    -1,   147,    -1,
-      -1,   150,    -1,    -1,    -1,   215,   216,   217,   218,   219,
-     220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
-     230,   231,   232,    -1,    -1,    -1,  1844,   237,    -1,    -1,
+     231,   232,    -1,    -1,    -1,    -1,   237,    -1,   132,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,  1045,  1046,   215,   216,   217,   218,   219,   220,   221,
+     222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
+     232,    -1,    -1,    -1,    -1,   237,    -1,    -1,    -1,    -1,
+      -1,    -1,  1865,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,     8,    -1,    -1,    -1,    -1,    -1,  1880,   192,   193,
+     194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
+     204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
+     214,   215,   216,   217,   218,   219,   220,    -1,   222,   223,
+      -1,    -1,    -1,    -1,   228,   229,    -1,    -1,    -1,    -1,
+       3,     4,     5,    -1,   238,   239,    -1,    10,    11,    12,
+      -1,    -1,    15,    16,    17,    18,    19,    20,    21,    22,
+      23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
+      33,    34,    35,    36,    37,    38,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    46,    47,    48,    49,    50,    51,    52,
+      53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
+      63,    -1,    -1,    -1,    67,    68,    69,    -1,    -1,    72,
+      -1,    74,    75,    76,    77,    -1,    -1,    -1,    -1,    -1,
+      83,    84,    85,    86,    -1,    88,    -1,    -1,    -1,    -1,
+    2013,  2014,  2015,  2016,  2017,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,  1859,   191,   192,   193,   194,   195,   196,    -1,    -1,
-      -1,   200,   201,   202,   203,   204,   205,   206,   207,    -1,
-     209,   210,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,   226,   227,    -1,
-      -1,  1275,    -1,    -1,   233,    -1,    -1,    -1,    -1,   238,
-      -1,    -1,    -1,   242,    -1,    -1,   245,    -1,   215,   216,
+      -1,   345,   346,   347,    -1,    -1,    -1,   351,   352,   353,
+     354,   355,   356,   357,    -1,   359,    -1,    -1,    -1,   363,
+     364,     8,    -1,   367,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,  1279,   380,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,  2078,    -1,    -1,   215,   216,
      217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
-     227,   228,   229,   230,   231,   232,    -1,  1311,    13,    14,
-     237,    -1,   215,   216,   217,   218,   219,   220,   221,   222,
-     223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
-      -1,    -1,    -1,    -1,   237,    -1,    -1,    -1,    -1,    -1,
-    1344,  1345,  1346,  1347,  1348,    -1,    -1,    -1,    -1,  1353,
-    1354,    -1,  1356,    -1,    -1,    -1,    -1,    -1,  1362,    -1,
-      -1,    -1,  1990,  1991,  1992,  1993,  1994,    -1,    -1,    -1,
-      -1,  1375,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     227,   228,   229,   230,   231,   232,    -1,    -1,    13,    14,
+     237,    -1,    -1,  1317,    -1,    -1,    -1,    -1,   191,   192,
+     193,   194,   195,    -1,    -1,    -1,    -1,   200,   201,   202,
+     203,   204,   205,   206,   207,    -1,   209,   210,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,  1350,  1351,  1352,  1353,
+    1354,    -1,    -1,   226,   227,  1359,  1360,    -1,  1362,    -1,
+     233,    -1,    -1,    -1,  1368,   238,    -1,    -1,    -1,   242,
+      -1,    -1,   245,    -1,    -1,    -1,    -1,    -1,    -1,  1383,
       -1,    -1,    -1,    -1,    -1,    -1,    91,    92,    93,    94,
       95,    96,    97,    98,    99,   100,   101,   102,   103,    -1,
       -1,    -1,   107,   108,   109,    -1,    -1,   112,    -1,    -1,
-      -1,    -1,    -1,   118,   119,    -1,    -1,   122,   123,     8,
-     125,   126,    -1,    -1,    -1,    -1,    -1,  2055,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   144,
-      -1,    -1,    -1,    -1,    -1,    -1,  1450,    -1,  1452,    -1,
-      -1,    -1,  1456,    -1,  1458,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,   168,   169,   170,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,     3,     4,     5,    -1,
-      -1,    -1,    -1,    10,    11,    12,  1490,    -1,    15,    16,
-      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
-      27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
-      37,    38,    39,    40,    41,    42,    43,    -1,    -1,    46,
-      47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
-      57,    58,    59,    60,    61,    62,    63,    -1,   243,    -1,
-      67,    68,    69,    -1,    -1,    72,    -1,    74,    75,    76,
-      77,    -1,    -1,    -1,    -1,    -1,    83,    84,    85,    86,
-      -1,    88,    -1,    -1,    91,    -1,    -1,    94,    -1,    -1,
-      97,    -1,    99,    -1,    -1,    -1,    -1,    -1,    -1,   106,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,   118,    -1,   120,    -1,    -1,   123,    -1,   125,    -1,
-      -1,    -1,    -1,    -1,    -1,   132,   133,   134,   135,   136,
-      -1,    -1,   139,   140,   141,   142,   143,     8,    -1,    -1,
-     147,    -1,    -1,   150,    -1,    -1,   215,   216,   217,   218,
-     219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
-     229,   230,   231,   232,    -1,    -1,    -1,    -1,   237,    -1,
-      -1,    -1,    -1,     8,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,   191,   192,   193,   194,   195,   196,
-    1674,  1675,    -1,   200,   201,   202,   203,   204,   205,   206,
-     207,     8,   209,   210,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   226,
-     227,    -1,    -1,    -1,    -1,    -1,   233,    -1,    -1,    -1,
-      -1,   238,    -1,  1717,  1718,   242,    -1,    -1,   245,    -1,
+      -1,    -1,    -1,   118,   119,    -1,    -1,   122,   123,    -1,
+     125,   126,    -1,    -1,    -1,    -1,   530,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     8,   144,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,     3,     4,     5,
-      -1,     7,    -1,    -1,    10,    11,    12,    -1,    -1,    15,
+      -1,    -1,    -1,    -1,  1458,    -1,  1460,    -1,    -1,    -1,
+    1464,    -1,  1466,   168,   169,   170,    -1,    -1,   215,   216,
+     217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
+     227,   228,   229,   230,   231,   232,    -1,    -1,    -1,    -1,
+     237,    -1,    -1,    -1,  1498,    -1,    -1,     3,     4,     5,
+      -1,    -1,    -1,    -1,    10,    11,    12,    -1,    -1,    15,
       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
       26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
-      36,    37,    38,    -1,    -1,    -1,    -1,    -1,  1782,  1783,
+      36,    37,    38,    39,    40,    41,    42,    43,   243,    -1,
       46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
       56,    57,    58,    59,    60,    61,    62,    63,    -1,    -1,
       -1,    67,    68,    69,    -1,    -1,    72,    -1,    74,    75,
       76,    77,    -1,    -1,    -1,    -1,    -1,    83,    84,    85,
-      86,    -1,    88,    -1,   215,   216,   217,   218,   219,   220,
-     221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
-     231,   232,    -1,    -1,    -1,    -1,   237,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   125,
-     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
-     225,   226,   227,   228,   229,   230,   231,   232,    -1,    -1,
-      -1,    -1,   237,    -1,    -1,    -1,    -1,    -1,   215,   216,
-     217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
-     227,   228,   229,   230,   231,   232,    -1,    -1,    -1,    -1,
-     237,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   184,    -1,
-      -1,    -1,    -1,    -1,    -1,   191,   192,   193,   194,   195,
-      -1,    -1,    -1,    -1,   200,   201,   202,   203,   204,   205,
-     206,   207,    -1,   209,   210,   211,   212,   213,   214,    -1,
+      86,    -1,    88,    -1,    -1,    91,    -1,    -1,    94,    -1,
+      -1,    97,    -1,    99,    -1,    -1,    -1,    -1,    -1,    -1,
+     106,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,   118,    -1,   120,    -1,    -1,   123,    -1,   125,
+      -1,    -1,    -1,    -1,    -1,    -1,   132,   133,   134,   135,
+     136,    -1,    -1,   139,   140,   141,   142,   143,    -1,    -1,
+      -1,   147,    -1,    -1,   150,   215,   216,   217,   218,   219,
+     220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
+     230,   231,   232,    -1,    -1,    -1,    -1,   237,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,  1687,  1688,   191,   192,   193,   194,   195,
+     196,    -1,    -1,    -1,   200,   201,   202,   203,   204,   205,
+     206,   207,     8,   209,   210,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     226,   227,    -1,    -1,    -1,    -1,    -1,   233,    -1,    -1,
+    1734,  1735,   238,    -1,    -1,    -1,   242,    -1,    -1,   245,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-     226,   227,    -1,    -1,    -1,    -1,    -1,   233,    -1,   235,
-     236,    -1,   238,    -1,   240,     3,     4,     5,   244,   245,
+      -1,    -1,    -1,    -1,    -1,     3,     4,     5,    -1,    -1,
       -1,    -1,    10,    11,    12,    -1,    -1,    15,    16,    17,
       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
+      38,    39,    40,    41,    42,    43,  1800,  1801,    46,    47,
+      48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
+      58,    59,    60,    61,    62,    63,    -1,    -1,    -1,    67,
+      68,    69,    -1,    -1,    72,    -1,    74,    75,    76,    77,
+      -1,    -1,    -1,    -1,    -1,    83,    84,    85,    86,    -1,
+      88,    -1,    -1,    91,    -1,    -1,    94,    -1,    -1,    97,
+      -1,    99,    -1,    -1,    -1,    -1,    -1,    -1,   106,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     118,    -1,   120,    -1,    -1,   123,    -1,   125,     8,    -1,
+      -1,    -1,    -1,    -1,   132,   133,   134,   135,   136,    -1,
+      -1,   139,   140,   141,   142,   143,    -1,    -1,    -1,   147,
+      -1,    -1,   150,    -1,    -1,    -1,    -1,     8,    -1,   215,
+     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
+     226,   227,   228,   229,   230,   231,   232,    -1,    -1,    -1,
+      -1,   237,    -1,    -1,    -1,  1039,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,   191,   192,   193,   194,   195,   196,    -1,
+      -1,    -1,   200,   201,   202,   203,   204,   205,   206,   207,
+      -1,   209,   210,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   226,   227,
+      -1,    -1,    -1,    -1,    -1,   233,    -1,    -1,    -1,    -1,
+     238,     3,     4,     5,   242,     7,    -1,   245,    10,    11,
+      12,    -1,    -1,    15,    16,    17,    18,    19,    20,    21,
+      22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
+      32,    33,    34,    35,    36,    37,    38,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    46,    47,    48,    49,    50,    51,
+      52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
+      62,    63,    -1,    -1,    -1,    67,    68,    69,    -1,    -1,
+      72,    -1,    74,    75,    76,    77,    -1,    -1,    -1,    -1,
+      -1,    83,    84,    85,    86,    -1,    88,    -1,    -1,    -1,
+      -1,    -1,    -1,  2087,    -1,   215,   216,   217,   218,   219,
+     220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
+     230,   231,   232,    -1,    -1,    -1,    -1,   237,    -1,    -1,
+      -1,    -1,    -1,   125,   215,   216,   217,   218,   219,   220,
+     221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
+     231,   232,    -1,    -1,    -1,    -1,   237,   215,   216,   217,
+     218,   219,   220,   221,   222,   223,   224,   225,   226,   227,
+     228,   229,   230,   231,   232,    -1,    -1,    -1,    -1,   237,
+      -1,   239,    -1,   241,    -1,    -1,    -1,    -1,    -1,   247,
+      -1,    -1,   184,    -1,    -1,    -1,  1280,  1281,    -1,   191,
+     192,   193,   194,   195,    -1,    -1,    -1,    -1,   200,   201,
+     202,   203,   204,   205,   206,   207,    -1,   209,   210,   211,
+     212,   213,   214,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,   226,   227,    -1,    -1,    -1,    -1,
+      -1,   233,    -1,   235,   236,    -1,   238,    -1,   240,     3,
+       4,     5,   244,   245,    -1,    -1,    10,    11,    12,    -1,
+      -1,    15,    16,    17,    18,    19,    20,    21,    22,    23,
+      24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
+      34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    55,    56,    57,    58,    -1,    -1,    -1,    -1,    63,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    75,    76,    77,    -1,    -1,    13,    14,    -1,    83,
+      84,    -1,    86,    -1,    -1,    -1,    -1,    91,    -1,    -1,
+      94,    -1,    -1,    97,    -1,    99,    -1,    -1,    -1,    -1,
+      -1,    -1,   106,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,   118,    -1,   120,    -1,    -1,   123,
+      -1,   125,    -1,    -1,    -1,    -1,    -1,    -1,   132,   133,
+     134,   135,   136,    -1,    -1,   139,   140,   141,   142,   143,
+      -1,    -1,    -1,   147,    -1,    -1,   150,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    91,    92,    93,    94,    95,    96,
+      97,    98,    99,   100,   101,   102,   103,    -1,    -1,    -1,
+     107,   108,   109,    -1,    -1,   112,    -1,    -1,    -1,    -1,
+      -1,   118,   119,    -1,    -1,   122,   123,   191,   125,   126,
+      -1,   195,   196,    -1,    -1,    -1,   200,   201,   202,    -1,
+     204,   205,   206,    -1,    -1,    -1,   210,   144,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,   226,   227,    -1,    -1,    -1,    -1,    -1,   233,
+      -1,   168,   169,   170,   238,     3,     4,     5,   242,    -1,
+      -1,   245,    10,    11,    12,    -1,    -1,    15,    16,    17,
+      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
+      28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
       38,    39,    40,    41,    42,    43,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    55,    56,    57,
       58,    -1,    -1,    -1,    -1,    63,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    75,    76,    77,
+      -1,    -1,    -1,    -1,    -1,    -1,   243,    75,    76,    77,
       -1,    -1,    13,    14,    -1,    83,    84,    -1,    86,    -1,
-    2064,    -1,    -1,    91,    -1,    -1,    94,    -1,    -1,    97,
+      -1,    -1,    -1,    91,    -1,    -1,    94,    -1,    -1,    97,
       -1,    99,    -1,    -1,    -1,    -1,    -1,    -1,   106,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      118,    -1,   120,    -1,    -1,   123,    -1,   125,    -1,    -1,
@@ -4259,7 +4337,7 @@ static const yytype_int16 yycheck[] =
       -1,    -1,   210,   144,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   226,   227,
       -1,    -1,    -1,    -1,    -1,   233,    -1,   168,   169,   170,
-     238,     3,     4,     5,   242,    -1,    -1,   245,    10,    11,
+     238,     3,     4,    -1,   242,    -1,    -1,   245,    10,    11,
       12,    -1,    -1,    15,    16,    17,    18,    19,    20,    21,
       22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
@@ -4283,7 +4361,7 @@ static const yytype_int16 yycheck[] =
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,   226,   227,    -1,    -1,    -1,    -1,
       -1,   233,    -1,   168,   169,   170,   238,     3,     4,    -1,
-     242,    -1,    -1,   245,    10,    11,    12,    -1,    -1,    15,
+     242,   243,    -1,   245,    10,    11,    12,    -1,    -1,    15,
       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
       26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
       36,    37,    38,    39,    40,    41,    42,    43,    -1,    -1,
@@ -4306,7 +4384,7 @@ static const yytype_int16 yycheck[] =
      206,    -1,    -1,    -1,   210,   144,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      226,   227,    -1,    -1,    -1,    -1,    -1,   233,    -1,   168,
-     169,   170,   238,     3,     4,    -1,   242,   243,    -1,   245,
+     169,   170,   238,     3,     4,    -1,   242,    -1,    -1,   245,
       10,    11,    12,    -1,    -1,    15,    16,    17,    18,    19,
       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
@@ -4377,7 +4455,7 @@ static const yytype_int16 yycheck[] =
       -1,    -1,   210,   144,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   226,   227,
       -1,    -1,    -1,    -1,    -1,   233,    -1,   168,   169,   170,
-     238,     3,     4,    -1,   242,    -1,    -1,   245,    10,    11,
+     238,     3,     4,    -1,    -1,   243,    -1,   245,    10,    11,
       12,    -1,    -1,    15,    16,    17,    18,    19,    20,    21,
       22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
@@ -4401,7 +4479,7 @@ static const yytype_int16 yycheck[] =
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,   226,   227,    -1,    -1,    -1,    -1,
       -1,   233,    -1,   168,   169,   170,   238,     3,     4,    -1,
-      -1,   243,    -1,   245,    10,    11,    12,    -1,    -1,    15,
+     242,    -1,    -1,   245,    10,    11,    12,    -1,    -1,    15,
       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
       26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
       36,    37,    38,    39,    40,    41,    42,    43,    -1,    -1,
@@ -4489,10 +4567,10 @@ static const yytype_int16 yycheck[] =
       -1,    -1,   150,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
      101,   102,   103,    -1,    -1,    -1,   107,   108,   109,    -1,
-      -1,   112,     8,    -1,    -1,    -1,    -1,   118,   119,    -1,
+      -1,   112,    -1,    -1,    -1,    -1,    -1,   118,   119,    -1,
       -1,   122,   123,   191,   125,   126,    -1,   195,   196,    -1,
-      -1,    -1,   200,   201,   202,    -1,   204,   205,   206,    -1,
-      -1,    -1,   210,   144,    -1,    -1,    -1,    -1,    -1,    -1,
+     131,    -1,   200,   201,   202,    -1,   204,   205,   206,    -1,
+      -1,    -1,   210,   144,    -1,    -1,    -1,   148,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   226,   227,
       -1,    -1,    -1,    -1,    -1,   233,    -1,   168,   169,   170,
      238,     3,     4,    -1,   242,    -1,    -1,   245,    10,    11,
@@ -4502,23 +4580,23 @@ static const yytype_int16 yycheck[] =
       42,    43,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    55,    56,    57,    58,    -1,    -1,    -1,
       -1,    63,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,   243,    75,    76,    77,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    75,    76,    77,    -1,    -1,    13,    14,
       -1,    83,    84,    -1,    86,    -1,    -1,    -1,    -1,    91,
       -1,    -1,    94,    -1,    -1,    97,    -1,    99,    -1,    -1,
       -1,    -1,    -1,    -1,   106,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,   118,    -1,   120,    -1,
       -1,   123,    -1,   125,    -1,    -1,    -1,    -1,    -1,    -1,
      132,   133,   134,   135,   136,    -1,    -1,   139,   140,   141,
-     142,   143,    -1,    -1,    -1,   147,    -1,    -1,   150,   215,
-     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
-     226,   227,   228,   229,   230,   231,   232,    -1,    -1,    -1,
-      -1,   237,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   191,
-      -1,    -1,    -1,   195,   196,    -1,    -1,    -1,   200,   201,
-     202,    -1,   204,   205,   206,    -1,    -1,    -1,   210,    -1,
+     142,   143,    -1,    -1,    -1,   147,    -1,    -1,   150,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    91,    92,    93,    94,
+      95,    96,    97,    98,    99,   100,   101,   102,   103,    -1,
+      -1,    -1,   107,   108,   109,    -1,    -1,   112,    -1,    -1,
+      -1,    -1,    -1,   118,   119,    -1,    -1,   122,   123,   191,
+     125,   126,    -1,   195,   196,    -1,    -1,    -1,   200,   201,
+     202,    -1,   204,   205,   206,    -1,    -1,    -1,   210,   144,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,   226,   227,    -1,    -1,    -1,    -1,
-      -1,   233,    -1,    -1,    -1,    -1,   238,     3,     4,     5,
+      -1,   233,    -1,   168,   169,   170,   238,     3,     4,     5,
      242,    -1,    -1,   245,    10,    11,    12,    -1,    -1,    15,
       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
       26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
@@ -4527,288 +4605,251 @@ static const yytype_int16 yycheck[] =
       56,    57,    58,    59,    60,    61,    62,    63,    -1,    -1,
       -1,    67,    68,    69,    -1,    -1,    72,    -1,    74,    75,
       76,    77,    -1,    -1,    -1,    -1,    -1,    83,    84,    85,
-      86,    -1,    88,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,     4,     5,   215,   216,   217,   218,   219,   220,   221,
-     222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
-     232,    -1,    -1,    -1,    -1,   237,    -1,   239,    -1,   241,
-      -1,    -1,    -1,    -1,    -1,   247,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    46,    47,    48,    49,    50,    51,    52,
-      53,    54,    -1,    -1,    -1,    -1,    59,    60,    61,    62,
-      -1,    -1,    -1,    -1,    67,    68,    69,    -1,    -1,    72,
-      -1,    74,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    85,    -1,    -1,    88,    -1,    -1,    -1,    -1,
+      86,    -1,    88,     3,     4,     5,    -1,    -1,    -1,    -1,
+      10,    11,    12,    -1,    -1,    15,    16,    17,    18,    19,
+      20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
+      30,    31,    32,    33,    34,    35,    36,    37,    38,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    46,    47,    48,    49,
+      50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
+      60,    61,    62,    63,    -1,    -1,    -1,    67,    68,    69,
+      -1,    -1,    72,    -1,    74,    75,    76,    77,    -1,    -1,
+      -1,    -1,    -1,    83,    84,    85,    86,    -1,    88,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,   191,   192,   193,   194,   195,
       -1,    -1,    -1,    -1,   200,   201,   202,   203,   204,   205,
      206,   207,    -1,   209,   210,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,   125,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      226,   227,    -1,    -1,    -1,    -1,    -1,   233,    -1,    -1,
-      -1,    -1,   238,     3,     4,    -1,   242,    -1,    -1,   245,
-      10,    11,    12,    -1,    -1,    15,    16,    17,    18,    19,
-      20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
-      30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
-      40,    41,    42,    43,    -1,    -1,    -1,    -1,    -1,   192,
-     193,   194,    -1,    -1,    -1,    55,    56,    57,    58,    -1,
-     203,    -1,    -1,    63,   207,    -1,   209,   210,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    75,    76,    77,    -1,    -1,
-      13,    14,    -1,    83,    84,    -1,    86,    -1,    -1,    -1,
-      -1,    91,    -1,    -1,    94,    -1,    -1,    97,    -1,    99,
-      -1,    -1,    -1,    -1,    -1,    -1,   106,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   118,    -1,
-     120,    -1,    -1,   123,    -1,   125,    -1,    -1,    -1,    -1,
-      -1,    -1,   132,   133,   134,   135,   136,    -1,    -1,   139,
-     140,   141,   142,   143,    -1,    -1,    -1,   147,    -1,    -1,
-     150,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    91,    92,
-      93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
-     103,    -1,    -1,    -1,   107,   108,   109,    -1,    -1,   112,
-      -1,    -1,    -1,    -1,    -1,   118,   119,    -1,    -1,   122,
-     123,   191,   125,   126,    -1,   195,   196,    -1,   131,    -1,
-     200,   201,   202,    -1,   204,   205,   206,    -1,    -1,    -1,
-     210,   144,    -1,    -1,    -1,   148,    -1,    -1,    -1,    -1,
+      -1,    -1,   238,    -1,    -1,    -1,   242,    -1,    -1,   245,
+      -1,    -1,    -1,    -1,   215,   216,   217,   218,   219,   220,
+     221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
+     231,   232,    -1,    -1,    -1,    -1,   237,    -1,   239,    -1,
+      -1,   191,   192,   193,   194,   195,   247,    -1,    -1,    -1,
+     200,   201,   202,   203,   204,   205,   206,   207,    -1,   209,
+     210,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,   226,   227,    -1,    -1,
-      -1,    -1,    -1,   233,    -1,   168,   169,   170,   238,     3,
-       4,     5,   242,    -1,    -1,   245,    10,    11,    12,    -1,
+      -1,    -1,    -1,   233,    -1,    -1,    -1,    -1,   238,     3,
+       4,    -1,   242,    -1,    -1,   245,    10,    11,    12,    -1,
       -1,    15,    16,    17,    18,    19,    20,    21,    22,    23,
       24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
-      34,    35,    36,    37,    38,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    46,    47,    48,    49,    50,    51,    52,    53,
-      54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
-      -1,    -1,    -1,    67,    68,    69,    -1,    -1,    72,    -1,
-      74,    75,    76,    77,    -1,    -1,    -1,    -1,    -1,    83,
-      84,    85,    86,    -1,    88,     3,     4,     5,    -1,    -1,
-      -1,    -1,    10,    11,    12,    -1,    -1,    15,    16,    17,
+      34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    55,    56,    57,    58,    -1,    -1,    -1,    -1,    63,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    75,    76,    77,    -1,    -1,    -1,    -1,    -1,    83,
+      84,    -1,    86,    -1,    -1,    -1,    -1,    91,    -1,    -1,
+      94,    -1,    -1,    97,    -1,    99,    -1,    -1,    -1,    -1,
+      -1,    -1,   106,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,   118,    -1,   120,    -1,    -1,   123,
+      -1,   125,    -1,    -1,    -1,    -1,    -1,    -1,   132,   133,
+     134,   135,   136,    -1,    -1,   139,   140,   141,   142,   143,
+      -1,    -1,    -1,   147,    -1,    -1,   150,   215,   216,   217,
+     218,   219,   220,   221,   222,   223,   224,   225,   226,   227,
+     228,   229,   230,   231,   232,    -1,    -1,    -1,    -1,   237,
+      -1,    -1,    -1,    -1,    -1,   243,    -1,    -1,    -1,   247,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,   191,    -1,    -1,
+      -1,   195,   196,    -1,    -1,    -1,   200,   201,   202,    -1,
+     204,   205,   206,    -1,    -1,    -1,   210,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,   226,   227,    -1,    -1,    -1,    -1,    -1,   233,
+      -1,    -1,    -1,    -1,   238,     3,     4,    -1,   242,    -1,
+      -1,   245,    10,    11,    12,    -1,    -1,    15,    16,    17,
       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
-      38,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    46,    47,
-      48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
-      58,    59,    60,    61,    62,    63,    -1,    -1,    -1,    67,
-      68,    69,    -1,    -1,    72,    -1,    74,    75,    76,    77,
-      -1,    -1,    -1,    -1,    -1,    83,    84,    85,    86,    -1,
-      88,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,   191,   192,   193,
-     194,   195,    -1,    -1,    -1,    -1,   200,   201,   202,   203,
-     204,   205,   206,   207,    -1,   209,   210,    -1,    -1,    -1,
+      38,    39,    40,    41,    42,    43,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    55,    56,    57,
+      58,    -1,    -1,    -1,    -1,    63,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    75,    76,    77,
+      -1,    -1,    -1,    -1,    -1,    83,    84,    -1,    86,    -1,
+      -1,    -1,    -1,    91,    -1,    -1,    94,    -1,    -1,    97,
+      -1,    99,    -1,    -1,    -1,    -1,    -1,    -1,   106,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,   226,   227,    -1,    -1,    -1,    -1,    -1,   233,
-      -1,    -1,    -1,    -1,   238,    -1,    -1,    -1,   242,    -1,
-      -1,   245,    -1,    -1,    -1,    -1,   215,   216,   217,   218,
-     219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
-     229,   230,   231,   232,    -1,    -1,    -1,    -1,   237,    -1,
-     239,    -1,    -1,   191,   192,   193,   194,   195,   247,    -1,
-      -1,    -1,   200,   201,   202,   203,   204,   205,   206,   207,
-      -1,   209,   210,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     118,    -1,   120,    -1,    -1,   123,    -1,   125,    -1,    -1,
+      -1,    -1,    -1,    -1,   132,   133,   134,   135,   136,    -1,
+      -1,   139,   140,   141,   142,   143,    -1,    -1,    -1,   147,
+      -1,    -1,   150,   215,   216,   217,   218,   219,   220,   221,
+     222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
+     232,    -1,    -1,    -1,    -1,   237,    -1,    -1,    -1,    -1,
+      -1,   243,    -1,    -1,    -1,   247,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,   191,    -1,    -1,    -1,   195,   196,    -1,
+      -1,    -1,   200,   201,   202,    -1,   204,   205,   206,    -1,
+      -1,    -1,   210,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   226,   227,
-      -1,    -1,    -1,    -1,    -1,   233,    -1,    -1,    -1,    -1,
-     238,     3,     4,    -1,   242,    -1,    -1,   245,    10,    11,
-      12,    -1,    -1,    15,    16,    17,    18,    19,    20,    21,
-      22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
-      32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
-      42,    43,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    55,    56,    57,    58,    -1,    -1,    -1,
-      -1,    63,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    75,    76,    77,    -1,    -1,    13,    14,
-      -1,    83,    84,    -1,    86,    -1,    -1,    -1,    -1,    91,
-      -1,    -1,    94,    -1,    -1,    97,    -1,    99,    -1,    -1,
-      -1,    -1,    -1,    -1,   106,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,   118,    -1,   120,    -1,
-      -1,   123,    -1,   125,    -1,    -1,    -1,    -1,    -1,    -1,
-     132,   133,   134,   135,   136,    -1,    -1,   139,   140,   141,
-     142,   143,    -1,    -1,    -1,   147,    -1,    -1,   150,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    91,    92,    93,    94,
-      95,    96,    97,    98,    99,   100,   101,   102,   103,    -1,
-      -1,    -1,   107,   108,   109,    -1,    -1,   112,    -1,    -1,
-      -1,    -1,    -1,   118,   119,    -1,    -1,   122,   123,   191,
-     125,   126,    -1,   195,   196,    -1,    -1,    -1,   200,   201,
-     202,    -1,   204,   205,   206,    -1,    -1,    -1,   210,   144,
+      -1,    -1,    -1,    -1,    -1,   233,     3,     4,     5,    -1,
+     238,    -1,    -1,    10,    11,    12,    -1,   245,    15,    16,
+      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
+      27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
+      37,    38,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    46,
+      47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
+      57,    58,    59,    60,    61,    62,    63,    -1,    -1,    -1,
+      67,    68,    69,    -1,    -1,    72,    -1,    74,    75,    76,
+      77,    -1,    -1,    -1,    -1,    -1,    83,    84,    85,    86,
+      -1,    88,     3,     4,    -1,    -1,    -1,    -1,    -1,    10,
+      11,    12,    -1,    -1,    15,    16,    17,    18,    19,    20,
+      21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
+      31,    32,    33,    34,    35,    36,    37,    38,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,   226,   227,    -1,    -1,    -1,    -1,
-      -1,   233,    -1,   168,   169,   170,   238,     3,     4,    -1,
-     242,    -1,    -1,   245,    10,    11,    12,    -1,    -1,    15,
-      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
-      26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
-      36,    37,    38,    39,    40,    41,    42,    43,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    55,
-      56,    57,    58,    -1,    -1,    -1,    -1,    63,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    75,
-      76,    77,    -1,    -1,    -1,    -1,    -1,    83,    84,    -1,
-      86,    -1,    -1,    -1,    -1,    91,    -1,    -1,    94,    -1,
-      -1,    97,    -1,    99,    -1,    -1,    -1,    -1,    -1,    -1,
-     106,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,   118,    -1,   120,    -1,    -1,   123,    -1,   125,
-      -1,    -1,    -1,    -1,    -1,    -1,   132,   133,   134,   135,
-     136,    -1,    -1,   139,   140,   141,   142,   143,    -1,    -1,
-      -1,   147,    -1,    -1,   150,   215,   216,   217,   218,   219,
-     220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
-     230,   231,   232,    -1,    -1,    -1,    -1,   237,    -1,    -1,
-      -1,    -1,    -1,   243,    -1,    -1,    -1,   247,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,   191,    -1,    -1,    -1,   195,
-     196,    -1,    -1,    -1,   200,   201,   202,    -1,   204,   205,
-     206,    -1,    -1,    -1,   210,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    55,    56,    57,    58,    -1,    -1,
+      -1,    -1,    63,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    75,    76,    77,    -1,    -1,    -1,
+      -1,    -1,    83,    84,    -1,    86,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-     226,   227,    -1,    -1,    -1,    -1,    -1,   233,     3,     4,
-       5,    -1,   238,    -1,    -1,    10,    11,    12,    -1,   245,
+      -1,    -1,    -1,    -1,   191,   192,   193,   194,   195,    -1,
+      -1,    -1,    -1,   200,   201,   202,   203,   204,   205,   206,
+     207,    -1,   209,   210,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   226,
+     227,    -1,    -1,    -1,    -1,    -1,   233,    -1,    -1,    -1,
+      -1,   238,    -1,    -1,    -1,    -1,    -1,    -1,   245,   215,
+     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
+     226,   227,   228,   229,   230,   231,   232,    -1,    -1,    -1,
+      -1,   237,    -1,    -1,    -1,    -1,    -1,   243,    -1,    -1,
+     191,   247,    -1,    -1,   195,    -1,    -1,    -1,    -1,   200,
+     201,   202,    -1,   204,   205,   206,    -1,    -1,    -1,   210,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,   226,   227,    -1,    -1,    -1,
+      -1,    -1,   233,    -1,    -1,    -1,    -1,   238,     3,     4,
+      -1,   242,    -1,    -1,   245,    10,    11,    12,    -1,    -1,
       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
       35,    36,    37,    38,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    46,    47,    48,    49,    50,    51,    52,    53,    54,
-      55,    56,    57,    58,    59,    60,    61,    62,    63,    -1,
-      -1,    -1,    67,    68,    69,    -1,    -1,    72,    -1,    74,
-      75,    76,    77,    -1,    -1,    -1,    -1,    -1,    83,    84,
-      85,    86,    -1,    88,     3,     4,    -1,    -1,    -1,    -1,
-      -1,    10,    11,    12,    -1,    -1,    15,    16,    17,    18,
-      19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
-      29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    55,    56,    57,    58,
-      -1,    -1,    -1,    -1,    63,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    75,    76,    77,    -1,
-      -1,    -1,    -1,    -1,    83,    84,    -1,    86,    -1,    -1,
+      55,    56,    57,    58,    -1,    -1,    -1,    -1,    63,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,   191,   192,   193,   194,
-     195,    -1,    -1,    -1,    -1,   200,   201,   202,   203,   204,
-     205,   206,   207,    -1,   209,   210,    -1,    -1,    -1,    -1,
+      75,    76,    77,    -1,    -1,    -1,    -1,    -1,    83,    84,
+      -1,    86,     3,     4,    -1,     6,    -1,    -1,    -1,    10,
+      11,    12,    -1,    -1,    15,    16,    17,    18,    19,    20,
+      21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
+      31,    32,    33,    34,    35,    36,    37,    38,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    55,    56,    57,    58,    -1,    -1,
+      -1,    -1,    63,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    75,    76,    77,    -1,    -1,    -1,
+      -1,    -1,    83,    84,    -1,    86,   215,   216,   217,   218,
+     219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
+     229,   230,   231,   232,    -1,    -1,   191,    -1,   237,    -1,
+     195,    -1,    -1,    -1,    -1,   200,   201,   202,   247,   204,
+     205,   206,    -1,    -1,    -1,   210,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,   226,   227,    -1,    -1,    -1,    -1,    -1,   233,    -1,
-      -1,    -1,    -1,   238,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,   238,    -1,    -1,    -1,   242,    -1,    -1,
      245,   215,   216,   217,   218,   219,   220,   221,   222,   223,
      224,   225,   226,   227,   228,   229,   230,   231,   232,    -1,
-      -1,    -1,    -1,   237,    -1,    -1,    -1,    -1,    -1,   243,
-      -1,    -1,   191,   247,    -1,    -1,   195,    -1,    -1,    -1,
-      -1,   200,   201,   202,    -1,   204,   205,   206,    -1,    -1,
-      -1,   210,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,   226,   227,    -1,
-      -1,    -1,    -1,    -1,   233,    -1,    -1,    -1,    -1,   238,
-      -1,     3,     4,   242,     6,    -1,   245,    -1,    10,    11,
-      12,    -1,    -1,    15,    16,    17,    18,    19,    20,    21,
-      22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
-      32,    33,    34,    35,    36,    37,    38,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    55,    56,    57,    58,    -1,    -1,    -1,
-      -1,    63,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    75,    76,    77,    -1,    -1,    -1,    -1,
-      -1,    83,    84,    -1,    86,     3,     4,    -1,     6,    -1,
-      -1,    -1,    10,    11,    12,    -1,    -1,    15,    16,    17,
-      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
-      28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
-      38,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    55,    56,    57,
-      58,    -1,    -1,    -1,    -1,    63,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    75,    76,    77,
-      -1,    -1,    -1,    -1,    -1,    83,    84,    -1,    86,   215,
-     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
-     226,   227,   228,   229,   230,   231,   232,    -1,    -1,   191,
-      -1,   237,    -1,   195,    -1,    -1,    -1,   243,   200,   201,
-     202,   247,   204,   205,   206,    -1,    -1,    -1,   210,    -1,
+      -1,    -1,    -1,   237,    -1,    -1,    -1,    -1,    -1,    -1,
+     191,    -1,    -1,   247,   195,    -1,    -1,    -1,    -1,   200,
+     201,   202,    -1,   204,   205,   206,    -1,    -1,    -1,   210,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,   226,   227,    -1,    -1,    -1,    -1,
-      -1,   233,    -1,    -1,    -1,    -1,   238,    -1,    -1,    -1,
-      -1,    -1,    -1,   245,   215,   216,   217,   218,   219,   220,
-     221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
-     231,   232,    -1,    -1,    -1,    -1,   237,    -1,    -1,    -1,
-      -1,    -1,    -1,   191,    -1,    -1,   247,   195,    -1,    -1,
-      -1,    -1,   200,   201,   202,    -1,   204,   205,   206,    -1,
-      -1,    -1,   210,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   226,   227,
-      -1,    -1,    -1,    -1,    -1,   233,     3,     4,    -1,     6,
-     238,    -1,    -1,    10,    11,    12,    -1,   245,    15,    16,
-      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
-      27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
-      37,    38,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    55,    56,
-      57,    58,    -1,    -1,    -1,    -1,    63,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    75,    76,
-      77,    -1,    -1,     3,     4,    -1,    83,    84,    -1,    86,
-      10,    11,    12,    -1,    -1,    15,    16,    17,    18,    19,
+      -1,    -1,    -1,    -1,    -1,   226,   227,    -1,    -1,    -1,
+      -1,    -1,   233,     3,     4,    -1,     6,   238,    -1,    -1,
+      10,    11,    12,    -1,   245,    15,    16,    17,    18,    19,
       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
       30,    31,    32,    33,    34,    35,    36,    37,    38,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    55,    56,    57,    58,    -1,
       -1,    -1,    -1,    63,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    75,    76,    77,    -1,    -1,
-      -1,    -1,    -1,    83,    84,    -1,    86,   215,   216,   217,
-     218,   219,   220,   221,   222,   223,   224,   225,   226,   227,
-     228,   229,   230,   231,   232,    -1,    -1,    -1,    -1,   237,
-      -1,    -1,    -1,    -1,   191,    -1,    -1,    -1,   195,   247,
-      -1,    -1,    -1,   200,   201,   202,    -1,   204,   205,   206,
-      -1,    -1,    -1,   210,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   226,
-     227,    -1,    -1,    -1,    -1,    -1,   233,    -1,    -1,    -1,
-      -1,   238,    -1,    -1,    -1,    -1,    -1,    -1,   245,    -1,
-       0,     1,    -1,    -1,     4,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    13,    14,    -1,    -1,    -1,    -1,    -1,
-      -1,   191,    -1,    -1,    -1,   195,    -1,    -1,    -1,    -1,
-     200,   201,   202,    -1,   204,   205,   206,    -1,    -1,    -1,
-     210,    -1,    -1,    -1,    44,    45,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    83,    84,    -1,    86,     3,     4,    -1,
+       6,    -1,    -1,    -1,    10,    11,    12,    -1,    -1,    15,
+      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
+      26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
+      36,    37,    38,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    55,
+      56,    57,    58,    -1,    -1,    -1,    -1,    63,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    75,
+      76,    77,    -1,    -1,    -1,    -1,    -1,    83,    84,    -1,
+      86,   215,   216,   217,   218,   219,   220,   221,   222,   223,
+     224,   225,   226,   227,   228,   229,   230,   231,   232,    -1,
+      -1,   191,    -1,   237,    -1,   195,    -1,    -1,    -1,    -1,
+     200,   201,   202,   247,   204,   205,   206,    -1,    -1,    -1,
+     210,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,   226,   227,    -1,    -1,
-      -1,    -1,    -1,   233,    64,    65,    66,    -1,   238,    -1,
-      70,    71,    -1,    73,    -1,   245,    -1,    -1,    78,    79,
-      -1,    81,    82,    -1,    84,    -1,    -1,    -1,    -1,    89,
-      90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
-     100,   101,   102,   103,    -1,    -1,   106,   107,   108,   109,
-     110,    -1,   112,    -1,   114,   115,   116,   117,   118,   119,
-     120,    -1,   122,   123,   124,   125,   126,   127,    -1,   129,
-     130,   131,   132,   133,   134,   135,   136,   137,    -1,   139,
-     140,   141,   142,   143,   144,   145,   146,   147,   148,   149,
-     150,   151,   152,    -1,     4,    -1,   156,   157,   158,    -1,
-      -1,    -1,   162,    13,    14,    -1,    -1,   167,   168,   169,
-     170,    -1,    -1,   173,    -1,   175,    -1,   177,   178,   179,
-     180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
-     190,    -1,    -1,    -1,    44,    45,    -1,   197,   198,   199,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   208,    -1,
-     210,    -1,    -1,    -1,    64,    65,    66,    -1,    -1,    -1,
-      70,    71,    -1,    73,    -1,    -1,    -1,    -1,    78,    79,
-      -1,    81,    82,    -1,    84,    -1,    -1,    -1,    -1,    89,
-      90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
-     100,   101,   102,   103,    -1,    -1,   106,   107,   108,   109,
-     110,    -1,   112,    -1,   114,   115,   116,   117,   118,   119,
-     120,    -1,   122,   123,   124,   125,   126,   127,    -1,   129,
-     130,   131,   132,   133,   134,   135,   136,   137,    -1,   139,
-     140,   141,   142,   143,   144,   145,   146,   147,   148,   149,
-     150,   151,   152,    -1,    -1,    -1,   156,   157,   158,    -1,
-      -1,    -1,   162,    -1,    -1,    -1,    -1,   167,   168,   169,
-     170,     4,     5,   173,    -1,   175,    -1,   177,   178,   179,
-     180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
-     190,    -1,    -1,    -1,    -1,    -1,    -1,   197,   198,   199,
-      -1,     4,     5,    -1,    -1,    -1,    -1,    -1,   208,    -1,
-     210,    -1,    -1,    46,    47,    48,    49,    50,    51,    52,
-      53,    54,    -1,    -1,    -1,    -1,    59,    60,    61,    62,
-      -1,    -1,     5,    -1,    67,    68,    69,    -1,    -1,    72,
-      -1,    74,    -1,    46,    47,    48,    49,    50,    51,    52,
-      53,    54,    85,    -1,    -1,    88,    59,    60,    61,    62,
-      -1,    -1,    -1,    -1,    67,    68,    69,    -1,    -1,    72,
-      -1,    74,    -1,    46,    47,    48,    49,    50,    51,    52,
-      53,    54,    85,    -1,    -1,    88,    59,    60,    61,    62,
-      -1,    -1,    -1,    -1,    67,    68,    69,    -1,    -1,    72,
-      -1,    74,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    85,    -1,    -1,    88,   215,   216,   217,   218,
-     219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
-     229,   230,   231,   232,    -1,    -1,    -1,    -1,   237,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   247,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   192,
-     193,   194,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-     203,    -1,    -1,    -1,   207,    -1,   209,   210,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   192,
-     193,   194,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-     203,    -1,    -1,    -1,   207,    -1,   209,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   192,
-     193,   194,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-     203,    -1,    -1,    -1,   207,    -1,   209,   215,   216,   217,
-     218,   219,   220,   221,   222,   223,   224,   225,   226,   227,
-     228,   229,   230,   231,   232,    -1,    -1,    -1,    -1,   237,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   247,
-     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
-     225,   226,   227,   228,   229,   230,   231,   232,    -1,    -1,
-      -1,    -1,   237,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,   247,   215,   216,   217,   218,   219,   220,   221,
-     222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
-     232,    -1,    -1,    -1,    -1,   237,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,   247,   215,   216,   217,   218,
+      -1,    -1,    -1,   233,    -1,    -1,    -1,    -1,   238,    -1,
+      -1,    -1,    -1,    -1,    -1,   245,   215,   216,   217,   218,
      219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
      229,   230,   231,   232,    -1,    -1,    -1,    -1,   237,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   247,   215,
-     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
-     226,   227,   228,   229,   230,   231,   232,    -1,    -1,    -1,
-      -1,   237,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,   247,   215,   216,   217,   218,   219,   220,   221,   222,
+      -1,    -1,    -1,    -1,    -1,   191,    -1,    -1,   247,   195,
+      -1,    -1,    -1,    -1,   200,   201,   202,    -1,   204,   205,
+     206,    -1,    -1,    -1,   210,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     226,   227,    -1,    -1,    -1,    -1,    -1,   233,     3,     4,
+      -1,    -1,   238,    -1,    -1,    10,    11,    12,    -1,   245,
+      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
+      25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
+      35,    36,    37,    38,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      55,    56,    57,    58,    -1,    -1,    -1,    -1,    63,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      75,    76,    77,    -1,    -1,    -1,    -1,    -1,    83,    84,
+      -1,    86,   215,   216,   217,   218,   219,   220,   221,   222,
+     223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
+      -1,    -1,    -1,    -1,   237,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,   247,   215,   216,   217,   218,   219,
+     220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
+     230,   231,   232,    -1,    -1,    -1,    -1,   237,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,   247,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,     0,     1,    -1,    -1,     4,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    13,    14,
+      -1,    -1,    -1,    -1,    -1,    -1,   191,    -1,    -1,    -1,
+     195,    -1,    -1,    -1,    -1,   200,   201,   202,    -1,   204,
+     205,   206,    -1,    -1,    -1,   210,    -1,    -1,    -1,    44,
+      45,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,   226,   227,    -1,    -1,    -1,    -1,    -1,   233,    64,
+      65,    66,    -1,   238,    -1,    70,    71,    -1,    73,    -1,
+     245,    -1,    -1,    78,    79,    -1,    81,    82,    -1,    84,
+      -1,    -1,    -1,    -1,    89,    90,    91,    92,    93,    94,
+      95,    96,    97,    98,    99,   100,   101,   102,   103,    -1,
+      -1,   106,   107,   108,   109,   110,    -1,   112,    -1,   114,
+     115,   116,   117,   118,   119,   120,    -1,   122,   123,   124,
+     125,   126,   127,    -1,   129,   130,   131,   132,   133,   134,
+     135,   136,   137,    -1,   139,   140,   141,   142,   143,   144,
+     145,   146,   147,   148,   149,   150,   151,   152,    -1,     4,
+      -1,   156,   157,   158,    -1,    -1,    -1,   162,    13,    14,
+      -1,    -1,   167,   168,   169,   170,    -1,    -1,   173,    -1,
+     175,    -1,   177,   178,   179,   180,   181,   182,   183,   184,
+     185,   186,   187,   188,   189,   190,    -1,    -1,    -1,    44,
+      45,    -1,   197,   198,   199,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,   208,    -1,   210,    -1,    -1,    -1,    64,
+      65,    66,    -1,    -1,    -1,    70,    71,    -1,    73,    -1,
+      -1,    -1,    -1,    78,    79,    -1,    81,    82,    -1,    84,
+      -1,    -1,    -1,    -1,    89,    90,    91,    92,    93,    94,
+      95,    96,    97,    98,    99,   100,   101,   102,   103,    -1,
+      -1,   106,   107,   108,   109,   110,    -1,   112,    -1,   114,
+     115,   116,   117,   118,   119,   120,    -1,   122,   123,   124,
+     125,   126,   127,    -1,   129,   130,   131,   132,   133,   134,
+     135,   136,   137,    -1,   139,   140,   141,   142,   143,   144,
+     145,   146,   147,   148,   149,   150,   151,   152,    -1,    -1,
+      -1,   156,   157,   158,    -1,    -1,    -1,   162,    -1,    -1,
+      -1,    -1,   167,   168,   169,   170,     4,     5,   173,    -1,
+     175,    -1,   177,   178,   179,   180,   181,   182,   183,   184,
+     185,   186,   187,   188,   189,   190,    -1,    -1,    -1,    -1,
+      -1,    -1,   197,   198,   199,    -1,     4,     5,    -1,    -1,
+      -1,    -1,    -1,   208,    -1,   210,    -1,    -1,    46,    47,
+      48,    49,    50,    51,    52,    53,    54,    -1,    -1,    -1,
+      -1,    59,    60,    61,    62,    -1,     4,     5,    -1,    67,
+      68,    69,    -1,    -1,    72,    -1,    74,    -1,    46,    47,
+      48,    49,    50,    51,    52,    53,    54,    85,    -1,    -1,
+      88,    59,    60,    61,    62,    -1,    -1,     5,    -1,    67,
+      68,    69,    -1,    -1,    72,    -1,    74,    -1,    46,    47,
+      48,    49,    50,    51,    52,    53,    54,    85,    -1,    -1,
+      88,    59,    60,    61,    62,    -1,    -1,   125,    -1,    67,
+      68,    69,    -1,    -1,    72,    -1,    74,    -1,    46,    47,
+      48,    49,    50,    51,    52,    53,    54,    85,    -1,    -1,
+      88,    59,    60,    61,    62,    -1,    -1,    -1,    -1,    67,
+      68,    69,    -1,    -1,    72,    -1,    74,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    85,    -1,    -1,
+      88,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,   192,   193,   194,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,   203,    -1,    -1,    -1,   207,
+      -1,   209,   210,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,   192,   193,   194,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,   203,    -1,    -1,    -1,   207,
+      -1,   209,   210,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,   192,   193,   194,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,   203,    -1,    -1,    -1,   207,
+      -1,   209,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,   192,   193,   194,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,   203,    -1,    -1,    -1,   207,
+      -1,   209,   215,   216,   217,   218,   219,   220,   221,   222,
      223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
       -1,    -1,    -1,    -1,   237,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,   247,   215,   216,   217,   218,   219,
@@ -4955,6 +4996,59 @@ static const yytype_int16 yycheck[] =
       -1,    -1,    -1,   237,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,   247,   215,   216,   217,   218,   219,   220,
      221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
+     231,   232,    -1,    -1,    -1,    -1,   237,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,   247,   215,   216,   217,
+     218,   219,   220,   221,   222,   223,   224,   225,   226,   227,
+     228,   229,   230,   231,   232,    -1,    -1,    -1,    -1,   237,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   247,
+     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
+     225,   226,   227,   228,   229,   230,   231,   232,    -1,    -1,
+      -1,    -1,   237,    -1,    -1,    -1,    -1,    -1,   243,   215,
+     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
+     226,   227,   228,   229,   230,   231,   232,    -1,    -1,    -1,
+      -1,   237,    -1,    -1,    -1,    -1,    -1,   243,   215,   216,
+     217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
+     227,   228,   229,   230,   231,   232,    -1,    -1,    -1,    -1,
+     237,    -1,    -1,    -1,    -1,    -1,   243,   215,   216,   217,
+     218,   219,   220,   221,   222,   223,   224,   225,   226,   227,
+     228,   229,   230,   231,   232,    -1,    -1,    -1,    -1,   237,
+      -1,    -1,    -1,    -1,    -1,   243,   215,   216,   217,   218,
+     219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
+     229,   230,   231,   232,    -1,    -1,    -1,    -1,   237,    -1,
+      -1,    -1,    -1,    -1,   243,   215,   216,   217,   218,   219,
+     220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
+     230,   231,   232,    -1,    -1,    -1,    -1,   237,    -1,    -1,
+      -1,    -1,    -1,   243,   215,   216,   217,   218,   219,   220,
+     221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
+     231,   232,    -1,    -1,    -1,    -1,   237,    -1,    -1,    -1,
+      -1,    -1,   243,   215,   216,   217,   218,   219,   220,   221,
+     222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
+     232,    -1,    -1,    -1,    -1,   237,    -1,    -1,    -1,    -1,
+      -1,   243,   215,   216,   217,   218,   219,   220,   221,   222,
+     223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
+      -1,    -1,    -1,    -1,   237,    -1,    -1,    -1,    -1,    -1,
+     243,   215,   216,   217,   218,   219,   220,   221,   222,   223,
+     224,   225,   226,   227,   228,   229,   230,   231,   232,    -1,
+      -1,    -1,    -1,   237,    -1,    -1,    -1,    -1,    -1,   243,
+     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
+     225,   226,   227,   228,   229,   230,   231,   232,    -1,    -1,
+      -1,    -1,   237,    -1,    -1,    -1,    -1,    -1,   243,   215,
+     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
+     226,   227,   228,   229,   230,   231,   232,    -1,    -1,    -1,
+      -1,   237,    -1,    -1,    -1,    -1,    -1,   243,   215,   216,
+     217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
+     227,   228,   229,   230,   231,   232,    -1,    -1,    -1,    -1,
+     237,    -1,    -1,    -1,    -1,    -1,   243,   215,   216,   217,
+     218,   219,   220,   221,   222,   223,   224,   225,   226,   227,
+     228,   229,   230,   231,   232,    -1,    -1,    -1,    -1,   237,
+      -1,    -1,    -1,    -1,    -1,   243,   215,   216,   217,   218,
+     219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
+     229,   230,   231,   232,    -1,    -1,    -1,    -1,   237,    -1,
+      -1,    -1,    -1,    -1,   243,   215,   216,   217,   218,   219,
+     220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
+     230,   231,   232,    -1,    -1,    -1,    -1,   237,    -1,    -1,
+      -1,    -1,    -1,   243,   215,   216,   217,   218,   219,   220,
+     221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
      231,   232,    -1,    -1,    -1,    -1,   237,    -1,    -1,    -1,
       -1,    -1,   243,   215,   216,   217,   218,   219,   220,   221,
      222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
@@ -4981,268 +5075,236 @@ static const yytype_int16 yycheck[] =
      229,   230,   231,   232,    -1,    -1,    -1,    -1,   237,    -1,
       -1,    -1,    -1,    -1,   243,   215,   216,   217,   218,   219,
      220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
-     230,   231,   232,    -1,    -1,    -1,    -1,   237,    -1,    -1,
-      -1,    -1,    -1,   243,   215,   216,   217,   218,   219,   220,
-     221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
-     231,   232,    -1,    -1,    -1,    -1,   237,    -1,    -1,    -1,
-      -1,    -1,   243,   215,   216,   217,   218,   219,   220,   221,
-     222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
-     232,    -1,    -1,    -1,    -1,   237,    -1,    -1,    -1,    -1,
-      -1,   243,   215,   216,   217,   218,   219,   220,   221,   222,
-     223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
-      -1,    -1,    -1,    -1,   237,    -1,    -1,    -1,    -1,    -1,
-     243,   215,   216,   217,   218,   219,   220,   221,   222,   223,
-     224,   225,   226,   227,   228,   229,   230,   231,   232,    -1,
-      -1,    -1,    -1,   237,    -1,    -1,    -1,    -1,    -1,   243,
+     230,   231,   232,    -1,    -1,    -1,    -1,   237,    -1,    -1,
+      -1,    -1,    -1,   243,   215,   216,   217,   218,   219,   220,
+     221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
+     231,   232,    -1,    -1,    -1,    -1,   237,    -1,    -1,    -1,
+      -1,    -1,   243,   215,   216,   217,   218,   219,   220,   221,
+     222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
+     232,    -1,    -1,    -1,    -1,   237,    -1,    -1,    -1,    -1,
+      -1,   243,   215,   216,   217,   218,   219,   220,   221,   222,
+     223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
+      -1,    -1,    -1,    -1,   237,    -1,    -1,    -1,    -1,    -1,
+     243,   215,   216,   217,   218,   219,   220,   221,   222,   223,
+     224,   225,   226,   227,   228,   229,   230,   231,   232,    -1,
+      -1,    -1,    -1,   237,    -1,    -1,    -1,    -1,    -1,   243,
+     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
+     225,   226,   227,   228,   229,   230,   231,   232,    -1,    -1,
+      -1,    -1,   237,    -1,    -1,    -1,    -1,    -1,   243,   215,
+     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
+     226,   227,   228,   229,   230,   231,   232,    -1,    -1,    -1,
+      -1,   237,    -1,    -1,    -1,    -1,    -1,   243,   215,   216,
+     217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
+     227,   228,   229,   230,   231,   232,    -1,    -1,    -1,    -1,
+     237,    -1,    -1,    -1,    -1,   242,   215,   216,   217,   218,
+     219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
+     229,   230,   231,   232,    -1,    -1,    -1,    -1,   237,    -1,
+      -1,    -1,    -1,   242,   215,   216,   217,   218,   219,   220,
+     221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
+     231,   232,    -1,    -1,    -1,    -1,   237,    -1,    -1,    -1,
+      -1,   242,   215,   216,   217,   218,   219,   220,   221,   222,
+     223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
+      -1,    -1,    -1,    -1,   237,    -1,   239,    -1,   241,   215,
+     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
+     226,   227,   228,   229,   230,   231,   232,    -1,    -1,    -1,
+      -1,   237,    -1,    -1,    -1,   241,   215,   216,   217,   218,
+     219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
+     229,   230,   231,   232,    -1,    -1,    -1,    -1,   237,    -1,
+      -1,    -1,   241,   215,   216,   217,   218,   219,   220,   221,
+     222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
+     232,    -1,    -1,    -1,    -1,   237,    -1,    -1,    -1,   241,
+     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
+     225,   226,   227,   228,   229,   230,   231,   232,    -1,    -1,
+      -1,    -1,   237,    -1,    -1,    -1,   241,   215,   216,   217,
+     218,   219,   220,   221,   222,   223,   224,   225,   226,   227,
+     228,   229,   230,   231,   232,    -1,    -1,    -1,    -1,   237,
+      -1,    -1,    -1,   241,   215,   216,   217,   218,   219,   220,
+     221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
+     231,   232,    -1,    -1,    -1,    -1,   237,    -1,    -1,    -1,
+     241,   215,   216,   217,   218,   219,   220,   221,   222,   223,
+     224,   225,   226,   227,   228,   229,   230,   231,   232,    -1,
+      -1,    -1,    -1,   237,    -1,    -1,    -1,   241,   215,   216,
+     217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
+     227,   228,   229,   230,   231,   232,    -1,    -1,    -1,    -1,
+     237,    -1,    -1,    -1,   241,   215,   216,   217,   218,   219,
+     220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
+     230,   231,   232,    -1,    -1,    -1,    -1,   237,    -1,    -1,
+      -1,   241,   215,   216,   217,   218,   219,   220,   221,   222,
+     223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
+      -1,    -1,    -1,    -1,   237,    -1,    -1,    -1,   241,   215,
+     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
+     226,   227,   228,   229,   230,   231,   232,    -1,    -1,    -1,
+      -1,   237,    -1,    -1,    -1,   241,   215,   216,   217,   218,
+     219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
+     229,   230,   231,   232,    -1,    -1,    -1,    -1,   237,    -1,
+      -1,    -1,   241,   215,   216,   217,   218,   219,   220,   221,
+     222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
+     232,    -1,    -1,    -1,    -1,   237,    -1,    -1,    -1,   241,
+     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
+     225,   226,   227,   228,   229,   230,   231,   232,    -1,    -1,
+      -1,    -1,   237,    -1,   239,   215,   216,   217,   218,   219,
+     220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
+     230,   231,   232,    -1,    -1,    -1,    -1,   237,    -1,   239,
+     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
+     225,   226,   227,   228,   229,   230,   231,   232,    -1,    -1,
+      -1,    -1,   237,    -1,   239,   215,   216,   217,   218,   219,
+     220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
+     230,   231,   232,    -1,    -1,    -1,    -1,   237,    -1,   239,
+     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
+     225,   226,   227,   228,   229,   230,   231,   232,    -1,    -1,
+      -1,    -1,   237,    -1,   239,   215,   216,   217,   218,   219,
+     220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
+     230,   231,   232,    -1,    -1,    -1,    -1,   237,    -1,   239,
+     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
+     225,   226,   227,   228,   229,   230,   231,   232,    -1,    -1,
+      -1,    -1,   237,    -1,   239,   215,   216,   217,   218,   219,
+     220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
+     230,   231,   232,    -1,    -1,    -1,    -1,   237,    -1,   239,
+     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
+     225,   226,   227,   228,   229,   230,   231,   232,    -1,    -1,
+      -1,    -1,   237,    -1,   239,   215,   216,   217,   218,   219,
+     220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
+     230,   231,   232,    -1,    -1,    -1,    -1,   237,    -1,   239,
+     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
+     225,   226,   227,   228,   229,   230,   231,   232,    -1,    -1,
+      -1,    -1,   237,    -1,   239,   215,   216,   217,   218,   219,
+     220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
+     230,   231,   232,    -1,    -1,    -1,    -1,   237,    -1,   239,
+     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
+     225,   226,   227,   228,   229,   230,   231,   232,    -1,    -1,
+      -1,    -1,   237,    -1,   239,   215,   216,   217,   218,   219,
+     220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
+     230,   231,   232,    -1,    -1,    -1,    -1,   237,    -1,   239,
+     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
+     225,   226,   227,   228,   229,   230,   231,   232,    -1,    -1,
+      -1,    -1,   237,    -1,   239,   215,   216,   217,   218,   219,
+     220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
+     230,   231,   232,    -1,    -1,    -1,    -1,   237,    -1,   239,
+     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
+     225,   226,   227,   228,   229,   230,   231,   232,    -1,    -1,
+      -1,    -1,   237,    -1,   239,   215,   216,   217,   218,   219,
+     220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
+     230,   231,   232,    -1,    -1,    -1,    -1,   237,    -1,   239,
+     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
+     225,   226,   227,   228,   229,   230,   231,   232,    -1,    -1,
+      -1,    -1,   237,    -1,   239,   215,   216,   217,   218,   219,
+     220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
+     230,   231,   232,    -1,    -1,    -1,    -1,   237,    -1,   239,
+     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
+     225,   226,   227,   228,   229,   230,   231,   232,    -1,    -1,
+      -1,    -1,   237,    -1,   239,   215,   216,   217,   218,   219,
+     220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
+     230,   231,   232,    -1,    -1,    -1,    -1,   237,    -1,   239,
+     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
+     225,   226,   227,   228,   229,   230,   231,   232,    -1,    -1,
+      -1,    -1,   237,    -1,   239,   215,   216,   217,   218,   219,
+     220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
+     230,   231,   232,    -1,    -1,    -1,    -1,   237,    -1,   239,
+     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
+     225,   226,   227,   228,   229,   230,   231,   232,    -1,    -1,
+      -1,    -1,   237,    -1,   239,   215,   216,   217,   218,   219,
+     220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
+     230,   231,   232,    -1,    -1,    -1,    -1,   237,    -1,   239,
+     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
+     225,   226,   227,   228,   229,   230,   231,   232,    -1,    -1,
+      -1,    -1,   237,    -1,   239,   215,   216,   217,   218,   219,
+     220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
+     230,   231,   232,    -1,    -1,    -1,    -1,   237,    -1,   239,
+     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
+     225,   226,   227,   228,   229,   230,   231,   232,    -1,    -1,
+      -1,    -1,   237,    -1,   239,   215,   216,   217,   218,   219,
+     220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
+     230,   231,   232,    -1,    -1,    -1,    -1,   237,    -1,   239,
+     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
+     225,   226,   227,   228,   229,   230,   231,   232,    -1,    -1,
+      -1,    -1,   237,    -1,   239,   215,   216,   217,   218,   219,
+     220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
+     230,   231,   232,    -1,    -1,    -1,    -1,   237,    -1,   239,
+     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
+     225,   226,   227,   228,   229,   230,   231,   232,    -1,    -1,
+      -1,    -1,   237,    -1,   239,   215,   216,   217,   218,   219,
+     220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
+     230,   231,   232,    -1,    -1,    -1,    -1,   237,    -1,   239,
+     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
+     225,   226,   227,   228,   229,   230,   231,   232,    -1,    -1,
+      -1,    -1,   237,    -1,   239,   215,   216,   217,   218,   219,
+     220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
+     230,   231,   232,    -1,    -1,    -1,    -1,   237,    -1,   239,
+     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
+     225,   226,   227,   228,   229,   230,   231,   232,    -1,    -1,
+      -1,    -1,   237,    -1,   239,   215,   216,   217,   218,   219,
+     220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
+     230,   231,   232,    -1,    -1,    -1,    -1,   237,    -1,   239,
+     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
+     225,   226,   227,   228,   229,   230,   231,   232,    -1,    -1,
+      -1,    -1,   237,    -1,   239,   215,   216,   217,   218,   219,
+     220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
+     230,   231,   232,    -1,    -1,    -1,    -1,   237,    -1,   239,
+     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
+     225,   226,   227,   228,   229,   230,   231,   232,    -1,    -1,
+      -1,    -1,   237,    -1,   239,   215,   216,   217,   218,   219,
+     220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
+     230,   231,   232,    -1,    -1,    -1,    -1,   237,    -1,   239,
+     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
+     225,   226,   227,   228,   229,   230,   231,   232,    -1,    -1,
+      -1,    -1,   237,    -1,   239,   215,   216,   217,   218,   219,
+     220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
+     230,   231,   232,    -1,    -1,    -1,    -1,   237,    -1,   239,
+     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
+     225,   226,   227,   228,   229,   230,   231,   232,    -1,    -1,
+      -1,    -1,   237,    -1,   239,   215,   216,   217,   218,   219,
+     220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
+     230,   231,   232,    -1,    -1,    -1,    -1,   237,    -1,   239,
+     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
+     225,   226,   227,   228,   229,   230,   231,   232,    -1,    -1,
+      -1,    -1,   237,    -1,   239,   215,   216,   217,   218,   219,
+     220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
+     230,   231,   232,    -1,    -1,    -1,    -1,   237,    -1,   239,
+     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
+     225,   226,   227,   228,   229,   230,   231,   232,    -1,    -1,
+      -1,    -1,   237,    -1,   239,   215,   216,   217,   218,   219,
+     220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
+     230,   231,   232,    -1,    -1,    -1,    -1,   237,    -1,   239,
+     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
+     225,   226,   227,   228,   229,   230,   231,   232,    -1,    -1,
+      -1,    -1,   237,    -1,   239,   215,   216,   217,   218,   219,
+     220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
+     230,   231,   232,    -1,    -1,    -1,    -1,   237,    -1,   239,
+     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
+     225,   226,   227,   228,   229,   230,   231,   232,    -1,    -1,
+      -1,    -1,   237,    -1,   239,   215,   216,   217,   218,   219,
+     220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
+     230,   231,   232,    -1,    -1,    -1,    -1,   237,    -1,   239,
+     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
+     225,   226,   227,   228,   229,   230,   231,   232,    -1,    -1,
+      -1,    -1,   237,    -1,   239,   215,   216,   217,   218,   219,
+     220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
+     230,   231,   232,    -1,    -1,    -1,    -1,   237,    -1,   239,
      215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
      225,   226,   227,   228,   229,   230,   231,   232,    -1,    -1,
-      -1,    -1,   237,    -1,    -1,    -1,    -1,    -1,   243,   215,
-     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
-     226,   227,   228,   229,   230,   231,   232,    -1,    -1,    -1,
-      -1,   237,    -1,    -1,    -1,    -1,    -1,   243,   215,   216,
-     217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
-     227,   228,   229,   230,   231,   232,    -1,    -1,    -1,    -1,
-     237,    -1,    -1,    -1,    -1,    -1,   243,   215,   216,   217,
-     218,   219,   220,   221,   222,   223,   224,   225,   226,   227,
-     228,   229,   230,   231,   232,    -1,    -1,    -1,    -1,   237,
-      -1,    -1,    -1,    -1,    -1,   243,   215,   216,   217,   218,
-     219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
-     229,   230,   231,   232,    -1,    -1,    -1,    -1,   237,    -1,
-      -1,    -1,    -1,    -1,   243,   215,   216,   217,   218,   219,
+      -1,    -1,   237,    -1,   239,   215,   216,   217,   218,   219,
      220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
-     230,   231,   232,    -1,    -1,    -1,    -1,   237,    -1,    -1,
-      -1,    -1,    -1,   243,   215,   216,   217,   218,   219,   220,
-     221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
-     231,   232,    -1,    -1,    -1,    -1,   237,    -1,    -1,    -1,
-      -1,    -1,   243,   215,   216,   217,   218,   219,   220,   221,
-     222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
-     232,    -1,    -1,    -1,    -1,   237,    -1,    -1,    -1,    -1,
-      -1,   243,   215,   216,   217,   218,   219,   220,   221,   222,
-     223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
-      -1,    -1,    -1,    -1,   237,    -1,    -1,    -1,    -1,    -1,
-     243,   215,   216,   217,   218,   219,   220,   221,   222,   223,
-     224,   225,   226,   227,   228,   229,   230,   231,   232,    -1,
-      -1,    -1,    -1,   237,    -1,    -1,    -1,    -1,    -1,   243,
+     230,   231,   232,    -1,    -1,    -1,    -1,   237,    -1,   239,
      215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
      225,   226,   227,   228,   229,   230,   231,   232,    -1,    -1,
-      -1,    -1,   237,    -1,    -1,    -1,    -1,    -1,   243,   215,
-     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
-     226,   227,   228,   229,   230,   231,   232,    -1,    -1,    -1,
-      -1,   237,    -1,    -1,    -1,    -1,    -1,   243,   215,   216,
-     217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
-     227,   228,   229,   230,   231,   232,    -1,    -1,    -1,    -1,
-     237,    -1,    -1,    -1,    -1,    -1,   243,   215,   216,   217,
-     218,   219,   220,   221,   222,   223,   224,   225,   226,   227,
-     228,   229,   230,   231,   232,    -1,    -1,    -1,    -1,   237,
-      -1,    -1,    -1,    -1,    -1,   243,   215,   216,   217,   218,
-     219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
-     229,   230,   231,   232,    -1,    -1,    -1,    -1,   237,    -1,
-      -1,    -1,    -1,    -1,   243,   215,   216,   217,   218,   219,
+      -1,    -1,   237,    -1,   239,   215,   216,   217,   218,   219,
      220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
-     230,   231,   232,    -1,    -1,    -1,    -1,   237,    -1,    -1,
-      -1,    -1,    -1,   243,   215,   216,   217,   218,   219,   220,
-     221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
-     231,   232,    -1,    -1,    -1,    -1,   237,    -1,    -1,    -1,
-      -1,    -1,   243,   215,   216,   217,   218,   219,   220,   221,
-     222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
-     232,    -1,    -1,    -1,    -1,   237,    -1,    -1,    -1,    -1,
-      -1,   243,   215,   216,   217,   218,   219,   220,   221,   222,
-     223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
-      -1,    -1,    -1,    -1,   237,    -1,    -1,    -1,    -1,    -1,
-     243,   215,   216,   217,   218,   219,   220,   221,   222,   223,
-     224,   225,   226,   227,   228,   229,   230,   231,   232,    -1,
-      -1,    -1,    -1,   237,    -1,    -1,    -1,    -1,   242,   215,
-     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
-     226,   227,   228,   229,   230,   231,   232,    -1,    -1,    -1,
-      -1,   237,    -1,    -1,    -1,    -1,   242,   215,   216,   217,
-     218,   219,   220,   221,   222,   223,   224,   225,   226,   227,
-     228,   229,   230,   231,   232,    -1,    -1,    -1,    -1,   237,
-      -1,    -1,    -1,    -1,   242,   215,   216,   217,   218,   219,
+     230,   231,   232,    -1,    -1,    -1,    -1,   237,    -1,   239,
+     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
+     225,   226,   227,   228,   229,   230,   231,   232,    -1,    -1,
+      -1,    -1,   237,    -1,   239,   215,   216,   217,   218,   219,
      220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
      230,   231,   232,    -1,    -1,    -1,    -1,   237,    -1,   239,
-      -1,   241,   215,   216,   217,   218,   219,   220,   221,   222,
-     223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
-      -1,    -1,    -1,    -1,   237,    -1,    -1,    -1,   241,   215,
-     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
-     226,   227,   228,   229,   230,   231,   232,    -1,    -1,    -1,
-      -1,   237,    -1,    -1,    -1,   241,   215,   216,   217,   218,
-     219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
-     229,   230,   231,   232,    -1,    -1,    -1,    -1,   237,    -1,
-      -1,    -1,   241,   215,   216,   217,   218,   219,   220,   221,
-     222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
-     232,    -1,    -1,    -1,    -1,   237,    -1,    -1,    -1,   241,
      215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
      225,   226,   227,   228,   229,   230,   231,   232,    -1,    -1,
-      -1,    -1,   237,    -1,    -1,    -1,   241,   215,   216,   217,
-     218,   219,   220,   221,   222,   223,   224,   225,   226,   227,
-     228,   229,   230,   231,   232,    -1,    -1,    -1,    -1,   237,
-      -1,    -1,    -1,   241,   215,   216,   217,   218,   219,   220,
-     221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
-     231,   232,    -1,    -1,    -1,    -1,   237,    -1,    -1,    -1,
-     241,   215,   216,   217,   218,   219,   220,   221,   222,   223,
-     224,   225,   226,   227,   228,   229,   230,   231,   232,    -1,
-      -1,    -1,    -1,   237,    -1,    -1,    -1,   241,   215,   216,
-     217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
-     227,   228,   229,   230,   231,   232,    -1,    -1,    -1,    -1,
-     237,    -1,    -1,    -1,   241,   215,   216,   217,   218,   219,
+      -1,    -1,   237,    -1,   239,   215,   216,   217,   218,   219,
      220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
-     230,   231,   232,    -1,    -1,    -1,    -1,   237,    -1,    -1,
-      -1,   241,   215,   216,   217,   218,   219,   220,   221,   222,
-     223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
-      -1,    -1,    -1,    -1,   237,    -1,    -1,    -1,   241,   215,
-     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
-     226,   227,   228,   229,   230,   231,   232,    -1,    -1,    -1,
-      -1,   237,    -1,    -1,    -1,   241,   215,   216,   217,   218,
-     219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
-     229,   230,   231,   232,    -1,    -1,    -1,    -1,   237,    -1,
-      -1,    -1,   241,   215,   216,   217,   218,   219,   220,   221,
-     222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
-     232,    -1,    -1,    -1,    -1,   237,    -1,   239,   215,   216,
-     217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
-     227,   228,   229,   230,   231,   232,    -1,    -1,    -1,    -1,
-     237,    -1,   239,   215,   216,   217,   218,   219,   220,   221,
-     222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
-     232,    -1,    -1,    -1,    -1,   237,    -1,   239,   215,   216,
-     217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
-     227,   228,   229,   230,   231,   232,    -1,    -1,    -1,    -1,
-     237,    -1,   239,   215,   216,   217,   218,   219,   220,   221,
-     222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
-     232,    -1,    -1,    -1,    -1,   237,    -1,   239,   215,   216,
-     217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
-     227,   228,   229,   230,   231,   232,    -1,    -1,    -1,    -1,
-     237,    -1,   239,   215,   216,   217,   218,   219,   220,   221,
-     222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
-     232,    -1,    -1,    -1,    -1,   237,    -1,   239,   215,   216,
-     217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
-     227,   228,   229,   230,   231,   232,    -1,    -1,    -1,    -1,
-     237,    -1,   239,   215,   216,   217,   218,   219,   220,   221,
-     222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
-     232,    -1,    -1,    -1,    -1,   237,    -1,   239,   215,   216,
-     217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
-     227,   228,   229,   230,   231,   232,    -1,    -1,    -1,    -1,
-     237,    -1,   239,   215,   216,   217,   218,   219,   220,   221,
-     222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
-     232,    -1,    -1,    -1,    -1,   237,    -1,   239,   215,   216,
-     217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
-     227,   228,   229,   230,   231,   232,    -1,    -1,    -1,    -1,
-     237,    -1,   239,   215,   216,   217,   218,   219,   220,   221,
-     222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
-     232,    -1,    -1,    -1,    -1,   237,    -1,   239,   215,   216,
-     217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
-     227,   228,   229,   230,   231,   232,    -1,    -1,    -1,    -1,
-     237,    -1,   239,   215,   216,   217,   218,   219,   220,   221,
-     222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
-     232,    -1,    -1,    -1,    -1,   237,    -1,   239,   215,   216,
-     217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
-     227,   228,   229,   230,   231,   232,    -1,    -1,    -1,    -1,
-     237,    -1,   239,   215,   216,   217,   218,   219,   220,   221,
-     222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
-     232,    -1,    -1,    -1,    -1,   237,    -1,   239,   215,   216,
-     217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
-     227,   228,   229,   230,   231,   232,    -1,    -1,    -1,    -1,
-     237,    -1,   239,   215,   216,   217,   218,   219,   220,   221,
-     222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
-     232,    -1,    -1,    -1,    -1,   237,    -1,   239,   215,   216,
-     217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
-     227,   228,   229,   230,   231,   232,    -1,    -1,    -1,    -1,
-     237,    -1,   239,   215,   216,   217,   218,   219,   220,   221,
-     222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
-     232,    -1,    -1,    -1,    -1,   237,    -1,   239,   215,   216,
-     217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
-     227,   228,   229,   230,   231,   232,    -1,    -1,    -1,    -1,
-     237,    -1,   239,   215,   216,   217,   218,   219,   220,   221,
-     222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
-     232,    -1,    -1,    -1,    -1,   237,    -1,   239,   215,   216,
-     217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
-     227,   228,   229,   230,   231,   232,    -1,    -1,    -1,    -1,
-     237,    -1,   239,   215,   216,   217,   218,   219,   220,   221,
-     222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
-     232,    -1,    -1,    -1,    -1,   237,    -1,   239,   215,   216,
-     217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
-     227,   228,   229,   230,   231,   232,    -1,    -1,    -1,    -1,
-     237,    -1,   239,   215,   216,   217,   218,   219,   220,   221,
-     222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
-     232,    -1,    -1,    -1,    -1,   237,    -1,   239,   215,   216,
-     217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
-     227,   228,   229,   230,   231,   232,    -1,    -1,    -1,    -1,
-     237,    -1,   239,   215,   216,   217,   218,   219,   220,   221,
-     222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
-     232,    -1,    -1,    -1,    -1,   237,    -1,   239,   215,   216,
-     217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
-     227,   228,   229,   230,   231,   232,    -1,    -1,    -1,    -1,
-     237,    -1,   239,   215,   216,   217,   218,   219,   220,   221,
-     222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
-     232,    -1,    -1,    -1,    -1,   237,    -1,   239,   215,   216,
-     217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
-     227,   228,   229,   230,   231,   232,    -1,    -1,    -1,    -1,
-     237,    -1,   239,   215,   216,   217,   218,   219,   220,   221,
-     222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
-     232,    -1,    -1,    -1,    -1,   237,    -1,   239,   215,   216,
-     217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
-     227,   228,   229,   230,   231,   232,    -1,    -1,    -1,    -1,
-     237,    -1,   239,   215,   216,   217,   218,   219,   220,   221,
-     222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
-     232,    -1,    -1,    -1,    -1,   237,    -1,   239,   215,   216,
-     217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
-     227,   228,   229,   230,   231,   232,    -1,    -1,    -1,    -1,
-     237,    -1,   239,   215,   216,   217,   218,   219,   220,   221,
-     222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
-     232,    -1,    -1,    -1,    -1,   237,    -1,   239,   215,   216,
-     217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
-     227,   228,   229,   230,   231,   232,    -1,    -1,    -1,    -1,
-     237,    -1,   239,   215,   216,   217,   218,   219,   220,   221,
-     222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
-     232,    -1,    -1,    -1,    -1,   237,    -1,   239,   215,   216,
-     217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
-     227,   228,   229,   230,   231,   232,    -1,    -1,    -1,    -1,
-     237,    -1,   239,   215,   216,   217,   218,   219,   220,   221,
-     222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
-     232,    -1,    -1,    -1,    -1,   237,    -1,   239,   215,   216,
-     217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
-     227,   228,   229,   230,   231,   232,    -1,    -1,    -1,    -1,
-     237,    -1,   239,   215,   216,   217,   218,   219,   220,   221,
-     222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
-     232,    -1,    -1,    -1,    -1,   237,    -1,   239,   215,   216,
-     217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
-     227,   228,   229,   230,   231,   232,    -1,    -1,    -1,    -1,
-     237,    -1,   239,   215,   216,   217,   218,   219,   220,   221,
-     222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
-     232,    -1,    -1,    -1,    -1,   237,    -1,   239,   215,   216,
-     217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
-     227,   228,   229,   230,   231,   232,    -1,    -1,    -1,    -1,
-     237,    -1,   239,   215,   216,   217,   218,   219,   220,   221,
-     222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
-     232,    -1,    -1,    -1,    -1,   237,    -1,   239,   215,   216,
-     217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
-     227,   228,   229,   230,   231,   232,    -1,    -1,    -1,    -1,
-     237,    -1,   239,   215,   216,   217,   218,   219,   220,   221,
-     222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
-     232,    -1,    -1,    -1,    -1,   237,    -1,   239,   215,   216,
-     217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
-     227,   228,   229,   230,   231,   232,    -1,    -1,    -1,    -1,
-     237,    -1,   239,   215,   216,   217,   218,   219,   220,   221,
-     222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
-     232,    -1,    -1,    -1,    -1,   237,    -1,   239,   215,   216,
-     217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
-     227,   228,   229,   230,   231,   232,    -1,    -1,    -1,    -1,
-     237,    -1,   239,   215,   216,   217,   218,   219,   220,   221,
-     222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
-     232,    -1,    -1,    -1,    -1,   237,    -1,   239,   215,   216,
-     217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
-     227,   228,   229,   230,   231,   232,    -1,    -1,    -1,    -1,
-     237,    -1,   239,   215,   216,   217,   218,   219,   220,   221,
-     222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
-     232,    -1,    -1,    -1,    -1,   237,    -1,   239,   215,   216,
-     217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
-     227,   228,   229,   230,   231,   232,    -1,    -1,    -1,    -1,
-     237,    -1,   239,   215,   216,   217,   218,   219,   220,   221,
-     222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
-     232,    -1,    -1,    -1,    -1,   237,    -1,   239,   215,   216,
-     217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
-     227,   228,   229,   230,   231,   232,    -1,    -1,    -1,    -1,
-     237,    -1,   239,   215,   216,   217,   218,   219,   220,   221,
-     222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
-     232,    -1,    -1,    -1,    -1,   237,    -1,   239
+     230,   231,   232,    -1,    -1,    -1,    -1,   237,    -1,   239,
+     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
+     225,   226,   227,   228,   229,   230,   231,   232,    -1,    -1,
+      -1,    -1,   237,    -1,   239,   215,   216,   217,   218,   219,
+     220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
+     230,   231,   232,    -1,    -1,    -1,    -1,   237
 };
 
 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
@@ -5301,167 +5363,170 @@ static const yytype_uint16 yystos[] =
      272,   272,   272,   272,   272,   238,   272,   272,   238,   272,
      272,     5,   176,   242,     5,   176,     5,   176,     5,   176,
      118,    91,    94,    97,    99,   238,   272,   272,   238,   238,
-     238,   327,   242,   327,   343,   327,   327,   243,   344,   354,
-       8,   215,   216,   217,   218,   219,   220,   221,   222,   223,
-     224,   225,   226,   227,   228,   229,   230,   231,   232,   237,
-       9,   238,   240,   244,   271,   272,   327,   344,   238,   238,
-     238,   341,   342,   342,   342,   238,   238,   238,   238,   238,
-     341,   238,   341,   238,   341,   242,   242,   327,     4,   341,
-     242,   345,   242,   242,   338,   338,   338,   327,   327,   226,
-     227,   242,   242,   338,   226,   227,   238,   298,   338,   242,
-     238,   242,   238,   238,   238,   238,   238,   238,   238,   327,
-     342,   342,   342,   238,     4,   240,     6,   240,   298,     6,
-       6,   242,   242,   242,   342,   342,   240,   240,   240,   327,
-       6,     6,   327,   327,   327,   244,   327,   242,   176,   327,
-     327,   327,   327,   272,   272,   272,   238,   238,   238,   272,
-     272,   272,   272,   272,   272,   272,   272,   272,   272,   238,
-     238,   272,   238,   240,     6,     6,   242,     6,   298,     6,
-     298,   272,   327,   228,   242,   238,   240,   348,   327,   298,
-     341,   341,   242,   349,    91,    94,    97,    99,     7,   327,
-     327,     4,   173,   174,   341,     6,   239,   241,   242,   273,
-       6,   242,     6,     9,   238,   240,   244,   354,   243,    91,
-      94,    97,    99,   118,   123,   126,   295,   327,     6,   239,
-     247,     9,   238,   240,   244,   239,   247,   247,   239,   247,
-     241,   247,   275,   241,   275,    87,   336,   333,   354,   247,
-     247,   239,   228,   243,   247,   239,   239,   327,   239,   243,
-     239,   239,   327,   239,   243,   239,   239,   239,   239,   239,
-     239,   239,   239,   239,   239,     7,   327,   243,     6,     6,
-       6,   239,   327,   327,   327,   327,   327,   327,   327,   327,
-     327,   327,   327,   327,   327,   327,   327,   327,   327,   343,
-     327,   327,   327,   327,   327,   327,   327,   343,   343,   354,
-     242,   327,   327,   348,   327,   348,   341,   348,   348,   352,
-     327,   273,   354,    64,   327,    64,    64,    64,   342,   342,
-     342,   342,   348,   348,   343,   334,   349,   334,   344,   239,
-     243,   272,   327,   327,   327,   327,   327,   327,   327,   327,
-     327,   327,   327,   327,   327,   327,   242,   327,   343,   327,
-     327,   327,   327,   327,   354,   327,   327,     4,   335,   242,
-     273,   239,   243,   327,   327,   327,     7,     7,   320,   320,
-     289,   327,   349,   290,   327,   349,   291,   327,   349,   292,
-     327,   349,   327,     6,   327,     6,   327,     6,   344,   344,
-     242,   239,     6,   298,   242,   298,   298,   247,   247,   247,
-     338,   338,   297,   297,   247,   327,   243,   311,   247,   298,
-     327,   327,   327,   327,   327,   327,   327,   327,   327,   239,
-       7,   321,     6,     7,   327,     6,   327,   327,   243,   344,
-     344,   344,     6,     6,   327,   327,   327,   239,   239,   239,
-     239,   173,   247,   298,   242,     8,   239,   239,   241,   352,
-     348,   352,   348,   348,   348,   348,   348,   348,   327,   348,
-     348,   348,   348,   245,   351,   354,   349,   348,   348,   348,
-     334,   354,   344,   243,   243,   327,   327,   298,   241,   239,
-     131,   148,   315,   239,   243,   247,   327,     6,   242,   242,
-     242,   242,   327,   239,   241,     7,   270,   271,   244,     7,
-       6,   344,     7,   214,   270,   255,   354,   327,   327,   335,
-     240,   242,   242,   242,   242,   238,   118,    94,    97,    99,
-     243,     6,   221,   222,   252,   344,   354,   327,   327,     4,
-     335,     6,   344,   327,     6,   348,     6,   354,     6,   348,
-     327,   239,   240,   327,   349,     7,   176,   327,   343,     7,
-       7,   239,     7,   176,     7,     7,   239,     7,   176,     7,
-       7,     7,     7,     7,     7,     7,     7,     7,   327,   239,
-     242,     6,   273,   273,   273,   273,   273,   273,   273,   273,
-     273,   273,   273,   247,   273,   273,   273,   273,   273,   273,
-     273,   273,   273,   247,   247,   247,   239,   241,   241,   344,
-     247,   247,   273,   247,   273,   247,   247,   247,   239,   329,
-     273,   242,   243,   242,   242,   242,   247,   247,   273,   273,
-     239,   244,   239,   244,   247,   330,   243,     7,   273,     8,
-       8,   344,   244,   239,   241,   271,   344,     7,   242,   239,
-     239,   239,   327,   341,     4,   319,     6,   239,   247,   239,
-     247,   239,   247,   239,   247,   239,   239,   239,   243,   243,
-     344,   244,   243,   298,   243,   243,   338,   327,   327,   243,
-     243,   327,   338,   128,   128,   145,   153,   154,   155,   159,
-     160,   312,   313,   338,   243,   308,   239,   243,   239,   239,
-     239,   239,   239,   239,   239,     7,   327,     6,   327,   239,
-     241,   241,   243,   243,   243,   241,   241,   247,     7,     7,
-       7,   244,   327,   243,   327,   327,     7,   244,   273,   247,
-     273,   273,   239,   239,   247,   273,   273,   247,   247,   273,
-     273,   273,   273,   327,   273,     9,   350,   247,   239,   247,
-     273,   244,   247,   331,   241,   243,   243,   246,     7,   148,
-       6,   327,   243,   242,     6,   341,   243,   327,   327,   327,
-     327,     6,     7,   270,   271,   244,   270,   271,   349,   327,
-       6,     4,   242,   346,   354,   243,    46,    46,   341,     4,
-     163,   164,   165,   166,   243,   258,   262,   265,   267,   268,
-     244,   239,   241,   327,   344,   344,   344,   344,   327,   238,
-     238,   238,   238,   348,   239,   244,   239,   241,   239,   247,
-       7,   272,     4,   283,   284,   285,   273,   273,   338,    97,
-      99,   341,   341,     7,   341,    97,    99,   341,   341,     7,
-     341,    99,   341,   341,   341,   341,   341,   341,   341,   341,
-     341,     6,     7,   344,   327,   327,   327,   327,   243,   327,
-     327,   327,   341,   348,   348,   247,   282,   327,   327,   327,
-     327,   327,   327,   335,   335,   327,   239,   341,   327,   327,
-     243,   335,   271,   244,   271,   243,   341,   344,     7,     7,
-       7,   128,   318,     6,   270,   327,   270,   327,   270,   327,
-     270,   327,     7,     7,     7,     7,     7,   243,     4,   243,
-     247,   247,   247,   243,   243,   109,     4,     6,   327,   242,
-       6,   238,     6,   161,     6,   161,   243,   313,   247,   312,
-       7,     6,     7,     7,     7,     7,     7,     7,     7,   341,
-       6,   242,     6,     6,     6,    97,     7,     6,     6,   327,
-     341,   341,   341,     4,   247,     8,     8,   239,     4,     4,
-     344,   348,   327,   348,   245,   247,   286,   348,   348,   335,
-     348,   239,   247,   242,   242,     6,   327,     6,   242,   341,
-     243,   243,   243,   243,   243,   327,     6,     4,   173,   174,
-     327,     6,     6,     6,     7,   345,   347,     6,   240,   273,
-     272,   272,     6,   259,   238,   238,   242,   269,     6,   335,
-     244,   348,   241,   243,   243,   243,   243,   239,   327,   327,
-     327,   327,     6,     6,   252,   335,   244,     6,   327,   242,
+     238,   327,   242,   327,   343,   327,   327,   243,   344,   334,
+     354,     8,   215,   216,   217,   218,   219,   220,   221,   222,
+     223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
+     237,     9,   238,   240,   244,   271,   272,   327,   344,   238,
+     238,   238,   341,   342,   342,   342,   238,   238,   238,   238,
+     238,   341,   238,   341,   238,   341,   242,   242,   327,     4,
+     341,   242,   345,   242,   242,   338,   338,   338,   327,   327,
+     226,   227,   242,   242,   338,   226,   227,   238,   298,   338,
+     242,   238,   242,   238,   238,   238,   238,   238,   238,   238,
+     327,   342,   342,   342,   238,     4,   240,     6,   240,   298,
+       6,     6,   242,   242,   242,   342,   342,   240,   240,   240,
+     327,     6,     6,   327,   327,   327,   244,   327,   242,   176,
+     327,   327,   327,   327,   272,   272,   272,   238,   238,   238,
+     272,   272,   272,   272,   272,   272,   272,   272,   272,   272,
+     238,   238,   272,   238,   240,     6,     6,   242,     6,   298,
+       6,   298,   272,   327,   228,   242,   238,   240,   348,   327,
+     298,   341,   341,   242,   349,    91,    94,    97,    99,     7,
+     327,   327,     4,   173,   174,   341,     6,   239,   241,   242,
+     273,     6,   242,     6,     9,   238,   240,   244,   354,   243,
+      91,    94,    97,    99,   118,   123,   126,   295,   327,     6,
+     239,   247,     9,   238,   240,   244,   239,   247,   247,   239,
+     247,   241,   247,   275,   241,   275,    87,   336,   333,   354,
+     247,   247,   239,   228,   243,   247,   239,   239,   327,   239,
+     243,   239,   239,   327,   239,   243,   239,   239,   239,   239,
+     239,   239,   239,   239,   239,   239,     7,   327,   243,     6,
+       6,     6,   239,   327,   327,   327,   327,   327,   327,   327,
+     327,   327,   327,   327,   327,   327,   327,   327,   327,   327,
+     343,   327,   327,   327,   327,   327,   327,   327,   343,   343,
+     354,   242,   327,   327,   348,   327,   348,   341,   348,   348,
+     352,   327,   273,   354,    64,   327,    64,    64,    64,   342,
+     342,   342,   342,   348,   348,   343,   334,   349,   334,   344,
+     239,   243,   244,   272,   327,   327,   327,   327,   327,   327,
+     327,   327,   327,   327,   327,   327,   327,   327,   242,   327,
+     343,   327,   327,   327,   327,   327,   354,   327,   327,     4,
+     335,   242,   273,   239,   243,   327,   327,   327,     7,     7,
+     320,   320,   289,   327,   349,   290,   327,   349,   291,   327,
+     349,   292,   327,   349,   327,     6,   327,     6,   327,     6,
+     344,   344,   242,   239,     6,   298,   242,   298,   298,   247,
+     247,   247,   338,   338,   297,   297,   247,   327,   243,   311,
+     247,   298,   327,   327,   327,   327,   327,   327,   327,   327,
+     327,   239,     7,   321,     6,     7,   327,     6,   327,   327,
+     243,   344,   344,   344,     6,     6,   327,   327,   327,   239,
+     239,   239,   239,   173,   247,   298,   242,     8,   239,   239,
+     241,   352,   348,   352,   348,   348,   348,   348,   348,   348,
+     327,   348,   348,   348,   348,   245,   351,   354,   349,   348,
+     348,   348,   334,   354,   344,   243,   243,   327,   327,   298,
+     241,   239,   131,   148,   315,   239,   243,   247,   327,     6,
+     242,   242,   242,   242,   327,   239,   241,     7,   270,   271,
+     244,     7,     6,   344,     7,   214,   270,   255,   354,   327,
+     327,   335,   240,   242,   242,   242,   242,   238,   118,    94,
+      97,    99,   243,     6,   221,   222,   252,   344,   354,   327,
+     327,     4,   335,     6,   344,   327,     6,   348,     6,   354,
+       6,   348,   327,   239,   240,   327,   349,     7,   176,   327,
+     343,     7,     7,   239,     7,   176,     7,     7,   239,     7,
+     176,     7,     7,     7,     7,     7,     7,     7,     7,     7,
+     327,   239,   242,     6,   273,   273,   273,   273,   273,   273,
+     273,   273,   273,   273,   273,   247,   273,   273,   273,   273,
+     273,   273,   273,   273,   273,   247,   247,   247,   239,   241,
+     241,   344,   247,   247,   273,   247,   273,   247,   247,   247,
+     239,   329,   273,   242,   243,   242,   242,   242,   247,   247,
+     273,   273,   239,   244,   239,   244,   247,   330,   243,     7,
+     335,   273,     8,     8,   344,   244,   239,   241,   271,   238,
+     344,     7,   242,   239,   239,   239,   327,   341,     4,   319,
+       6,   239,   247,   239,   247,   239,   247,   239,   247,   239,
+     239,   239,   243,   243,   344,   244,   243,   298,   243,   243,
+     338,   327,   327,   243,   243,   327,   338,   128,   128,   145,
+     153,   154,   155,   159,   160,   312,   313,   338,   243,   308,
+     239,   243,   239,   239,   239,   239,   239,   239,   239,     7,
+     327,     6,   327,   239,   241,   241,   243,   243,   243,   241,
+     241,   247,     7,     7,     7,   244,   327,   243,   327,   327,
+       7,   244,   273,   247,   273,   273,   239,   239,   247,   273,
+     273,   247,   247,   273,   273,   273,   273,   327,   273,     9,
+     350,   247,   239,   247,   273,   244,   247,   331,   241,   243,
+     243,   246,     7,   148,     6,   327,   243,   242,     6,   341,
+     243,   327,   327,   327,   327,     6,     7,   270,   271,   244,
+     270,   271,   349,   327,     6,     4,   242,   346,   354,   243,
+      46,    46,   341,     4,   163,   164,   165,   166,   243,   258,
+     262,   265,   267,   268,   244,   239,   241,   238,   327,   344,
+     344,   344,   344,   327,   238,   238,   238,   238,   348,   239,
+     244,   239,   241,   238,   239,   247,     7,   272,     4,   283,
+     284,   285,   273,   273,   338,    97,    99,   341,   341,     7,
+     341,    97,    99,   341,   341,     7,   341,    99,   341,   341,
+     341,   341,   341,   341,   341,   341,   341,     6,     7,   344,
+     327,   327,   327,   327,   243,   327,   327,   327,   341,   348,
+     348,   247,   282,   327,   327,   327,   327,   327,   327,   335,
+     335,   327,   239,   341,   238,   327,   327,   243,   335,   271,
+     244,   271,   327,   243,   341,   344,     7,     7,     7,   128,
+     318,     6,   270,   327,   270,   327,   270,   327,   270,   327,
+       7,     7,     7,     7,     7,   243,     4,   243,   247,   247,
+     247,   243,   243,   109,     4,     6,   327,   242,     6,   238,
+       6,   161,     6,   161,   243,   313,   247,   312,     7,     6,
+       7,     7,     7,     7,     7,     7,     7,   341,     6,   242,
+       6,     6,     6,    97,     7,     6,     6,   327,   341,   341,
+     341,     4,   247,     8,     8,   239,     4,     4,   344,   348,
+     327,   348,   245,   247,   286,   348,   348,   335,   348,   239,
+     247,   242,   242,     6,   327,     6,   242,   341,   243,   243,
+     243,   243,   243,   327,     6,     4,   173,   174,   327,     6,
+       6,     6,     7,   345,   347,     6,   240,   273,   272,   272,
+       6,   259,   238,   238,   242,   269,     6,   335,   244,   348,
+     327,   241,   243,   243,   243,   243,   239,   327,   327,   327,
+     327,     6,     6,   252,   335,   244,   327,     6,   327,   242,
      327,   349,   273,   242,   341,   349,   241,   247,     6,     6,
        6,   242,   242,   122,   294,   294,   341,     6,   242,   242,
        6,     6,   341,   176,   293,   242,     6,     6,     6,     6,
        6,     6,     6,     6,     6,     5,   243,   273,   273,   273,
      273,   273,   247,   247,   247,   239,   273,   273,   284,   273,
-     247,   247,   247,   247,   239,   273,   239,   330,     6,     4,
-     273,     6,   243,   341,   341,   341,     4,     6,   341,   341,
-     341,   341,   341,   341,   341,   242,   242,     7,     6,     7,
-     327,   327,   327,   242,   242,   242,   240,     6,   327,   341,
-     327,     6,     6,   327,   338,   243,     5,   341,   242,   242,
-     242,   242,   242,   242,   242,   341,     6,   344,   242,   327,
-     241,     6,     6,   172,   327,   327,   327,     6,     6,     7,
-     273,   247,   247,   273,   247,   327,     4,   188,   287,   288,
-     273,   239,   273,   331,   349,   327,   298,     6,   298,   247,
-       6,     6,     7,   270,   271,   244,     7,     6,   345,   243,
-     247,   327,   270,   273,   352,   352,   238,   327,   327,   340,
-     341,   242,     4,     6,     6,     6,     6,     6,     6,   239,
-     239,   239,   239,   348,     4,   247,   341,   349,     7,   281,
-     327,   343,   285,   327,   327,   338,     6,     6,     6,   327,
-     327,     6,    95,     6,   327,     5,   242,   327,   327,   327,
-     327,   327,   327,   327,   239,   271,   242,     6,   293,     6,
-     327,     6,     6,     6,     6,     6,     4,     6,     6,   344,
-     344,   327,   327,   349,   243,   239,   243,   247,   297,   297,
-     327,   327,   243,   247,   239,   243,   247,     6,     6,   340,
-     338,   338,   338,   338,   338,   227,   338,     6,   243,   327,
-       6,     6,   341,   243,   247,     8,   243,   239,   242,   327,
-     349,   348,   327,   348,   242,   327,   349,   349,   247,   239,
-     247,   243,   315,   315,   341,   349,   327,     6,     4,   346,
-       6,   345,   241,   341,     6,   273,   273,   256,   327,   247,
-     247,   243,   247,   257,   327,     6,   327,   277,   279,   242,
+     247,   247,   247,   247,   239,   273,   239,   330,     6,   239,
+     238,     4,   239,   273,     6,   243,   341,   341,   341,     4,
+       6,   341,   341,   341,   341,   341,   341,   341,   242,   242,
+       7,     6,     7,   327,   327,   327,   242,   242,   242,   240,
+       6,   327,   341,   327,     6,     6,   327,   338,   243,     5,
+     341,   242,   242,   242,   242,   242,   242,   242,   341,     6,
+     344,   242,   327,   241,     6,     6,   172,   327,   327,   327,
+       6,     6,     7,   273,   247,   247,   273,   247,   327,     4,
+     188,   287,   288,   273,   239,   273,   331,   349,   327,   298,
+       6,   298,   247,     6,     6,     7,   270,   271,   244,     7,
+       6,   345,   243,   247,   327,   270,   273,   352,   352,   238,
+     327,   327,   340,   341,   242,   238,     4,     6,   239,     6,
+       6,     6,     6,     6,   239,   239,   239,   239,   348,   238,
+       4,   239,   247,   341,   349,     7,   281,   327,   343,   285,
+     327,   327,   338,     6,     6,     6,   327,   327,     6,    95,
+       6,   327,     5,   242,   327,   327,   327,   327,   327,   327,
+     327,   239,   327,   271,   242,     6,   293,     6,   327,     6,
+       6,     6,     6,     6,     4,     6,     6,   344,   344,   327,
+     327,   349,   243,   239,   243,   247,   297,   297,   327,   327,
+     243,   247,   239,   243,   247,     6,     6,   340,   338,   338,
+     338,   338,   338,   227,   338,     6,   243,   327,     6,     6,
+     341,   243,   247,     8,   243,   239,   242,   327,   349,   348,
+     327,   348,   242,   327,   349,   349,   247,   239,   247,   243,
+     315,   315,   341,   349,   327,     6,     4,   346,     6,   345,
+     241,   341,     6,   273,   273,   256,   327,   247,   247,   243,
+     247,   257,   327,   327,     6,   327,   327,   277,   279,   242,
      243,   247,     7,     7,   243,   243,   243,   243,   242,   243,
-       5,   340,   273,   273,   247,   247,   247,   247,   247,   327,
-       6,   242,   243,   243,   242,     6,     6,   242,   327,   243,
-     243,   243,   241,     6,   341,     7,   242,   327,   243,   247,
-     247,   247,   247,   247,   247,     6,   243,   171,   327,   327,
-     344,     6,     6,   239,   273,   273,   352,   288,   349,   243,
-     243,   243,     6,     6,     7,     6,   244,     6,     6,     6,
-     239,   247,   327,   327,   242,   341,   243,   247,   247,   282,
-     286,   341,   327,   349,   354,     6,     6,     6,     6,   327,
-       6,     6,   243,   327,   327,   327,   327,   327,   243,   340,
-     132,   133,   138,   322,   132,   133,   322,   344,   297,   243,
-     247,     6,   243,   341,   298,   243,     6,   344,   338,   338,
-     338,   338,   338,   327,   243,   243,   243,   243,   239,   242,
-       6,   345,   174,   260,   327,   247,   247,   340,     6,   327,
-     327,   243,   243,   278,     7,   238,   243,   242,   247,   247,
-     247,   247,   247,   243,   242,   338,   341,     6,   242,   338,
-       6,   243,   243,   327,     6,   128,   243,   309,   242,   243,
-     247,   247,   247,   247,   247,     6,     6,     6,   298,     6,
-     242,   327,   327,   243,   247,   282,   349,   239,   327,   327,
-     327,   327,   327,   327,     6,   338,     6,   338,     6,     6,
-     243,   327,   312,   298,     6,   344,   344,   344,   344,   338,
-     344,   315,   257,   239,   247,     6,   242,   327,   243,   247,
-     247,   247,   247,   247,   247,   247,   247,     6,   243,   243,
-     310,   243,   243,   243,   243,   247,   243,   243,   243,   263,
-     327,   340,   243,   327,   327,   327,   327,   327,   327,   338,
-     338,   312,     6,     6,     6,     6,   344,     6,     6,     6,
-     242,   239,   243,     6,   243,   273,   247,   247,   247,   247,
-     247,   247,   243,   243,   261,   348,   266,   242,     6,   327,
-     327,   327,   327,   327,   327,     6,   243,   247,   242,   340,
-     243,   243,   243,   243,   243,   243,     6,   348,   264,   348,
-     243,     6,     6,   243,   247,     6,     6,   348
+       5,   340,   273,   273,   247,   247,   247,   247,   247,   239,
+     327,     6,   242,   243,   243,   242,     6,     6,   242,   327,
+     243,   243,   243,   241,     6,   341,     7,   242,   327,   243,
+     247,   247,   247,   247,   247,   247,     6,   243,   171,   327,
+     327,   344,     6,     6,   239,   273,   273,   352,   288,   349,
+     243,   243,   243,     6,     6,     7,     6,   244,     6,     6,
+       6,   239,   247,   327,   327,   242,   341,   243,   247,   239,
+     239,   247,   282,   286,   341,   327,   349,   354,     6,     6,
+       6,     6,   327,     6,     6,   243,   327,   327,   327,   327,
+     327,   243,   340,   132,   133,   138,   322,   132,   133,   322,
+     344,   297,   243,   247,     6,   243,   341,   298,   243,     6,
+     344,   338,   338,   338,   338,   338,   327,   243,   243,   243,
+     243,   239,   242,     6,   345,   174,   260,   327,   247,   247,
+     340,     6,   327,   327,   243,   243,   278,     7,   238,   243,
+     242,   247,   247,   247,   247,   247,   243,   242,   338,   341,
+       6,   242,   338,     6,   243,   243,   327,     6,   128,   243,
+     309,   242,   243,   247,   247,   247,   247,   247,     6,     6,
+       6,   298,     6,   242,   327,   327,   243,   247,   282,   349,
+     239,   327,   327,   327,   327,   327,   327,     6,   338,     6,
+     338,     6,     6,   243,   327,   312,   298,     6,   344,   344,
+     344,   344,   338,   344,   315,   257,   239,   247,     6,   242,
+     327,   243,   247,   247,   247,   247,   247,   247,   247,   247,
+       6,   243,   243,   310,   243,   243,   243,   243,   247,   243,
+     243,   243,   263,   327,   340,   243,   327,   327,   327,   327,
+     327,   327,   338,   338,   312,     6,     6,     6,     6,   344,
+       6,     6,     6,   242,   239,   243,     6,   243,   273,   247,
+     247,   247,   247,   247,   247,   243,   243,   261,   348,   266,
+     242,     6,   327,   327,   327,   327,   327,   327,     6,   243,
+     247,   242,   340,   243,   243,   243,   243,   243,   243,     6,
+     348,   264,   348,   243,     6,     6,   243,   247,     6,     6,
+     348
 };
 
 #define yyerrok		(yyerrstatus = 0)
@@ -6276,27 +6341,27 @@ yyreduce:
   switch (yyn)
     {
         case 3:
-#line 254 "Gmsh.y"
+#line 260 "Gmsh.y"
     { yyerrok; return 1; ;}
     break;
 
   case 6:
-#line 265 "Gmsh.y"
+#line 271 "Gmsh.y"
     { return 1; ;}
     break;
 
   case 7:
-#line 266 "Gmsh.y"
+#line 272 "Gmsh.y"
     { return 1; ;}
     break;
 
   case 8:
-#line 267 "Gmsh.y"
+#line 273 "Gmsh.y"
     { return 1; ;}
     break;
 
   case 9:
-#line 269 "Gmsh.y"
+#line 275 "Gmsh.y"
     {
       factory = (yyvsp[(3) - (5)].c);
       if(factory == "OpenCASCADE"){
@@ -6318,101 +6383,101 @@ yyreduce:
     break;
 
   case 10:
-#line 287 "Gmsh.y"
+#line 293 "Gmsh.y"
     { return 1; ;}
     break;
 
   case 11:
-#line 288 "Gmsh.y"
+#line 294 "Gmsh.y"
     { List_Delete((yyvsp[(1) - (1)].l)); return 1; ;}
     break;
 
   case 12:
-#line 289 "Gmsh.y"
+#line 295 "Gmsh.y"
     { return 1; ;}
     break;
 
   case 13:
-#line 290 "Gmsh.y"
+#line 296 "Gmsh.y"
     { return 1; ;}
     break;
 
   case 14:
-#line 291 "Gmsh.y"
+#line 297 "Gmsh.y"
     { return 1; ;}
     break;
 
   case 15:
-#line 292 "Gmsh.y"
+#line 298 "Gmsh.y"
     { return 1; ;}
     break;
 
   case 16:
-#line 293 "Gmsh.y"
+#line 299 "Gmsh.y"
     { List_Delete((yyvsp[(1) - (1)].l)); return 1; ;}
     break;
 
   case 17:
-#line 294 "Gmsh.y"
+#line 300 "Gmsh.y"
     { List_Delete((yyvsp[(1) - (1)].l)); return 1; ;}
     break;
 
   case 18:
-#line 295 "Gmsh.y"
+#line 301 "Gmsh.y"
     { return 1; ;}
     break;
 
   case 19:
-#line 296 "Gmsh.y"
+#line 302 "Gmsh.y"
     { return 1; ;}
     break;
 
   case 20:
-#line 297 "Gmsh.y"
+#line 303 "Gmsh.y"
     { return 1; ;}
     break;
 
   case 21:
-#line 298 "Gmsh.y"
+#line 304 "Gmsh.y"
     { return 1; ;}
     break;
 
   case 22:
-#line 299 "Gmsh.y"
+#line 305 "Gmsh.y"
     { return 1; ;}
     break;
 
   case 23:
-#line 300 "Gmsh.y"
+#line 306 "Gmsh.y"
     { return 1; ;}
     break;
 
   case 24:
-#line 301 "Gmsh.y"
+#line 307 "Gmsh.y"
     { return 1; ;}
     break;
 
   case 25:
-#line 302 "Gmsh.y"
+#line 308 "Gmsh.y"
     { return 1; ;}
     break;
 
   case 26:
-#line 307 "Gmsh.y"
+#line 313 "Gmsh.y"
     {
       (yyval.c) = (char*)"w";
     ;}
     break;
 
   case 27:
-#line 311 "Gmsh.y"
+#line 317 "Gmsh.y"
     {
       (yyval.c) = (char*)"a";
     ;}
     break;
 
   case 28:
-#line 318 "Gmsh.y"
+#line 324 "Gmsh.y"
     {
       Msg::Direct((yyvsp[(3) - (5)].c));
       Free((yyvsp[(3) - (5)].c));
@@ -6420,7 +6485,7 @@ yyreduce:
     break;
 
   case 29:
-#line 323 "Gmsh.y"
+#line 329 "Gmsh.y"
     {
       Msg::Error((yyvsp[(3) - (5)].c));
       Free((yyvsp[(3) - (5)].c));
@@ -6428,7 +6493,7 @@ yyreduce:
     break;
 
   case 30:
-#line 328 "Gmsh.y"
+#line 334 "Gmsh.y"
     {
       std::string tmp = FixRelativePath(gmsh_yyname, (yyvsp[(6) - (7)].c));
       FILE *fp = Fopen(tmp.c_str(), (yyvsp[(5) - (7)].c));
@@ -6445,7 +6510,7 @@ yyreduce:
     break;
 
   case 31:
-#line 342 "Gmsh.y"
+#line 348 "Gmsh.y"
     {
       char tmpstring[5000];
       int i = printListOfDouble((yyvsp[(3) - (7)].c), (yyvsp[(5) - (7)].l), tmpstring);
@@ -6461,7 +6526,7 @@ yyreduce:
     break;
 
   case 32:
-#line 355 "Gmsh.y"
+#line 361 "Gmsh.y"
     {
       char tmpstring[5000];
       int i = printListOfDouble((yyvsp[(3) - (7)].c), (yyvsp[(5) - (7)].l), tmpstring);
@@ -6477,7 +6542,7 @@ yyreduce:
     break;
 
   case 33:
-#line 368 "Gmsh.y"
+#line 374 "Gmsh.y"
     {
       char tmpstring[5000];
       int i = printListOfDouble((yyvsp[(3) - (9)].c), (yyvsp[(5) - (9)].l), tmpstring);
@@ -6503,7 +6568,7 @@ yyreduce:
     break;
 
   case 34:
-#line 396 "Gmsh.y"
+#line 402 "Gmsh.y"
     {
 #if defined(HAVE_POST)
       if(!strcmp((yyvsp[(1) - (6)].c), "View") && ViewData->finalize()){
@@ -6520,7 +6585,7 @@ yyreduce:
     break;
 
   case 35:
-#line 410 "Gmsh.y"
+#line 416 "Gmsh.y"
     {
 #if defined(HAVE_POST)
       if(!strcmp((yyvsp[(2) - (6)].c), "View")){
@@ -6536,7 +6601,7 @@ yyreduce:
     break;
 
   case 36:
-#line 423 "Gmsh.y"
+#line 429 "Gmsh.y"
     {
 #if defined(HAVE_POST)
       if(!strcmp((yyvsp[(2) - (6)].c), "View")){
@@ -6552,7 +6617,7 @@ yyreduce:
     break;
 
   case 37:
-#line 436 "Gmsh.y"
+#line 442 "Gmsh.y"
     {
 #if defined(HAVE_POST)
       if(!strcmp((yyvsp[(2) - (8)].c), "View")){
@@ -6570,7 +6635,7 @@ yyreduce:
     break;
 
   case 38:
-#line 454 "Gmsh.y"
+#line 460 "Gmsh.y"
     {
 #if defined(HAVE_POST)
       ViewData = new PViewDataList();
@@ -6579,27 +6644,27 @@ yyreduce:
     break;
 
   case 44:
-#line 468 "Gmsh.y"
+#line 474 "Gmsh.y"
     { ViewCoord.push_back((yyvsp[(1) - (1)].d)); ;}
     break;
 
   case 45:
-#line 470 "Gmsh.y"
+#line 476 "Gmsh.y"
     { ViewCoord.push_back((yyvsp[(3) - (3)].d)); ;}
     break;
 
   case 46:
-#line 475 "Gmsh.y"
+#line 481 "Gmsh.y"
     { if(ViewValueList) ViewValueList->push_back((yyvsp[(1) - (1)].d)); ;}
     break;
 
   case 47:
-#line 477 "Gmsh.y"
+#line 483 "Gmsh.y"
     { if(ViewValueList) ViewValueList->push_back((yyvsp[(3) - (3)].d)); ;}
     break;
 
   case 48:
-#line 482 "Gmsh.y"
+#line 488 "Gmsh.y"
     {
 #if defined(HAVE_POST)
       if(!strncmp((yyvsp[(1) - (1)].c), "SP", 2)){
@@ -6706,7 +6771,7 @@ yyreduce:
     break;
 
   case 49:
-#line 586 "Gmsh.y"
+#line 592 "Gmsh.y"
     {
 #if defined(HAVE_POST)
       if(ViewValueList){
@@ -6719,7 +6784,7 @@ yyreduce:
     break;
 
   case 50:
-#line 596 "Gmsh.y"
+#line 602 "Gmsh.y"
     {
 #if defined(HAVE_POST)
       if(ViewValueList) (*ViewNumList)++;
@@ -6728,7 +6793,7 @@ yyreduce:
     break;
 
   case 51:
-#line 605 "Gmsh.y"
+#line 611 "Gmsh.y"
     {
 #if defined(HAVE_POST)
       for(int i = 0; i < (int)strlen((yyvsp[(1) - (1)].c)) + 1; i++) ViewData->T2C.push_back((yyvsp[(1) - (1)].c)[i]);
@@ -6738,7 +6803,7 @@ yyreduce:
     break;
 
   case 52:
-#line 612 "Gmsh.y"
+#line 618 "Gmsh.y"
     {
 #if defined(HAVE_POST)
       for(int i = 0; i < (int)strlen((yyvsp[(3) - (3)].c)) + 1; i++) ViewData->T2C.push_back((yyvsp[(3) - (3)].c)[i]);
@@ -6748,7 +6813,7 @@ yyreduce:
     break;
 
   case 53:
-#line 622 "Gmsh.y"
+#line 628 "Gmsh.y"
     {
 #if defined(HAVE_POST)
       ViewData->T2D.push_back((yyvsp[(3) - (8)].d));
@@ -6760,7 +6825,7 @@ yyreduce:
     break;
 
   case 54:
-#line 631 "Gmsh.y"
+#line 637 "Gmsh.y"
     {
 #if defined(HAVE_POST)
       ViewData->NbT2++;
@@ -6769,7 +6834,7 @@ yyreduce:
     break;
 
   case 55:
-#line 640 "Gmsh.y"
+#line 646 "Gmsh.y"
     {
 #if defined(HAVE_POST)
       for(int i = 0; i < (int)strlen((yyvsp[(1) - (1)].c)) + 1; i++) ViewData->T3C.push_back((yyvsp[(1) - (1)].c)[i]);
@@ -6779,7 +6844,7 @@ yyreduce:
     break;
 
   case 56:
-#line 647 "Gmsh.y"
+#line 653 "Gmsh.y"
     {
 #if defined(HAVE_POST)
       for(int i = 0; i < (int)strlen((yyvsp[(3) - (3)].c)) + 1; i++) ViewData->T3C.push_back((yyvsp[(3) - (3)].c)[i]);
@@ -6789,7 +6854,7 @@ yyreduce:
     break;
 
   case 57:
-#line 657 "Gmsh.y"
+#line 663 "Gmsh.y"
     {
 #if defined(HAVE_POST)
       ViewData->T3D.push_back((yyvsp[(3) - (10)].d)); ViewData->T3D.push_back((yyvsp[(5) - (10)].d));
@@ -6800,7 +6865,7 @@ yyreduce:
     break;
 
   case 58:
-#line 665 "Gmsh.y"
+#line 671 "Gmsh.y"
     {
 #if defined(HAVE_POST)
       ViewData->NbT3++;
@@ -6809,7 +6874,7 @@ yyreduce:
     break;
 
   case 59:
-#line 675 "Gmsh.y"
+#line 681 "Gmsh.y"
     {
 #if defined(HAVE_POST)
       int type =
@@ -6828,7 +6893,7 @@ yyreduce:
     break;
 
   case 60:
-#line 694 "Gmsh.y"
+#line 700 "Gmsh.y"
     {
 #if defined(HAVE_POST)
       int type =
@@ -6847,7 +6912,7 @@ yyreduce:
     break;
 
   case 61:
-#line 713 "Gmsh.y"
+#line 719 "Gmsh.y"
     {
 #if defined(HAVE_POST)
       ViewValueList = &ViewData->Time;
@@ -6856,68 +6921,68 @@ yyreduce:
     break;
 
   case 62:
-#line 719 "Gmsh.y"
+#line 725 "Gmsh.y"
     {
     ;}
     break;
 
   case 63:
-#line 726 "Gmsh.y"
+#line 732 "Gmsh.y"
     { (yyval.i) = 0; ;}
     break;
 
   case 64:
-#line 727 "Gmsh.y"
+#line 733 "Gmsh.y"
     { (yyval.i) = 1; ;}
     break;
 
   case 65:
-#line 728 "Gmsh.y"
+#line 734 "Gmsh.y"
     { (yyval.i) = 2; ;}
     break;
 
   case 66:
-#line 729 "Gmsh.y"
+#line 735 "Gmsh.y"
     { (yyval.i) = 3; ;}
     break;
 
   case 67:
-#line 730 "Gmsh.y"
+#line 736 "Gmsh.y"
     { (yyval.i) = 4; ;}
     break;
 
   case 68:
-#line 734 "Gmsh.y"
+#line 740 "Gmsh.y"
     { (yyval.i) = 1; ;}
     break;
 
   case 69:
-#line 735 "Gmsh.y"
+#line 741 "Gmsh.y"
     { (yyval.i) = -1; ;}
     break;
 
   case 70:
-#line 741 "Gmsh.y"
+#line 747 "Gmsh.y"
     { (yyval.c) = (char*)"("; ;}
     break;
 
   case 71:
-#line 741 "Gmsh.y"
+#line 747 "Gmsh.y"
     { (yyval.c) = (char*)"["; ;}
     break;
 
   case 72:
-#line 742 "Gmsh.y"
+#line 748 "Gmsh.y"
     { (yyval.c) = (char*)")"; ;}
     break;
 
   case 73:
-#line 742 "Gmsh.y"
+#line 748 "Gmsh.y"
     { (yyval.c) = (char*)"]"; ;}
     break;
 
   case 77:
-#line 752 "Gmsh.y"
+#line 758 "Gmsh.y"
     {
       Msg::SetOnelabNumber((yyvsp[(3) - (7)].c), (yyvsp[(5) - (7)].d));
       Free((yyvsp[(3) - (7)].c));
@@ -6925,7 +6990,7 @@ yyreduce:
     break;
 
   case 78:
-#line 757 "Gmsh.y"
+#line 763 "Gmsh.y"
     {
       Msg::SetOnelabString((yyvsp[(3) - (7)].c), (yyvsp[(5) - (7)].c));
       Free((yyvsp[(3) - (7)].c));
@@ -6934,7 +6999,7 @@ yyreduce:
     break;
 
   case 79:
-#line 763 "Gmsh.y"
+#line 769 "Gmsh.y"
     {
       if(!gmsh_yysymbols.count((yyvsp[(1) - (4)].c)) && (yyvsp[(2) - (4)].i) && List_Nbr((yyvsp[(3) - (4)].l)) == 1){
         yymsg(0, "Unknown variable '%s'", (yyvsp[(1) - (4)].c));
@@ -6999,7 +7064,7 @@ yyreduce:
     break;
 
   case 80:
-#line 825 "Gmsh.y"
+#line 831 "Gmsh.y"
     {
       if(!gmsh_yysymbols.count((yyvsp[(1) - (3)].c)))
 	yymsg(0, "Unknown variable '%s'", (yyvsp[(1) - (3)].c));
@@ -7017,7 +7082,7 @@ yyreduce:
     break;
 
   case 81:
-#line 840 "Gmsh.y"
+#line 846 "Gmsh.y"
     {
       gmsh_yysymbol &s(gmsh_yysymbols[(yyvsp[(1) - (6)].c)]);
       s.list = true;
@@ -7049,7 +7114,7 @@ yyreduce:
     break;
 
   case 82:
-#line 869 "Gmsh.y"
+#line 875 "Gmsh.y"
     {
       assignVariables((yyvsp[(1) - (9)].c), (yyvsp[(4) - (9)].l), (yyvsp[(7) - (9)].i), (yyvsp[(8) - (9)].l));
       Free((yyvsp[(1) - (9)].c));
@@ -7059,7 +7124,7 @@ yyreduce:
     break;
 
   case 83:
-#line 879 "Gmsh.y"
+#line 885 "Gmsh.y"
     {
       assignVariable((yyvsp[(1) - (7)].c), (int)(yyvsp[(3) - (7)].d), (yyvsp[(5) - (7)].i), (yyvsp[(6) - (7)].d));
       Free((yyvsp[(1) - (7)].c));
@@ -7067,7 +7132,7 @@ yyreduce:
     break;
 
   case 84:
-#line 884 "Gmsh.y"
+#line 890 "Gmsh.y"
     {
       incrementVariable((yyvsp[(1) - (6)].c), (yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].i));
       Free((yyvsp[(1) - (6)].c));
@@ -7075,7 +7140,7 @@ yyreduce:
     break;
 
   case 85:
-#line 892 "Gmsh.y"
+#line 898 "Gmsh.y"
     {
       assignVariable((yyvsp[(1) - (7)].c), (int)(yyvsp[(3) - (7)].d), (yyvsp[(5) - (7)].i), (yyvsp[(6) - (7)].d));
       Free((yyvsp[(1) - (7)].c));
@@ -7083,7 +7148,7 @@ yyreduce:
     break;
 
   case 86:
-#line 897 "Gmsh.y"
+#line 903 "Gmsh.y"
     {
       incrementVariable((yyvsp[(1) - (6)].c), (yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].i));
       Free((yyvsp[(1) - (6)].c));
@@ -7091,7 +7156,7 @@ yyreduce:
     break;
 
   case 87:
-#line 905 "Gmsh.y"
+#line 911 "Gmsh.y"
     {
       gmsh_yystringsymbols[(yyvsp[(1) - (4)].c)] = std::vector<std::string>(1, (yyvsp[(3) - (4)].c));
       Free((yyvsp[(1) - (4)].c));
@@ -7100,7 +7165,7 @@ yyreduce:
     break;
 
   case 88:
-#line 914 "Gmsh.y"
+#line 920 "Gmsh.y"
     {
       gmsh_yystringsymbols[(yyvsp[(1) - (8)].c)] = std::vector<std::string>();
       Free((yyvsp[(1) - (8)].c));
@@ -7108,7 +7173,7 @@ yyreduce:
     break;
 
   case 89:
-#line 919 "Gmsh.y"
+#line 925 "Gmsh.y"
     {
       std::vector<std::string> s;
       for(int i = 0; i < List_Nbr((yyvsp[(7) - (9)].l)); i++){
@@ -7123,7 +7188,7 @@ yyreduce:
     break;
 
   case 90:
-#line 931 "Gmsh.y"
+#line 937 "Gmsh.y"
     {
       if(gmsh_yystringsymbols.count((yyvsp[(1) - (9)].c))){
         for(int i = 0; i < List_Nbr((yyvsp[(7) - (9)].l)); i++){
@@ -7140,7 +7205,7 @@ yyreduce:
     break;
 
   case 91:
-#line 948 "Gmsh.y"
+#line 954 "Gmsh.y"
     {
       std::string tmp((yyvsp[(5) - (6)].c));
       StringOption(GMSH_SET|GMSH_GUI, (yyvsp[(1) - (6)].c), 0, (yyvsp[(3) - (6)].c), tmp);
@@ -7149,7 +7214,7 @@ yyreduce:
     break;
 
   case 92:
-#line 954 "Gmsh.y"
+#line 960 "Gmsh.y"
     {
       std::string tmp((yyvsp[(8) - (9)].c));
       StringOption(GMSH_SET|GMSH_GUI, (yyvsp[(1) - (9)].c), (int)(yyvsp[(3) - (9)].d), (yyvsp[(6) - (9)].c), tmp);
@@ -7158,7 +7223,7 @@ yyreduce:
     break;
 
   case 93:
-#line 963 "Gmsh.y"
+#line 969 "Gmsh.y"
     {
       double d = 0.;
       if(NumberOption(GMSH_GET, (yyvsp[(1) - (6)].c), 0, (yyvsp[(3) - (6)].c), d)){
@@ -7179,7 +7244,7 @@ yyreduce:
     break;
 
   case 94:
-#line 981 "Gmsh.y"
+#line 987 "Gmsh.y"
     {
       double d = 0.;
       if(NumberOption(GMSH_GET, (yyvsp[(1) - (9)].c), (int)(yyvsp[(3) - (9)].d), (yyvsp[(6) - (9)].c), d)){
@@ -7200,7 +7265,7 @@ yyreduce:
     break;
 
   case 95:
-#line 999 "Gmsh.y"
+#line 1005 "Gmsh.y"
     {
       double d = 0.;
       if(NumberOption(GMSH_GET, (yyvsp[(1) - (5)].c), 0, (yyvsp[(3) - (5)].c), d)){
@@ -7212,7 +7277,7 @@ yyreduce:
     break;
 
   case 96:
-#line 1008 "Gmsh.y"
+#line 1014 "Gmsh.y"
     {
       double d = 0.;
       if(NumberOption(GMSH_GET, (yyvsp[(1) - (8)].c), (int)(yyvsp[(3) - (8)].d), (yyvsp[(6) - (8)].c), d)){
@@ -7224,7 +7289,7 @@ yyreduce:
     break;
 
   case 97:
-#line 1020 "Gmsh.y"
+#line 1026 "Gmsh.y"
     {
       ColorOption(GMSH_SET|GMSH_GUI, (yyvsp[(1) - (8)].c), 0, (yyvsp[(5) - (8)].c), (yyvsp[(7) - (8)].u));
       Free((yyvsp[(1) - (8)].c)); Free((yyvsp[(5) - (8)].c));
@@ -7232,7 +7297,7 @@ yyreduce:
     break;
 
   case 98:
-#line 1025 "Gmsh.y"
+#line 1031 "Gmsh.y"
     {
       ColorOption(GMSH_SET|GMSH_GUI, (yyvsp[(1) - (11)].c), (int)(yyvsp[(3) - (11)].d), (yyvsp[(8) - (11)].c), (yyvsp[(10) - (11)].u));
       Free((yyvsp[(1) - (11)].c)); Free((yyvsp[(8) - (11)].c));
@@ -7240,7 +7305,7 @@ yyreduce:
     break;
 
   case 99:
-#line 1033 "Gmsh.y"
+#line 1039 "Gmsh.y"
     {
       GmshColorTable *ct = GetColorTable(0);
       if(!ct)
@@ -7263,7 +7328,7 @@ yyreduce:
     break;
 
   case 100:
-#line 1053 "Gmsh.y"
+#line 1059 "Gmsh.y"
     {
       GmshColorTable *ct = GetColorTable((int)(yyvsp[(3) - (9)].d));
       if(!ct)
@@ -7286,7 +7351,7 @@ yyreduce:
     break;
 
   case 101:
-#line 1076 "Gmsh.y"
+#line 1082 "Gmsh.y"
     {
 #if defined(HAVE_MESH)
       if(!strcmp((yyvsp[(1) - (5)].c),"Background"))
@@ -7300,7 +7365,7 @@ yyreduce:
     break;
 
   case 102:
-#line 1087 "Gmsh.y"
+#line 1093 "Gmsh.y"
     {
 #if defined(HAVE_MESH)
       if(!GModel::current()->getFields()->newField((int)(yyvsp[(3) - (7)].d), (yyvsp[(6) - (7)].c)))
@@ -7311,7 +7376,7 @@ yyreduce:
     break;
 
   case 103:
-#line 1095 "Gmsh.y"
+#line 1101 "Gmsh.y"
     {
 #if defined(HAVE_MESH)
       Field *field = GModel::current()->getFields()->get((int)(yyvsp[(3) - (9)].d));
@@ -7336,7 +7401,7 @@ yyreduce:
     break;
 
   case 104:
-#line 1117 "Gmsh.y"
+#line 1123 "Gmsh.y"
     {
 #if defined(HAVE_MESH)
       Field *field = GModel::current()->getFields()->get((int)(yyvsp[(3) - (9)].d));
@@ -7362,7 +7427,7 @@ yyreduce:
     break;
 
   case 105:
-#line 1140 "Gmsh.y"
+#line 1146 "Gmsh.y"
     {
 #if defined(HAVE_MESH)
       Field *field = GModel::current()->getFields()->get((int)(yyvsp[(3) - (11)].d));
@@ -7403,7 +7468,7 @@ yyreduce:
     break;
 
   case 106:
-#line 1178 "Gmsh.y"
+#line 1184 "Gmsh.y"
     {
 #if defined(HAVE_MESH)
       Field *field = GModel::current()->getFields()->get((int)(yyvsp[(3) - (7)].d));
@@ -7424,7 +7489,7 @@ yyreduce:
     break;
 
   case 107:
-#line 1199 "Gmsh.y"
+#line 1205 "Gmsh.y"
     {
 #if defined(HAVE_PLUGINS)
       try {
@@ -7439,7 +7504,7 @@ yyreduce:
     break;
 
   case 108:
-#line 1211 "Gmsh.y"
+#line 1217 "Gmsh.y"
     {
 #if defined(HAVE_PLUGINS)
       try {
@@ -7454,7 +7519,7 @@ yyreduce:
     break;
 
   case 112:
-#line 1229 "Gmsh.y"
+#line 1235 "Gmsh.y"
     {
       std::string key((yyvsp[(3) - (3)].c));
       std::vector<double> val(1, 0.);
@@ -7466,7 +7531,7 @@ yyreduce:
     break;
 
   case 113:
-#line 1238 "Gmsh.y"
+#line 1244 "Gmsh.y"
     {
       std::string key((yyvsp[(3) - (5)].c));
       std::vector<double> val(1, (yyvsp[(5) - (5)].d));
@@ -7478,12 +7543,12 @@ yyreduce:
     break;
 
   case 114:
-#line 1247 "Gmsh.y"
+#line 1253 "Gmsh.y"
     { init_options(); ;}
     break;
 
   case 115:
-#line 1249 "Gmsh.y"
+#line 1255 "Gmsh.y"
     {
       if(List_Nbr((yyvsp[(6) - (9)].l)) != 1)
 	yymsg(1, "List notation should be used to define list '%s[]'", (yyvsp[(3) - (9)].c));
@@ -7504,12 +7569,12 @@ yyreduce:
     break;
 
   case 116:
-#line 1267 "Gmsh.y"
+#line 1273 "Gmsh.y"
     { init_options(); ;}
     break;
 
   case 117:
-#line 1269 "Gmsh.y"
+#line 1275 "Gmsh.y"
     {
       std::string key((yyvsp[(3) - (11)].c));
       std::vector<double> val;
@@ -7528,7 +7593,7 @@ yyreduce:
     break;
 
   case 118:
-#line 1285 "Gmsh.y"
+#line 1291 "Gmsh.y"
     {
       std::string key((yyvsp[(3) - (5)].c)), val((yyvsp[(5) - (5)].c));
       if(!gmsh_yystringsymbols.count(key)){
@@ -7540,12 +7605,12 @@ yyreduce:
     break;
 
   case 119:
-#line 1294 "Gmsh.y"
+#line 1300 "Gmsh.y"
     { init_options(); ;}
     break;
 
   case 120:
-#line 1296 "Gmsh.y"
+#line 1302 "Gmsh.y"
     {
       std::string key((yyvsp[(3) - (9)].c)), val((yyvsp[(6) - (9)].c));
       if(!gmsh_yysymbols.count(key)){
@@ -7558,7 +7623,7 @@ yyreduce:
     break;
 
   case 122:
-#line 1310 "Gmsh.y"
+#line 1316 "Gmsh.y"
     {
       std::string name((yyvsp[(3) - (3)].c));
       Msg::UndefineOnelabParameter(name);
@@ -7567,7 +7632,7 @@ yyreduce:
     break;
 
   case 123:
-#line 1318 "Gmsh.y"
+#line 1324 "Gmsh.y"
     {
       (yyval.l) = List_Create(20,20,sizeof(doubleXstring));
       doubleXstring v = {(yyvsp[(1) - (3)].d), (yyvsp[(3) - (3)].c)};
@@ -7576,7 +7641,7 @@ yyreduce:
     break;
 
   case 124:
-#line 1324 "Gmsh.y"
+#line 1330 "Gmsh.y"
     {
       doubleXstring v = {(yyvsp[(3) - (5)].d), (yyvsp[(5) - (5)].c)};
       List_Add((yyval.l), &v);
@@ -7584,7 +7649,7 @@ yyreduce:
     break;
 
   case 125:
-#line 1329 "Gmsh.y"
+#line 1335 "Gmsh.y"
     {
       (yyval.l) = List_Create(20,20,sizeof(doubleXstring));
       int n = List_Nbr((yyvsp[(1) - (5)].l));
@@ -7611,7 +7676,7 @@ yyreduce:
     break;
 
   case 132:
-#line 1371 "Gmsh.y"
+#line 1377 "Gmsh.y"
     {
       std::string key((yyvsp[(1) - (2)].c));
       for(int i = 0; i < List_Nbr((yyvsp[(2) - (2)].l)); i++){
@@ -7626,7 +7691,7 @@ yyreduce:
     break;
 
   case 133:
-#line 1383 "Gmsh.y"
+#line 1389 "Gmsh.y"
     {
       std::string key((yyvsp[(1) - (1)].c));
       double v;
@@ -7642,7 +7707,7 @@ yyreduce:
     break;
 
   case 134:
-#line 1396 "Gmsh.y"
+#line 1402 "Gmsh.y"
     {
       std::string key((yyvsp[(1) - (4)].c));
       for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++){
@@ -7659,7 +7724,7 @@ yyreduce:
     break;
 
   case 135:
-#line 1411 "Gmsh.y"
+#line 1417 "Gmsh.y"
     {
       std::string key((yyvsp[(1) - (2)].c));
       std::string val((yyvsp[(2) - (2)].c));
@@ -7670,7 +7735,7 @@ yyreduce:
     break;
 
   case 140:
-#line 1433 "Gmsh.y"
+#line 1439 "Gmsh.y"
     {
       std::string key((yyvsp[(1) - (2)].c));
       double val = (yyvsp[(2) - (2)].d);
@@ -7680,7 +7745,7 @@ yyreduce:
     break;
 
   case 141:
-#line 1441 "Gmsh.y"
+#line 1447 "Gmsh.y"
     {
       std::string key((yyvsp[(1) - (2)].c));
       std::string val((yyvsp[(2) - (2)].c));
@@ -7691,7 +7756,7 @@ yyreduce:
     break;
 
   case 142:
-#line 1450 "Gmsh.y"
+#line 1456 "Gmsh.y"
     {
       std::string key("Macro");
       std::string val((yyvsp[(2) - (2)].c));
@@ -7701,7 +7766,7 @@ yyreduce:
     break;
 
   case 143:
-#line 1458 "Gmsh.y"
+#line 1464 "Gmsh.y"
     {
       std::string key((yyvsp[(1) - (4)].c));
       for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++){
@@ -7717,14 +7782,14 @@ yyreduce:
     break;
 
   case 144:
-#line 1476 "Gmsh.y"
+#line 1482 "Gmsh.y"
     {
       (yyval.i) = (int)(yyvsp[(1) - (1)].d);
     ;}
     break;
 
   case 145:
-#line 1480 "Gmsh.y"
+#line 1486 "Gmsh.y"
     {
       int t = GModel::current()->getGEOInternals()->getMaxPhysicalTag();
       GModel::current()->getGEOInternals()->setMaxPhysicalTag(t + 1);
@@ -7734,7 +7799,7 @@ yyreduce:
     break;
 
   case 146:
-#line 1487 "Gmsh.y"
+#line 1493 "Gmsh.y"
     {
       (yyval.i) = GModel::current()->setPhysicalName(std::string((yyvsp[(1) - (3)].c)), 0, (yyvsp[(3) - (3)].d));
       Free((yyvsp[(1) - (3)].c));
@@ -7742,14 +7807,14 @@ yyreduce:
     break;
 
   case 147:
-#line 1495 "Gmsh.y"
+#line 1501 "Gmsh.y"
     {
       (yyval.i) = (int)(yyvsp[(1) - (1)].d);
     ;}
     break;
 
   case 148:
-#line 1499 "Gmsh.y"
+#line 1505 "Gmsh.y"
     {
       int t = GModel::current()->getGEOInternals()->getMaxPhysicalTag();
       GModel::current()->getGEOInternals()->setMaxPhysicalTag(t + 1);
@@ -7759,7 +7824,7 @@ yyreduce:
     break;
 
   case 149:
-#line 1506 "Gmsh.y"
+#line 1512 "Gmsh.y"
     {
       (yyval.i) = GModel::current()->setPhysicalName(std::string((yyvsp[(1) - (3)].c)), 1, (yyvsp[(3) - (3)].d));
       Free((yyvsp[(1) - (3)].c));
@@ -7767,14 +7832,14 @@ yyreduce:
     break;
 
   case 150:
-#line 1514 "Gmsh.y"
+#line 1520 "Gmsh.y"
     {
       (yyval.i) = (int)(yyvsp[(1) - (1)].d);
     ;}
     break;
 
   case 151:
-#line 1518 "Gmsh.y"
+#line 1524 "Gmsh.y"
     {
       int t = GModel::current()->getGEOInternals()->getMaxPhysicalTag();
       GModel::current()->getGEOInternals()->setMaxPhysicalTag(t + 1);
@@ -7784,7 +7849,7 @@ yyreduce:
     break;
 
   case 152:
-#line 1525 "Gmsh.y"
+#line 1531 "Gmsh.y"
     {
       (yyval.i) = GModel::current()->setPhysicalName(std::string((yyvsp[(1) - (3)].c)), 2, (yyvsp[(3) - (3)].d));
       Free((yyvsp[(1) - (3)].c));
@@ -7792,14 +7857,14 @@ yyreduce:
     break;
 
   case 153:
-#line 1533 "Gmsh.y"
+#line 1539 "Gmsh.y"
     {
       (yyval.i) = (int)(yyvsp[(1) - (1)].d);
     ;}
     break;
 
   case 154:
-#line 1537 "Gmsh.y"
+#line 1543 "Gmsh.y"
     {
       int t = GModel::current()->getGEOInternals()->getMaxPhysicalTag();
       GModel::current()->getGEOInternals()->setMaxPhysicalTag(t + 1);
@@ -7809,7 +7874,7 @@ yyreduce:
     break;
 
   case 155:
-#line 1544 "Gmsh.y"
+#line 1550 "Gmsh.y"
     {
       (yyval.i) = GModel::current()->setPhysicalName(std::string((yyvsp[(1) - (3)].c)), 3, (yyvsp[(3) - (3)].d));
       Free((yyvsp[(1) - (3)].c));
@@ -7817,35 +7882,35 @@ yyreduce:
     break;
 
   case 156:
-#line 1552 "Gmsh.y"
+#line 1558 "Gmsh.y"
     {
       (yyval.i) = -1;
     ;}
     break;
 
   case 157:
-#line 1556 "Gmsh.y"
+#line 1562 "Gmsh.y"
     {
       (yyval.i) = (int)(yyvsp[(4) - (5)].d);
     ;}
     break;
 
   case 158:
-#line 1562 "Gmsh.y"
+#line 1568 "Gmsh.y"
     {
       for(int i = 0; i < 4; i++) (yyval.v)[i] = 0.;
     ;}
     break;
 
   case 159:
-#line 1566 "Gmsh.y"
+#line 1572 "Gmsh.y"
     {
       for(int i = 0; i < 4; i++) (yyval.v)[i] = (yyvsp[(2) - (2)].v)[i];
     ;}
     break;
 
   case 160:
-#line 1573 "Gmsh.y"
+#line 1579 "Gmsh.y"
     {
       int num = (int)(yyvsp[(3) - (7)].d);
       double x = CTX::instance()->geom.scalingFactor * (yyvsp[(6) - (7)].v)[0];
@@ -7872,7 +7937,7 @@ yyreduce:
     break;
 
   case 161:
-#line 1597 "Gmsh.y"
+#line 1603 "Gmsh.y"
     {
       int num = (int)(yyvsp[(3) - (7)].d);
       std::vector<int> tags; ListOfDouble2Vector((yyvsp[(6) - (7)].l), tags);
@@ -7891,7 +7956,7 @@ yyreduce:
     break;
 
   case 162:
-#line 1613 "Gmsh.y"
+#line 1619 "Gmsh.y"
     {
       int num = (int)(yyvsp[(3) - (7)].d);
       std::vector<int> tags; ListOfDouble2Vector((yyvsp[(6) - (7)].l), tags);
@@ -7910,7 +7975,7 @@ yyreduce:
     break;
 
   case 163:
-#line 1629 "Gmsh.y"
+#line 1635 "Gmsh.y"
     {
       int num = (int)(yyvsp[(3) - (8)].d);
       std::vector<int> tags; ListOfDouble2Vector((yyvsp[(6) - (8)].l), tags);
@@ -7950,7 +8015,7 @@ yyreduce:
     break;
 
   case 164:
-#line 1666 "Gmsh.y"
+#line 1672 "Gmsh.y"
     {
       int num = (int)(yyvsp[(3) - (8)].d);
       std::vector<int> tags; ListOfDouble2Vector((yyvsp[(6) - (8)].l), tags);
@@ -7993,7 +8058,7 @@ yyreduce:
     break;
 
   case 165:
-#line 1706 "Gmsh.y"
+#line 1712 "Gmsh.y"
     {
       int num = (int)(yyvsp[(3) - (7)].d);
       std::vector<int> tags; ListOfDouble2Vector((yyvsp[(6) - (7)].l), tags);
@@ -8012,7 +8077,7 @@ yyreduce:
     break;
 
   case 166:
-#line 1722 "Gmsh.y"
+#line 1728 "Gmsh.y"
     {
       int num = (int)(yyvsp[(3) - (7)].d);
       std::vector<int> tags; ListOfDouble2Vector((yyvsp[(6) - (7)].l), tags);
@@ -8031,7 +8096,7 @@ yyreduce:
     break;
 
   case 167:
-#line 1739 "Gmsh.y"
+#line 1745 "Gmsh.y"
     {
       int num = (int)(yyvsp[(3) - (11)].d);
       std::vector<int> tags; ListOfDouble2Vector((yyvsp[(6) - (11)].l), tags);
@@ -8055,7 +8120,7 @@ yyreduce:
     break;
 
   case 168:
-#line 1760 "Gmsh.y"
+#line 1766 "Gmsh.y"
     {
       int num = (int)(yyvsp[(4) - (8)].d);
       std::vector<int> tags; ListOfDouble2Vector((yyvsp[(7) - (8)].l), tags);
@@ -8068,7 +8133,7 @@ yyreduce:
     break;
 
   case 169:
-#line 1770 "Gmsh.y"
+#line 1776 "Gmsh.y"
     {
       int num = (int)(yyvsp[(3) - (7)].d);
       std::vector<int> tags; ListOfDouble2Vector((yyvsp[(6) - (7)].l), tags);
@@ -8087,7 +8152,7 @@ yyreduce:
     break;
 
   case 170:
-#line 1786 "Gmsh.y"
+#line 1792 "Gmsh.y"
     {
       int num = (int)(yyvsp[(4) - (8)].d);
       std::vector<int> tags; ListOfDouble2Vector((yyvsp[(7) - (8)].l), tags);
@@ -8107,7 +8172,7 @@ yyreduce:
     break;
 
   case 171:
-#line 1803 "Gmsh.y"
+#line 1809 "Gmsh.y"
     {
       int num = (int)(yyvsp[(4) - (8)].d);
       std::vector<int> tags; ListOfDouble2Vector((yyvsp[(7) - (8)].l), tags);
@@ -8126,7 +8191,7 @@ yyreduce:
     break;
 
   case 172:
-#line 1819 "Gmsh.y"
+#line 1825 "Gmsh.y"
     {
       int num = (int)(yyvsp[(3) - (8)].d);
       std::vector<int> wires; ListOfDouble2Vector((yyvsp[(6) - (8)].l), wires);
@@ -8150,7 +8215,7 @@ yyreduce:
     break;
 
   case 173:
-#line 1840 "Gmsh.y"
+#line 1846 "Gmsh.y"
     {
       yymsg(2, "'Ruled Surface' command is deprecated: use 'Surface' instead");
       int num = (int)(yyvsp[(4) - (9)].d);
@@ -8164,7 +8229,7 @@ yyreduce:
     break;
 
   case 174:
-#line 1851 "Gmsh.y"
+#line 1857 "Gmsh.y"
     {
       myGmshSurface = 0;
       (yyval.s).Type = 0;
@@ -8173,7 +8238,7 @@ yyreduce:
     break;
 
   case 175:
-#line 1857 "Gmsh.y"
+#line 1863 "Gmsh.y"
     {
       myGmshSurface = gmshSurface::getSurface((int)(yyvsp[(3) - (4)].d));
       (yyval.s).Type = 0;
@@ -8182,7 +8247,7 @@ yyreduce:
     break;
 
   case 176:
-#line 1863 "Gmsh.y"
+#line 1869 "Gmsh.y"
     {
       int num = (int)(yyvsp[(4) - (10)].d);
       myGmshSurface = gmshParametricSurface::NewParametricSurface(num, (yyvsp[(7) - (10)].c), (yyvsp[(8) - (10)].c), (yyvsp[(9) - (10)].c));
@@ -8192,7 +8257,7 @@ yyreduce:
     break;
 
   case 177:
-#line 1870 "Gmsh.y"
+#line 1876 "Gmsh.y"
     {
       int num = (int)(yyvsp[(3) - (7)].d);
       std::vector<int> tags; ListOfDouble2Vector((yyvsp[(6) - (7)].l), tags);
@@ -8226,7 +8291,7 @@ yyreduce:
     break;
 
   case 178:
-#line 1901 "Gmsh.y"
+#line 1907 "Gmsh.y"
     {
       int num = (int)(yyvsp[(3) - (7)].d);
       std::vector<int> tags; ListOfDouble2Vector((yyvsp[(6) - (7)].l), tags);
@@ -8244,7 +8309,7 @@ yyreduce:
     break;
 
   case 179:
-#line 1916 "Gmsh.y"
+#line 1922 "Gmsh.y"
     {
       int num = (int)(yyvsp[(3) - (7)].d);
       std::vector<double> param; ListOfDouble2Vector((yyvsp[(6) - (7)].l), param);
@@ -8269,7 +8334,7 @@ yyreduce:
     break;
 
   case 180:
-#line 1938 "Gmsh.y"
+#line 1944 "Gmsh.y"
     {
       int num = (int)(yyvsp[(3) - (7)].d);
       std::vector<double> param; ListOfDouble2Vector((yyvsp[(6) - (7)].l), param);
@@ -8295,7 +8360,7 @@ yyreduce:
     break;
 
   case 181:
-#line 1961 "Gmsh.y"
+#line 1967 "Gmsh.y"
     {
       int num = (int)(yyvsp[(3) - (7)].d);
       std::vector<double> param; ListOfDouble2Vector((yyvsp[(6) - (7)].l), param);
@@ -8321,7 +8386,7 @@ yyreduce:
     break;
 
   case 182:
-#line 1984 "Gmsh.y"
+#line 1990 "Gmsh.y"
     {
       int num = (int)(yyvsp[(3) - (7)].d);
       std::vector<double> param; ListOfDouble2Vector((yyvsp[(6) - (7)].l), param);
@@ -8347,7 +8412,7 @@ yyreduce:
     break;
 
   case 183:
-#line 2007 "Gmsh.y"
+#line 2013 "Gmsh.y"
     {
       int num = (int)(yyvsp[(3) - (7)].d);
       std::vector<double> param; ListOfDouble2Vector((yyvsp[(6) - (7)].l), param);
@@ -8374,7 +8439,7 @@ yyreduce:
     break;
 
   case 184:
-#line 2031 "Gmsh.y"
+#line 2037 "Gmsh.y"
     {
       int num = (int)(yyvsp[(3) - (7)].d);
       std::vector<double> param; ListOfDouble2Vector((yyvsp[(6) - (7)].l), param);
@@ -8401,7 +8466,7 @@ yyreduce:
     break;
 
   case 185:
-#line 2055 "Gmsh.y"
+#line 2061 "Gmsh.y"
     {
       int num = (int)(yyvsp[(3) - (7)].d);
       std::vector<double> param; ListOfDouble2Vector((yyvsp[(6) - (7)].l), param);
@@ -8427,7 +8492,7 @@ yyreduce:
     break;
 
   case 186:
-#line 2078 "Gmsh.y"
+#line 2084 "Gmsh.y"
     {
       int num = (int)(yyvsp[(3) - (7)].d);
       std::vector<double> param; ListOfDouble2Vector((yyvsp[(6) - (7)].l), param);
@@ -8455,7 +8520,7 @@ yyreduce:
     break;
 
   case 187:
-#line 2103 "Gmsh.y"
+#line 2109 "Gmsh.y"
     {
       int num = (int)(yyvsp[(4) - (8)].d);
       std::vector<int> tags; ListOfDouble2Vector((yyvsp[(7) - (8)].l), tags);
@@ -8468,7 +8533,7 @@ yyreduce:
     break;
 
   case 188:
-#line 2114 "Gmsh.y"
+#line 2120 "Gmsh.y"
     {
       int num = (int)(yyvsp[(4) - (12)].d);
       std::vector<int> tags; ListOfDouble2Vector((yyvsp[(7) - (12)].l), tags);
@@ -8493,7 +8558,7 @@ yyreduce:
     break;
 
   case 189:
-#line 2136 "Gmsh.y"
+#line 2142 "Gmsh.y"
     {
       int num = (int)(yyvsp[(4) - (8)].d);
       std::vector<int> tags; ListOfDouble2Vector((yyvsp[(7) - (8)].l), tags);
@@ -8513,7 +8578,7 @@ yyreduce:
     break;
 
   case 190:
-#line 2153 "Gmsh.y"
+#line 2159 "Gmsh.y"
     {
       int num = (int)(yyvsp[(3) - (7)].d);
       std::vector<int> tags; ListOfDouble2Vector((yyvsp[(6) - (7)].l), tags);
@@ -8532,7 +8597,7 @@ yyreduce:
     break;
 
   case 191:
-#line 2169 "Gmsh.y"
+#line 2175 "Gmsh.y"
     {
       int num = (int)(yyvsp[(3) - (7)].d);
       std::vector<int> wires; ListOfDouble2Vector((yyvsp[(6) - (7)].l), wires);
@@ -8553,7 +8618,7 @@ yyreduce:
     break;
 
   case 192:
-#line 2187 "Gmsh.y"
+#line 2193 "Gmsh.y"
     {
       int num = (int)(yyvsp[(4) - (8)].d);
       std::vector<int> wires; ListOfDouble2Vector((yyvsp[(7) - (8)].l), wires);
@@ -8574,7 +8639,7 @@ yyreduce:
     break;
 
   case 193:
-#line 2205 "Gmsh.y"
+#line 2211 "Gmsh.y"
     {
       int num = (int)(yyvsp[(4) - (8)].d);
       std::vector<int> tags; ListOfDouble2Vector((yyvsp[(7) - (8)].l), tags);
@@ -8587,7 +8652,7 @@ yyreduce:
     break;
 
   case 194:
-#line 2215 "Gmsh.y"
+#line 2221 "Gmsh.y"
     {
       int num = (int)(yyvsp[(4) - (8)].i);
       int op = (yyvsp[(6) - (8)].i);
@@ -8602,7 +8667,7 @@ yyreduce:
     break;
 
   case 195:
-#line 2227 "Gmsh.y"
+#line 2233 "Gmsh.y"
     {
       int num = (int)(yyvsp[(4) - (8)].i);
       int op = (yyvsp[(6) - (8)].i);
@@ -8617,7 +8682,7 @@ yyreduce:
     break;
 
   case 196:
-#line 2239 "Gmsh.y"
+#line 2245 "Gmsh.y"
     {
       int num = (int)(yyvsp[(4) - (8)].i);
       int op = (yyvsp[(6) - (8)].i);
@@ -8632,7 +8697,7 @@ yyreduce:
     break;
 
   case 197:
-#line 2251 "Gmsh.y"
+#line 2257 "Gmsh.y"
     {
       int num = (int)(yyvsp[(4) - (8)].i);
       int op = (yyvsp[(6) - (8)].i);
@@ -8647,7 +8712,7 @@ yyreduce:
     break;
 
   case 198:
-#line 2268 "Gmsh.y"
+#line 2274 "Gmsh.y"
     {
       std::vector<std::pair<int, int> > dimTags;
       ListOfShapes2VectorOfPairs((yyvsp[(4) - (5)].l), dimTags);
@@ -8666,7 +8731,7 @@ yyreduce:
     break;
 
   case 199:
-#line 2284 "Gmsh.y"
+#line 2290 "Gmsh.y"
     {
       std::vector<std::pair<int, int> > dimTags;
       ListOfShapes2VectorOfPairs((yyvsp[(10) - (11)].l), dimTags);
@@ -8685,7 +8750,7 @@ yyreduce:
     break;
 
   case 200:
-#line 2300 "Gmsh.y"
+#line 2306 "Gmsh.y"
     {
       std::vector<std::pair<int, int> > dimTags;
       ListOfShapes2VectorOfPairs((yyvsp[(4) - (5)].l), dimTags);
@@ -8703,7 +8768,7 @@ yyreduce:
     break;
 
   case 201:
-#line 2315 "Gmsh.y"
+#line 2321 "Gmsh.y"
     {
       std::vector<std::pair<int, int> > dimTags;
       ListOfShapes2VectorOfPairs((yyvsp[(8) - (9)].l), dimTags);
@@ -8723,7 +8788,7 @@ yyreduce:
     break;
 
   case 202:
-#line 2332 "Gmsh.y"
+#line 2338 "Gmsh.y"
     {
       std::vector<std::pair<int, int> > dimTags;
       ListOfShapes2VectorOfPairs((yyvsp[(8) - (9)].l), dimTags);
@@ -8743,7 +8808,7 @@ yyreduce:
     break;
 
   case 203:
-#line 2349 "Gmsh.y"
+#line 2355 "Gmsh.y"
     {
       std::vector<std::pair<int, int> > inDimTags, outDimTags;
       ListOfShapes2VectorOfPairs((yyvsp[(3) - (4)].l), inDimTags);
@@ -8781,7 +8846,7 @@ yyreduce:
     break;
 
   case 204:
-#line 2384 "Gmsh.y"
+#line 2390 "Gmsh.y"
     {
       (yyval.l) = List_Create(2, 1, sizeof(Shape));
       bool r = true;
@@ -8805,7 +8870,7 @@ yyreduce:
     break;
 
   case 205:
-#line 2406 "Gmsh.y"
+#line 2412 "Gmsh.y"
     {
       (yyval.l) = List_Create(2, 1, sizeof(Shape));
       bool r = true;
@@ -8829,31 +8894,31 @@ yyreduce:
     break;
 
   case 206:
-#line 2429 "Gmsh.y"
+#line 2435 "Gmsh.y"
     { (yyval.l) = (yyvsp[(1) - (1)].l); ;}
     break;
 
   case 207:
-#line 2430 "Gmsh.y"
+#line 2436 "Gmsh.y"
     { (yyval.l) = (yyvsp[(1) - (1)].l); ;}
     break;
 
   case 208:
-#line 2435 "Gmsh.y"
+#line 2441 "Gmsh.y"
     {
       (yyval.l) = List_Create(3, 3, sizeof(Shape));
     ;}
     break;
 
   case 209:
-#line 2439 "Gmsh.y"
+#line 2445 "Gmsh.y"
     {
       List_Add((yyval.l), &(yyvsp[(2) - (2)].s));
     ;}
     break;
 
   case 210:
-#line 2443 "Gmsh.y"
+#line 2449 "Gmsh.y"
     {
       for(int i = 0; i < List_Nbr((yyvsp[(4) - (6)].l)); i++){
 	double d;
@@ -8867,7 +8932,7 @@ yyreduce:
     break;
 
   case 211:
-#line 2454 "Gmsh.y"
+#line 2460 "Gmsh.y"
     {
       for(int i = 0; i < List_Nbr((yyvsp[(4) - (6)].l)); i++){
 	double d;
@@ -8881,7 +8946,7 @@ yyreduce:
     break;
 
   case 212:
-#line 2465 "Gmsh.y"
+#line 2471 "Gmsh.y"
     {
       for(int i = 0; i < List_Nbr((yyvsp[(4) - (6)].l)); i++){
 	double d;
@@ -8895,7 +8960,7 @@ yyreduce:
     break;
 
   case 213:
-#line 2476 "Gmsh.y"
+#line 2482 "Gmsh.y"
     {
       for(int i = 0; i < List_Nbr((yyvsp[(4) - (6)].l)); i++){
 	double d;
@@ -8909,7 +8974,7 @@ yyreduce:
     break;
 
   case 214:
-#line 2492 "Gmsh.y"
+#line 2498 "Gmsh.y"
     {
       if(List_Nbr((yyvsp[(7) - (8)].l)) == 4){
         int t = (int)(yyvsp[(4) - (8)].d);
@@ -8931,7 +8996,7 @@ yyreduce:
     break;
 
   case 215:
-#line 2511 "Gmsh.y"
+#line 2517 "Gmsh.y"
     {
       int t = (int)(yyvsp[(4) - (10)].d);
       if(gLevelset::find(t)){
@@ -8955,7 +9020,7 @@ yyreduce:
     break;
 
   case 216:
-#line 2533 "Gmsh.y"
+#line 2539 "Gmsh.y"
     {
       int t = (int)(yyvsp[(4) - (14)].d);
       if(gLevelset::find(t)){
@@ -8972,7 +9037,7 @@ yyreduce:
     break;
 
   case 217:
-#line 2548 "Gmsh.y"
+#line 2554 "Gmsh.y"
     {
       int t = (int)(yyvsp[(4) - (16)].d);
       if(gLevelset::find(t)){
@@ -8990,7 +9055,7 @@ yyreduce:
     break;
 
   case 218:
-#line 2563 "Gmsh.y"
+#line 2569 "Gmsh.y"
     {
       if(List_Nbr((yyvsp[(10) - (12)].l)) == 1){
         int t = (int)(yyvsp[(4) - (12)].d);
@@ -9011,7 +9076,7 @@ yyreduce:
     break;
 
   case 219:
-#line 2582 "Gmsh.y"
+#line 2588 "Gmsh.y"
     {
       if(List_Nbr((yyvsp[(12) - (14)].l)) == 1){
         int t = (int)(yyvsp[(4) - (14)].d);
@@ -9064,7 +9129,7 @@ yyreduce:
     break;
 
   case 220:
-#line 2633 "Gmsh.y"
+#line 2639 "Gmsh.y"
     {
       if(List_Nbr((yyvsp[(12) - (14)].l)) == 1){
         int t = (int)(yyvsp[(4) - (14)].d);
@@ -9087,7 +9152,7 @@ yyreduce:
     break;
 
   case 221:
-#line 2654 "Gmsh.y"
+#line 2660 "Gmsh.y"
     {
       if(List_Nbr((yyvsp[(12) - (14)].l)) == 3){
         int t = (int)(yyvsp[(4) - (14)].d);
@@ -9111,7 +9176,7 @@ yyreduce:
     break;
 
   case 222:
-#line 2676 "Gmsh.y"
+#line 2682 "Gmsh.y"
     {
       if(List_Nbr((yyvsp[(12) - (14)].l)) == 5){
         int t = (int)(yyvsp[(4) - (14)].d);
@@ -9136,7 +9201,7 @@ yyreduce:
     break;
 
   case 223:
-#line 2698 "Gmsh.y"
+#line 2704 "Gmsh.y"
     {
       if(!strcmp((yyvsp[(2) - (8)].c), "Union")){
         int t = (int)(yyvsp[(4) - (8)].d);
@@ -9244,7 +9309,7 @@ yyreduce:
     break;
 
   case 224:
-#line 2803 "Gmsh.y"
+#line 2809 "Gmsh.y"
     {
       if(!strcmp((yyvsp[(2) - (8)].c), "MathEval")){
         int t = (int)(yyvsp[(4) - (8)].d);
@@ -9263,7 +9328,7 @@ yyreduce:
     break;
 
   case 225:
-#line 2819 "Gmsh.y"
+#line 2825 "Gmsh.y"
     {
       if(!strcmp((yyvsp[(2) - (6)].c), "CutMesh")){
         int t = (int)(yyvsp[(4) - (6)].d);
@@ -9296,7 +9361,7 @@ yyreduce:
     break;
 
   case 226:
-#line 2854 "Gmsh.y"
+#line 2860 "Gmsh.y"
     {
       std::vector<std::pair<int, int> > dimTags;
       ListOfShapes2VectorOfPairs((yyvsp[(3) - (4)].l), dimTags);
@@ -9310,7 +9375,7 @@ yyreduce:
     break;
 
   case 227:
-#line 2865 "Gmsh.y"
+#line 2871 "Gmsh.y"
     {
       std::vector<std::pair<int, int> > dimTags;
       ListOfShapes2VectorOfPairs((yyvsp[(4) - (5)].l), dimTags);
@@ -9324,7 +9389,7 @@ yyreduce:
     break;
 
   case 228:
-#line 2876 "Gmsh.y"
+#line 2882 "Gmsh.y"
     {
 #if defined(HAVE_MESH)
       GModel::current()->getFields()->deleteField((int)(yyvsp[(4) - (6)].d));
@@ -9333,7 +9398,7 @@ yyreduce:
     break;
 
   case 229:
-#line 2882 "Gmsh.y"
+#line 2888 "Gmsh.y"
     {
 #if defined(HAVE_POST)
       if(!strcmp((yyvsp[(2) - (6)].c), "View")){
@@ -9351,7 +9416,7 @@ yyreduce:
     break;
 
   case 230:
-#line 2897 "Gmsh.y"
+#line 2903 "Gmsh.y"
     {
       if(!strcmp((yyvsp[(2) - (3)].c), "Meshes") || !strcmp((yyvsp[(2) - (3)].c), "All")){
         ClearProject();
@@ -9382,7 +9447,7 @@ yyreduce:
     break;
 
   case 231:
-#line 2925 "Gmsh.y"
+#line 2931 "Gmsh.y"
     {
 #if defined(HAVE_POST)
       if(!strcmp((yyvsp[(2) - (4)].c), "Empty") && !strcmp((yyvsp[(3) - (4)].c), "Views")){
@@ -9397,14 +9462,14 @@ yyreduce:
     break;
 
   case 232:
-#line 2937 "Gmsh.y"
+#line 2943 "Gmsh.y"
     {
       nameSpaces.clear();
     ;}
     break;
 
   case 233:
-#line 2946 "Gmsh.y"
+#line 2952 "Gmsh.y"
     {
       std::vector<std::pair<int, int> > dimTags;
       ListOfShapes2VectorOfPairs((yyvsp[(4) - (5)].l), dimTags);
@@ -9414,7 +9479,7 @@ yyreduce:
     break;
 
   case 234:
-#line 2953 "Gmsh.y"
+#line 2959 "Gmsh.y"
     {
       std::vector<std::pair<int, int> > dimTags;
       ListOfShapes2VectorOfPairs((yyvsp[(5) - (6)].l), dimTags);
@@ -9424,7 +9489,7 @@ yyreduce:
     break;
 
   case 235:
-#line 2965 "Gmsh.y"
+#line 2971 "Gmsh.y"
     {
       std::vector<std::pair<int, int> > dimTags;
       ListOfShapes2VectorOfPairs((yyvsp[(4) - (5)].l), dimTags);
@@ -9441,7 +9506,7 @@ yyreduce:
     break;
 
   case 236:
-#line 2984 "Gmsh.y"
+#line 2990 "Gmsh.y"
     {
       std::string what = (yyvsp[(2) - (3)].c);
       setVisibility(-1, 1, false);
@@ -9450,7 +9515,7 @@ yyreduce:
     break;
 
   case 237:
-#line 2990 "Gmsh.y"
+#line 2996 "Gmsh.y"
     {
       std::string what = (yyvsp[(2) - (3)].c);
       setVisibility(-1, 0, false);
@@ -9459,7 +9524,7 @@ yyreduce:
     break;
 
   case 238:
-#line 2996 "Gmsh.y"
+#line 3002 "Gmsh.y"
     {
       std::vector<std::pair<int, int> > dimTags;
       ListOfShapes2VectorOfPairs((yyvsp[(3) - (4)].l), dimTags);
@@ -9469,7 +9534,7 @@ yyreduce:
     break;
 
   case 239:
-#line 3003 "Gmsh.y"
+#line 3009 "Gmsh.y"
     {
       std::vector<std::pair<int, int> > dimTags;
       ListOfShapes2VectorOfPairs((yyvsp[(4) - (5)].l), dimTags);
@@ -9479,7 +9544,7 @@ yyreduce:
     break;
 
   case 240:
-#line 3010 "Gmsh.y"
+#line 3016 "Gmsh.y"
     {
       std::vector<std::pair<int, int> > dimTags;
       ListOfShapes2VectorOfPairs((yyvsp[(3) - (4)].l), dimTags);
@@ -9489,7 +9554,7 @@ yyreduce:
     break;
 
   case 241:
-#line 3017 "Gmsh.y"
+#line 3023 "Gmsh.y"
     {
       std::vector<std::pair<int, int> > dimTags;
       ListOfShapes2VectorOfPairs((yyvsp[(4) - (5)].l), dimTags);
@@ -9499,7 +9564,7 @@ yyreduce:
     break;
 
   case 242:
-#line 3029 "Gmsh.y"
+#line 3035 "Gmsh.y"
     {
       if(!strcmp((yyvsp[(1) - (3)].c), "Include")){
         std::string tmp = FixRelativePath(gmsh_yyname, (yyvsp[(2) - (3)].c));
@@ -9575,7 +9640,7 @@ yyreduce:
     break;
 
   case 243:
-#line 3102 "Gmsh.y"
+#line 3108 "Gmsh.y"
     {
       int n = List_Nbr((yyvsp[(3) - (5)].l));
       if(n == 1){
@@ -9596,7 +9661,7 @@ yyreduce:
     break;
 
   case 244:
-#line 3120 "Gmsh.y"
+#line 3126 "Gmsh.y"
     {
 #if defined(HAVE_POST)
       if(!strcmp((yyvsp[(1) - (7)].c), "Save") && !strcmp((yyvsp[(2) - (7)].c), "View")){
@@ -9616,7 +9681,7 @@ yyreduce:
     break;
 
   case 245:
-#line 3137 "Gmsh.y"
+#line 3143 "Gmsh.y"
     {
 #if defined(HAVE_POST) && defined(HAVE_MESH)
       if(!strcmp((yyvsp[(1) - (7)].c), "Background") && !strcmp((yyvsp[(2) - (7)].c), "Mesh")  && !strcmp((yyvsp[(3) - (7)].c), "View")){
@@ -9634,7 +9699,7 @@ yyreduce:
     break;
 
   case 246:
-#line 3152 "Gmsh.y"
+#line 3158 "Gmsh.y"
     {
       if(!strcmp((yyvsp[(1) - (3)].c), "Sleep")){
 	SleepInSeconds((yyvsp[(2) - (3)].d));
@@ -9670,7 +9735,7 @@ yyreduce:
     break;
 
   case 247:
-#line 3185 "Gmsh.y"
+#line 3191 "Gmsh.y"
     {
 #if defined(HAVE_PLUGINS)
        try {
@@ -9685,7 +9750,7 @@ yyreduce:
     break;
 
   case 248:
-#line 3197 "Gmsh.y"
+#line 3203 "Gmsh.y"
     {
 #if defined(HAVE_POST)
       if(!strcmp((yyvsp[(2) - (3)].c), "ElementsFromAllViews"))
@@ -9712,14 +9777,14 @@ yyreduce:
     break;
 
   case 249:
-#line 3221 "Gmsh.y"
+#line 3227 "Gmsh.y"
     {
       Msg::Exit(0);
     ;}
     break;
 
   case 250:
-#line 3225 "Gmsh.y"
+#line 3231 "Gmsh.y"
     {
       gmsh_yyerrorstate = 999; // this will be checked when yyparse returns
       YYABORT;
@@ -9727,7 +9792,7 @@ yyreduce:
     break;
 
   case 251:
-#line 3230 "Gmsh.y"
+#line 3236 "Gmsh.y"
     {
       // force sync
       if(GModel::current()->getOCCInternals())
@@ -9737,7 +9802,7 @@ yyreduce:
     break;
 
   case 252:
-#line 3237 "Gmsh.y"
+#line 3243 "Gmsh.y"
     {
       new GModel();
       GModel::current(GModel::list.size() - 1);
@@ -9745,7 +9810,7 @@ yyreduce:
     break;
 
   case 253:
-#line 3242 "Gmsh.y"
+#line 3248 "Gmsh.y"
     {
       CTX::instance()->forcedBBox = 0;
       if(GModel::current()->getOCCInternals() &&
@@ -9758,7 +9823,7 @@ yyreduce:
     break;
 
   case 254:
-#line 3252 "Gmsh.y"
+#line 3258 "Gmsh.y"
     {
       CTX::instance()->forcedBBox = 1;
       SetBoundingBox((yyvsp[(3) - (15)].d), (yyvsp[(5) - (15)].d), (yyvsp[(7) - (15)].d), (yyvsp[(9) - (15)].d), (yyvsp[(11) - (15)].d), (yyvsp[(13) - (15)].d));
@@ -9766,7 +9831,7 @@ yyreduce:
     break;
 
   case 255:
-#line 3257 "Gmsh.y"
+#line 3263 "Gmsh.y"
     {
 #if defined(HAVE_OPENGL)
       drawContext::global()->draw();
@@ -9775,7 +9840,7 @@ yyreduce:
     break;
 
   case 256:
-#line 3263 "Gmsh.y"
+#line 3269 "Gmsh.y"
     {
 #if defined(HAVE_OPENGL)
      CTX::instance()->mesh.changed = ENT_ALL;
@@ -9786,21 +9851,21 @@ yyreduce:
     break;
 
   case 257:
-#line 3271 "Gmsh.y"
+#line 3277 "Gmsh.y"
     {
       GModel::current()->createTopologyFromMesh();
     ;}
     break;
 
   case 258:
-#line 3275 "Gmsh.y"
+#line 3281 "Gmsh.y"
     {
       GModel::current()->createTopologyFromMesh(1);
     ;}
     break;
 
   case 259:
-#line 3279 "Gmsh.y"
+#line 3285 "Gmsh.y"
     {
       if(GModel::current()->getOCCInternals() &&
          GModel::current()->getOCCInternals()->getChanged())
@@ -9812,7 +9877,7 @@ yyreduce:
     break;
 
   case 260:
-#line 3289 "Gmsh.y"
+#line 3295 "Gmsh.y"
     {
       int lock = CTX::instance()->lock;
       CTX::instance()->lock = 0;
@@ -9873,7 +9938,7 @@ yyreduce:
     break;
 
   case 261:
-#line 3352 "Gmsh.y"
+#line 3358 "Gmsh.y"
     {
 #if defined(HAVE_POPPLER)
        std::vector<int> is;
@@ -9888,7 +9953,7 @@ yyreduce:
     break;
 
   case 262:
-#line 3368 "Gmsh.y"
+#line 3374 "Gmsh.y"
     {
       LoopControlVariablesTab[ImbricatedLoop][0] = (yyvsp[(3) - (6)].d);
       LoopControlVariablesTab[ImbricatedLoop][1] = (yyvsp[(5) - (6)].d);
@@ -9908,7 +9973,7 @@ yyreduce:
     break;
 
   case 263:
-#line 3385 "Gmsh.y"
+#line 3391 "Gmsh.y"
     {
       LoopControlVariablesTab[ImbricatedLoop][0] = (yyvsp[(3) - (8)].d);
       LoopControlVariablesTab[ImbricatedLoop][1] = (yyvsp[(5) - (8)].d);
@@ -9928,7 +9993,7 @@ yyreduce:
     break;
 
   case 264:
-#line 3402 "Gmsh.y"
+#line 3408 "Gmsh.y"
     {
       LoopControlVariablesTab[ImbricatedLoop][0] = (yyvsp[(5) - (8)].d);
       LoopControlVariablesTab[ImbricatedLoop][1] = (yyvsp[(7) - (8)].d);
@@ -9953,7 +10018,7 @@ yyreduce:
     break;
 
   case 265:
-#line 3424 "Gmsh.y"
+#line 3430 "Gmsh.y"
     {
       LoopControlVariablesTab[ImbricatedLoop][0] = (yyvsp[(5) - (10)].d);
       LoopControlVariablesTab[ImbricatedLoop][1] = (yyvsp[(7) - (10)].d);
@@ -9978,7 +10043,7 @@ yyreduce:
     break;
 
   case 266:
-#line 3446 "Gmsh.y"
+#line 3452 "Gmsh.y"
     {
       if(ImbricatedLoop <= 0){
 	yymsg(0, "Invalid For/EndFor loop");
@@ -10016,7 +10081,7 @@ yyreduce:
     break;
 
   case 267:
-#line 3481 "Gmsh.y"
+#line 3487 "Gmsh.y"
     {
       if(!FunctionManager::Instance()->createFunction
          (std::string((yyvsp[(2) - (2)].c)), gmsh_yyin, gmsh_yyname, gmsh_yylineno))
@@ -10027,7 +10092,7 @@ yyreduce:
     break;
 
   case 268:
-#line 3489 "Gmsh.y"
+#line 3495 "Gmsh.y"
     {
       if(!FunctionManager::Instance()->createFunction
          (std::string((yyvsp[(2) - (2)].c)), gmsh_yyin, gmsh_yyname, gmsh_yylineno))
@@ -10038,7 +10103,7 @@ yyreduce:
     break;
 
   case 269:
-#line 3497 "Gmsh.y"
+#line 3503 "Gmsh.y"
     {
       if(!FunctionManager::Instance()->leaveFunction
          (&gmsh_yyin, gmsh_yyname, gmsh_yylineno))
@@ -10047,7 +10112,7 @@ yyreduce:
     break;
 
   case 270:
-#line 3503 "Gmsh.y"
+#line 3509 "Gmsh.y"
     {
       if(!FunctionManager::Instance()->enterFunction
          (std::string((yyvsp[(2) - (3)].c)), &gmsh_yyin, gmsh_yyname, gmsh_yylineno))
@@ -10057,7 +10122,7 @@ yyreduce:
     break;
 
   case 271:
-#line 3510 "Gmsh.y"
+#line 3516 "Gmsh.y"
     {
       if(!FunctionManager::Instance()->enterFunction
          (std::string((yyvsp[(2) - (3)].c)), &gmsh_yyin, gmsh_yyname, gmsh_yylineno))
@@ -10067,7 +10132,7 @@ yyreduce:
     break;
 
   case 272:
-#line 3517 "Gmsh.y"
+#line 3523 "Gmsh.y"
     {
       ImbricatedTest++;
       if(ImbricatedTest > MAX_RECUR_TESTS-1){
@@ -10090,7 +10155,7 @@ yyreduce:
     break;
 
   case 273:
-#line 3537 "Gmsh.y"
+#line 3543 "Gmsh.y"
     {
       if(ImbricatedTest > 0){
         if (statusImbricatedTests[ImbricatedTest]){
@@ -10119,7 +10184,7 @@ yyreduce:
     break;
 
   case 274:
-#line 3563 "Gmsh.y"
+#line 3569 "Gmsh.y"
     {
       if(ImbricatedTest > 0){
         if(statusImbricatedTests[ImbricatedTest]){
@@ -10134,7 +10199,7 @@ yyreduce:
     break;
 
   case 275:
-#line 3575 "Gmsh.y"
+#line 3581 "Gmsh.y"
     {
       ImbricatedTest--;
       if(ImbricatedTest < 0)
@@ -10143,7 +10208,7 @@ yyreduce:
     break;
 
   case 276:
-#line 3587 "Gmsh.y"
+#line 3593 "Gmsh.y"
     {
       std::vector<std::pair<int, int> > inDimTags, outDimTags;
       ListOfShapes2VectorOfPairs((yyvsp[(4) - (5)].l), inDimTags);
@@ -10164,7 +10229,7 @@ yyreduce:
     break;
 
   case 277:
-#line 3605 "Gmsh.y"
+#line 3611 "Gmsh.y"
     {
       std::vector<std::pair<int, int> > inDimTags, outDimTags;
       ListOfShapes2VectorOfPairs((yyvsp[(10) - (11)].l), inDimTags);
@@ -10185,7 +10250,7 @@ yyreduce:
     break;
 
   case 278:
-#line 3623 "Gmsh.y"
+#line 3629 "Gmsh.y"
     {
       std::vector<std::pair<int, int> > inDimTags, outDimTags;
       ListOfShapes2VectorOfPairs((yyvsp[(12) - (13)].l), inDimTags);
@@ -10206,7 +10271,7 @@ yyreduce:
     break;
 
   case 279:
-#line 3641 "Gmsh.y"
+#line 3647 "Gmsh.y"
     {
       extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false;
       extr.mesh.QuadToTri = NO_QUADTRI;
@@ -10215,7 +10280,7 @@ yyreduce:
     break;
 
   case 280:
-#line 3647 "Gmsh.y"
+#line 3653 "Gmsh.y"
     {
       std::vector<std::pair<int, int> > inDimTags, outDimTags;
       ListOfShapes2VectorOfPairs((yyvsp[(4) - (7)].l), inDimTags);
@@ -10236,7 +10301,7 @@ yyreduce:
     break;
 
   case 281:
-#line 3665 "Gmsh.y"
+#line 3671 "Gmsh.y"
     {
       extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false;
       extr.mesh.QuadToTri = NO_QUADTRI;
@@ -10245,7 +10310,7 @@ yyreduce:
     break;
 
   case 282:
-#line 3671 "Gmsh.y"
+#line 3677 "Gmsh.y"
     {
       std::vector<std::pair<int, int> > inDimTags, outDimTags;
       ListOfShapes2VectorOfPairs((yyvsp[(10) - (13)].l), inDimTags);
@@ -10268,7 +10333,7 @@ yyreduce:
     break;
 
   case 283:
-#line 3691 "Gmsh.y"
+#line 3697 "Gmsh.y"
     {
       extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false;
       extr.mesh.QuadToTri = NO_QUADTRI;
@@ -10277,7 +10342,7 @@ yyreduce:
     break;
 
   case 284:
-#line 3697 "Gmsh.y"
+#line 3703 "Gmsh.y"
     {
       std::vector<std::pair<int, int> > inDimTags, outDimTags;
       ListOfShapes2VectorOfPairs((yyvsp[(12) - (15)].l), inDimTags);
@@ -10298,7 +10363,7 @@ yyreduce:
     break;
 
   case 285:
-#line 3715 "Gmsh.y"
+#line 3721 "Gmsh.y"
     {
       extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false;
       extr.mesh.QuadToTri = NO_QUADTRI;
@@ -10307,7 +10372,7 @@ yyreduce:
     break;
 
   case 286:
-#line 3721 "Gmsh.y"
+#line 3727 "Gmsh.y"
     {
       std::vector<std::pair<int, int> > inDimTags, outDimTags;
       ListOfShapes2VectorOfPairs((yyvsp[(3) - (6)].l), inDimTags);
@@ -10327,7 +10392,7 @@ yyreduce:
     break;
 
   case 287:
-#line 3738 "Gmsh.y"
+#line 3744 "Gmsh.y"
     {
       std::vector<std::pair<int, int> > inDimTags, outDimTags;
       ListOfShapes2VectorOfPairs((yyvsp[(3) - (9)].l), inDimTags);
@@ -10346,7 +10411,7 @@ yyreduce:
     break;
 
   case 288:
-#line 3754 "Gmsh.y"
+#line 3760 "Gmsh.y"
     {
       (yyval.l) = List_Create(2, 1, sizeof(Shape));
       bool r = true;
@@ -10366,7 +10431,7 @@ yyreduce:
     break;
 
   case 289:
-#line 3771 "Gmsh.y"
+#line 3777 "Gmsh.y"
     {
       (yyval.l) = List_Create(2, 1, sizeof(Shape));
       bool r = true;
@@ -10386,7 +10451,7 @@ yyreduce:
     break;
 
   case 290:
-#line 3788 "Gmsh.y"
+#line 3794 "Gmsh.y"
     {
       (yyval.l) = List_Create(2, 1, sizeof(Shape));
       bool r = true;
@@ -10409,19 +10474,19 @@ yyreduce:
     break;
 
   case 291:
-#line 3811 "Gmsh.y"
+#line 3817 "Gmsh.y"
     {
     ;}
     break;
 
   case 292:
-#line 3814 "Gmsh.y"
+#line 3820 "Gmsh.y"
     {
     ;}
     break;
 
   case 293:
-#line 3820 "Gmsh.y"
+#line 3826 "Gmsh.y"
     {
       int n = (int)fabs((yyvsp[(3) - (5)].d));
       if(n){ // we accept n==0 to easily disable layers
@@ -10436,7 +10501,7 @@ yyreduce:
     break;
 
   case 294:
-#line 3832 "Gmsh.y"
+#line 3838 "Gmsh.y"
     {
       extr.mesh.ExtrudeMesh = true;
       extr.mesh.NbLayer = List_Nbr((yyvsp[(3) - (7)].l));
@@ -10459,56 +10524,56 @@ yyreduce:
     break;
 
   case 295:
-#line 3852 "Gmsh.y"
+#line 3858 "Gmsh.y"
     {
       extr.mesh.ScaleLast = true;
     ;}
     break;
 
   case 296:
-#line 3856 "Gmsh.y"
+#line 3862 "Gmsh.y"
     {
       extr.mesh.Recombine = true;
     ;}
     break;
 
   case 297:
-#line 3860 "Gmsh.y"
+#line 3866 "Gmsh.y"
     {
       extr.mesh.Recombine = (yyvsp[(2) - (3)].d) ? true : false;
     ;}
     break;
 
   case 298:
-#line 3864 "Gmsh.y"
+#line 3870 "Gmsh.y"
     {
       extr.mesh.QuadToTri = QUADTRI_ADDVERTS_1;
     ;}
     break;
 
   case 299:
-#line 3868 "Gmsh.y"
+#line 3874 "Gmsh.y"
     {
       extr.mesh.QuadToTri = QUADTRI_ADDVERTS_1_RECOMB;
     ;}
     break;
 
   case 300:
-#line 3872 "Gmsh.y"
+#line 3878 "Gmsh.y"
     {
       extr.mesh.QuadToTri = QUADTRI_NOVERTS_1;
     ;}
     break;
 
   case 301:
-#line 3876 "Gmsh.y"
+#line 3882 "Gmsh.y"
     {
       extr.mesh.QuadToTri = QUADTRI_NOVERTS_1_RECOMB;
     ;}
     break;
 
   case 302:
-#line 3880 "Gmsh.y"
+#line 3886 "Gmsh.y"
     {
       std::vector<int> tags; ListOfDouble2Vector((yyvsp[(6) - (9)].l), tags);
       int num = (int)(yyvsp[(3) - (9)].d);
@@ -10520,7 +10585,7 @@ yyreduce:
     break;
 
   case 303:
-#line 3889 "Gmsh.y"
+#line 3895 "Gmsh.y"
     {
       if(!strcmp((yyvsp[(2) - (6)].c), "Index"))
         extr.mesh.BoundaryLayerIndex = (yyvsp[(4) - (6)].d);
@@ -10531,57 +10596,57 @@ yyreduce:
     break;
 
   case 304:
-#line 3901 "Gmsh.y"
+#line 3907 "Gmsh.y"
     { (yyval.i) = OCC_Internals::Union; ;}
     break;
 
   case 305:
-#line 3902 "Gmsh.y"
+#line 3908 "Gmsh.y"
     { (yyval.i) = OCC_Internals::Intersection; ;}
     break;
 
   case 306:
-#line 3903 "Gmsh.y"
+#line 3909 "Gmsh.y"
     { (yyval.i) = OCC_Internals::Difference; ;}
     break;
 
   case 307:
-#line 3904 "Gmsh.y"
+#line 3910 "Gmsh.y"
     { (yyval.i) = OCC_Internals::Section; ;}
     break;
 
   case 308:
-#line 3905 "Gmsh.y"
+#line 3911 "Gmsh.y"
     { (yyval.i) = OCC_Internals::Fragments; ;}
     break;
 
   case 309:
-#line 3909 "Gmsh.y"
+#line 3915 "Gmsh.y"
     { (yyval.i) = 0; ;}
     break;
 
   case 310:
-#line 3910 "Gmsh.y"
+#line 3916 "Gmsh.y"
     { (yyval.i) = 1; ;}
     break;
 
   case 311:
-#line 3911 "Gmsh.y"
+#line 3917 "Gmsh.y"
     { (yyval.i) = 2; ;}
     break;
 
   case 312:
-#line 3912 "Gmsh.y"
+#line 3918 "Gmsh.y"
     { (yyval.i) = (yyvsp[(2) - (3)].d) ? 1 : 0; ;}
     break;
 
   case 313:
-#line 3913 "Gmsh.y"
+#line 3919 "Gmsh.y"
     { (yyval.i) = (yyvsp[(3) - (4)].d) ? 2 : 0; ;}
     break;
 
   case 314:
-#line 3918 "Gmsh.y"
+#line 3924 "Gmsh.y"
     {
       (yyval.l) = List_Create(2, 1, sizeof(Shape));
       bool r = true;
@@ -10606,7 +10671,7 @@ yyreduce:
     break;
 
   case 315:
-#line 3940 "Gmsh.y"
+#line 3946 "Gmsh.y"
     {
       (yyval.l) = List_Create(2, 1, sizeof(Shape));
       bool r = true;
@@ -10625,7 +10690,7 @@ yyreduce:
     break;
 
   case 316:
-#line 3960 "Gmsh.y"
+#line 3966 "Gmsh.y"
     {
       bool r = true;
       if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
@@ -10645,14 +10710,14 @@ yyreduce:
     break;
 
   case 317:
-#line 3980 "Gmsh.y"
+#line 3986 "Gmsh.y"
     {
       (yyval.v)[0] = (yyval.v)[1] = 1.;
     ;}
     break;
 
   case 318:
-#line 3984 "Gmsh.y"
+#line 3990 "Gmsh.y"
     {
       if(!strcmp((yyvsp[(2) - (3)].c), "Progression") || !strcmp((yyvsp[(2) - (3)].c), "Power"))
         (yyval.v)[0] = 1.;
@@ -10668,14 +10733,14 @@ yyreduce:
     break;
 
   case 319:
-#line 3999 "Gmsh.y"
+#line 4005 "Gmsh.y"
     {
       (yyval.i) = -1; // left
     ;}
     break;
 
   case 320:
-#line 4003 "Gmsh.y"
+#line 4009 "Gmsh.y"
     {
       if(!strcmp((yyvsp[(1) - (1)].c), "Right"))
         (yyval.i) = 1;
@@ -10692,49 +10757,49 @@ yyreduce:
     break;
 
   case 321:
-#line 4019 "Gmsh.y"
+#line 4025 "Gmsh.y"
     {
      (yyval.l) = List_Create(1, 1, sizeof(double));
    ;}
     break;
 
   case 322:
-#line 4023 "Gmsh.y"
+#line 4029 "Gmsh.y"
     {
      (yyval.l) = (yyvsp[(2) - (2)].l);
    ;}
     break;
 
   case 323:
-#line 4028 "Gmsh.y"
+#line 4034 "Gmsh.y"
     {
       (yyval.i) = 45;
     ;}
     break;
 
   case 324:
-#line 4032 "Gmsh.y"
+#line 4038 "Gmsh.y"
     {
       (yyval.i) = (int)(yyvsp[(2) - (2)].d);
     ;}
     break;
 
   case 325:
-#line 4038 "Gmsh.y"
+#line 4044 "Gmsh.y"
     {
       (yyval.l) = List_Create(1, 1, sizeof(double));
     ;}
     break;
 
   case 326:
-#line 4042 "Gmsh.y"
+#line 4048 "Gmsh.y"
     {
       (yyval.l) = (yyvsp[(2) - (2)].l);
     ;}
     break;
 
   case 327:
-#line 4049 "Gmsh.y"
+#line 4055 "Gmsh.y"
     {
       // mesh sizes at vertices are stored in internal CAD data, as they can be
       // specified during vertex creation and copied around during CAD
@@ -10754,7 +10819,7 @@ yyreduce:
     break;
 
   case 328:
-#line 4066 "Gmsh.y"
+#line 4072 "Gmsh.y"
     {
       // transfinite constraints are stored in GEO internals in addition to
       // GModel, as they can be copied around during GEO operations
@@ -10798,7 +10863,7 @@ yyreduce:
     break;
 
   case 329:
-#line 4107 "Gmsh.y"
+#line 4113 "Gmsh.y"
     {
       // transfinite constraints are stored in GEO internals in addition to
       // GModel, as they can be copied around during GEO operations
@@ -10845,7 +10910,7 @@ yyreduce:
     break;
 
   case 330:
-#line 4151 "Gmsh.y"
+#line 4157 "Gmsh.y"
     {
       // transfinite constraints are stored in GEO internals in addition to
       // GModel, as they can be copied around during GEO operations
@@ -10887,7 +10952,7 @@ yyreduce:
     break;
 
   case 331:
-#line 4190 "Gmsh.y"
+#line 4196 "Gmsh.y"
     {
       // transfinite constraints are stored in GEO internals in addition to
       // GModel, as they can be copied around during GEO operations
@@ -10915,7 +10980,7 @@ yyreduce:
     break;
 
   case 332:
-#line 4215 "Gmsh.y"
+#line 4221 "Gmsh.y"
     {
       for(int i = 0; i < List_Nbr((yyvsp[(4) - (8)].l)); i++){
 	double d;
@@ -10927,7 +10992,7 @@ yyreduce:
     break;
 
   case 333:
-#line 4224 "Gmsh.y"
+#line 4230 "Gmsh.y"
     {
       // recombine constraints are stored in GEO internals in addition to
       // GModel, as they can be copied around during GEO operations
@@ -10960,7 +11025,7 @@ yyreduce:
     break;
 
   case 334:
-#line 4254 "Gmsh.y"
+#line 4260 "Gmsh.y"
     {
       // recombine constraints are stored in GEO internals in addition to
       // GModel, as they can be copied around during GEO operations
@@ -10989,7 +11054,7 @@ yyreduce:
     break;
 
   case 335:
-#line 4280 "Gmsh.y"
+#line 4286 "Gmsh.y"
     {
       // smoothing constraints are stored in GEO internals in addition to
       // GModel, as they can be copied around during GEO operations
@@ -11018,7 +11083,7 @@ yyreduce:
     break;
 
   case 336:
-#line 4307 "Gmsh.y"
+#line 4313 "Gmsh.y"
     {
       if (List_Nbr((yyvsp[(4) - (11)].l)) != List_Nbr((yyvsp[(8) - (11)].l))){
         yymsg(0, "Number of master lines (%d) different from number of "
@@ -11052,7 +11117,7 @@ yyreduce:
     break;
 
   case 337:
-#line 4339 "Gmsh.y"
+#line 4345 "Gmsh.y"
     {
       if (List_Nbr((yyvsp[(4) - (11)].l)) != List_Nbr((yyvsp[(8) - (11)].l))){
         yymsg(0, "Number of master faces (%d) different from number of "
@@ -11081,7 +11146,7 @@ yyreduce:
     break;
 
   case 338:
-#line 4366 "Gmsh.y"
+#line 4372 "Gmsh.y"
     {
       if (List_Nbr((yyvsp[(4) - (18)].l)) != List_Nbr((yyvsp[(8) - (18)].l))){
         yymsg(0, "Number of master edges (%d) different from number of "
@@ -11109,7 +11174,7 @@ yyreduce:
     break;
 
   case 339:
-#line 4392 "Gmsh.y"
+#line 4398 "Gmsh.y"
     {
       if (List_Nbr((yyvsp[(4) - (18)].l)) != List_Nbr((yyvsp[(8) - (18)].l))){
         yymsg(0, "Number of master faces (%d) different from number of "
@@ -11137,7 +11202,7 @@ yyreduce:
     break;
 
   case 340:
-#line 4418 "Gmsh.y"
+#line 4424 "Gmsh.y"
     {
       if (List_Nbr((yyvsp[(4) - (12)].l)) != List_Nbr((yyvsp[(8) - (12)].l))){
         yymsg(0, "Number of master edges (%d) different from number of "
@@ -11165,7 +11230,7 @@ yyreduce:
     break;
 
   case 341:
-#line 4444 "Gmsh.y"
+#line 4450 "Gmsh.y"
     {
       if (List_Nbr((yyvsp[(4) - (12)].l)) != List_Nbr((yyvsp[(8) - (12)].l))){
         yymsg(0, "Number of master faces (%d) different from number of "
@@ -11193,7 +11258,7 @@ yyreduce:
     break;
 
   case 342:
-#line 4470 "Gmsh.y"
+#line 4476 "Gmsh.y"
     {
       if (List_Nbr((yyvsp[(5) - (12)].l)) != List_Nbr((yyvsp[(10) - (12)].l))){
         yymsg(0, "Number of master surface edges (%d) different from number of "
@@ -11217,7 +11282,7 @@ yyreduce:
     break;
 
   case 343:
-#line 4491 "Gmsh.y"
+#line 4497 "Gmsh.y"
     {
       std::vector<int> tags; ListOfDouble2Vector((yyvsp[(3) - (10)].l), tags);
       addEmbedded(0, tags, 2, (int)(yyvsp[(8) - (10)].d));
@@ -11226,7 +11291,7 @@ yyreduce:
     break;
 
   case 344:
-#line 4497 "Gmsh.y"
+#line 4503 "Gmsh.y"
     {
       std::vector<int> tags; ListOfDouble2Vector((yyvsp[(3) - (10)].l), tags);
       addEmbedded(1, tags, 2, (int)(yyvsp[(8) - (10)].d));
@@ -11235,7 +11300,7 @@ yyreduce:
     break;
 
   case 345:
-#line 4503 "Gmsh.y"
+#line 4509 "Gmsh.y"
     {
       std::vector<int> tags; ListOfDouble2Vector((yyvsp[(3) - (10)].l), tags);
       addEmbedded(0, tags, 3, (int)(yyvsp[(8) - (10)].d));
@@ -11244,7 +11309,7 @@ yyreduce:
     break;
 
   case 346:
-#line 4509 "Gmsh.y"
+#line 4515 "Gmsh.y"
     {
       std::vector<int> tags; ListOfDouble2Vector((yyvsp[(3) - (10)].l), tags);
       addEmbedded(1, tags, 3, (int)(yyvsp[(8) - (10)].d));
@@ -11253,7 +11318,7 @@ yyreduce:
     break;
 
   case 347:
-#line 4515 "Gmsh.y"
+#line 4521 "Gmsh.y"
     {
       std::vector<int> tags; ListOfDouble2Vector((yyvsp[(3) - (10)].l), tags);
       addEmbedded(2, tags, 3, (int)(yyvsp[(8) - (10)].d));
@@ -11262,7 +11327,7 @@ yyreduce:
     break;
 
   case 348:
-#line 4521 "Gmsh.y"
+#line 4527 "Gmsh.y"
     {
       // reverse mesh constraints are stored in GEO internals in addition to
       // GModel, as they can be copied around during GEO operations
@@ -11291,7 +11356,7 @@ yyreduce:
     break;
 
   case 349:
-#line 4547 "Gmsh.y"
+#line 4553 "Gmsh.y"
     {
       // reverse mesh constraints are stored in GEO internals in addition to
       // GModel, as they can be copied around during GEO operations
@@ -11320,7 +11385,7 @@ yyreduce:
     break;
 
   case 350:
-#line 4573 "Gmsh.y"
+#line 4579 "Gmsh.y"
     {
       if(!(yyvsp[(3) - (4)].l)){
         for(GModel::viter it = GModel::current()->firstVertex();
@@ -11340,7 +11405,7 @@ yyreduce:
     break;
 
   case 351:
-#line 4590 "Gmsh.y"
+#line 4596 "Gmsh.y"
     {
       if(!(yyvsp[(3) - (4)].l)){
         for(GModel::eiter it = GModel::current()->firstEdge();
@@ -11360,7 +11425,7 @@ yyreduce:
     break;
 
   case 352:
-#line 4607 "Gmsh.y"
+#line 4613 "Gmsh.y"
     {
       if(!(yyvsp[(3) - (4)].l)){
         for(GModel::fiter it = GModel::current()->firstFace();
@@ -11380,7 +11445,7 @@ yyreduce:
     break;
 
   case 353:
-#line 4624 "Gmsh.y"
+#line 4630 "Gmsh.y"
     {
       for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++){
 	double dnum;
@@ -11395,7 +11460,7 @@ yyreduce:
     break;
 
   case 354:
-#line 4636 "Gmsh.y"
+#line 4642 "Gmsh.y"
     {
       std::vector<int> tags; ListOfDouble2Vector((yyvsp[(3) - (4)].l), tags);
       GModel::current()->getGEOInternals()->setCompoundMesh(1, tags);
@@ -11404,7 +11469,7 @@ yyreduce:
     break;
 
   case 355:
-#line 4642 "Gmsh.y"
+#line 4648 "Gmsh.y"
     {
       std::vector<int> tags; ListOfDouble2Vector((yyvsp[(3) - (4)].l), tags);
       GModel::current()->getGEOInternals()->setCompoundMesh(2, tags);
@@ -11413,7 +11478,7 @@ yyreduce:
     break;
 
   case 356:
-#line 4648 "Gmsh.y"
+#line 4654 "Gmsh.y"
     {
       std::vector<int> tags; ListOfDouble2Vector((yyvsp[(3) - (4)].l), tags);
       GModel::current()->getGEOInternals()->setCompoundMesh(3, tags);
@@ -11422,14 +11487,14 @@ yyreduce:
     break;
 
   case 357:
-#line 4660 "Gmsh.y"
+#line 4666 "Gmsh.y"
     {
       GModel::current()->getGEOInternals()->removeAllDuplicates();
     ;}
     break;
 
   case 358:
-#line 4664 "Gmsh.y"
+#line 4670 "Gmsh.y"
     {
       if(!strcmp((yyvsp[(2) - (3)].c), "Geometry"))
         GModel::current()->getGEOInternals()->removeAllDuplicates();
@@ -11442,7 +11507,7 @@ yyreduce:
     break;
 
   case 359:
-#line 4674 "Gmsh.y"
+#line 4680 "Gmsh.y"
     {
       std::vector<int> tags; ListOfDouble2Vector((yyvsp[(4) - (6)].l), tags);
       GModel::current()->getGEOInternals()->mergeVertices(tags);
@@ -11451,22 +11516,22 @@ yyreduce:
     break;
 
   case 360:
-#line 4684 "Gmsh.y"
+#line 4690 "Gmsh.y"
     { (yyval.c) = (char*)"Homology"; ;}
     break;
 
   case 361:
-#line 4685 "Gmsh.y"
+#line 4691 "Gmsh.y"
     { (yyval.c) = (char*)"Cohomology"; ;}
     break;
 
   case 362:
-#line 4686 "Gmsh.y"
+#line 4692 "Gmsh.y"
     { (yyval.c) = (char*)"Betti"; ;}
     break;
 
   case 363:
-#line 4691 "Gmsh.y"
+#line 4697 "Gmsh.y"
     {
       std::vector<int> domain, subdomain, dim;
       for(int i = 0; i < 4; i++) dim.push_back(i);
@@ -11475,7 +11540,7 @@ yyreduce:
     break;
 
   case 364:
-#line 4697 "Gmsh.y"
+#line 4703 "Gmsh.y"
     {
       std::vector<int> domain, subdomain, dim;
       for(int i = 0; i < List_Nbr((yyvsp[(3) - (5)].l)); i++){
@@ -11490,7 +11555,7 @@ yyreduce:
     break;
 
   case 365:
-#line 4709 "Gmsh.y"
+#line 4715 "Gmsh.y"
     {
       std::vector<int> domain, subdomain, dim;
       for(int i = 0; i < List_Nbr((yyvsp[(3) - (7)].l)); i++){
@@ -11511,7 +11576,7 @@ yyreduce:
     break;
 
   case 366:
-#line 4727 "Gmsh.y"
+#line 4733 "Gmsh.y"
     {
       std::vector<int> domain, subdomain, dim;
       for(int i = 0; i < List_Nbr((yyvsp[(6) - (10)].l)); i++){
@@ -11537,47 +11602,47 @@ yyreduce:
     break;
 
   case 367:
-#line 4754 "Gmsh.y"
+#line 4760 "Gmsh.y"
     { (yyval.d) = (yyvsp[(1) - (1)].d);           ;}
     break;
 
   case 368:
-#line 4755 "Gmsh.y"
+#line 4761 "Gmsh.y"
     { (yyval.d) = (yyvsp[(2) - (3)].d);           ;}
     break;
 
   case 369:
-#line 4756 "Gmsh.y"
+#line 4762 "Gmsh.y"
     { (yyval.d) = -(yyvsp[(2) - (2)].d);          ;}
     break;
 
   case 370:
-#line 4757 "Gmsh.y"
+#line 4763 "Gmsh.y"
     { (yyval.d) = (yyvsp[(2) - (2)].d);           ;}
     break;
 
   case 371:
-#line 4758 "Gmsh.y"
+#line 4764 "Gmsh.y"
     { (yyval.d) = !(yyvsp[(2) - (2)].d);          ;}
     break;
 
   case 372:
-#line 4759 "Gmsh.y"
+#line 4765 "Gmsh.y"
     { (yyval.d) = (yyvsp[(1) - (3)].d) - (yyvsp[(3) - (3)].d);      ;}
     break;
 
   case 373:
-#line 4760 "Gmsh.y"
+#line 4766 "Gmsh.y"
     { (yyval.d) = (yyvsp[(1) - (3)].d) + (yyvsp[(3) - (3)].d);      ;}
     break;
 
   case 374:
-#line 4761 "Gmsh.y"
+#line 4767 "Gmsh.y"
     { (yyval.d) = (yyvsp[(1) - (3)].d) * (yyvsp[(3) - (3)].d);      ;}
     break;
 
   case 375:
-#line 4763 "Gmsh.y"
+#line 4769 "Gmsh.y"
     {
       if(!(yyvsp[(3) - (3)].d))
 	yymsg(0, "Division by zero in '%g / %g'", (yyvsp[(1) - (3)].d), (yyvsp[(3) - (3)].d));
@@ -11587,257 +11652,257 @@ yyreduce:
     break;
 
   case 376:
-#line 4769 "Gmsh.y"
+#line 4775 "Gmsh.y"
     { (yyval.d) = (int)(yyvsp[(1) - (3)].d) | (int)(yyvsp[(3) - (3)].d); ;}
     break;
 
   case 377:
-#line 4770 "Gmsh.y"
+#line 4776 "Gmsh.y"
     { (yyval.d) = (int)(yyvsp[(1) - (3)].d) & (int)(yyvsp[(3) - (3)].d); ;}
     break;
 
   case 378:
-#line 4771 "Gmsh.y"
+#line 4777 "Gmsh.y"
     { (yyval.d) = (int)(yyvsp[(1) - (3)].d) % (int)(yyvsp[(3) - (3)].d); ;}
     break;
 
   case 379:
-#line 4772 "Gmsh.y"
+#line 4778 "Gmsh.y"
     { (yyval.d) = pow((yyvsp[(1) - (3)].d), (yyvsp[(3) - (3)].d));  ;}
     break;
 
   case 380:
-#line 4773 "Gmsh.y"
+#line 4779 "Gmsh.y"
     { (yyval.d) = (yyvsp[(1) - (3)].d) < (yyvsp[(3) - (3)].d);      ;}
     break;
 
   case 381:
-#line 4774 "Gmsh.y"
+#line 4780 "Gmsh.y"
     { (yyval.d) = (yyvsp[(1) - (3)].d) > (yyvsp[(3) - (3)].d);      ;}
     break;
 
   case 382:
-#line 4775 "Gmsh.y"
+#line 4781 "Gmsh.y"
     { (yyval.d) = (yyvsp[(1) - (3)].d) <= (yyvsp[(3) - (3)].d);     ;}
     break;
 
   case 383:
-#line 4776 "Gmsh.y"
+#line 4782 "Gmsh.y"
     { (yyval.d) = (yyvsp[(1) - (3)].d) >= (yyvsp[(3) - (3)].d);     ;}
     break;
 
   case 384:
-#line 4777 "Gmsh.y"
+#line 4783 "Gmsh.y"
     { (yyval.d) = (yyvsp[(1) - (3)].d) == (yyvsp[(3) - (3)].d);     ;}
     break;
 
   case 385:
-#line 4778 "Gmsh.y"
+#line 4784 "Gmsh.y"
     { (yyval.d) = (yyvsp[(1) - (3)].d) != (yyvsp[(3) - (3)].d);     ;}
     break;
 
   case 386:
-#line 4779 "Gmsh.y"
+#line 4785 "Gmsh.y"
     { (yyval.d) = (yyvsp[(1) - (3)].d) && (yyvsp[(3) - (3)].d);     ;}
     break;
 
   case 387:
-#line 4780 "Gmsh.y"
+#line 4786 "Gmsh.y"
     { (yyval.d) = (yyvsp[(1) - (3)].d) || (yyvsp[(3) - (3)].d);     ;}
     break;
 
   case 388:
-#line 4781 "Gmsh.y"
+#line 4787 "Gmsh.y"
     { (yyval.d) = ((int)(yyvsp[(1) - (3)].d) >> (int)(yyvsp[(3) - (3)].d)); ;}
     break;
 
   case 389:
-#line 4782 "Gmsh.y"
+#line 4788 "Gmsh.y"
     { (yyval.d) = ((int)(yyvsp[(1) - (3)].d) << (int)(yyvsp[(3) - (3)].d)); ;}
     break;
 
   case 390:
-#line 4783 "Gmsh.y"
+#line 4789 "Gmsh.y"
     { (yyval.d) = (yyvsp[(1) - (5)].d) ? (yyvsp[(3) - (5)].d) : (yyvsp[(5) - (5)].d); ;}
     break;
 
   case 391:
-#line 4784 "Gmsh.y"
+#line 4790 "Gmsh.y"
     { (yyval.d) = exp((yyvsp[(3) - (4)].d));      ;}
     break;
 
   case 392:
-#line 4785 "Gmsh.y"
+#line 4791 "Gmsh.y"
     { (yyval.d) = log((yyvsp[(3) - (4)].d));      ;}
     break;
 
   case 393:
-#line 4786 "Gmsh.y"
+#line 4792 "Gmsh.y"
     { (yyval.d) = log10((yyvsp[(3) - (4)].d));    ;}
     break;
 
   case 394:
-#line 4787 "Gmsh.y"
+#line 4793 "Gmsh.y"
     { (yyval.d) = sqrt((yyvsp[(3) - (4)].d));     ;}
     break;
 
   case 395:
-#line 4788 "Gmsh.y"
+#line 4794 "Gmsh.y"
     { (yyval.d) = sin((yyvsp[(3) - (4)].d));      ;}
     break;
 
   case 396:
-#line 4789 "Gmsh.y"
+#line 4795 "Gmsh.y"
     { (yyval.d) = asin((yyvsp[(3) - (4)].d));     ;}
     break;
 
   case 397:
-#line 4790 "Gmsh.y"
+#line 4796 "Gmsh.y"
     { (yyval.d) = cos((yyvsp[(3) - (4)].d));      ;}
     break;
 
   case 398:
-#line 4791 "Gmsh.y"
+#line 4797 "Gmsh.y"
     { (yyval.d) = acos((yyvsp[(3) - (4)].d));     ;}
     break;
 
   case 399:
-#line 4792 "Gmsh.y"
+#line 4798 "Gmsh.y"
     { (yyval.d) = tan((yyvsp[(3) - (4)].d));      ;}
     break;
 
   case 400:
-#line 4793 "Gmsh.y"
+#line 4799 "Gmsh.y"
     { (yyval.d) = atan((yyvsp[(3) - (4)].d));     ;}
     break;
 
   case 401:
-#line 4794 "Gmsh.y"
+#line 4800 "Gmsh.y"
     { (yyval.d) = atan2((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d));;}
     break;
 
   case 402:
-#line 4795 "Gmsh.y"
+#line 4801 "Gmsh.y"
     { (yyval.d) = sinh((yyvsp[(3) - (4)].d));     ;}
     break;
 
   case 403:
-#line 4796 "Gmsh.y"
+#line 4802 "Gmsh.y"
     { (yyval.d) = cosh((yyvsp[(3) - (4)].d));     ;}
     break;
 
   case 404:
-#line 4797 "Gmsh.y"
+#line 4803 "Gmsh.y"
     { (yyval.d) = tanh((yyvsp[(3) - (4)].d));     ;}
     break;
 
   case 405:
-#line 4798 "Gmsh.y"
+#line 4804 "Gmsh.y"
     { (yyval.d) = fabs((yyvsp[(3) - (4)].d));     ;}
     break;
 
   case 406:
-#line 4799 "Gmsh.y"
+#line 4805 "Gmsh.y"
     { (yyval.d) = std::abs((yyvsp[(3) - (4)].d)); ;}
     break;
 
   case 407:
-#line 4800 "Gmsh.y"
+#line 4806 "Gmsh.y"
     { (yyval.d) = floor((yyvsp[(3) - (4)].d));    ;}
     break;
 
   case 408:
-#line 4801 "Gmsh.y"
+#line 4807 "Gmsh.y"
     { (yyval.d) = ceil((yyvsp[(3) - (4)].d));     ;}
     break;
 
   case 409:
-#line 4802 "Gmsh.y"
+#line 4808 "Gmsh.y"
     { (yyval.d) = floor((yyvsp[(3) - (4)].d) + 0.5); ;}
     break;
 
   case 410:
-#line 4803 "Gmsh.y"
+#line 4809 "Gmsh.y"
     { (yyval.d) = fmod((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d)); ;}
     break;
 
   case 411:
-#line 4804 "Gmsh.y"
+#line 4810 "Gmsh.y"
     { (yyval.d) = fmod((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d)); ;}
     break;
 
   case 412:
-#line 4805 "Gmsh.y"
+#line 4811 "Gmsh.y"
     { (yyval.d) = sqrt((yyvsp[(3) - (6)].d) * (yyvsp[(3) - (6)].d) + (yyvsp[(5) - (6)].d) * (yyvsp[(5) - (6)].d)); ;}
     break;
 
   case 413:
-#line 4806 "Gmsh.y"
+#line 4812 "Gmsh.y"
     { (yyval.d) = (yyvsp[(3) - (4)].d) * (double)rand() / (double)RAND_MAX; ;}
     break;
 
   case 414:
-#line 4815 "Gmsh.y"
+#line 4821 "Gmsh.y"
     { (yyval.d) = (yyvsp[(1) - (1)].d); ;}
     break;
 
   case 415:
-#line 4816 "Gmsh.y"
+#line 4822 "Gmsh.y"
     { (yyval.d) = 3.141592653589793; ;}
     break;
 
   case 416:
-#line 4817 "Gmsh.y"
+#line 4823 "Gmsh.y"
     { (yyval.d) = (double)ImbricatedTest; ;}
     break;
 
   case 417:
-#line 4818 "Gmsh.y"
+#line 4824 "Gmsh.y"
     { (yyval.d) = Msg::GetCommRank(); ;}
     break;
 
   case 418:
-#line 4819 "Gmsh.y"
+#line 4825 "Gmsh.y"
     { (yyval.d) = Msg::GetCommSize(); ;}
     break;
 
   case 419:
-#line 4820 "Gmsh.y"
+#line 4826 "Gmsh.y"
     { (yyval.d) = GetGmshMajorVersion(); ;}
     break;
 
   case 420:
-#line 4821 "Gmsh.y"
+#line 4827 "Gmsh.y"
     { (yyval.d) = GetGmshMinorVersion(); ;}
     break;
 
   case 421:
-#line 4822 "Gmsh.y"
+#line 4828 "Gmsh.y"
     { (yyval.d) = GetGmshPatchVersion(); ;}
     break;
 
   case 422:
-#line 4823 "Gmsh.y"
+#line 4829 "Gmsh.y"
     { (yyval.d) = Cpu(); ;}
     break;
 
   case 423:
-#line 4824 "Gmsh.y"
+#line 4830 "Gmsh.y"
     { (yyval.d) = GetMemoryUsage()/1024./1024.; ;}
     break;
 
   case 424:
-#line 4825 "Gmsh.y"
+#line 4831 "Gmsh.y"
     { (yyval.d) = TotalRam(); ;}
     break;
 
   case 425:
-#line 4830 "Gmsh.y"
+#line 4836 "Gmsh.y"
     { init_options(); ;}
     break;
 
   case 426:
-#line 4832 "Gmsh.y"
+#line 4838 "Gmsh.y"
     {
       std::vector<double> val(1, (yyvsp[(3) - (6)].d));
       Msg::ExchangeOnelabParameter("", val, floatOptions, charOptions);
@@ -11846,12 +11911,12 @@ yyreduce:
     break;
 
   case 427:
-#line 4838 "Gmsh.y"
+#line 4844 "Gmsh.y"
     { (yyval.d) = (yyvsp[(1) - (1)].d); ;}
     break;
 
   case 428:
-#line 4840 "Gmsh.y"
+#line 4846 "Gmsh.y"
     {
       (yyval.d) = Msg::GetOnelabNumber((yyvsp[(3) - (4)].c));
       Free((yyvsp[(3) - (4)].c));
@@ -11859,7 +11924,7 @@ yyreduce:
     break;
 
   case 429:
-#line 4845 "Gmsh.y"
+#line 4851 "Gmsh.y"
     {
       (yyval.d) = Msg::GetOnelabNumber((yyvsp[(3) - (6)].c), (yyvsp[(5) - (6)].d));
       Free((yyvsp[(3) - (6)].c));
@@ -11867,84 +11932,56 @@ yyreduce:
     break;
 
   case 430:
-#line 4850 "Gmsh.y"
+#line 4856 "Gmsh.y"
     {
       (yyval.d) = treat_Struct_FullName_Float((yyvsp[(1) - (1)].c2).char1, (yyvsp[(1) - (1)].c2).char2);
     ;}
     break;
 
   case 431:
-#line 4854 "Gmsh.y"
+#line 4861 "Gmsh.y"
     {
-      int index = (int)(yyvsp[(3) - (4)].d);
-      if(!gmsh_yysymbols.count((yyvsp[(1) - (4)].c))){
-	yymsg(0, "Unknown variable '%s'", (yyvsp[(1) - (4)].c));
-	(yyval.d) = 0.;
-      }
-      else{
-        gmsh_yysymbol &s(gmsh_yysymbols[(yyvsp[(1) - (4)].c)]);
-        if((int)s.value.size() < index + 1){
-          yymsg(0, "Uninitialized variable '%s[%d]'", (yyvsp[(1) - (4)].c), index);
-          (yyval.d) = 0.;
-        }
-        else
-          (yyval.d) = s.value[index];
-      }
-      Free((yyvsp[(1) - (4)].c));
+      (yyval.d) = treat_Struct_FullName_Float(NULL, (yyvsp[(1) - (4)].c), 2, (int)(yyvsp[(3) - (4)].d));
     ;}
     break;
 
   case 432:
-#line 4872 "Gmsh.y"
+#line 4866 "Gmsh.y"
     {
-      int index = (int)(yyvsp[(3) - (4)].d);
-      if(!gmsh_yysymbols.count((yyvsp[(1) - (4)].c))){
-	yymsg(0, "Unknown variable '%s'", (yyvsp[(1) - (4)].c));
-	(yyval.d) = 0.;
-      }
-      else{
-        gmsh_yysymbol &s(gmsh_yysymbols[(yyvsp[(1) - (4)].c)]);
-        if((int)s.value.size() < index + 1){
-          yymsg(0, "Uninitialized variable '%s[%d]'", (yyvsp[(1) - (4)].c), index);
-          (yyval.d) = 0.;
-        }
-        else
-          (yyval.d) = s.value[index];
-      }
-      Free((yyvsp[(1) - (4)].c));
+      (yyval.d) = treat_Struct_FullName_Float(NULL, (yyvsp[(1) - (4)].c), 2, (int)(yyvsp[(3) - (4)].d));
     ;}
     break;
 
   case 433:
-#line 4890 "Gmsh.y"
+#line 4870 "Gmsh.y"
     {
-      (yyval.d) = treat_Struct_FullName_Float((yyvsp[(3) - (4)].c2).char1, (yyvsp[(3) - (4)].c2).char2, 0., 1);
+      (yyval.d) = treat_Struct_FullName_Float((yyvsp[(3) - (4)].c2).char1, (yyvsp[(3) - (4)].c2).char2, 1, 0, 0., 1);
     ;}
     break;
 
   case 434:
-#line 4894 "Gmsh.y"
+#line 4874 "Gmsh.y"
     {
-      (yyval.d) = treat_Struct_FullName_dot_tSTRING_Float((yyvsp[(3) - (6)].c2).char1, (yyvsp[(3) - (6)].c2).char2, (yyvsp[(5) - (6)].c), 0., 1);
+      (yyval.d) = treat_Struct_FullName_dot_tSTRING_Float((yyvsp[(3) - (6)].c2).char1, (yyvsp[(3) - (6)].c2).char2, (yyvsp[(5) - (6)].c), 0, 0., 1);
     ;}
     break;
 
   case 435:
-#line 4898 "Gmsh.y"
+#line 4878 "Gmsh.y"
     {
-      (yyval.d) = treat_Struct_FullName_Float((yyvsp[(3) - (5)].c2).char1, (yyvsp[(3) - (5)].c2).char2, (yyvsp[(4) - (5)].d), 2);
+      (yyval.d) = treat_Struct_FullName_Float((yyvsp[(3) - (5)].c2).char1, (yyvsp[(3) - (5)].c2).char2, 1, 0, (yyvsp[(4) - (5)].d), 2);
     ;}
     break;
 
   case 436:
-#line 4902 "Gmsh.y"
+#line 4882 "Gmsh.y"
     {
-      (yyval.d) = treat_Struct_FullName_dot_tSTRING_Float((yyvsp[(3) - (7)].c2).char1, (yyvsp[(3) - (7)].c2).char2, (yyvsp[(5) - (7)].c), (yyvsp[(6) - (7)].d), 2);
+      (yyval.d) = treat_Struct_FullName_dot_tSTRING_Float((yyvsp[(3) - (7)].c2).char1, (yyvsp[(3) - (7)].c2).char2, (yyvsp[(5) - (7)].c), 0, (yyvsp[(6) - (7)].d), 2);
     ;}
     break;
 
   case 437:
-#line 4906 "Gmsh.y"
+#line 4886 "Gmsh.y"
     {
       std::string tmp = FixRelativePath(gmsh_yyname, (yyvsp[(3) - (4)].c));
       (yyval.d) = !StatFile(tmp);
@@ -11953,7 +11990,7 @@ yyreduce:
     break;
 
   case 438:
-#line 4912 "Gmsh.y"
+#line 4892 "Gmsh.y"
     {
       if(gmsh_yysymbols.count((yyvsp[(2) - (4)].c))){
         gmsh_yysymbol &s(gmsh_yysymbols[(yyvsp[(2) - (4)].c)]);
@@ -11971,7 +12008,14 @@ yyreduce:
     break;
 
   case 439:
-#line 4928 "Gmsh.y"
+#line 4908 "Gmsh.y"
+    {
+      (yyval.d) = treat_Struct_FullName_dot_tSTRING_Float_getDim((yyvsp[(2) - (6)].c2).char1, (yyvsp[(2) - (6)].c2).char2, (yyvsp[(4) - (6)].c));
+    ;}
+    break;
+
+  case 440:
+#line 4913 "Gmsh.y"
     {
       std::string struct_namespace((yyvsp[(3) - (4)].c));
       (yyval.d) = (double)nameSpaces[struct_namespace].size();
@@ -11979,16 +12023,16 @@ yyreduce:
     ;}
     break;
 
-  case 440:
-#line 4934 "Gmsh.y"
+  case 441:
+#line 4919 "Gmsh.y"
     {
       std::string struct_namespace(std::string(""));
       (yyval.d) = (double)nameSpaces[struct_namespace].size();
     ;}
     break;
 
-  case 441:
-#line 4940 "Gmsh.y"
+  case 442:
+#line 4925 "Gmsh.y"
     {
       if(!gmsh_yysymbols.count((yyvsp[(1) - (2)].c))){
 	yymsg(0, "Unknown variable '%s'", (yyvsp[(1) - (2)].c));
@@ -12009,8 +12053,8 @@ yyreduce:
     ;}
     break;
 
-  case 442:
-#line 4959 "Gmsh.y"
+  case 443:
+#line 4944 "Gmsh.y"
     {
       int index = (int)(yyvsp[(3) - (5)].d);
       if(!gmsh_yysymbols.count((yyvsp[(1) - (5)].c))){
@@ -12032,8 +12076,8 @@ yyreduce:
     ;}
     break;
 
-  case 443:
-#line 4980 "Gmsh.y"
+  case 444:
+#line 4965 "Gmsh.y"
     {
       int index = (int)(yyvsp[(3) - (5)].d);
       if(!gmsh_yysymbols.count((yyvsp[(1) - (5)].c))){
@@ -12055,30 +12099,44 @@ yyreduce:
     ;}
     break;
 
-  case 444:
-#line 5013 "Gmsh.y"
+  case 445:
+#line 4998 "Gmsh.y"
     {
       (yyval.d) = treat_Struct_FullName_dot_tSTRING_Float(NULL, (yyvsp[(1) - (3)].c), (yyvsp[(3) - (3)].c));
     ;}
     break;
 
-  case 445:
-#line 5017 "Gmsh.y"
+  case 446:
+#line 5002 "Gmsh.y"
     {
       (yyval.d) = treat_Struct_FullName_dot_tSTRING_Float((yyvsp[(1) - (5)].c), (yyvsp[(3) - (5)].c), (yyvsp[(5) - (5)].c));
     ;}
     break;
 
-  case 446:
-#line 5022 "Gmsh.y"
+  case 447:
+#line 5007 "Gmsh.y"
+    {
+      (yyval.d) = treat_Struct_FullName_dot_tSTRING_Float(NULL, (yyvsp[(1) - (6)].c), (yyvsp[(3) - (6)].c), (int)(yyvsp[(5) - (6)].d));
+    ;}
+    break;
+
+  case 448:
+#line 5011 "Gmsh.y"
+    {
+      (yyval.d) = treat_Struct_FullName_dot_tSTRING_Float((yyvsp[(1) - (8)].c), (yyvsp[(3) - (8)].c), (yyvsp[(5) - (8)].c), (int)(yyvsp[(7) - (8)].d));
+    ;}
+    break;
+
+  case 449:
+#line 5016 "Gmsh.y"
     {
       NumberOption(GMSH_GET, (yyvsp[(1) - (6)].c), (int)(yyvsp[(3) - (6)].d), (yyvsp[(6) - (6)].c), (yyval.d));
       Free((yyvsp[(1) - (6)].c)); Free((yyvsp[(6) - (6)].c));
     ;}
     break;
 
-  case 447:
-#line 5027 "Gmsh.y"
+  case 450:
+#line 5021 "Gmsh.y"
     {
       double d = 0.;
       if(NumberOption(GMSH_GET, (yyvsp[(1) - (4)].c), 0, (yyvsp[(3) - (4)].c), d)){
@@ -12090,8 +12148,8 @@ yyreduce:
     ;}
     break;
 
-  case 448:
-#line 5037 "Gmsh.y"
+  case 451:
+#line 5031 "Gmsh.y"
     {
       double d = 0.;
       if(NumberOption(GMSH_GET, (yyvsp[(1) - (7)].c), (int)(yyvsp[(3) - (7)].d), (yyvsp[(6) - (7)].c), d)){
@@ -12103,16 +12161,16 @@ yyreduce:
     ;}
     break;
 
-  case 449:
-#line 5047 "Gmsh.y"
+  case 452:
+#line 5041 "Gmsh.y"
     {
       (yyval.d) = Msg::GetValue((yyvsp[(3) - (6)].c), (yyvsp[(5) - (6)].d));
       Free((yyvsp[(3) - (6)].c));
     ;}
     break;
 
-  case 450:
-#line 5052 "Gmsh.y"
+  case 453:
+#line 5046 "Gmsh.y"
     {
       int matches = 0;
       for(int i = 0; i < List_Nbr((yyvsp[(3) - (6)].l)); i++){
@@ -12125,8 +12183,8 @@ yyreduce:
     ;}
     break;
 
-  case 451:
-#line 5063 "Gmsh.y"
+  case 454:
+#line 5057 "Gmsh.y"
     {
       std::string s((yyvsp[(3) - (6)].c)), substr((yyvsp[(5) - (6)].c));
       if(s.find(substr) != std::string::npos)
@@ -12137,24 +12195,24 @@ yyreduce:
     ;}
     break;
 
-  case 452:
-#line 5072 "Gmsh.y"
+  case 455:
+#line 5066 "Gmsh.y"
     {
       (yyval.d) = strlen((yyvsp[(3) - (4)].c));
       Free((yyvsp[(3) - (4)].c));
     ;}
     break;
 
-  case 453:
-#line 5077 "Gmsh.y"
+  case 456:
+#line 5071 "Gmsh.y"
     {
       (yyval.d) = strcmp((yyvsp[(3) - (6)].c), (yyvsp[(5) - (6)].c));
       Free((yyvsp[(3) - (6)].c)); Free((yyvsp[(5) - (6)].c));
     ;}
     break;
 
-  case 454:
-#line 5082 "Gmsh.y"
+  case 457:
+#line 5076 "Gmsh.y"
     {
       int align = 0, font = 0, fontsize = CTX::instance()->glFontSize;
       if(List_Nbr((yyvsp[(3) - (4)].l)) % 2){
@@ -12180,28 +12238,28 @@ yyreduce:
     ;}
     break;
 
-  case 455:
-#line 5109 "Gmsh.y"
+  case 458:
+#line 5103 "Gmsh.y"
     { (yyval.d) = 0.; ;}
     break;
 
-  case 456:
-#line 5111 "Gmsh.y"
+  case 459:
+#line 5105 "Gmsh.y"
     { (yyval.d) = (yyvsp[(2) - (2)].d);;}
     break;
 
-  case 457:
-#line 5116 "Gmsh.y"
+  case 460:
+#line 5110 "Gmsh.y"
     { (yyval.c) = NULL; ;}
     break;
 
-  case 458:
-#line 5118 "Gmsh.y"
+  case 461:
+#line 5112 "Gmsh.y"
     { (yyval.c) = (yyvsp[(2) - (2)].c);;}
     break;
 
-  case 459:
-#line 5123 "Gmsh.y"
+  case 462:
+#line 5117 "Gmsh.y"
     {
       std::string struct_namespace((yyvsp[(2) - (3)].c2).char1? (yyvsp[(2) - (3)].c2).char1 : std::string("")),
         struct_name((yyvsp[(2) - (3)].c2).char2);
@@ -12210,8 +12268,8 @@ yyreduce:
     ;}
     break;
 
-  case 460:
-#line 5130 "Gmsh.y"
+  case 463:
+#line 5124 "Gmsh.y"
     {
       std::string struct_namespace((yyvsp[(2) - (7)].c2).char1? (yyvsp[(2) - (7)].c2).char1 : std::string("")),
         struct_name((yyvsp[(2) - (7)].c2).char2);
@@ -12226,151 +12284,151 @@ yyreduce:
     ;}
     break;
 
-  case 461:
-#line 5146 "Gmsh.y"
+  case 464:
+#line 5140 "Gmsh.y"
     { (yyval.c2).char1 = NULL; (yyval.c2).char2 = (yyvsp[(1) - (1)].c); ;}
     break;
 
-  case 462:
-#line 5148 "Gmsh.y"
+  case 465:
+#line 5142 "Gmsh.y"
     { (yyval.c2).char1 = (yyvsp[(1) - (3)].c); (yyval.c2).char2 = (yyvsp[(3) - (3)].c); ;}
     break;
 
-  case 463:
-#line 5153 "Gmsh.y"
+  case 466:
+#line 5147 "Gmsh.y"
     { (yyval.c) = (yyvsp[(1) - (1)].c); flag_tSTRING_alloc = 1; ;}
     break;
 
-  case 464:
-#line 5162 "Gmsh.y"
+  case 467:
+#line 5156 "Gmsh.y"
     { (yyval.i) = 99; ;}
     break;
 
-  case 465:
-#line 5164 "Gmsh.y"
+  case 468:
+#line 5158 "Gmsh.y"
     { (yyval.i) = (int)(yyvsp[(2) - (2)].d); ;}
     break;
 
-  case 466:
-#line 5169 "Gmsh.y"
+  case 469:
+#line 5163 "Gmsh.y"
     { (yyval.i) = 0; ;}
     break;
 
-  case 467:
-#line 5171 "Gmsh.y"
+  case 470:
+#line 5165 "Gmsh.y"
     { (yyval.i) = (yyvsp[(2) - (3)].i); ;}
     break;
 
-  case 468:
-#line 5177 "Gmsh.y"
+  case 471:
+#line 5171 "Gmsh.y"
     {
       memcpy((yyval.v), (yyvsp[(1) - (1)].v), 5*sizeof(double));
     ;}
     break;
 
-  case 469:
-#line 5181 "Gmsh.y"
+  case 472:
+#line 5175 "Gmsh.y"
     {
       for(int i = 0; i < 5; i++) (yyval.v)[i] = -(yyvsp[(2) - (2)].v)[i];
     ;}
     break;
 
-  case 470:
-#line 5185 "Gmsh.y"
+  case 473:
+#line 5179 "Gmsh.y"
     {
       for(int i = 0; i < 5; i++) (yyval.v)[i] = (yyvsp[(2) - (2)].v)[i];
     ;}
     break;
 
-  case 471:
-#line 5189 "Gmsh.y"
+  case 474:
+#line 5183 "Gmsh.y"
     {
       for(int i = 0; i < 5; i++) (yyval.v)[i] = (yyvsp[(1) - (3)].v)[i] - (yyvsp[(3) - (3)].v)[i];
     ;}
     break;
 
-  case 472:
-#line 5193 "Gmsh.y"
+  case 475:
+#line 5187 "Gmsh.y"
     {
       for(int i = 0; i < 5; i++) (yyval.v)[i] = (yyvsp[(1) - (3)].v)[i] + (yyvsp[(3) - (3)].v)[i];
     ;}
     break;
 
-  case 473:
-#line 5200 "Gmsh.y"
+  case 476:
+#line 5194 "Gmsh.y"
     {
       (yyval.v)[0] = (yyvsp[(2) - (11)].d);  (yyval.v)[1] = (yyvsp[(4) - (11)].d);  (yyval.v)[2] = (yyvsp[(6) - (11)].d);  (yyval.v)[3] = (yyvsp[(8) - (11)].d); (yyval.v)[4] = (yyvsp[(10) - (11)].d);
     ;}
     break;
 
-  case 474:
-#line 5204 "Gmsh.y"
+  case 477:
+#line 5198 "Gmsh.y"
     {
       (yyval.v)[0] = (yyvsp[(2) - (9)].d);  (yyval.v)[1] = (yyvsp[(4) - (9)].d);  (yyval.v)[2] = (yyvsp[(6) - (9)].d);  (yyval.v)[3] = (yyvsp[(8) - (9)].d); (yyval.v)[4] = 1.0;
     ;}
     break;
 
-  case 475:
-#line 5208 "Gmsh.y"
+  case 478:
+#line 5202 "Gmsh.y"
     {
       (yyval.v)[0] = (yyvsp[(2) - (7)].d);  (yyval.v)[1] = (yyvsp[(4) - (7)].d);  (yyval.v)[2] = (yyvsp[(6) - (7)].d);  (yyval.v)[3] = 0.0; (yyval.v)[4] = 1.0;
     ;}
     break;
 
-  case 476:
-#line 5212 "Gmsh.y"
+  case 479:
+#line 5206 "Gmsh.y"
     {
       (yyval.v)[0] = (yyvsp[(2) - (7)].d);  (yyval.v)[1] = (yyvsp[(4) - (7)].d);  (yyval.v)[2] = (yyvsp[(6) - (7)].d);  (yyval.v)[3] = 0.0; (yyval.v)[4] = 1.0;
     ;}
     break;
 
-  case 477:
-#line 5219 "Gmsh.y"
+  case 480:
+#line 5213 "Gmsh.y"
     {
       (yyval.l) = List_Create(2, 1, sizeof(List_T*));
       List_Add((yyval.l), &((yyvsp[(1) - (1)].l)));
     ;}
     break;
 
-  case 478:
-#line 5224 "Gmsh.y"
+  case 481:
+#line 5218 "Gmsh.y"
     {
       List_Add((yyval.l), &((yyvsp[(3) - (3)].l)));
     ;}
     break;
 
-  case 479:
-#line 5231 "Gmsh.y"
+  case 482:
+#line 5225 "Gmsh.y"
     {
       (yyval.l) = List_Create(2, 1, sizeof(double));
       List_Add((yyval.l), &((yyvsp[(1) - (1)].d)));
     ;}
     break;
 
-  case 480:
-#line 5236 "Gmsh.y"
+  case 483:
+#line 5230 "Gmsh.y"
     {
       (yyval.l) = (yyvsp[(1) - (1)].l);
     ;}
     break;
 
-  case 481:
-#line 5240 "Gmsh.y"
+  case 484:
+#line 5234 "Gmsh.y"
     {
       // creates an empty list
       (yyval.l) = List_Create(2, 1, sizeof(double));
     ;}
     break;
 
-  case 482:
-#line 5245 "Gmsh.y"
+  case 485:
+#line 5239 "Gmsh.y"
     {
       (yyval.l) = (yyvsp[(2) - (3)].l);
     ;}
     break;
 
-  case 483:
-#line 5249 "Gmsh.y"
+  case 486:
+#line 5243 "Gmsh.y"
     {
       (yyval.l) = (yyvsp[(3) - (4)].l);
       for(int i = 0; i < List_Nbr((yyval.l)); i++){
@@ -12380,8 +12438,8 @@ yyreduce:
     ;}
     break;
 
-  case 484:
-#line 5257 "Gmsh.y"
+  case 487:
+#line 5251 "Gmsh.y"
     {
       (yyval.l) = (yyvsp[(4) - (5)].l);
       for(int i = 0; i < List_Nbr((yyval.l)); i++){
@@ -12391,15 +12449,15 @@ yyreduce:
     ;}
     break;
 
-  case 485:
-#line 5268 "Gmsh.y"
+  case 488:
+#line 5262 "Gmsh.y"
     {
       (yyval.l) = (yyvsp[(1) - (1)].l);
     ;}
     break;
 
-  case 486:
-#line 5272 "Gmsh.y"
+  case 489:
+#line 5266 "Gmsh.y"
     {
       if(!strcmp((yyvsp[(1) - (1)].c), "*") || !strcmp((yyvsp[(1) - (1)].c), "all"))
         (yyval.l) = 0;
@@ -12410,8 +12468,8 @@ yyreduce:
     ;}
     break;
 
-  case 487:
-#line 5284 "Gmsh.y"
+  case 490:
+#line 5278 "Gmsh.y"
     {
       (yyval.l) = (yyvsp[(2) - (2)].l);
       for(int i = 0; i < List_Nbr((yyval.l)); i++){
@@ -12421,8 +12479,8 @@ yyreduce:
     ;}
     break;
 
-  case 488:
-#line 5292 "Gmsh.y"
+  case 491:
+#line 5286 "Gmsh.y"
     {
       (yyval.l) = (yyvsp[(3) - (3)].l);
       for(int i = 0; i < List_Nbr((yyval.l)); i++){
@@ -12432,8 +12490,8 @@ yyreduce:
     ;}
     break;
 
-  case 489:
-#line 5300 "Gmsh.y"
+  case 492:
+#line 5294 "Gmsh.y"
     {
       (yyval.l) = List_Create(2, 1, sizeof(double));
       for(double d = (yyvsp[(1) - (3)].d); ((yyvsp[(1) - (3)].d) < (yyvsp[(3) - (3)].d)) ? (d <= (yyvsp[(3) - (3)].d)) : (d >= (yyvsp[(3) - (3)].d));
@@ -12442,8 +12500,8 @@ yyreduce:
     ;}
     break;
 
-  case 490:
-#line 5307 "Gmsh.y"
+  case 493:
+#line 5301 "Gmsh.y"
     {
       (yyval.l) = List_Create(2, 1, sizeof(double));
       if(!(yyvsp[(5) - (5)].d)){  //|| ($1 < $3 && $5 < 0) || ($1 > $3 && $5 > 0)
@@ -12455,8 +12513,8 @@ yyreduce:
    ;}
     break;
 
-  case 491:
-#line 5317 "Gmsh.y"
+  case 494:
+#line 5311 "Gmsh.y"
     {
       (yyval.l) = List_Create(3, 1, sizeof(double));
       int tag = (int)(yyvsp[(3) - (4)].d);
@@ -12481,8 +12539,8 @@ yyreduce:
     ;}
     break;
 
-  case 492:
-#line 5340 "Gmsh.y"
+  case 495:
+#line 5334 "Gmsh.y"
     {
       (yyval.l) = List_Create(10, 10, sizeof(double));
       getAllElementaryTags(0, (yyval.l));
@@ -12490,8 +12548,8 @@ yyreduce:
     ;}
     break;
 
-  case 493:
-#line 5346 "Gmsh.y"
+  case 496:
+#line 5340 "Gmsh.y"
     {
       (yyval.l) = List_Create(10, 10, sizeof(double));
       getAllElementaryTags(1, (yyval.l));
@@ -12499,8 +12557,8 @@ yyreduce:
     ;}
     break;
 
-  case 494:
-#line 5352 "Gmsh.y"
+  case 497:
+#line 5346 "Gmsh.y"
     {
       (yyval.l) = List_Create(10, 10, sizeof(double));
       getAllElementaryTags(2, (yyval.l));
@@ -12508,8 +12566,8 @@ yyreduce:
     ;}
     break;
 
-  case 495:
-#line 5358 "Gmsh.y"
+  case 498:
+#line 5352 "Gmsh.y"
     {
       (yyval.l) = List_Create(10, 10, sizeof(double));
       getAllElementaryTags(3, (yyval.l));
@@ -12517,8 +12575,8 @@ yyreduce:
     ;}
     break;
 
-  case 496:
-#line 5364 "Gmsh.y"
+  case 499:
+#line 5358 "Gmsh.y"
     {
       (yyval.l) = List_Create(10, 10, sizeof(double));
       if(!(yyvsp[(3) - (3)].l)){
@@ -12531,8 +12589,8 @@ yyreduce:
     ;}
     break;
 
-  case 497:
-#line 5375 "Gmsh.y"
+  case 500:
+#line 5369 "Gmsh.y"
     {
       (yyval.l) = List_Create(10, 10, sizeof(double));
       if(!(yyvsp[(3) - (3)].l)){
@@ -12545,8 +12603,8 @@ yyreduce:
     ;}
     break;
 
-  case 498:
-#line 5386 "Gmsh.y"
+  case 501:
+#line 5380 "Gmsh.y"
     {
       (yyval.l) = List_Create(10, 10, sizeof(double));
       if(!(yyvsp[(3) - (3)].l)){
@@ -12559,8 +12617,8 @@ yyreduce:
     ;}
     break;
 
-  case 499:
-#line 5397 "Gmsh.y"
+  case 502:
+#line 5391 "Gmsh.y"
     {
       (yyval.l) = List_Create(10, 10, sizeof(double));
       if(!(yyvsp[(3) - (3)].l)){
@@ -12573,40 +12631,40 @@ yyreduce:
     ;}
     break;
 
-  case 500:
-#line 5409 "Gmsh.y"
+  case 503:
+#line 5403 "Gmsh.y"
     {
       (yyval.l) = List_Create(10, 10, sizeof(double));
       getElementaryTagsInBoundingBox(0, (yyvsp[(5) - (16)].d), (yyvsp[(7) - (16)].d), (yyvsp[(9) - (16)].d), (yyvsp[(11) - (16)].d), (yyvsp[(13) - (16)].d), (yyvsp[(15) - (16)].d), (yyval.l));
     ;}
     break;
 
-  case 501:
-#line 5415 "Gmsh.y"
+  case 504:
+#line 5409 "Gmsh.y"
     {
       (yyval.l) = List_Create(10, 10, sizeof(double));
       getElementaryTagsInBoundingBox(1, (yyvsp[(5) - (16)].d), (yyvsp[(7) - (16)].d), (yyvsp[(9) - (16)].d), (yyvsp[(11) - (16)].d), (yyvsp[(13) - (16)].d), (yyvsp[(15) - (16)].d), (yyval.l));
     ;}
     break;
 
-  case 502:
-#line 5421 "Gmsh.y"
+  case 505:
+#line 5415 "Gmsh.y"
     {
       (yyval.l) = List_Create(10, 10, sizeof(double));
       getElementaryTagsInBoundingBox(2, (yyvsp[(5) - (16)].d), (yyvsp[(7) - (16)].d), (yyvsp[(9) - (16)].d), (yyvsp[(11) - (16)].d), (yyvsp[(13) - (16)].d), (yyvsp[(15) - (16)].d), (yyval.l));
     ;}
     break;
 
-  case 503:
-#line 5427 "Gmsh.y"
+  case 506:
+#line 5421 "Gmsh.y"
     {
       (yyval.l) = List_Create(10, 10, sizeof(double));
       getElementaryTagsInBoundingBox(3, (yyvsp[(5) - (16)].d), (yyvsp[(7) - (16)].d), (yyvsp[(9) - (16)].d), (yyvsp[(11) - (16)].d), (yyvsp[(13) - (16)].d), (yyvsp[(15) - (16)].d), (yyval.l));
     ;}
     break;
 
-  case 504:
-#line 5432 "Gmsh.y"
+  case 507:
+#line 5426 "Gmsh.y"
     {
       (yyval.l) = List_Create(List_Nbr((yyvsp[(1) - (1)].l)), 1, sizeof(double));
       for(int i = 0; i < List_Nbr((yyvsp[(1) - (1)].l)); i++){
@@ -12618,8 +12676,8 @@ yyreduce:
     ;}
     break;
 
-  case 505:
-#line 5442 "Gmsh.y"
+  case 508:
+#line 5436 "Gmsh.y"
     {
       (yyval.l) = List_Create(List_Nbr((yyvsp[(1) - (1)].l)), 1, sizeof(double));
       for(int i = 0; i < List_Nbr((yyvsp[(1) - (1)].l)); i++){
@@ -12631,8 +12689,8 @@ yyreduce:
     ;}
     break;
 
-  case 506:
-#line 5452 "Gmsh.y"
+  case 509:
+#line 5446 "Gmsh.y"
     {
       (yyval.l) = List_Create(List_Nbr((yyvsp[(1) - (1)].l)), 1, sizeof(double));
       for(int i = 0; i < List_Nbr((yyvsp[(1) - (1)].l)); i++){
@@ -12644,8 +12702,8 @@ yyreduce:
     ;}
     break;
 
-  case 507:
-#line 5462 "Gmsh.y"
+  case 510:
+#line 5456 "Gmsh.y"
     {
       (yyval.l) = List_Create(2, 1, sizeof(double));
       if(!gmsh_yysymbols.count((yyvsp[(1) - (3)].c)))
@@ -12659,8 +12717,8 @@ yyreduce:
     ;}
     break;
 
-  case 508:
-#line 5475 "Gmsh.y"
+  case 511:
+#line 5469 "Gmsh.y"
     {
       (yyval.l) = List_Create(2, 1, sizeof(double));
       if(!gmsh_yysymbols.count((yyvsp[(3) - (4)].c)))
@@ -12674,29 +12732,29 @@ yyreduce:
     ;}
     break;
 
-  case 509:
-#line 5487 "Gmsh.y"
+  case 512:
+#line 5481 "Gmsh.y"
     {
       (yyval.l) = (yyvsp[(3) - (4)].l);
     ;}
     break;
 
-  case 510:
-#line 5491 "Gmsh.y"
+  case 513:
+#line 5485 "Gmsh.y"
     {
       (yyval.l) = (yyvsp[(3) - (4)].l);
     ;}
     break;
 
-  case 511:
-#line 5495 "Gmsh.y"
+  case 514:
+#line 5489 "Gmsh.y"
     {
       (yyval.l) = (yyvsp[(4) - (6)].l);
     ;}
     break;
 
-  case 512:
-#line 5499 "Gmsh.y"
+  case 515:
+#line 5493 "Gmsh.y"
     {
       (yyval.l) = List_Create(2, 1, sizeof(double));
       if(!gmsh_yysymbols.count((yyvsp[(1) - (6)].c)))
@@ -12716,8 +12774,8 @@ yyreduce:
     ;}
     break;
 
-  case 513:
-#line 5517 "Gmsh.y"
+  case 516:
+#line 5511 "Gmsh.y"
     {
       (yyval.l) = List_Create(20,20,sizeof(double));
       for(int i = 0; i < (int)(yyvsp[(7) - (8)].d); i++) {
@@ -12727,8 +12785,8 @@ yyreduce:
     ;}
     break;
 
-  case 514:
-#line 5525 "Gmsh.y"
+  case 517:
+#line 5519 "Gmsh.y"
     {
       (yyval.l) = List_Create(20,20,sizeof(double));
       for(int i = 0; i < (int)(yyvsp[(7) - (8)].d); i++) {
@@ -12738,8 +12796,8 @@ yyreduce:
     ;}
     break;
 
-  case 515:
-#line 5533 "Gmsh.y"
+  case 518:
+#line 5527 "Gmsh.y"
     {
       Msg::Barrier();
       FILE *File;
@@ -12770,8 +12828,8 @@ yyreduce:
     ;}
     break;
 
-  case 516:
-#line 5562 "Gmsh.y"
+  case 519:
+#line 5556 "Gmsh.y"
     {
       double x0 = (yyvsp[(3) - (14)].d), x1 = (yyvsp[(5) - (14)].d), y0 = (yyvsp[(7) - (14)].d), y1 = (yyvsp[(9) - (14)].d), ys = (yyvsp[(11) - (14)].d);
       int N = (int)(yyvsp[(13) - (14)].d);
@@ -12783,8 +12841,8 @@ yyreduce:
     ;}
     break;
 
-  case 517:
-#line 5572 "Gmsh.y"
+  case 520:
+#line 5566 "Gmsh.y"
     {
       std::vector<double> tmp;
       for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++){
@@ -12802,8 +12860,8 @@ yyreduce:
     ;}
     break;
 
-  case 518:
-#line 5588 "Gmsh.y"
+  case 521:
+#line 5582 "Gmsh.y"
     {
       for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++){
         double *d = (double*)List_Pointer((yyvsp[(3) - (4)].l), i);
@@ -12813,30 +12871,30 @@ yyreduce:
     ;}
     break;
 
-  case 519:
-#line 5599 "Gmsh.y"
+  case 522:
+#line 5593 "Gmsh.y"
     {
       (yyval.l) = List_Create(2, 1, sizeof(double));
       List_Add((yyval.l), &((yyvsp[(1) - (1)].d)));
     ;}
     break;
 
-  case 520:
-#line 5604 "Gmsh.y"
+  case 523:
+#line 5598 "Gmsh.y"
     {
       (yyval.l) = (yyvsp[(1) - (1)].l);
     ;}
     break;
 
-  case 521:
-#line 5608 "Gmsh.y"
+  case 524:
+#line 5602 "Gmsh.y"
     {
       List_Add((yyval.l), &((yyvsp[(3) - (3)].d)));
     ;}
     break;
 
-  case 522:
-#line 5612 "Gmsh.y"
+  case 525:
+#line 5606 "Gmsh.y"
     {
       for(int i = 0; i < List_Nbr((yyvsp[(3) - (3)].l)); i++){
 	double d;
@@ -12847,22 +12905,22 @@ yyreduce:
     ;}
     break;
 
-  case 523:
-#line 5624 "Gmsh.y"
+  case 526:
+#line 5618 "Gmsh.y"
     {
       (yyval.u) = CTX::instance()->packColor((int)(yyvsp[(2) - (9)].d), (int)(yyvsp[(4) - (9)].d), (int)(yyvsp[(6) - (9)].d), (int)(yyvsp[(8) - (9)].d));
     ;}
     break;
 
-  case 524:
-#line 5628 "Gmsh.y"
+  case 527:
+#line 5622 "Gmsh.y"
     {
       (yyval.u) = CTX::instance()->packColor((int)(yyvsp[(2) - (7)].d), (int)(yyvsp[(4) - (7)].d), (int)(yyvsp[(6) - (7)].d), 255);
     ;}
     break;
 
-  case 525:
-#line 5640 "Gmsh.y"
+  case 528:
+#line 5634 "Gmsh.y"
     {
       int flag = 0;
       if(gmsh_yystringsymbols.count((yyvsp[(1) - (1)].c))){
@@ -12881,8 +12939,8 @@ yyreduce:
     ;}
     break;
 
-  case 526:
-#line 5657 "Gmsh.y"
+  case 529:
+#line 5651 "Gmsh.y"
     {
       unsigned int val = 0;
       ColorOption(GMSH_GET, (yyvsp[(1) - (5)].c), 0, (yyvsp[(5) - (5)].c), val);
@@ -12891,15 +12949,15 @@ yyreduce:
     ;}
     break;
 
-  case 527:
-#line 5667 "Gmsh.y"
+  case 530:
+#line 5661 "Gmsh.y"
     {
       (yyval.l) = (yyvsp[(2) - (3)].l);
     ;}
     break;
 
-  case 528:
-#line 5671 "Gmsh.y"
+  case 531:
+#line 5665 "Gmsh.y"
     {
       (yyval.l) = List_Create(256, 10, sizeof(unsigned int));
       GmshColorTable *ct = GetColorTable((int)(yyvsp[(3) - (6)].d));
@@ -12913,38 +12971,38 @@ yyreduce:
     ;}
     break;
 
-  case 529:
-#line 5686 "Gmsh.y"
+  case 532:
+#line 5680 "Gmsh.y"
     {
       (yyval.l) = List_Create(256, 10, sizeof(unsigned int));
       List_Add((yyval.l), &((yyvsp[(1) - (1)].u)));
     ;}
     break;
 
-  case 530:
-#line 5691 "Gmsh.y"
+  case 533:
+#line 5685 "Gmsh.y"
     {
       List_Add((yyval.l), &((yyvsp[(3) - (3)].u)));
     ;}
     break;
 
-  case 531:
-#line 5698 "Gmsh.y"
+  case 534:
+#line 5692 "Gmsh.y"
     {
       (yyval.c) = (yyvsp[(1) - (1)].c);
     ;}
     break;
 
-  case 532:
-#line 5702 "Gmsh.y"
+  case 535:
+#line 5696 "Gmsh.y"
     {
       // No need to extend to Struct_FullName (a Tag is not a String)
       (yyval.c) = treat_Struct_FullName_String(NULL, (yyvsp[(1) - (1)].c));
     ;}
     break;
 
-  case 533:
-#line 5707 "Gmsh.y"
+  case 536:
+#line 5701 "Gmsh.y"
     {
       std::string val;
       int j = (int)(yyvsp[(3) - (4)].d);
@@ -12960,8 +13018,8 @@ yyreduce:
     ;}
     break;
 
-  case 534:
-#line 5721 "Gmsh.y"
+  case 537:
+#line 5715 "Gmsh.y"
     {
       std::string val;
       int j = (int)(yyvsp[(3) - (4)].d);
@@ -12977,22 +13035,36 @@ yyreduce:
     ;}
     break;
 
-  case 535:
-#line 5738 "Gmsh.y"
+  case 538:
+#line 5732 "Gmsh.y"
     {
       (yyval.c) = treat_Struct_FullName_dot_tSTRING_String(NULL, (yyvsp[(1) - (3)].c), (yyvsp[(3) - (3)].c));
     ;}
     break;
 
-  case 536:
-#line 5742 "Gmsh.y"
+  case 539:
+#line 5736 "Gmsh.y"
     {
       (yyval.c) = treat_Struct_FullName_dot_tSTRING_String((yyvsp[(1) - (5)].c), (yyvsp[(3) - (5)].c), (yyvsp[(5) - (5)].c));
     ;}
     break;
 
-  case 537:
-#line 5747 "Gmsh.y"
+  case 540:
+#line 5741 "Gmsh.y"
+    {
+      (yyval.c) = treat_Struct_FullName_dot_tSTRING_String(NULL, (yyvsp[(1) - (6)].c), (yyvsp[(3) - (6)].c), (int)(yyvsp[(5) - (6)].d));
+    ;}
+    break;
+
+  case 541:
+#line 5745 "Gmsh.y"
+    {
+      (yyval.c) = treat_Struct_FullName_dot_tSTRING_String((yyvsp[(1) - (8)].c), (yyvsp[(3) - (8)].c), (yyvsp[(5) - (8)].c), (int)(yyvsp[(7) - (8)].d));
+    ;}
+    break;
+
+  case 542:
+#line 5750 "Gmsh.y"
     {
       std::string out;
       StringOption(GMSH_GET, (yyvsp[(1) - (6)].c), (int)(yyvsp[(3) - (6)].d), (yyvsp[(6) - (6)].c), out);
@@ -13002,8 +13074,8 @@ yyreduce:
     ;}
     break;
 
-  case 538:
-#line 5755 "Gmsh.y"
+  case 543:
+#line 5758 "Gmsh.y"
     {
       std::string name = GModel::current()->getPhysicalName(0, (int)(yyvsp[(4) - (5)].d));
       (yyval.c) = (char*)Malloc((name.size() + 1) * sizeof(char));
@@ -13011,8 +13083,8 @@ yyreduce:
     ;}
     break;
 
-  case 539:
-#line 5761 "Gmsh.y"
+  case 544:
+#line 5764 "Gmsh.y"
     {
       std::string name = GModel::current()->getPhysicalName(1, (int)(yyvsp[(4) - (5)].d));
       (yyval.c) = (char*)Malloc((name.size() + 1) * sizeof(char));
@@ -13020,8 +13092,8 @@ yyreduce:
     ;}
     break;
 
-  case 540:
-#line 5767 "Gmsh.y"
+  case 545:
+#line 5770 "Gmsh.y"
     {
       std::string name = GModel::current()->getPhysicalName(2, (int)(yyvsp[(4) - (5)].d));
       (yyval.c) = (char*)Malloc((name.size() + 1) * sizeof(char));
@@ -13029,8 +13101,8 @@ yyreduce:
     ;}
     break;
 
-  case 541:
-#line 5773 "Gmsh.y"
+  case 546:
+#line 5776 "Gmsh.y"
     {
       std::string name = GModel::current()->getPhysicalName(3, (int)(yyvsp[(4) - (5)].d));
       (yyval.c) = (char*)Malloc((name.size() + 1) * sizeof(char));
@@ -13038,22 +13110,22 @@ yyreduce:
     ;}
     break;
 
-  case 542:
-#line 5782 "Gmsh.y"
+  case 547:
+#line 5785 "Gmsh.y"
     {
       (yyval.c) = (yyvsp[(1) - (1)].c);
     ;}
     break;
 
-  case 543:
-#line 5786 "Gmsh.y"
+  case 548:
+#line 5789 "Gmsh.y"
     {
       (yyval.c) = (yyvsp[(3) - (4)].c);
     ;}
     break;
 
-  case 544:
-#line 5790 "Gmsh.y"
+  case 549:
+#line 5793 "Gmsh.y"
     {
       (yyval.c) = (char *)Malloc(32 * sizeof(char));
       time_t now;
@@ -13063,8 +13135,8 @@ yyreduce:
     ;}
     break;
 
-  case 545:
-#line 5798 "Gmsh.y"
+  case 550:
+#line 5801 "Gmsh.y"
     {
       std::string exe = Msg::GetExecutableName();
       (yyval.c) = (char *)Malloc(exe.size() + 1);
@@ -13072,8 +13144,8 @@ yyreduce:
     ;}
     break;
 
-  case 546:
-#line 5804 "Gmsh.y"
+  case 551:
+#line 5807 "Gmsh.y"
     {
       std::string action = Msg::GetOnelabAction();
       (yyval.c) = (char *)Malloc(action.size() + 1);
@@ -13081,15 +13153,15 @@ yyreduce:
     ;}
     break;
 
-  case 547:
-#line 5810 "Gmsh.y"
+  case 552:
+#line 5813 "Gmsh.y"
     {
       (yyval.c) = strsave((char*)"Gmsh");
     ;}
     break;
 
-  case 548:
-#line 5814 "Gmsh.y"
+  case 553:
+#line 5817 "Gmsh.y"
     {
       const char *env = GetEnvironmentVar((yyvsp[(3) - (4)].c));
       if(!env) env = "";
@@ -13099,8 +13171,8 @@ yyreduce:
     ;}
     break;
 
-  case 549:
-#line 5822 "Gmsh.y"
+  case 554:
+#line 5825 "Gmsh.y"
     {
       std::string s = Msg::GetString((yyvsp[(3) - (6)].c), (yyvsp[(5) - (6)].c));
       (yyval.c) = (char *)Malloc((s.size() + 1) * sizeof(char));
@@ -13110,8 +13182,8 @@ yyreduce:
     ;}
     break;
 
-  case 550:
-#line 5830 "Gmsh.y"
+  case 555:
+#line 5833 "Gmsh.y"
     {
       std::string s = Msg::GetOnelabString((yyvsp[(3) - (4)].c));
       (yyval.c) = (char *)Malloc((s.size() + 1) * sizeof(char));
@@ -13120,8 +13192,8 @@ yyreduce:
     ;}
     break;
 
-  case 551:
-#line 5837 "Gmsh.y"
+  case 556:
+#line 5840 "Gmsh.y"
     {
       std::string s = Msg::GetOnelabString((yyvsp[(3) - (6)].c), (yyvsp[(5) - (6)].c));
       (yyval.c) = (char *)Malloc((s.size() + 1) * sizeof(char));
@@ -13131,22 +13203,22 @@ yyreduce:
     ;}
     break;
 
-  case 552:
-#line 5847 "Gmsh.y"
+  case 557:
+#line 5850 "Gmsh.y"
     {
-      (yyval.c) = treat_Struct_FullName_String(NULL, (yyvsp[(3) - (5)].c2).char2, (yyvsp[(4) - (5)].c), 2);
+      (yyval.c) = treat_Struct_FullName_String(NULL, (yyvsp[(3) - (5)].c2).char2, 1, 0, (yyvsp[(4) - (5)].c), 2);
     ;}
     break;
 
-  case 553:
-#line 5852 "Gmsh.y"
+  case 558:
+#line 5855 "Gmsh.y"
     {
-      (yyval.c) = treat_Struct_FullName_dot_tSTRING_String((yyvsp[(3) - (7)].c2).char1, (yyvsp[(3) - (7)].c2).char2, (yyvsp[(5) - (7)].c), (yyvsp[(6) - (7)].c), 2);
+      (yyval.c) = treat_Struct_FullName_dot_tSTRING_String((yyvsp[(3) - (7)].c2).char1, (yyvsp[(3) - (7)].c2).char2, (yyvsp[(5) - (7)].c), 0, (yyvsp[(6) - (7)].c), 2);
     ;}
     break;
 
-  case 554:
-#line 5857 "Gmsh.y"
+  case 559:
+#line 5860 "Gmsh.y"
     {
       int size = 1;
       for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++)
@@ -13163,8 +13235,8 @@ yyreduce:
     ;}
     break;
 
-  case 555:
-#line 5872 "Gmsh.y"
+  case 560:
+#line 5875 "Gmsh.y"
     {
       (yyval.c) = (char *)Malloc((strlen((yyvsp[(3) - (4)].c)) + 1) * sizeof(char));
       int i;
@@ -13180,8 +13252,8 @@ yyreduce:
     ;}
     break;
 
-  case 556:
-#line 5886 "Gmsh.y"
+  case 561:
+#line 5889 "Gmsh.y"
     {
       (yyval.c) = (char *)Malloc((strlen((yyvsp[(3) - (4)].c)) + 1) * sizeof(char));
       int i;
@@ -13197,8 +13269,8 @@ yyreduce:
     ;}
     break;
 
-  case 557:
-#line 5900 "Gmsh.y"
+  case 562:
+#line 5903 "Gmsh.y"
     {
       std::string input = (yyvsp[(3) - (8)].c);
       std::string substr_old = (yyvsp[(5) - (8)].c);
@@ -13212,8 +13284,8 @@ yyreduce:
     ;}
     break;
 
-  case 558:
-#line 5912 "Gmsh.y"
+  case 563:
+#line 5915 "Gmsh.y"
     {
       int size = 1;
       for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++)
@@ -13231,8 +13303,8 @@ yyreduce:
     ;}
     break;
 
-  case 559:
-#line 5928 "Gmsh.y"
+  case 564:
+#line 5931 "Gmsh.y"
     {
       int i = 0;
       while ((yyvsp[(3) - (4)].c)[i]) {
@@ -13243,8 +13315,8 @@ yyreduce:
     ;}
     break;
 
-  case 560:
-#line 5937 "Gmsh.y"
+  case 565:
+#line 5940 "Gmsh.y"
     {
       int i = 0;
       while ((yyvsp[(3) - (4)].c)[i]) {
@@ -13255,8 +13327,8 @@ yyreduce:
     ;}
     break;
 
-  case 561:
-#line 5946 "Gmsh.y"
+  case 566:
+#line 5949 "Gmsh.y"
     {
       int i = 0;
       while ((yyvsp[(3) - (4)].c)[i]) {
@@ -13268,8 +13340,8 @@ yyreduce:
     ;}
     break;
 
-  case 562:
-#line 5956 "Gmsh.y"
+  case 567:
+#line 5959 "Gmsh.y"
     {
       if((yyvsp[(3) - (8)].d)){
         (yyval.c) = (yyvsp[(5) - (8)].c);
@@ -13282,8 +13354,8 @@ yyreduce:
     ;}
     break;
 
-  case 563:
-#line 5967 "Gmsh.y"
+  case 568:
+#line 5970 "Gmsh.y"
     {
       std::string in = (yyvsp[(3) - (8)].c);
       std::string out = in.substr((int)(yyvsp[(5) - (8)].d), (int)(yyvsp[(7) - (8)].d));
@@ -13293,8 +13365,8 @@ yyreduce:
     ;}
     break;
 
-  case 564:
-#line 5975 "Gmsh.y"
+  case 569:
+#line 5978 "Gmsh.y"
     {
       std::string in = (yyvsp[(3) - (6)].c);
       std::string out = in.substr((int)(yyvsp[(5) - (6)].d), std::string::npos);
@@ -13304,15 +13376,15 @@ yyreduce:
     ;}
     break;
 
-  case 565:
-#line 5983 "Gmsh.y"
+  case 570:
+#line 5986 "Gmsh.y"
     {
       (yyval.c) = (yyvsp[(3) - (4)].c);
     ;}
     break;
 
-  case 566:
-#line 5987 "Gmsh.y"
+  case 571:
+#line 5990 "Gmsh.y"
     {
       char tmpstring[5000];
       int i = printListOfDouble((yyvsp[(3) - (6)].c), (yyvsp[(5) - (6)].l), tmpstring);
@@ -13333,8 +13405,8 @@ yyreduce:
     ;}
     break;
 
-  case 567:
-#line 6006 "Gmsh.y"
+  case 572:
+#line 6009 "Gmsh.y"
     {
       std::string tmp = FixRelativePath(gmsh_yyname, (yyvsp[(3) - (4)].c));
       (yyval.c) = (char*)Malloc((tmp.size() + 1) * sizeof(char));
@@ -13343,8 +13415,8 @@ yyreduce:
     ;}
     break;
 
-  case 568:
-#line 6013 "Gmsh.y"
+  case 573:
+#line 6016 "Gmsh.y"
     {
       std::string tmp = SplitFileName(GetAbsolutePath(gmsh_yyname))[0];
       (yyval.c) = (char*)Malloc((tmp.size() + 1) * sizeof(char));
@@ -13352,8 +13424,8 @@ yyreduce:
     ;}
     break;
 
-  case 569:
-#line 6019 "Gmsh.y"
+  case 574:
+#line 6022 "Gmsh.y"
     {
       std::string tmp = SplitFileName((yyvsp[(3) - (4)].c))[0];
       (yyval.c) = (char*)Malloc((tmp.size() + 1) * sizeof(char));
@@ -13362,8 +13434,8 @@ yyreduce:
     ;}
     break;
 
-  case 570:
-#line 6026 "Gmsh.y"
+  case 575:
+#line 6029 "Gmsh.y"
     {
       std::string tmp = GetAbsolutePath((yyvsp[(3) - (4)].c));
       (yyval.c) = (char*)Malloc((tmp.size() + 1) * sizeof(char));
@@ -13372,13 +13444,13 @@ yyreduce:
     ;}
     break;
 
-  case 571:
-#line 6033 "Gmsh.y"
+  case 576:
+#line 6036 "Gmsh.y"
     { init_options(); ;}
     break;
 
-  case 572:
-#line 6035 "Gmsh.y"
+  case 577:
+#line 6038 "Gmsh.y"
     {
       std::string val((yyvsp[(3) - (6)].c));
       Msg::ExchangeOnelabParameter("", val, floatOptions, charOptions);
@@ -13388,8 +13460,8 @@ yyreduce:
     ;}
     break;
 
-  case 573:
-#line 6043 "Gmsh.y"
+  case 578:
+#line 6046 "Gmsh.y"
     {
       std::string out;
       const std::string * key_struct = NULL;
@@ -13412,33 +13484,33 @@ yyreduce:
     ;}
     break;
 
-  case 574:
-#line 6067 "Gmsh.y"
+  case 579:
+#line 6070 "Gmsh.y"
     { struct_namespace = std::string(""); (yyval.d) = (yyvsp[(2) - (2)].d); ;}
     break;
 
-  case 575:
-#line 6069 "Gmsh.y"
+  case 580:
+#line 6072 "Gmsh.y"
     { struct_namespace = (yyvsp[(1) - (4)].c); Free((yyvsp[(1) - (4)].c)); (yyval.d) = (yyvsp[(4) - (4)].d); ;}
     break;
 
-  case 576:
-#line 6075 "Gmsh.y"
+  case 581:
+#line 6078 "Gmsh.y"
     {
       (yyval.l) = List_Create(20,20,sizeof(char*));
       List_Add((yyval.l), &((yyvsp[(1) - (1)].c)));
     ;}
     break;
 
-  case 577:
-#line 6080 "Gmsh.y"
+  case 582:
+#line 6083 "Gmsh.y"
     {
       List_Add((yyval.l), &((yyvsp[(3) - (3)].c)));
     ;}
     break;
 
-  case 578:
-#line 6088 "Gmsh.y"
+  case 583:
+#line 6091 "Gmsh.y"
     {
       char tmpstr[256];
       sprintf(tmpstr, "_%d", (int)(yyvsp[(4) - (5)].d));
@@ -13448,8 +13520,8 @@ yyreduce:
     ;}
     break;
 
-  case 579:
-#line 6097 "Gmsh.y"
+  case 584:
+#line 6100 "Gmsh.y"
     {
       char tmpstr[256];
       sprintf(tmpstr, "_%d", (int)(yyvsp[(4) - (5)].d));
@@ -13459,8 +13531,8 @@ yyreduce:
     ;}
     break;
 
-  case 580:
-#line 6106 "Gmsh.y"
+  case 585:
+#line 6109 "Gmsh.y"
     {
       char tmpstr[256];
       sprintf(tmpstr, "_%d", (int)(yyvsp[(7) - (8)].d));
@@ -13470,24 +13542,24 @@ yyreduce:
     ;}
     break;
 
-  case 581:
-#line 6118 "Gmsh.y"
+  case 586:
+#line 6121 "Gmsh.y"
     { (yyval.c) = (yyvsp[(1) - (1)].c); ;}
     break;
 
-  case 582:
-#line 6121 "Gmsh.y"
+  case 587:
+#line 6124 "Gmsh.y"
     { (yyval.c) = (yyvsp[(1) - (1)].c); ;}
     break;
 
-  case 583:
-#line 6125 "Gmsh.y"
+  case 588:
+#line 6128 "Gmsh.y"
     { (yyval.c) = (yyvsp[(3) - (4)].c); ;}
     break;
 
 
 /* Line 1267 of yacc.c.  */
-#line 13491 "Gmsh.tab.cpp"
+#line 13563 "Gmsh.tab.cpp"
       default: break;
     }
   YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@@ -13701,7 +13773,7 @@ yyreturn:
 }
 
 
-#line 6128 "Gmsh.y"
+#line 6131 "Gmsh.y"
 
 
 void assignVariable(const std::string &name, int index, int assignType,
@@ -14388,29 +14460,49 @@ int NEWPHYSICAL()
 
 
 double treat_Struct_FullName_Float
-(char* c1, char* c2, double val_default, int type_treat)
+(char* c1, char* c2, int type_var, int index, double val_default, int type_treat)
 {
   double out;
   if(!c1 && gmsh_yysymbols.count(c2)){
     if (type_treat == 1) out = 1.; // Exists (type_treat == 1)
     else { // Get (0) or GetForced (2)
-      gmsh_yysymbol &s(gmsh_yysymbols[c2]);
-      if(s.value.empty()){
+      if (type_var == 1) {
+        gmsh_yysymbol &s(gmsh_yysymbols[c2]);
+        if(s.value.empty()){
+          out = val_default;
+          if (type_treat == 0) yymsg(0, "Uninitialized variable '%s'", c2);
+        }
+        else
+          out = s.value[0];
+      }
+      else if (type_var == 2) {
+        gmsh_yysymbol &s(gmsh_yysymbols[c2]);
+        if((int)s.value.size() < index + 1){
+          out = val_default;
+          if (type_treat == 0) yymsg(0, "Uninitialized variable '%s[%d]'", c2, index);
+        }
+        else
+          out = s.value[index];
+      }
+      else {
         out = val_default;
-        if (type_treat == 0) yymsg(0, "Uninitialized variable '%s'", c2);
       }
-      else
-        out = s.value[0];
     }
   }
   else if(!c1 && type_treat == 1 && gmsh_yystringsymbols.count(c2)) {
     out = 1.;
   }
   else{
-    std::string struct_namespace(c1? c1 : std::string("")), struct_name(c2);
-    if(nameSpaces.getTag(struct_namespace, struct_name, out)) {
+    if (type_var == 1) {
+      std::string struct_namespace(c1? c1 : std::string("")), struct_name(c2);
+      if(nameSpaces.getTag(struct_namespace, struct_name, out)) {
+        out = val_default;
+        if (type_treat == 0) yymsg(0, "Unknown variable '%s'", struct_name.c_str());
+      }
+    }
+    else {
       out = val_default;
-      if (type_treat == 0) yymsg(0, "Unknown variable '%s'", struct_name.c_str());
+      if (type_treat == 0) yymsg(0, "Unknown variable '%s(.)'", c2);
     }
   }
   Free(c1); Free(c2);
@@ -14418,13 +14510,13 @@ double treat_Struct_FullName_Float
 }
 
 double treat_Struct_FullName_dot_tSTRING_Float
-(char* c1, char* c2, char* c3, double val_default, int type_treat)
+(char* c1, char* c2, char* c3, int index, double val_default, int type_treat)
 {
   double out;
   std::string struct_namespace(c1? c1 : std::string("")), struct_name(c2);
   std::string key_member(c3);
   switch (nameSpaces.getMember
-          (struct_namespace, struct_name, key_member, out)) {
+          (struct_namespace, struct_name, key_member, out, index)) {
   case 0:
     if (type_treat == 1) out = 1.; // Exists (type_treat == 1)
     break;
@@ -14445,6 +14537,34 @@ double treat_Struct_FullName_dot_tSTRING_Float
         yymsg(0, "Unknown member '%s' of Struct %s", c3, struct_name.c_str());
     }
     break;
+  case 3:
+    out = val_default;
+    if (type_treat == 0)
+      yymsg(0, "Index %d out of range", index);
+    break;
+  }
+  Free(c1); Free(c2);
+  if (flag_tSTRING_alloc) Free(c3);
+  return out;
+}
+
+int treat_Struct_FullName_dot_tSTRING_Float_getDim
+(char* c1, char* c2, char* c3)
+{
+  int out;
+  std::string struct_namespace(c1? c1 : std::string("")), struct_name(c2);
+  std::string key_member(c3);
+  switch (nameSpaces.getMember_Dim
+          (struct_namespace, struct_name, key_member, out)) {
+  case 0:
+    break;
+  case 1:
+    out = 0;
+    break;
+  case 2:
+    out = 0;
+    yymsg(0, "Unknown member '%s' of Struct %s", c3, struct_name.c_str());
+    break;
   }
   Free(c1); Free(c2);
   if (flag_tSTRING_alloc) Free(c3);
@@ -14452,7 +14572,7 @@ double treat_Struct_FullName_dot_tSTRING_Float
 }
 
 char * treat_Struct_FullName_String
-(char* c1, char* c2, char * val_default, int type_treat)
+(char* c1, char* c2, int type_var, int index, char * val_default, int type_treat)
 {
   std::string string_default(val_default? val_default : std::string(""));
   const std::string * out = NULL;
@@ -14480,7 +14600,7 @@ char * treat_Struct_FullName_String
 }
 
 char* treat_Struct_FullName_dot_tSTRING_String
-(char* c1, char* c2, char* c3, char * val_default, int type_treat)
+(char* c1, char* c2, char* c3, int index, char * val_default, int type_treat)
 {
   std::string string_default(val_default? val_default : std::string(""));
   const std::string * out = NULL;
@@ -14488,7 +14608,7 @@ char* treat_Struct_FullName_dot_tSTRING_String
   std::string struct_namespace(c1? c1 : std::string("")), struct_name(c2);
   std::string key_member(c3);
   switch (nameSpaces.getMember
-          (struct_namespace, struct_name, key_member, out)) {
+          (struct_namespace, struct_name, key_member, out, index)) {
   case 0:
     break;
   case 1:
@@ -14502,6 +14622,11 @@ char* treat_Struct_FullName_dot_tSTRING_String
     if (type_treat == 0)
       yymsg(0, "Unknown member '%s' of Struct %s", c3, struct_name.c_str());
     break;
+  case 3:
+    out = &string_default;
+    if (type_treat == 0)
+      yymsg(0, "Index %d out of range", index);
+    break;
   }
   char* out_c = (char*)Malloc((out->size() + 1) * sizeof(char));
   strcpy(out_c, out->c_str());
diff --git a/Parser/Gmsh.tab.hpp b/Parser/Gmsh.tab.hpp
index 04e51c1f72d11bf4096fff64a8a4a71cfbc7cb27..f4a583fb69faf939e8bc8e1aa03c2c479bbe1b1e 100644
--- a/Parser/Gmsh.tab.hpp
+++ b/Parser/Gmsh.tab.hpp
@@ -494,7 +494,7 @@
 
 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
 typedef union YYSTYPE
-#line 153 "Gmsh.y"
+#line 159 "Gmsh.y"
 {
   char *c;
   int i;
diff --git a/Parser/Gmsh.y b/Parser/Gmsh.y
index d6b7e50177917038a0fd19c3a6ff8b57718e25f5..1133e04c55d33da908488899df342ea3f9750a63 100644
--- a/Parser/Gmsh.y
+++ b/Parser/Gmsh.y
@@ -135,13 +135,19 @@ void setColor(const std::vector<std::pair<int, int> > &dimTags, unsigned int val
               bool recursive);
 
 double treat_Struct_FullName_Float
-  (char* c1, char* c2, double val_default = 0., int type_treat = 0);
+  (char* c1, char* c2, int type_var = 1, int index = 0,
+   double val_default = 0., int type_treat = 0);
 double treat_Struct_FullName_dot_tSTRING_Float
-  (char* c1, char* c2, char* c3, double val_default = 0., int type_treat = 0);
+  (char* c1, char* c2, char* c3, int index = 0,
+   double val_default = 0., int type_treat = 0);
+int treat_Struct_FullName_dot_tSTRING_Float_getDim
+  (char* c1, char* c2, char* c3);
 char* treat_Struct_FullName_String
-  (char* c1, char* c2, char* val_default = NULL, int type_treat = 0);
+  (char* c1, char* c2, int type_var = 1, int index = 0,
+   char* val_default = NULL, int type_treat = 0);
 char* treat_Struct_FullName_dot_tSTRING_String
-  (char* c1, char* c2, char* c3, char* val_default = NULL, int type_treat = 0);
+  (char* c1, char* c2, char* c3, int index = 0,
+   char* val_default = NULL, int type_treat = 0);
 
 struct doubleXstring{
   double d;
@@ -4851,56 +4857,30 @@ FExpr_Single :
       $$ = treat_Struct_FullName_Float($1.char1, $1.char2);
     }
   | String__Index '[' FExpr ']'
+    //  | Struct_FullName '[' FExpr ']'
     {
-      int index = (int)$3;
-      if(!gmsh_yysymbols.count($1)){
-	yymsg(0, "Unknown variable '%s'", $1);
-	$$ = 0.;
-      }
-      else{
-        gmsh_yysymbol &s(gmsh_yysymbols[$1]);
-        if((int)s.value.size() < index + 1){
-          yymsg(0, "Uninitialized variable '%s[%d]'", $1, index);
-          $$ = 0.;
-        }
-        else
-          $$ = s.value[index];
-      }
-      Free($1);
+      $$ = treat_Struct_FullName_Float(NULL, $1, 2, (int)$3);
     }
   | String__Index '(' FExpr ')'
+    //  | Struct_FullName '(' FExpr ')'
     {
-      int index = (int)$3;
-      if(!gmsh_yysymbols.count($1)){
-	yymsg(0, "Unknown variable '%s'", $1);
-	$$ = 0.;
-      }
-      else{
-        gmsh_yysymbol &s(gmsh_yysymbols[$1]);
-        if((int)s.value.size() < index + 1){
-          yymsg(0, "Uninitialized variable '%s[%d]'", $1, index);
-          $$ = 0.;
-        }
-        else
-          $$ = s.value[index];
-      }
-      Free($1);
+      $$ = treat_Struct_FullName_Float(NULL, $1, 2, (int)$3);
     }
   | tExists '(' Struct_FullName ')'
     {
-      $$ = treat_Struct_FullName_Float($3.char1, $3.char2, 0., 1);
+      $$ = treat_Struct_FullName_Float($3.char1, $3.char2, 1, 0, 0., 1);
     }
   | tExists '(' Struct_FullName '.' tSTRING_Member_Float ')'
     {
-      $$ = treat_Struct_FullName_dot_tSTRING_Float($3.char1, $3.char2, $5, 0., 1);
+      $$ = treat_Struct_FullName_dot_tSTRING_Float($3.char1, $3.char2, $5, 0, 0., 1);
     }
   | tGetForced '(' Struct_FullName GetForced_Default ')'
     {
-      $$ = treat_Struct_FullName_Float($3.char1, $3.char2, $4, 2);
+      $$ = treat_Struct_FullName_Float($3.char1, $3.char2, 1, 0, $4, 2);
     }
   | tGetForced '(' Struct_FullName '.' tSTRING_Member_Float GetForced_Default ')'
     {
-      $$ = treat_Struct_FullName_dot_tSTRING_Float($3.char1, $3.char2, $5, $6, 2);
+      $$ = treat_Struct_FullName_dot_tSTRING_Float($3.char1, $3.char2, $5, 0, $6, 2);
     }
   | tFileExists '(' StringExpr ')'
     {
@@ -4924,6 +4904,11 @@ FExpr_Single :
       Free($2);
     }
 
+  | '#' Struct_FullName '.' tSTRING_Member_Float '(' ')'
+    {
+      $$ = treat_Struct_FullName_dot_tSTRING_Float_getDim($2.char1, $2.char2, $4);
+    }
+
   | tDimNameSpace LP String__Index RP
     {
       std::string struct_namespace($3);
@@ -5018,6 +5003,15 @@ FExpr_Single :
       $$ = treat_Struct_FullName_dot_tSTRING_Float($1, $3, $5);
     }
 
+  | String__Index '.' tSTRING_Member_Float '(' FExpr ')'
+    {
+      $$ = treat_Struct_FullName_dot_tSTRING_Float(NULL, $1, $3, (int)$5);
+    }
+  | String__Index tSCOPE String__Index '.' tSTRING_Member_Float '(' FExpr ')'
+    {
+      $$ = treat_Struct_FullName_dot_tSTRING_Float($1, $3, $5, (int)$7);
+    }
+
   | String__Index '[' FExpr ']' '.' tSTRING
     {
       NumberOption(GMSH_GET, $1, (int)$3, $6, $$);
@@ -5743,6 +5737,15 @@ StringExprVar :
       $$ = treat_Struct_FullName_dot_tSTRING_String($1, $3, $5);
     }
 
+  | String__Index '.' tSTRING_Member_Float '(' FExpr ')'
+    {
+      $$ = treat_Struct_FullName_dot_tSTRING_String(NULL, $1, $3, (int)$5);
+    }
+  | String__Index tSCOPE String__Index '.' tSTRING_Member_Float '(' FExpr ')'
+    {
+      $$ = treat_Struct_FullName_dot_tSTRING_String($1, $3, $5, (int)$7);
+    }
+
   | String__Index '[' FExpr ']' '.' tSTRING
     {
       std::string out;
@@ -5845,12 +5848,12 @@ StringExpr :
     //+++ No need to extend to Struct_FullName (a Tag is not a String), but...
   | tGetForcedStr '(' Struct_FullName GetForcedStr_Default ')'
     {
-      $$ = treat_Struct_FullName_String(NULL, $3.char2, $4, 2);
+      $$ = treat_Struct_FullName_String(NULL, $3.char2, 1, 0, $4, 2);
     }
 
   | tGetForcedStr '(' Struct_FullName '.' tSTRING_Member_Float GetForcedStr_Default ')'
     {
-      $$ = treat_Struct_FullName_dot_tSTRING_String($3.char1, $3.char2, $5, $6, 2);
+      $$ = treat_Struct_FullName_dot_tSTRING_String($3.char1, $3.char2, $5, 0, $6, 2);
     }
 
   | tStrCat LP RecursiveListOfStringExprVar RP
@@ -6811,29 +6814,49 @@ int NEWPHYSICAL()
 
 
 double treat_Struct_FullName_Float
-(char* c1, char* c2, double val_default, int type_treat)
+(char* c1, char* c2, int type_var, int index, double val_default, int type_treat)
 {
   double out;
   if(!c1 && gmsh_yysymbols.count(c2)){
     if (type_treat == 1) out = 1.; // Exists (type_treat == 1)
     else { // Get (0) or GetForced (2)
-      gmsh_yysymbol &s(gmsh_yysymbols[c2]);
-      if(s.value.empty()){
+      if (type_var == 1) {
+        gmsh_yysymbol &s(gmsh_yysymbols[c2]);
+        if(s.value.empty()){
+          out = val_default;
+          if (type_treat == 0) yymsg(0, "Uninitialized variable '%s'", c2);
+        }
+        else
+          out = s.value[0];
+      }
+      else if (type_var == 2) {
+        gmsh_yysymbol &s(gmsh_yysymbols[c2]);
+        if((int)s.value.size() < index + 1){
+          out = val_default;
+          if (type_treat == 0) yymsg(0, "Uninitialized variable '%s[%d]'", c2, index);
+        }
+        else
+          out = s.value[index];
+      }
+      else {
         out = val_default;
-        if (type_treat == 0) yymsg(0, "Uninitialized variable '%s'", c2);
       }
-      else
-        out = s.value[0];
     }
   }
   else if(!c1 && type_treat == 1 && gmsh_yystringsymbols.count(c2)) {
     out = 1.;
   }
   else{
-    std::string struct_namespace(c1? c1 : std::string("")), struct_name(c2);
-    if(nameSpaces.getTag(struct_namespace, struct_name, out)) {
+    if (type_var == 1) {
+      std::string struct_namespace(c1? c1 : std::string("")), struct_name(c2);
+      if(nameSpaces.getTag(struct_namespace, struct_name, out)) {
+        out = val_default;
+        if (type_treat == 0) yymsg(0, "Unknown variable '%s'", struct_name.c_str());
+      }
+    }
+    else {
       out = val_default;
-      if (type_treat == 0) yymsg(0, "Unknown variable '%s'", struct_name.c_str());
+      if (type_treat == 0) yymsg(0, "Unknown variable '%s(.)'", c2);
     }
   }
   Free(c1); Free(c2);
@@ -6841,13 +6864,13 @@ double treat_Struct_FullName_Float
 }
 
 double treat_Struct_FullName_dot_tSTRING_Float
-(char* c1, char* c2, char* c3, double val_default, int type_treat)
+(char* c1, char* c2, char* c3, int index, double val_default, int type_treat)
 {
   double out;
   std::string struct_namespace(c1? c1 : std::string("")), struct_name(c2);
   std::string key_member(c3);
   switch (nameSpaces.getMember
-          (struct_namespace, struct_name, key_member, out)) {
+          (struct_namespace, struct_name, key_member, out, index)) {
   case 0:
     if (type_treat == 1) out = 1.; // Exists (type_treat == 1)
     break;
@@ -6868,6 +6891,34 @@ double treat_Struct_FullName_dot_tSTRING_Float
         yymsg(0, "Unknown member '%s' of Struct %s", c3, struct_name.c_str());
     }
     break;
+  case 3:
+    out = val_default;
+    if (type_treat == 0)
+      yymsg(0, "Index %d out of range", index);
+    break;
+  }
+  Free(c1); Free(c2);
+  if (flag_tSTRING_alloc) Free(c3);
+  return out;
+}
+
+int treat_Struct_FullName_dot_tSTRING_Float_getDim
+(char* c1, char* c2, char* c3)
+{
+  int out;
+  std::string struct_namespace(c1? c1 : std::string("")), struct_name(c2);
+  std::string key_member(c3);
+  switch (nameSpaces.getMember_Dim
+          (struct_namespace, struct_name, key_member, out)) {
+  case 0:
+    break;
+  case 1:
+    out = 0;
+    break;
+  case 2:
+    out = 0;
+    yymsg(0, "Unknown member '%s' of Struct %s", c3, struct_name.c_str());
+    break;
   }
   Free(c1); Free(c2);
   if (flag_tSTRING_alloc) Free(c3);
@@ -6875,7 +6926,7 @@ double treat_Struct_FullName_dot_tSTRING_Float
 }
 
 char * treat_Struct_FullName_String
-(char* c1, char* c2, char * val_default, int type_treat)
+(char* c1, char* c2, int type_var, int index, char * val_default, int type_treat)
 {
   std::string string_default(val_default? val_default : std::string(""));
   const std::string * out = NULL;
@@ -6903,7 +6954,7 @@ char * treat_Struct_FullName_String
 }
 
 char* treat_Struct_FullName_dot_tSTRING_String
-(char* c1, char* c2, char* c3, char * val_default, int type_treat)
+(char* c1, char* c2, char* c3, int index, char * val_default, int type_treat)
 {
   std::string string_default(val_default? val_default : std::string(""));
   const std::string * out = NULL;
@@ -6911,7 +6962,7 @@ char* treat_Struct_FullName_dot_tSTRING_String
   std::string struct_namespace(c1? c1 : std::string("")), struct_name(c2);
   std::string key_member(c3);
   switch (nameSpaces.getMember
-          (struct_namespace, struct_name, key_member, out)) {
+          (struct_namespace, struct_name, key_member, out, index)) {
   case 0:
     break;
   case 1:
@@ -6925,6 +6976,11 @@ char* treat_Struct_FullName_dot_tSTRING_String
     if (type_treat == 0)
       yymsg(0, "Unknown member '%s' of Struct %s", c3, struct_name.c_str());
     break;
+  case 3:
+    out = &string_default;
+    if (type_treat == 0)
+      yymsg(0, "Index %d out of range", index);
+    break;
   }
   char* out_c = (char*)Malloc((out->size() + 1) * sizeof(char));
   strcpy(out_c, out->c_str());
diff --git a/Parser/Gmsh_bu1.y b/Parser/Gmsh_bu1.y
new file mode 100644
index 0000000000000000000000000000000000000000..ef7ec740364f099a8217a8f2b3656091ac4a0ae8
--- /dev/null
+++ b/Parser/Gmsh_bu1.y
@@ -0,0 +1,7018 @@
+%{
+// Gmsh - Copyright (C) 1997-2017 C. Geuzaine, J.-F. Remacle
+//
+// See the LICENSE.txt file for license information. Please report all
+// bugs and problems to the public mailing list <gmsh@onelab.info>.
+
+#include <sstream>
+#include <map>
+#include <string.h>
+#include <stdarg.h>
+#include <time.h>
+#include "GmshConfig.h"
+#include "GmshMessage.h"
+#include "fullMatrix.h"
+#include "MallocUtils.h"
+#include "ListUtils.h"
+#include "TreeUtils.h"
+#include "StringUtils.h"
+#include "Numeric.h"
+#include "Context.h"
+#include "GModel.h"
+#include "GModelIO_GEO.h"
+#include "GModelIO_OCC.h"
+#include "GeoDefines.h"
+#include "ExtrudeParams.h"
+#include "Options.h"
+#include "Parser.h"
+#include "OpenFile.h"
+#include "CommandLine.h"
+#include "FunctionManager.h"
+#include "ColorTable.h"
+#include "OS.h"
+#include "CreateFile.h"
+#include "gmshSurface.h"
+#include "gmshLevelset.h"
+#include "fullMatrix.h"
+
+#if defined(HAVE_MESH)
+#include "Generator.h"
+#include "Field.h"
+#include "BackgroundMesh.h"
+#include "HighOrder.h"
+#endif
+
+#if defined(HAVE_POST)
+#include "PView.h"
+#include "PViewDataList.h"
+#endif
+
+#if defined(HAVE_PLUGINS)
+#include "PluginManager.h"
+#endif
+
+#if defined(HAVE_OPENGL)
+#include "drawContext.h"
+#endif
+
+#if defined(HAVE_POPPLER)
+#include "gmshPopplerWrapper.h"
+#endif
+
+#define MAX_RECUR_TESTS 100
+#define MAX_RECUR_LOOPS 100
+
+// global parser variables
+std::string gmsh_yyname;
+int gmsh_yyerrorstate = 0;
+int gmsh_yyviewindex = 0;
+std::map<std::string, gmsh_yysymbol> gmsh_yysymbols;
+std::map<std::string, std::vector<std::string> > gmsh_yystringsymbols;
+NameSpaces nameSpaces;
+
+// static parser variables (accessible only in this file)
+#if defined(HAVE_POST)
+static PViewDataList *ViewData = 0;
+#endif
+static std::vector<double> ViewCoord;
+static std::vector<double> *ViewValueList = 0;
+static int *ViewNumList = 0;
+static ExtrudeParams extr;
+static gmshSurface *myGmshSurface = 0;
+static int statusImbricatedTests[MAX_RECUR_TESTS];
+static int ImbricatedLoop = 0, ImbricatedTest = 0;
+static gmshfpos_t yyposImbricatedLoopsTab[MAX_RECUR_LOOPS];
+static int yylinenoImbricatedLoopsTab[MAX_RECUR_LOOPS];
+static double LoopControlVariablesTab[MAX_RECUR_LOOPS][3];
+static std::string LoopControlVariablesNameTab[MAX_RECUR_LOOPS];
+static std::string factory;
+static std::string struct_name, struct_namespace;
+static int flag_tSTRING_alloc = 0;
+
+static std::map<std::string, std::vector<double> > floatOptions;
+static std::map<std::string, std::vector<std::string> > charOptions;
+static int flag_Enum, member_ValMax;
+
+void init_options(int member_ValMax_ = 0)
+{
+  floatOptions.clear(); charOptions.clear();
+  flag_Enum = 0; member_ValMax = member_ValMax_;
+}
+
+// parser functions defined at the end of this file
+void yyerror(const char *s);
+void yymsg(int level, const char *fmt, ...);
+char *strsave(char *ptr);
+void skip(const char *skip, const char *until);
+void skipTest(const char *skip, const char *until,
+              const char *until2, int l_until2_sub, int *type_until2);
+void assignVariable(const std::string &name, int index, int assignType,
+                    double value);
+void assignVariables(const std::string &name, List_T *indices, int assignType,
+                     List_T *values);
+void incrementVariable(const std::string &name, int index, double value);
+int printListOfDouble(char *format, List_T *list, char *buffer);
+fullMatrix<double> ListOfListOfDouble2Matrix(List_T *list);
+void ListOfDouble2Vector(List_T *list, std::vector<int> &v);
+void ListOfDouble2Vector(List_T *list, std::vector<double> &v);
+void ListOfShapes2VectorOfPairs(List_T *list, std::vector<std::pair<int, int> > &v);
+void VectorOfPairs2ListOfShapes(const std::vector<std::pair<int, int> > &v, List_T *list);
+void addPeriodicEdge(int, int, const std::vector<double>&);
+void addPeriodicFace(int, int, const std::map<int, int>&);
+void addPeriodicFace(int, int, const std::vector<double>&);
+void computeAffineTransformation(SPoint3&, SPoint3&, double, SPoint3&,
+                                 std::vector<double>&);
+void addEmbedded(int dim, std::vector<int> tags, int dim2, int tag2);
+void getAllElementaryTags(int dim, List_T *in);
+void getAllPhysicalTags(int dim, List_T *in);
+void getElementaryTagsForPhysicalGroups(int dim, List_T *in, List_T *out);
+void getElementaryTagsInBoundingBox(int dim, double x1, double y1, double z1,
+                                    double x2, double y2, double z2, List_T *out);
+void setVisibility(int dim, int visible, bool recursive);
+void setVisibility(const std::vector<std::pair<int, int> > &dimTags, int visible,
+                   bool recursive);
+void setColor(const std::vector<std::pair<int, int> > &dimTags, unsigned int val,
+              bool recursive);
+
+double treat_Struct_FullName_Float
+  (char* c1, char* c2, int type_var = 1, int index = 0,
+   double val_default = 0., int type_treat = 0);
+double treat_Struct_FullName_dot_tSTRING_Float
+  (char* c1, char* c2, char* c3, int index = 0,
+   double val_default = 0., int type_treat = 0);
+int treat_Struct_FullName_dot_tSTRING_Float_getDim
+  (char* c1, char* c2, char* c3);
+char* treat_Struct_FullName_String
+  (char* c1, char* c2, int type_var = 1, int index = 0,
+   char* val_default = NULL, int type_treat = 0);
+char* treat_Struct_FullName_dot_tSTRING_String
+  (char* c1, char* c2, char* c3, int index = 0,
+   char* val_default = NULL, int type_treat = 0);
+
+struct doubleXstring{
+  double d;
+  char *s;
+};
+
+%}
+
+%union {
+  char *c;
+  int i;
+  unsigned int u;
+  double d;
+  double v[5];
+  Shape s;
+  List_T *l;
+  struct TwoChar c2;
+}
+
+%token <d> tDOUBLE
+%token <c> tSTRING tBIGSTR
+
+%token tEND tAFFECT tDOTS tSCOPE tPi tMPI_Rank tMPI_Size tEuclidian tCoordinates tTestLevel
+%token tExp tLog tLog10 tSqrt tSin tAsin tCos tAcos tTan tRand
+%token tAtan tAtan2 tSinh tCosh tTanh tFabs tAbs tFloor tCeil tRound
+%token tFmod tModulo tHypot tList tLinSpace tLogSpace tListFromFile tCatenary
+%token tPrintf tError tStr tSprintf tStrCat tStrPrefix tStrRelative tStrReplace
+%token tAbsolutePath tDirName tStrSub tStrLen
+%token tFind tStrFind tStrCmp tStrChoice tUpperCase tLowerCase tLowerCaseIn
+%token tTextAttributes
+%token tBoundingBox tDraw tSetChanged tToday tFixRelativePath tCurrentDirectory
+%token tSyncModel tNewModel
+%token tOnelabAction tOnelabRun tCodeName
+%token tCpu tMemory tTotalMemory
+%token tCreateTopology tCreateTopologyNoHoles
+%token tDistanceFunction tDefineConstant tUndefineConstant
+%token tDefineNumber tDefineStruct tNameStruct tDimNameSpace tAppend
+%token tDefineString tSetNumber tSetString
+%token tPoint tCircle tEllipse tLine tSphere tPolarSphere tSurface tSpline tVolume
+%token tBlock tCylinder tCone tTorus tEllipsoid tQuadric tShapeFromFile
+%token tRectangle tDisk tWire
+%token tCharacteristic tLength tParametric tElliptic tRefineMesh tAdaptMesh
+%token tRelocateMesh tSetFactory tThruSections tWedge tFillet tChamfer
+%token tPlane tRuled tTransfinite tPhysical tCompound tPeriodic
+%token tUsing tPlugin tDegenerated tRecursive
+%token tRotate tTranslate tSymmetry tDilate tExtrude tLevelset tAffine
+%token tBooleanUnion tBooleanIntersection tBooleanDifference tBooleanSection
+%token tBooleanFragments tThickSolid
+%token tRecombine tSmoother tSplit tDelete tCoherence
+%token tIntersect tMeshAlgorithm tReverse
+%token tLayers tScaleLast tHole tAlias tAliasWithOptions tCopyOptions
+%token tQuadTriAddVerts tQuadTriNoNewVerts
+%token tRecombLaterals tTransfQuadTri
+%token tText2D tText3D tInterpolationScheme tTime tCombine
+%token tBSpline tBezier tNurbs tNurbsOrder tNurbsKnots
+%token tColor tColorTable tFor tIn tEndFor tIf tElseIf tElse tEndIf tExit tAbort
+%token tField tReturn tCall tSlide tMacro tShow tHide tGetValue tGetStringValue tGetEnv
+%token tGetString tGetNumber tUnique
+%token tHomology tCohomology tBetti tExists tFileExists tGetForced tGetForcedStr
+%token tGMSH_MAJOR_VERSION tGMSH_MINOR_VERSION tGMSH_PATCH_VERSION
+%token tGmshExecutableName tSetPartition
+%token tNameToString tStringToName
+
+%type <d> FExpr FExpr_Single DefineStruct NameStruct_Arg GetForced_Default
+%type <v> VExpr VExpr_Single CircleOptions TransfiniteType
+%type <i> NumericAffectation NumericIncrement BooleanOperator BooleanOption
+%type <i> PhysicalId0 PhysicalId1 PhysicalId2 PhysicalId3
+%type <i> TransfiniteArrangement RecombineAngle InSphereCenter
+%type <i> Append AppendOrNot
+%type <u> ColorExpr
+%type <c> StringExpr StringExprVar SendToFile tSTRING_Member_Float HomologyCommand
+%type <c> LP RP GetForcedStr_Default
+%type <c> StringIndex String__Index
+%type <l> RecursiveListOfStringExprVar
+%type <l> FExpr_Multi ListOfDouble ListOfDoubleOrAll RecursiveListOfDouble
+%type <l> RecursiveListOfListOfDouble Enumeration
+%type <l> ListOfColor RecursiveListOfColor
+%type <l> ListOfShapes Transform Extrude MultipleShape Boolean
+%type <l> TransfiniteCorners PeriodicTransform
+%type <s> Shape
+%type <c2> Struct_FullName
+
+// Operators (with ascending priority): cf. C language
+//
+// Notes: - associativity (%left, %right)
+//        - UNARYPREC is a dummy terminal to resolve ambiguous cases
+//          for + and - (which exist in both unary and binary form)
+
+%right   tAFFECT tAFFECTPLUS tAFFECTMINUS tAFFECTTIMES tAFFECTDIVIDE
+%right   '?' tDOTS
+%left    tOR
+%left    tAND
+%left    tEQUAL tNOTEQUAL
+%left    '<' tLESSOREQUAL  '>' tGREATEROREQUAL tLESSLESS tGREATERGREATER
+%left    '+' '-'
+%left    '*' '/' '%'
+%left    '|' '&'
+%right   '!' tPLUSPLUS tMINUSMINUS UNARYPREC
+%right   '^'
+%left    '(' ')' '[' ']' '{' '}' '.' '#'
+%left    '~'
+%left    tSCOPE
+
+%start All
+
+%%
+
+All :
+    GeoFormatItems
+  | error tEND { yyerrok; return 1; }
+;
+
+//  G E O   F I L E   F O R M A T
+
+GeoFormatItems :
+    // nothing
+  | GeoFormatItems GeoFormatItem
+;
+
+GeoFormatItem :
+    Printf      { return 1; }
+  | View        { return 1; }
+  | Affectation { return 1; }
+  | tSetFactory '(' StringExprVar ')' tEND
+    {
+      factory = $3;
+      if(factory == "OpenCASCADE"){
+        if(!GModel::current()->getOCCInternals())
+          GModel::current()->createOCCInternals();
+        for(int dim = -2; dim <= 3; dim++)
+          GModel::current()->getOCCInternals()->setMaxTag
+            (dim, std::max(GModel::current()->getOCCInternals()->getMaxTag(dim),
+                           GModel::current()->getGEOInternals()->getMaxTag(dim)));
+      }
+      else if(GModel::current()->getOCCInternals()){
+        for(int dim = -2; dim <= 3; dim++)
+          GModel::current()->getGEOInternals()->setMaxTag
+            (dim, std::max(GModel::current()->getGEOInternals()->getMaxTag(dim),
+                           GModel::current()->getOCCInternals()->getMaxTag(dim)));
+      }
+      Free($3);
+    }
+  | Shape       { return 1; }
+  | Transform   { List_Delete($1); return 1; }
+  | Delete      { return 1; }
+  | Colorify    { return 1; }
+  | SetPartition{ return 1; }
+  | Visibility  { return 1; }
+  | Extrude     { List_Delete($1); return 1; }
+  | Boolean     { List_Delete($1); return 1; }
+  | BooleanShape{ return 1; }
+  | Constraints { return 1; }
+  | Coherence   { return 1; }
+  | Loop        { return 1; }
+  | Slide       { return 1; }
+  | Command     { return 1; }
+  | LevelSet    { return 1; }
+  | Homology    { return 1; }
+;
+
+SendToFile :
+    '>'
+    {
+      $$ = (char*)"w";
+    }
+  | tGREATERGREATER
+    {
+      $$ = (char*)"a";
+    }
+;
+
+Printf :
+    tPrintf '(' StringExprVar ')' tEND
+    {
+      Msg::Direct($3);
+      Free($3);
+    }
+  | tError '(' StringExprVar ')' tEND
+    {
+      Msg::Error($3);
+      Free($3);
+    }
+  | tPrintf '(' StringExprVar ')' SendToFile StringExprVar tEND
+    {
+      std::string tmp = FixRelativePath(gmsh_yyname, $6);
+      FILE *fp = Fopen(tmp.c_str(), $5);
+      if(!fp){
+	yymsg(0, "Unable to open file '%s'", tmp.c_str());
+      }
+      else{
+	fprintf(fp, "%s\n", $3);
+	fclose(fp);
+      }
+      Free($3);
+      Free($6);
+    }
+  | tPrintf '(' StringExprVar ',' RecursiveListOfDouble ')' tEND
+    {
+      char tmpstring[5000];
+      int i = printListOfDouble($3, $5, tmpstring);
+      if(i < 0)
+	yymsg(0, "Too few arguments in Printf");
+      else if(i > 0)
+	yymsg(0, "%d extra argument%s in Printf", i, (i > 1) ? "s" : "");
+      else
+	Msg::Direct(tmpstring);
+      Free($3);
+      List_Delete($5);
+    }
+  | tError '(' StringExprVar ',' RecursiveListOfDouble ')' tEND
+    {
+      char tmpstring[5000];
+      int i = printListOfDouble($3, $5, tmpstring);
+      if(i < 0)
+	yymsg(0, "Too few arguments in Error");
+      else if(i > 0)
+	yymsg(0, "%d extra argument%s in Error", i, (i > 1) ? "s" : "");
+      else
+	Msg::Error(tmpstring);
+      Free($3);
+      List_Delete($5);
+    }
+  | tPrintf '(' StringExprVar ',' RecursiveListOfDouble ')' SendToFile StringExprVar tEND
+    {
+      char tmpstring[5000];
+      int i = printListOfDouble($3, $5, tmpstring);
+      if(i < 0)
+	yymsg(0, "Too few arguments in Printf");
+      else if(i > 0)
+	yymsg(0, "%d extra argument%s in Printf", i, (i > 1) ? "s" : "");
+      else{
+        std::string tmp = FixRelativePath(gmsh_yyname, $8);
+	FILE *fp = Fopen(tmp.c_str(), $7);
+	if(!fp){
+	  yymsg(0, "Unable to open file '%s'", tmp.c_str());
+	}
+	else{
+	  fprintf(fp, "%s\n", tmpstring);
+	  fclose(fp);
+	}
+      }
+      Free($3);
+      Free($8);
+      List_Delete($5);
+    }
+;
+
+// V I E W
+
+View :
+    String__Index StringExprVar '{' Views '}' tEND
+    {
+#if defined(HAVE_POST)
+      if(!strcmp($1, "View") && ViewData->finalize()){
+	ViewData->setName($2);
+	ViewData->setFileName(gmsh_yyname);
+	ViewData->setFileIndex(gmsh_yyviewindex++);
+	new PView(ViewData);
+      }
+      else
+	delete ViewData;
+#endif
+      Free($1); Free($2);
+    }
+  | tAlias tSTRING '[' FExpr ']' tEND
+    {
+#if defined(HAVE_POST)
+      if(!strcmp($2, "View")){
+	int index = (int)$4;
+	if(index >= 0 && index < (int)PView::list.size())
+	  new PView(PView::list[index], false);
+        else
+	  yymsg(0, "Unknown view %d", index);
+      }
+#endif
+      Free($2);
+    }
+  | tAliasWithOptions tSTRING '[' FExpr ']' tEND
+    {
+#if defined(HAVE_POST)
+      if(!strcmp($2, "View")){
+	int index = (int)$4;
+	if(index >= 0 && index < (int)PView::list.size())
+	  new PView(PView::list[index], true);
+        else
+	  yymsg(0, "Unknown view %d", index);
+      }
+#endif
+      Free($2);
+    }
+  | tCopyOptions tSTRING '[' FExpr ',' FExpr ']' tEND
+    {
+#if defined(HAVE_POST)
+      if(!strcmp($2, "View")){
+	int index = (int)$4, index2 = (int)$6;
+	if(index >= 0 && index < (int)PView::list.size() &&
+           index2 >= 0 && index2 < (int)PView::list.size()){
+          PView::list[index2]->setOptions(PView::list[index]->getOptions());
+        }
+        else
+	  yymsg(0, "Unknown view %d or %d", index, index2);
+      }
+#endif
+      Free($2);
+    }
+;
+
+Views :
+    // nothing
+    {
+#if defined(HAVE_POST)
+      ViewData = new PViewDataList();
+#endif
+    }
+  | Views Element
+  | Views Text2D
+  | Views Text3D
+  | Views InterpolationMatrix
+  | Views Time
+;
+
+ElementCoords :
+    FExpr
+    { ViewCoord.push_back($1); }
+  | ElementCoords ',' FExpr
+    { ViewCoord.push_back($3); }
+;
+
+ElementValues :
+    FExpr
+    { if(ViewValueList) ViewValueList->push_back($1); }
+  | ElementValues ',' FExpr
+    { if(ViewValueList) ViewValueList->push_back($3); }
+;
+
+Element :
+    tSTRING
+    {
+#if defined(HAVE_POST)
+      if(!strncmp($1, "SP", 2)){
+	ViewValueList = &ViewData->SP; ViewNumList = &ViewData->NbSP;
+      }
+      else if(!strncmp($1, "VP", 2)){
+	ViewValueList = &ViewData->VP; ViewNumList = &ViewData->NbVP;
+      }
+      else if(!strncmp($1, "TP", 2)){
+	ViewValueList = &ViewData->TP; ViewNumList = &ViewData->NbTP;
+      }
+      else if(!strncmp($1, "SL", 2)){
+	ViewValueList = &ViewData->SL; ViewNumList = &ViewData->NbSL;
+        if(strlen($1) > 2) ViewData->setOrder2(TYPE_LIN);
+      }
+      else if(!strncmp($1, "VL", 2)){
+	ViewValueList = &ViewData->VL; ViewNumList = &ViewData->NbVL;
+        if(strlen($1) > 2) ViewData->setOrder2(TYPE_LIN);
+      }
+      else if(!strncmp($1, "TL", 2)){
+	ViewValueList = &ViewData->TL; ViewNumList = &ViewData->NbTL;
+        if(strlen($1) > 2) ViewData->setOrder2(TYPE_LIN);
+      }
+      else if(!strncmp($1, "ST", 2)){
+	ViewValueList = &ViewData->ST; ViewNumList = &ViewData->NbST;
+        if(strlen($1) > 2) ViewData->setOrder2(TYPE_TRI);
+      }
+      else if(!strncmp($1, "VT", 2)){
+	ViewValueList = &ViewData->VT; ViewNumList = &ViewData->NbVT;
+        if(strlen($1) > 2) ViewData->setOrder2(TYPE_TRI);
+      }
+      else if(!strncmp($1, "TT", 2)){
+	ViewValueList = &ViewData->TT; ViewNumList = &ViewData->NbTT;
+        if(strlen($1) > 2) ViewData->setOrder2(TYPE_TRI);
+      }
+      else if(!strncmp($1, "SQ", 2)){
+	ViewValueList = &ViewData->SQ; ViewNumList = &ViewData->NbSQ;
+        if(strlen($1) > 2) ViewData->setOrder2(TYPE_QUA);
+      }
+      else if(!strncmp($1, "VQ", 2)){
+	ViewValueList = &ViewData->VQ; ViewNumList = &ViewData->NbVQ;
+        if(strlen($1) > 2) ViewData->setOrder2(TYPE_QUA);
+      }
+      else if(!strncmp($1, "TQ", 2)){
+	ViewValueList = &ViewData->TQ; ViewNumList = &ViewData->NbTQ;
+        if(strlen($1) > 2) ViewData->setOrder2(TYPE_QUA);
+      }
+      else if(!strncmp($1, "SS", 2)){
+	ViewValueList = &ViewData->SS; ViewNumList = &ViewData->NbSS;
+        if(strlen($1) > 2) ViewData->setOrder2(TYPE_TET);
+      }
+      else if(!strncmp($1, "VS", 2)){
+	ViewValueList = &ViewData->VS; ViewNumList = &ViewData->NbVS;
+        if(strlen($1) > 2) ViewData->setOrder2(TYPE_TET);
+      }
+      else if(!strncmp($1, "TS", 2)){
+	ViewValueList = &ViewData->TS; ViewNumList = &ViewData->NbTS;
+        if(strlen($1) > 2) ViewData->setOrder2(TYPE_TET);
+      }
+      else if(!strncmp($1, "SH", 2)){
+	ViewValueList = &ViewData->SH; ViewNumList = &ViewData->NbSH;
+        if(strlen($1) > 2) ViewData->setOrder2(TYPE_HEX);
+      }
+      else if(!strncmp($1, "VH", 2)){
+	ViewValueList = &ViewData->VH; ViewNumList = &ViewData->NbVH;
+        if(strlen($1) > 2) ViewData->setOrder2(TYPE_HEX);
+      }
+      else if(!strncmp($1, "TH", 2)){
+	ViewValueList = &ViewData->TH; ViewNumList = &ViewData->NbTH;
+        if(strlen($1) > 2) ViewData->setOrder2(TYPE_HEX);
+      }
+      else if(!strncmp($1, "SI", 2)){
+	ViewValueList = &ViewData->SI; ViewNumList = &ViewData->NbSI;
+        if(strlen($1) > 2) ViewData->setOrder2(TYPE_PRI);
+      }
+      else if(!strncmp($1, "VI", 2)){
+	ViewValueList = &ViewData->VI; ViewNumList = &ViewData->NbVI;
+        if(strlen($1) > 2) ViewData->setOrder2(TYPE_PRI);
+      }
+      else if(!strncmp($1, "TI", 2)){
+	ViewValueList = &ViewData->TI; ViewNumList = &ViewData->NbTI;
+        if(strlen($1) > 2) ViewData->setOrder2(TYPE_PRI);
+      }
+      else if(!strncmp($1, "SY", 2)){
+	ViewValueList = &ViewData->SY; ViewNumList = &ViewData->NbSY;
+        if(strlen($1) > 2) ViewData->setOrder2(TYPE_PYR);
+      }
+      else if(!strncmp($1, "VY", 2)){
+	ViewValueList = &ViewData->VY; ViewNumList = &ViewData->NbVY;
+        if(strlen($1) > 2) ViewData->setOrder2(TYPE_PYR);
+      }
+      else if(!strncmp($1, "TY", 2)){
+	ViewValueList = &ViewData->TY; ViewNumList = &ViewData->NbTY;
+        if(strlen($1) > 2) ViewData->setOrder2(TYPE_PYR);
+      }
+      else{
+	yymsg(0, "Unknown element type '%s'", $1);
+	ViewValueList = 0; ViewNumList = 0;
+      }
+#endif
+      ViewCoord.clear();
+      Free($1);
+    }
+    '(' ElementCoords ')'
+    {
+#if defined(HAVE_POST)
+      if(ViewValueList){
+	for(int i = 0; i < 3; i++)
+	  for(unsigned int j = 0; j < ViewCoord.size() / 3; j++)
+	    ViewValueList->push_back(ViewCoord[3 * j + i]);
+      }
+#endif
+    }
+    '{' ElementValues '}' tEND
+    {
+#if defined(HAVE_POST)
+      if(ViewValueList) (*ViewNumList)++;
+#endif
+    }
+;
+
+Text2DValues :
+    StringExprVar
+    {
+#if defined(HAVE_POST)
+      for(int i = 0; i < (int)strlen($1) + 1; i++) ViewData->T2C.push_back($1[i]);
+#endif
+      Free($1);
+    }
+  | Text2DValues ',' StringExprVar
+    {
+#if defined(HAVE_POST)
+      for(int i = 0; i < (int)strlen($3) + 1; i++) ViewData->T2C.push_back($3[i]);
+#endif
+      Free($3);
+    }
+;
+
+Text2D :
+    tText2D '(' FExpr ',' FExpr ',' FExpr ')'
+    {
+#if defined(HAVE_POST)
+      ViewData->T2D.push_back($3);
+      ViewData->T2D.push_back($5);
+      ViewData->T2D.push_back($7);
+      ViewData->T2D.push_back(ViewData->T2C.size());
+#endif
+    }
+    '{' Text2DValues '}' tEND
+    {
+#if defined(HAVE_POST)
+      ViewData->NbT2++;
+#endif
+    }
+;
+
+Text3DValues :
+    StringExprVar
+    {
+#if defined(HAVE_POST)
+      for(int i = 0; i < (int)strlen($1) + 1; i++) ViewData->T3C.push_back($1[i]);
+#endif
+      Free($1);
+    }
+  | Text3DValues ',' StringExprVar
+    {
+#if defined(HAVE_POST)
+      for(int i = 0; i < (int)strlen($3) + 1; i++) ViewData->T3C.push_back($3[i]);
+#endif
+      Free($3);
+    }
+;
+
+Text3D :
+    tText3D '(' FExpr ',' FExpr ',' FExpr ',' FExpr ')'
+    {
+#if defined(HAVE_POST)
+      ViewData->T3D.push_back($3); ViewData->T3D.push_back($5);
+      ViewData->T3D.push_back($7); ViewData->T3D.push_back($9);
+      ViewData->T3D.push_back(ViewData->T3C.size());
+#endif
+    }
+    '{' Text3DValues '}' tEND
+    {
+#if defined(HAVE_POST)
+      ViewData->NbT3++;
+#endif
+    }
+;
+
+InterpolationMatrix :
+    tInterpolationScheme '{' RecursiveListOfListOfDouble '}'
+                         '{' RecursiveListOfListOfDouble '}'  tEND
+    {
+#if defined(HAVE_POST)
+      int type =
+	(ViewData->NbSL || ViewData->NbVL) ? TYPE_LIN :
+	(ViewData->NbST || ViewData->NbVT) ? TYPE_TRI :
+	(ViewData->NbSQ || ViewData->NbVQ) ? TYPE_QUA :
+	(ViewData->NbSS || ViewData->NbVS) ? TYPE_TET :
+	(ViewData->NbSY || ViewData->NbVY) ? TYPE_PYR :
+	(ViewData->NbSI || ViewData->NbVI) ? TYPE_PRI :
+      	(ViewData->NbSH || ViewData->NbVH) ? TYPE_HEX :
+	0;
+      ViewData->setInterpolationMatrices(type, ListOfListOfDouble2Matrix($3),
+                                         ListOfListOfDouble2Matrix($6));
+#endif
+    }
+ |  tInterpolationScheme '{' RecursiveListOfListOfDouble '}'
+                         '{' RecursiveListOfListOfDouble '}'
+                         '{' RecursiveListOfListOfDouble '}'
+                         '{' RecursiveListOfListOfDouble '}'  tEND
+    {
+#if defined(HAVE_POST)
+      int type =
+	(ViewData->NbSL || ViewData->NbVL) ? TYPE_LIN :
+	(ViewData->NbST || ViewData->NbVT) ? TYPE_TRI :
+	(ViewData->NbSQ || ViewData->NbVQ) ? TYPE_QUA :
+	(ViewData->NbSS || ViewData->NbVS) ? TYPE_TET :
+      	(ViewData->NbSH || ViewData->NbVH) ? TYPE_HEX :
+	0;
+      ViewData->setInterpolationMatrices(type, ListOfListOfDouble2Matrix($3),
+                                         ListOfListOfDouble2Matrix($6),
+                                         ListOfListOfDouble2Matrix($9),
+                                         ListOfListOfDouble2Matrix($12));
+#endif
+    }
+;
+
+Time :
+    tTime
+    {
+#if defined(HAVE_POST)
+      ViewValueList = &ViewData->Time;
+#endif
+    }
+   '{' ElementValues '}' tEND
+    {
+    }
+;
+
+//  A F F E C T A T I O N
+
+NumericAffectation :
+    tAFFECT        { $$ = 0; }
+  | tAFFECTPLUS    { $$ = 1; }
+  | tAFFECTMINUS   { $$ = 2; }
+  | tAFFECTTIMES   { $$ = 3; }
+  | tAFFECTDIVIDE  { $$ = 4; }
+;
+
+NumericIncrement :
+    tPLUSPLUS      { $$ = 1; }
+  | tMINUSMINUS    { $$ = -1; }
+;
+
+// these are for compatibility with the syntax in GetDP (square brackets instead
+// of parentheses)
+
+LP : '(' { $$ = (char*)"("; } | '[' { $$ = (char*)"["; } ;
+RP : ')' { $$ = (char*)")"; } | ']' { $$ = (char*)"]"; } ;
+
+Affectation :
+
+  // Variables
+
+    tDefineConstant '[' DefineConstants ']' tEND
+  | tUndefineConstant '[' UndefineConstants ']' tEND
+  | DefineStruct tEND
+  | tSetNumber LP StringExpr ',' FExpr RP tEND
+    {
+      Msg::SetOnelabNumber($3, $5);
+      Free($3);
+    }
+  | tSetString LP String__Index ',' StringExpr RP tEND
+    {
+      Msg::SetOnelabString($3, $5);
+      Free($3);
+      Free($5);
+    }
+  | String__Index NumericAffectation ListOfDouble tEND
+    {
+      if(!gmsh_yysymbols.count($1) && $2 && List_Nbr($3) == 1){
+        yymsg(0, "Unknown variable '%s'", $1);
+      }
+      else{
+        gmsh_yysymbol &s(gmsh_yysymbols[$1]);
+        if(!$2) s.list = (List_Nbr($3) != 1); // list if 0 or > 1 elements
+        if(!s.list){ // single expression
+          if(List_Nbr($3) != 1){
+            yymsg(0, "Cannot assign list to variable '%s'", $1);
+          }
+          else{
+            double d;
+            List_Read($3, 0, &d);
+            if(s.value.empty()){
+              if($2) yymsg(1, "Uninitialized variable '%s'", $1);
+              s.value.resize(1, 0.);
+            }
+            switch($2){
+            case 0 : s.value[0] = d; break;
+            case 1 : s.value[0] += d; break;
+            case 2 : s.value[0] -= d; break;
+            case 3 : s.value[0] *= d; break;
+            case 4 :
+              if(d) s.value[0] /= d;
+              else yymsg(0, "Division by zero in '%s /= %g'", $1, d);
+              break;
+            }
+          }
+        }
+        else{
+          // list of expressions; this is not recommended (should use [] or ()
+          // notation instead)
+          switch($2){
+          case 0: // affect
+            s.value.clear(); // fall-through
+          case 1: // append
+            for(int i = 0; i < List_Nbr($3); i++){
+              double d;
+              List_Read($3, i, &d);
+              s.value.push_back(d);
+            }
+            break;
+          case 2: // remove
+            for(int i = 0; i < List_Nbr($3); i++){
+              double d;
+              List_Read($3, i, &d);
+              std::vector<double>::iterator it = std::find(s.value.begin(),
+                                                           s.value.end(), d);
+              if(it != s.value.end()) s.value.erase(it);
+            }
+            break;
+          default:
+            yymsg(0, "Operators *= and /= not available for lists");
+            break;
+          }
+        }
+      }
+      Free($1);
+      List_Delete($3);
+    }
+  | String__Index NumericIncrement tEND
+    {
+      if(!gmsh_yysymbols.count($1))
+	yymsg(0, "Unknown variable '%s'", $1);
+      else{
+        gmsh_yysymbol &s(gmsh_yysymbols[$1]);
+        if(!s.list && s.value.empty())
+          yymsg(0, "Uninitialized variable '%s'", $1);
+        else if(!s.list)
+          s.value[0] += $2;
+        else
+          yymsg(0, "Variable '%s' is a list", $1);
+      }
+      Free($1);
+    }
+  | String__Index LP RP NumericAffectation ListOfDouble tEND
+    {
+      gmsh_yysymbol &s(gmsh_yysymbols[$1]);
+      s.list = true;
+      double d;
+      switch($4){
+      case 0: // affect
+        s.value.clear(); // fall-through
+      case 1: // append
+        for(int i = 0; i < List_Nbr($5); i++){
+          List_Read($5, i, &d);
+          s.value.push_back(d);
+        }
+        break;
+      case 2: // remove
+        for(int i = 0; i < List_Nbr($5); i++){
+          List_Read($5, i, &d);
+          std::vector<double>::iterator it = std::find(s.value.begin(),
+                                                       s.value.end(), d);
+          if(it != s.value.end()) s.value.erase(it);
+        }
+        break;
+      default:
+        yymsg(0, "Operators *= and /= not available for lists");
+        break;
+      }
+      Free($1);
+      List_Delete($5);
+    }
+  | String__Index LP '{' RecursiveListOfDouble '}' RP NumericAffectation ListOfDouble tEND
+    {
+      assignVariables($1, $4, $7, $8);
+      Free($1);
+      List_Delete($4);
+      List_Delete($8);
+    }
+
+  //+++ TO FIX
+  // lists of numbers with bracket notation
+  | String__Index '[' FExpr ']' NumericAffectation FExpr tEND
+    {
+      assignVariable($1, (int)$3, $5, $6);
+      Free($1);
+    }
+  | String__Index '[' FExpr ']' NumericIncrement tEND
+    {
+      incrementVariable($1, $3, $5);
+      Free($1);
+    }
+
+  // lists of numbers with parentheses notation
+
+  | String__Index '(' FExpr ')' NumericAffectation FExpr tEND
+    {
+      assignVariable($1, (int)$3, $5, $6);
+      Free($1);
+    }
+  | String__Index '(' FExpr ')' NumericIncrement tEND
+    {
+      incrementVariable($1, $3, $5);
+      Free($1);
+    }
+
+  // strings
+
+  | String__Index tAFFECT StringExpr tEND
+    {
+      gmsh_yystringsymbols[$1] = std::vector<std::string>(1, $3);
+      Free($1);
+      Free($3);
+    }
+
+  // lists of strings
+
+  | String__Index LP RP tAFFECT tStr LP RP tEND
+    {
+      gmsh_yystringsymbols[$1] = std::vector<std::string>();
+      Free($1);
+    }
+  | String__Index LP RP tAFFECT tStr LP RecursiveListOfStringExprVar RP tEND
+    {
+      std::vector<std::string> s;
+      for(int i = 0; i < List_Nbr($7); i++){
+        char **c = (char**)List_Pointer($7, i);
+        s.push_back(*c);
+        Free(*c);
+      }
+      gmsh_yystringsymbols[$1] = s;
+      Free($1);
+      List_Delete($7);
+    }
+  | String__Index LP RP tAFFECTPLUS tStr LP RecursiveListOfStringExprVar RP tEND
+    {
+      if(gmsh_yystringsymbols.count($1)){
+        for(int i = 0; i < List_Nbr($7); i++){
+          char **c = (char**)List_Pointer($7, i);
+          gmsh_yystringsymbols[$1].push_back(*c);
+          Free(*c);
+        }
+      }
+      else
+        yymsg(0, "Uninitialized variable '%s'", $1);
+      Free($1);
+      List_Delete($7);
+    }
+
+  // Option Strings
+
+  | String__Index '.' tSTRING tAFFECT StringExpr tEND
+    {
+      std::string tmp($5);
+      StringOption(GMSH_SET|GMSH_GUI, $1, 0, $3, tmp);
+      Free($1); Free($3); Free($5);
+    }
+  | String__Index '[' FExpr ']' '.' tSTRING tAFFECT StringExpr tEND
+    {
+      std::string tmp($8);
+      StringOption(GMSH_SET|GMSH_GUI, $1, (int)$3, $6, tmp);
+      Free($1); Free($6); Free($8);
+    }
+
+  // Option Numbers
+
+  | String__Index '.' tSTRING NumericAffectation FExpr tEND
+    {
+      double d = 0.;
+      if(NumberOption(GMSH_GET, $1, 0, $3, d)){
+	switch($4){
+	case 0 : d = $5; break;
+	case 1 : d += $5; break;
+	case 2 : d -= $5; break;
+	case 3 : d *= $5; break;
+	case 4 :
+	  if($5) d /= $5;
+	  else yymsg(0, "Division by zero in '%s.%s /= %g'", $1, $3, $5);
+	  break;
+	}
+	NumberOption(GMSH_SET|GMSH_GUI, $1, 0, $3, d);
+      }
+      Free($1); Free($3);
+    }
+  | String__Index '[' FExpr ']' '.' tSTRING NumericAffectation FExpr tEND
+    {
+      double d = 0.;
+      if(NumberOption(GMSH_GET, $1, (int)$3, $6, d)){
+	switch($7){
+	case 0 : d = $8; break;
+	case 1 : d += $8; break;
+	case 2 : d -= $8; break;
+	case 3 : d *= $8; break;
+	case 4 :
+	  if($8) d /= $8;
+	  else yymsg(0, "Division by zero in '%s[%d].%s /= %g'", $1, (int)$3, $6, $8);
+	  break;
+	}
+	NumberOption(GMSH_SET|GMSH_GUI, $1, (int)$3, $6, d);
+      }
+      Free($1); Free($6);
+    }
+  | String__Index '.' tSTRING NumericIncrement tEND
+    {
+      double d = 0.;
+      if(NumberOption(GMSH_GET, $1, 0, $3, d)){
+	d += $4;
+	NumberOption(GMSH_SET|GMSH_GUI, $1, 0, $3, d);
+      }
+      Free($1); Free($3);
+    }
+  | String__Index '[' FExpr ']' '.' tSTRING NumericIncrement tEND
+    {
+      double d = 0.;
+      if(NumberOption(GMSH_GET, $1, (int)$3, $6, d)){
+	d += $7;
+	NumberOption(GMSH_SET|GMSH_GUI, $1, (int)$3, $6, d);
+      }
+      Free($1); Free($6);
+    }
+
+  // Option Colors
+
+  | String__Index '.' tColor '.' tSTRING tAFFECT ColorExpr tEND
+    {
+      ColorOption(GMSH_SET|GMSH_GUI, $1, 0, $5, $7);
+      Free($1); Free($5);
+    }
+  | String__Index '[' FExpr ']' '.' tColor '.' tSTRING tAFFECT ColorExpr tEND
+    {
+      ColorOption(GMSH_SET|GMSH_GUI, $1, (int)$3, $8, $10);
+      Free($1); Free($8);
+    }
+
+  // ColorTable
+
+  | String__Index '.' tColorTable tAFFECT ListOfColor tEND
+    {
+      GmshColorTable *ct = GetColorTable(0);
+      if(!ct)
+	yymsg(0, "View[%d] does not exist", 0);
+      else{
+	ct->size = List_Nbr($5);
+	if(ct->size > COLORTABLE_NBMAX_COLOR)
+	  yymsg(0, "Too many (%d>%d) colors in View[%d].ColorTable",
+		ct->size, COLORTABLE_NBMAX_COLOR, 0);
+	else
+	  for(int i = 0; i < ct->size; i++) List_Read($5, i, &ct->table[i]);
+	if(ct->size == 1){
+	  ct->size = 2;
+	  ct->table[1] = ct->table[0];
+	}
+      }
+      Free($1);
+      List_Delete($5);
+    }
+  | String__Index '[' FExpr ']' '.' tColorTable tAFFECT ListOfColor tEND
+    {
+      GmshColorTable *ct = GetColorTable((int)$3);
+      if(!ct)
+	yymsg(0, "View[%d] does not exist", (int)$3);
+      else{
+	ct->size = List_Nbr($8);
+	if(ct->size > COLORTABLE_NBMAX_COLOR)
+	  yymsg(0, "Too many (%d>%d) colors in View[%d].ColorTable",
+		   ct->size, COLORTABLE_NBMAX_COLOR, (int)$3);
+	else
+	  for(int i = 0; i < ct->size; i++) List_Read($8, i, &ct->table[i]);
+	if(ct->size == 1){
+	  ct->size = 2;
+	  ct->table[1] = ct->table[0];
+	}
+      }
+      Free($1);
+      List_Delete($8);
+    }
+
+  // Fields
+
+  | String__Index tField tAFFECT FExpr tEND
+    {
+#if defined(HAVE_MESH)
+      if(!strcmp($1,"Background"))
+	GModel::current()->getFields()->setBackgroundFieldId((int)$4);
+      else if(!strcmp($1,"BoundaryLayer"))
+	GModel::current()->getFields()->setBoundaryLayerFieldId((int)$4);
+      else
+	yymsg(0, "Unknown command '%s Field'", $1);
+#endif
+    }
+  | tField '[' FExpr ']' tAFFECT tSTRING tEND
+    {
+#if defined(HAVE_MESH)
+      if(!GModel::current()->getFields()->newField((int)$3, $6))
+	yymsg(0, "Cannot create field %i of type '%s'", (int)$3, $6);
+#endif
+      Free($6);
+    }
+  | tField '[' FExpr ']' '.' tSTRING  tAFFECT FExpr tEND
+    {
+#if defined(HAVE_MESH)
+      Field *field = GModel::current()->getFields()->get((int)$3);
+      if(field){
+	FieldOption *option = field->options[$6];
+	if(option){
+	  try { option->numericalValue($8); }
+	  catch(...){
+	    yymsg(0, "Cannot assign a numerical value to option '%s' "
+		  "in field %i of type '%s'", $6, (int)$3, field->getName());
+	  }
+	}
+	else
+	  yymsg(0, "Unknown option '%s' in field %i of type '%s'",
+		$6, (int)$3, field->getName());
+      }
+      else
+	yymsg(0, "No field with id %i", (int)$3);
+#endif
+      Free($6);
+    }
+  | tField '[' FExpr ']' '.' tSTRING  tAFFECT StringExpr tEND
+    {
+#if defined(HAVE_MESH)
+      Field *field = GModel::current()->getFields()->get((int)$3);
+      if(field){
+	FieldOption *option = field->options[$6];
+	if(option){
+	  try { option->string($8); }
+	  catch (...){
+	    yymsg(0, "Cannot assign a string value to  option '%s' "
+		  "in field %i of type '%s'", $6, (int)$3, field->getName());
+	  }
+	}
+	else
+	  yymsg(0, "Unknown option '%s' in field %i of type '%s'",
+		$6, (int)$3, field->getName());
+      }
+      else
+	yymsg(0, "No field with id %i", (int)$3);
+#endif
+      Free($6);
+      Free($8);
+    }
+  | tField '[' FExpr ']' '.' tSTRING  tAFFECT '{' RecursiveListOfDouble '}' tEND
+    {
+#if defined(HAVE_MESH)
+      Field *field = GModel::current()->getFields()->get((int)$3);
+      if(field){
+	FieldOption *option = field->options[$6];
+	if(option){
+	  if (option->getType() == FIELD_OPTION_LIST) {
+	    std::list<int> vl = option->list();
+	    vl.clear();
+	    for(int i = 0; i < List_Nbr($9); i++){
+	      double id;
+	      List_Read($9, i, &id);
+	      vl.push_back((int)id);
+	    }
+	    option->list(vl);
+	  }
+	  else {
+	    std::list<double> vl = option->listdouble();
+	    vl.clear();
+	    for(int i = 0; i < List_Nbr($9); i++){
+	      double id;
+	      List_Read($9, i, &id);
+	      vl.push_back(id);
+	    }
+	    option->listdouble(vl);
+	  }
+	}
+	else
+	  yymsg(0, "Unknown option '%s' in field %i of type '%s'",
+		$6, (int)$3, field->getName());
+      }
+      else
+	yymsg(0, "No field with id %i", (int)$3);
+#endif
+      Free($6);
+      List_Delete($9);
+    }
+  | tField '[' FExpr ']' '.' tSTRING tEND
+    {
+#if defined(HAVE_MESH)
+      Field *field = GModel::current()->getFields()->get((int)$3);
+      if(field){
+        FieldCallback *callback = field->callbacks[$6];
+        if(callback) {
+          callback->run();
+        }
+        else
+          yymsg(0, "Unknown callback '%s' in field %i of type '%s'",
+              $6, (int)$3, field->getName());
+      }
+      else
+	yymsg(0, "No field with id %i", (int)$3);
+#endif
+      Free($6);
+    }
+
+  // Plugins
+
+  | tPlugin '(' tSTRING ')' '.' tSTRING tAFFECT FExpr tEND
+    {
+#if defined(HAVE_PLUGINS)
+      try {
+	PluginManager::instance()->setPluginOption($3, $6, $8);
+      }
+      catch (...) {
+	yymsg(0, "Unknown option '%s' or plugin '%s'", $6, $3);
+      }
+#endif
+      Free($3); Free($6);
+    }
+  | tPlugin '(' tSTRING ')' '.' tSTRING tAFFECT StringExpr tEND
+    {
+#if defined(HAVE_PLUGINS)
+      try {
+	PluginManager::instance()->setPluginOption($3, $6, $8);
+      }
+      catch (...) {
+	yymsg(0, "Unknown option '%s' or plugin '%s'", $6, $3);
+      }
+#endif
+      Free($3); Free($6); Free($8);
+    }
+;
+
+Comma : /* none */ | ',' ;
+
+DefineConstants :
+    /* none */
+  | DefineConstants Comma String__Index
+    {
+      std::string key($3);
+      std::vector<double> val(1, 0.);
+      if(!gmsh_yysymbols.count(key)){
+        gmsh_yysymbols[key].value = val;
+      }
+      Free($3);
+    }
+  | DefineConstants Comma String__Index tAFFECT FExpr
+    {
+      std::string key($3);
+      std::vector<double> val(1, $5);
+      if(!gmsh_yysymbols.count(key)){
+        gmsh_yysymbols[key].value = val;
+      }
+      Free($3);
+    }
+  | DefineConstants Comma String__Index tAFFECT '{' ListOfDouble
+    { init_options(); }
+    FloatParameterOptionsOrNone '}'
+    {
+      if(List_Nbr($6) != 1)
+	yymsg(1, "List notation should be used to define list '%s[]'", $3);
+      std::string key($3);
+      std::vector<double> val;
+      for(int i = 0; i < List_Nbr($6); i++){
+        double d;
+        List_Read($6, i, &d);
+        val.push_back(d);
+      }
+      if(!gmsh_yysymbols.count(key)){
+        Msg::ExchangeOnelabParameter(key, val, floatOptions, charOptions);
+        gmsh_yysymbols[key].value = val;
+      }
+      Free($3);
+      Free($6);
+    }
+  | DefineConstants Comma String__Index LP RP tAFFECT '{' ListOfDouble
+    { init_options(); }
+    FloatParameterOptionsOrNone '}'
+    {
+      std::string key($3);
+      std::vector<double> val;
+      for(int i = 0; i < List_Nbr($8); i++){
+        double d;
+        List_Read($8, i, &d);
+        val.push_back(d);
+      }
+      if(!gmsh_yysymbols.count(key)){
+        Msg::ExchangeOnelabParameter(key, val, floatOptions, charOptions);
+        gmsh_yysymbols[key].value = val;
+      }
+      Free($3);
+      Free($8);
+    }
+  | DefineConstants Comma String__Index tAFFECT StringExpr
+    {
+      std::string key($3), val($5);
+      if(!gmsh_yystringsymbols.count(key)){
+        gmsh_yystringsymbols[key] = std::vector<std::string>(1, val);
+      }
+      Free($3);
+      Free($5);
+    }
+  | DefineConstants Comma String__Index tAFFECT '{' StringExpr
+    { init_options(); }
+      CharParameterOptionsOrNone '}'
+    {
+      std::string key($3), val($6);
+      if(!gmsh_yysymbols.count(key)){
+        Msg::ExchangeOnelabParameter(key, val, floatOptions, charOptions);
+        gmsh_yystringsymbols[key] = std::vector<std::string>(1, val);
+      }
+      Free($3);
+      Free($6);
+    }
+ ;
+
+UndefineConstants :
+    /* none */
+  | UndefineConstants Comma StringExprVar
+    {
+      std::string name($3);
+      Msg::UndefineOnelabParameter(name);
+      Free($3);
+    }
+
+Enumeration :
+    FExpr tAFFECT StringExpr
+    {
+      $$ = List_Create(20,20,sizeof(doubleXstring));
+      doubleXstring v = {$1, $3};
+      List_Add($$, &v);
+    }
+  | Enumeration ',' FExpr tAFFECT StringExpr
+    {
+      doubleXstring v = {$3, $5};
+      List_Add($$, &v);
+    }
+  | FExpr_Multi tAFFECT String__Index '(' ')'
+    {
+      $$ = List_Create(20,20,sizeof(doubleXstring));
+      int n = List_Nbr($1);
+      if(!gmsh_yystringsymbols.count($3)){
+	yymsg(0, "Unknown string variable '%s'", $3);
+      }
+      else{
+        std::vector<std::string> &s(gmsh_yystringsymbols[$3]);
+        int m = s.size();
+        if(n == m){
+          for(int i = 0; i < n; i++){
+            double d;
+            List_Read($1, i, &d);
+            doubleXstring v = {d, strsave((char*)s[i].c_str())};
+            List_Add($$, &v);
+          }
+        }
+        else{
+          yymsg(0, "Size mismatch in enumeration: %d != %d", n, m);
+        }
+      }
+      List_Delete($1);
+    }
+  ;
+
+FloatParameterOptionsOrNone :
+    // none
+  | ',' FloatParameterOptions
+ ;
+
+FloatParameterOptionsOrNone_NoComma :
+    // none
+  | FloatParameterOptions
+ ;
+
+FloatParameterOptions :
+    FloatParameterOption
+  | FloatParameterOptions ',' FloatParameterOption
+ ;
+
+FloatParameterOption :
+    tSTRING ListOfDouble
+    {
+      std::string key($1);
+      for(int i = 0; i < List_Nbr($2); i++){
+        double v;
+        List_Read($2, i, &v);
+        floatOptions[key].push_back(v);
+        if (flag_Enum && !i) { member_ValMax = (int)v; }
+      }
+      Free($1);
+      List_Delete($2);
+    }
+  | tSTRING
+    {
+      std::string key($1);
+      double v;
+      if (!flag_Enum) {
+        v = 1.;
+        if (key == "Enum") flag_Enum = 1;
+      }
+      else
+        v = (double)++member_ValMax;
+      floatOptions[key].push_back(v);
+      Free($1);
+    }
+  | tSTRING '{' Enumeration '}'
+    {
+      std::string key($1);
+      for(int i = 0; i < List_Nbr($3); i++){
+        doubleXstring v;
+        List_Read($3, i, &v);
+        floatOptions[key].push_back(v.d);
+        charOptions[key].push_back(v.s);
+      }
+      Free($1);
+      for(int i = 0; i < List_Nbr($3); i++)
+        Free(((doubleXstring*)List_Pointer($3, i))->s);
+      List_Delete($3);
+    }
+
+  | tSTRING StringExpr
+    {
+      std::string key($1);
+      std::string val($2);
+      charOptions[key].push_back(val);
+      Free($1);
+      Free($2);
+    }
+ ;
+
+CharParameterOptionsOrNone :
+    // none
+  | ',' CharParameterOptions
+ ;
+
+CharParameterOptions :
+    CharParameterOption
+  | CharParameterOptions ',' CharParameterOption
+ ;
+
+CharParameterOption :
+
+    tSTRING FExpr
+    {
+      std::string key($1);
+      double val = $2;
+      floatOptions[key].push_back(val);
+      Free($1);
+    }
+
+  | tSTRING StringExpr
+    {
+      std::string key($1);
+      std::string val($2);
+      charOptions[key].push_back(val);
+      Free($1);
+      Free($2);
+    }
+
+  | tMacro StringExpr // Macro is already a reserved keyword
+    {
+      std::string key("Macro");
+      std::string val($2);
+      charOptions[key].push_back(val);
+      Free($2);
+    }
+
+  | tSTRING '{' RecursiveListOfStringExprVar '}'
+    {
+      std::string key($1);
+      for(int i = 0; i < List_Nbr($3); i++){
+        char *s;
+        List_Read($3, i, &s);
+        std::string val(s);
+        Free(s);
+        charOptions[key].push_back(val);
+      }
+      Free($1);
+      List_Delete($3);
+    }
+ ;
+
+//  S H A P E
+
+PhysicalId0 :
+    FExpr
+    {
+      $$ = (int)$1;
+    }
+  | StringExpr
+    {
+      int t = GModel::current()->getGEOInternals()->getMaxPhysicalTag();
+      GModel::current()->getGEOInternals()->setMaxPhysicalTag(t + 1);
+      $$ = GModel::current()->setPhysicalName(std::string($1), 0, t + 1);
+      Free($1);
+    }
+  | StringExpr ',' FExpr
+    {
+      $$ = GModel::current()->setPhysicalName(std::string($1), 0, $3);
+      Free($1);
+    }
+;
+
+PhysicalId1 :
+    FExpr
+    {
+      $$ = (int)$1;
+    }
+  | StringExpr
+    {
+      int t = GModel::current()->getGEOInternals()->getMaxPhysicalTag();
+      GModel::current()->getGEOInternals()->setMaxPhysicalTag(t + 1);
+      $$ = GModel::current()->setPhysicalName(std::string($1), 1, t + 1);
+      Free($1);
+    }
+  | StringExpr ',' FExpr
+    {
+      $$ = GModel::current()->setPhysicalName(std::string($1), 1, $3);
+      Free($1);
+    }
+;
+
+PhysicalId2 :
+    FExpr
+    {
+      $$ = (int)$1;
+    }
+  | StringExpr
+    {
+      int t = GModel::current()->getGEOInternals()->getMaxPhysicalTag();
+      GModel::current()->getGEOInternals()->setMaxPhysicalTag(t + 1);
+      $$ = GModel::current()->setPhysicalName(std::string($1), 2, t + 1);
+      Free($1);
+    }
+  | StringExpr ',' FExpr
+    {
+      $$ = GModel::current()->setPhysicalName(std::string($1), 2, $3);
+      Free($1);
+    }
+;
+
+PhysicalId3 :
+    FExpr
+    {
+      $$ = (int)$1;
+    }
+  | StringExpr
+    {
+      int t = GModel::current()->getGEOInternals()->getMaxPhysicalTag();
+      GModel::current()->getGEOInternals()->setMaxPhysicalTag(t + 1);
+      $$ = GModel::current()->setPhysicalName(std::string($1), 3, t + 1);
+      Free($1);
+    }
+  | StringExpr ',' FExpr
+    {
+      $$ = GModel::current()->setPhysicalName(std::string($1), 3, $3);
+      Free($1);
+    }
+;
+
+InSphereCenter :
+    // nothing
+    {
+      $$ = -1;
+    }
+  | tIn tSphere '{' FExpr '}'
+    {
+      $$ = (int)$4;
+    }
+;
+
+CircleOptions :
+    {
+      for(int i = 0; i < 4; i++) $$[i] = 0.;
+    }
+  | tPlane VExpr
+    {
+      for(int i = 0; i < 4; i++) $$[i] = $2[i];
+    }
+;
+
+Shape :
+    tPoint '(' FExpr ')' tAFFECT VExpr tEND
+    {
+      int num = (int)$3;
+      double x = CTX::instance()->geom.scalingFactor * $6[0];
+      double y = CTX::instance()->geom.scalingFactor * $6[1];
+      double z = CTX::instance()->geom.scalingFactor * $6[2];
+      double lc = CTX::instance()->geom.scalingFactor * $6[3];
+      if(lc == 0.) lc = MAX_LC; // no mesh size given at the point
+      bool r = true;
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        r = GModel::current()->getOCCInternals()->addVertex(num, x, y, z, lc);
+      }
+      else{
+        if(!myGmshSurface)
+          r = GModel::current()->getGEOInternals()->addVertex(num, x, y, z, lc);
+        else
+          r = GModel::current()->getGEOInternals()->addVertex(num, x, y,
+                                                              myGmshSurface, lc);
+      }
+      if(!r) yymsg(0, "Could not add point");
+      AddToTemporaryBoundingBox(x, y, z);
+      $$.Type = MSH_POINT;
+      $$.Num = num;
+    }
+  | tLine '(' FExpr ')' tAFFECT ListOfDouble tEND
+    {
+      int num = (int)$3;
+      std::vector<int> tags; ListOfDouble2Vector($6, tags);
+      bool r = true;
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        r = GModel::current()->getOCCInternals()->addLine(num, tags);
+      }
+      else{
+        r = GModel::current()->getGEOInternals()->addLine(num, tags);
+      }
+      if(!r) yymsg(0, "Could not add line");
+      List_Delete($6);
+      $$.Type = MSH_SEGM_LINE;
+      $$.Num = num;
+    }
+  | tSpline '(' FExpr ')' tAFFECT ListOfDouble tEND
+    {
+      int num = (int)$3;
+      std::vector<int> tags; ListOfDouble2Vector($6, tags);
+      bool r = true;
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        yymsg(0, "Spline not available with OpenCASCADE factory");
+      }
+      else{
+        r = GModel::current()->getGEOInternals()->addSpline(num, tags);
+      }
+      if(!r) yymsg(0, "Could not add spline");
+      List_Delete($6);
+      $$.Type = MSH_SEGM_SPLN;
+      $$.Num = num;
+    }
+  | tCircle '(' FExpr ')' tAFFECT ListOfDouble CircleOptions tEND
+    {
+      int num = (int)$3;
+      std::vector<int> tags; ListOfDouble2Vector($6, tags);
+      std::vector<double> param; ListOfDouble2Vector($6, param);
+      bool r = true;
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        if(tags.size() == 3){
+          r = GModel::current()->getOCCInternals()->addCircleArc
+            (num, tags[0], tags[1], tags[2]);
+        }
+        else if(param.size() >= 4 && param.size() <= 6){
+          double r = param[3];
+          double a1 = (param.size() == 6) ? param[4] : 0.;
+          double a2 = (param.size() == 6) ? param[5] :
+            (param.size() == 5) ? param[4] : 2.*M_PI;
+          r = GModel::current()->getOCCInternals()->addCircle
+            (num, param[0], param[1], param[2], r, a1, a2);
+        }
+        else{
+          yymsg(0, "Circle requires 3 points or 4 to 6 parameters");
+        }
+      }
+      else{
+        if(tags.size() == 3){
+          r = GModel::current()->getGEOInternals()->addCircleArc
+            (num, tags[0], tags[1], tags[2], $7[0], $7[1], $7[2]);
+        }
+        else{
+          yymsg(0, "Circle requires 3 points");
+        }
+      }
+      if(!r) yymsg(0, "Could not add circle");
+      List_Delete($6);
+      $$.Type = MSH_SEGM_CIRC;
+      $$.Num = num;
+    }
+  | tEllipse '(' FExpr ')' tAFFECT ListOfDouble CircleOptions tEND
+    {
+      int num = (int)$3;
+      std::vector<int> tags; ListOfDouble2Vector($6, tags);
+      std::vector<double> param; ListOfDouble2Vector($6, param);
+      bool r = true;
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        if(tags.size() == 3){
+          r = GModel::current()->getOCCInternals()->addEllipseArc
+            (num, tags[0], tags[1], tags[2]);
+        }
+        else if(tags.size() == 4){
+          r = GModel::current()->getOCCInternals()->addEllipseArc
+            (num, tags[0], tags[1], tags[3]);
+        }
+        else if(param.size() >= 5 && param.size() <= 7){
+          double a1 = (param.size() == 7) ? param[5] : 0.;
+          double a2 = (param.size() == 7) ? param[6] :
+            (param.size() == 6) ? param[5] : 2.*M_PI;
+          r = GModel::current()->getOCCInternals()->addEllipse
+            (num, param[0], param[1], param[2], param[3], param[4], a1, a2);
+        }
+        else{
+          yymsg(0, "Ellipse requires 3 or 4 points, or 5 to 7 parameters");
+        }
+      }
+      else{
+        if(tags.size() == 4){
+          r = GModel::current()->getGEOInternals()->addEllipseArc
+            (num, tags[0], tags[1], tags[2], tags[3], $7[0], $7[1], $7[2]);
+        }
+        else{
+          yymsg(0, "Ellipse requires 4 points");
+        }
+      }
+      if(!r) yymsg(0, "Could not add ellipse");
+      List_Delete($6);
+      $$.Type = MSH_SEGM_ELLI;
+      $$.Num = num;
+    }
+  | tBSpline '(' FExpr ')' tAFFECT ListOfDouble tEND
+    {
+      int num = (int)$3;
+      std::vector<int> tags; ListOfDouble2Vector($6, tags);
+      bool r = true;
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        r = GModel::current()->getOCCInternals()->addBSpline(num, tags);
+      }
+      else{
+        r = GModel::current()->getGEOInternals()->addBSpline(num, tags);
+      }
+      if(!r) yymsg(0, "Could not add BSpline");
+      List_Delete($6);
+      $$.Type = MSH_SEGM_BSPLN;
+      $$.Num = num;
+    }
+  | tBezier '(' FExpr ')' tAFFECT ListOfDouble tEND
+    {
+      int num = (int)$3;
+      std::vector<int> tags; ListOfDouble2Vector($6, tags);
+      bool r = true;
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        r = GModel::current()->getOCCInternals()->addBezier(num, tags);
+      }
+      else{
+        r = GModel::current()->getGEOInternals()->addBezier(num, tags);
+      }
+      if(!r) yymsg(0, "Could not add Bezier");
+      List_Delete($6);
+      $$.Type = MSH_SEGM_BEZIER;
+      $$.Num = num;
+    }
+  | tNurbs  '(' FExpr ')' tAFFECT ListOfDouble tNurbsKnots ListOfDouble
+      tNurbsOrder FExpr tEND
+    {
+      int num = (int)$3;
+      std::vector<int> tags; ListOfDouble2Vector($6, tags);
+      std::vector<double> knots; ListOfDouble2Vector($8, knots);
+      bool r = true;
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        yymsg(0, "Nurbs not available yet with OpenCASCADE factory");
+      }
+      else{
+        int order = knots.size() - tags.size() - 1;
+        if(order != (int)$10)
+          yymsg(1, "Incompatible Nurbs order: using %d", order);
+        r = GModel::current()->getGEOInternals()->addNurbs(num, tags, knots);
+      }
+      if(!r) yymsg(0, "Could not add nurbs");
+      List_Delete($6);
+      List_Delete($8);
+      $$.Type = MSH_SEGM_NURBS;
+      $$.Num = num;
+    }
+  | tCompound tLine '(' FExpr ')' tAFFECT ListOfDouble tEND
+    {
+      int num = (int)$4;
+      std::vector<int> tags; ListOfDouble2Vector($7, tags);
+      bool r = GModel::current()->getGEOInternals()->addCompoundLine(num, tags);
+      if(!r) yymsg(0, "Could not add compound line");
+      List_Delete($7);
+      $$.Type = MSH_SEGM_COMPOUND;
+      $$.Num = num;
+    }
+  | tWire '(' FExpr ')' tAFFECT ListOfDouble tEND
+    {
+      int num = (int)$3;
+      std::vector<int> tags; ListOfDouble2Vector($6, tags);
+      bool r = true;
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        r = GModel::current()->getOCCInternals()->addWire(num, tags, false);
+      }
+      else{
+        yymsg(0, "Wire only available using OpenCASCADE factory");
+      }
+      if(!r) yymsg(0, "Could not add wire");
+      List_Delete($6);
+      $$.Type = MSH_SEGM_LOOP;
+      $$.Num = num;
+    }
+  | tLine tSTRING '(' FExpr ')' tAFFECT ListOfDouble tEND
+    {
+      int num = (int)$4;
+      std::vector<int> tags; ListOfDouble2Vector($7, tags);
+      bool r = true;
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        r = GModel::current()->getOCCInternals()->addLineLoop(num, tags);
+      }
+      else{
+        r = GModel::current()->getGEOInternals()->addLineLoop(num, tags);
+      }
+      if(!r) yymsg(0, "Could not add line loop");
+      List_Delete($7);
+      Free($2);
+      $$.Type = MSH_SEGM_LOOP;
+      $$.Num = num;
+    }
+  | tPlane tSurface '(' FExpr ')' tAFFECT ListOfDouble tEND
+    {
+      int num = (int)$4;
+      std::vector<int> tags; ListOfDouble2Vector($7, tags);
+      bool r = true;
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        r = GModel::current()->getOCCInternals()->addPlaneSurface(num, tags);
+      }
+      else{
+        r = GModel::current()->getGEOInternals()->addPlaneSurface(num, tags);
+      }
+      if(!r) yymsg(0, "Could not add plane surface");
+      List_Delete($7);
+      $$.Type = MSH_SURF_PLAN;
+      $$.Num = num;
+    }
+  | tSurface '(' FExpr ')' tAFFECT ListOfDouble InSphereCenter tEND
+    {
+      int num = (int)$3;
+      std::vector<int> wires; ListOfDouble2Vector($6, wires);
+      bool r = true;
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        if(wires.size() != 1){
+          yymsg(0, "OpenCASCADE face filling requires a single line loop");
+        }
+        else{
+          r = GModel::current()->getOCCInternals()->addSurfaceFilling(num, wires[0]);
+        }
+      }
+      else{
+        r = GModel::current()->getGEOInternals()->addSurfaceFilling(num, wires, $7);
+      }
+      if(!r) yymsg(0, "Could not add surface");
+      List_Delete($6);
+      $$.Type = MSH_SURF_REGL;
+      $$.Num = num;
+    }
+  | tRuled tSurface '(' FExpr ')' tAFFECT ListOfDouble InSphereCenter tEND
+    {
+      yymsg(2, "'Ruled Surface' command is deprecated: use 'Surface' instead");
+      int num = (int)$4;
+      std::vector<int> wires; ListOfDouble2Vector($7, wires);
+      bool r = GModel::current()->getGEOInternals()->addSurfaceFilling(num, wires, $8);
+      if(!r) yymsg(0, "Could not add surface");
+      List_Delete($7);
+      $$.Type =  MSH_SURF_REGL;
+      $$.Num = num;
+    }
+  | tEuclidian tCoordinates tEND
+    {
+      myGmshSurface = 0;
+      $$.Type = 0;
+      $$.Num = 0;
+    }
+  | tCoordinates tSurface FExpr tEND
+    {
+      myGmshSurface = gmshSurface::getSurface((int)$3);
+      $$.Type = 0;
+      $$.Num = 0;
+    }
+  | tParametric tSurface '(' FExpr ')' tAFFECT tBIGSTR tBIGSTR tBIGSTR tEND
+    {
+      int num = (int)$4;
+      myGmshSurface = gmshParametricSurface::NewParametricSurface(num, $7, $8, $9);
+      $$.Type = 0;
+      $$.Num = num;
+    }
+  | tSphere '(' FExpr ')' tAFFECT ListOfDouble tEND
+    {
+      int num = (int)$3;
+      std::vector<int> tags; ListOfDouble2Vector($6, tags);
+      std::vector<double> param; ListOfDouble2Vector($6, param);
+      $$.Type = 0;
+      bool r = true;
+      if(param.size() >= 4 && param.size() <= 7){
+        if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+          double a1 = (param.size() >= 5) ? param[4] : -M_PI/2;
+          double a2 = (param.size() >= 6) ? param[5] : M_PI/2;
+          double a3 = (param.size() >= 7) ? param[6] : 2.*M_PI;
+          r = GModel::current()->getOCCInternals()->addSphere
+            (num, param[0], param[1], param[2], param[3], a1, a2, a3);
+        }
+        else{
+          yymsg(0, "Sphere only available with OpenCASCADE factory");
+        }
+        $$.Type = MSH_VOLUME;
+      }
+      else if(tags.size() == 2){
+        myGmshSurface = GModel::current()->getGEOInternals()->newGeometrySphere
+          (num, tags[0], tags[1]);
+      }
+      else{
+        yymsg(0, "Sphere requires 2 points or from 4 to 7 parameters");
+      }
+      if(!r) yymsg(0, "Could not add sphere");
+      List_Delete($6);
+      $$.Num = num;
+    }
+  | tPolarSphere '(' FExpr ')' tAFFECT ListOfDouble tEND
+    {
+      int num = (int)$3;
+      std::vector<int> tags; ListOfDouble2Vector($6, tags);
+      if(tags.size() == 2){
+        myGmshSurface = GModel::current()->getGEOInternals()->newGeometryPolarSphere
+          (num, tags[0], tags[1]);
+      }
+      else{
+        yymsg(0, "PolarSphere requires 2 points");
+      }
+      List_Delete($6);
+      $$.Type = 0;
+      $$.Num = num;
+    }
+  | tBlock '(' FExpr ')' tAFFECT ListOfDouble tEND
+    {
+      int num = (int)$3;
+      std::vector<double> param; ListOfDouble2Vector($6, param);
+      bool r = true;
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        if(param.size() == 6){
+          r = GModel::current()->getOCCInternals()->addBlock
+            (num, param[0], param[1], param[2], param[3], param[4], param[5]);
+        }
+        else{
+          yymsg(0, "Block requires 6 parameters");
+        }
+      }
+      else{
+        yymsg(0, "Block only available with OpenCASCADE factory");
+      }
+      if(!r) yymsg(0, "Could not add block");
+      List_Delete($6);
+      $$.Type = MSH_VOLUME;
+      $$.Num = num;
+    }
+  | tTorus '(' FExpr ')' tAFFECT ListOfDouble tEND
+    {
+      int num = (int)$3;
+      std::vector<double> param; ListOfDouble2Vector($6, param);
+      bool r = true;
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        if(param.size() == 5 || param.size() == 6){
+          double alpha = (param.size() == 6) ? param[5] : 2*M_PI;
+          r = GModel::current()->getOCCInternals()->addTorus
+            (num, param[0], param[1], param[2], param[3], param[4], alpha);
+        }
+        else{
+          yymsg(0, "Torus requires 5 ou 6 parameters");
+        }
+      }
+      else{
+        yymsg(0, "Torus only available with OpenCASCADE factory");
+      }
+      if(!r) yymsg(0, "Could not add torus");
+      List_Delete($6);
+      $$.Type = MSH_VOLUME;
+      $$.Num = num;
+    }
+  | tRectangle '(' FExpr ')' tAFFECT ListOfDouble tEND
+    {
+      int num = (int)$3;
+      std::vector<double> param; ListOfDouble2Vector($6, param);
+      bool r = true;
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        if(param.size() == 6 || param.size() == 7){
+          double r = (param.size() == 7) ? param[6] : 0.;
+          r = GModel::current()->getOCCInternals()->addRectangle
+            (num, param[0], param[1], param[2], param[3], param[4], param[5], r);
+        }
+        else{
+          yymsg(0, "Rectangle requires 6 ou 7 parameters");
+        }
+      }
+      else{
+        yymsg(0, "Rectangle only available with OpenCASCADE factory");
+      }
+      if(!r) yymsg(0, "Could not add rectangle");
+      List_Delete($6);
+      $$.Type = MSH_SURF_PLAN;
+      $$.Num = num;
+    }
+  | tDisk '(' FExpr ')' tAFFECT ListOfDouble tEND
+    {
+      int num = (int)$3;
+      std::vector<double> param; ListOfDouble2Vector($6, param);
+      bool r = true;
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        if(param.size() == 4 || param.size() == 5){
+          double ry = (param.size() == 5) ? param[4] : param[3];
+          r = GModel::current()->getOCCInternals()->addDisk
+            (num, param[0], param[1], param[2], param[3], ry);
+        }
+        else{
+          yymsg(0, "Disk requires 4 or 5 parameters");
+        }
+      }
+      else{
+        yymsg(0, "Disk only available with OpenCASCADE factory");
+      }
+      if(!r) yymsg(0, "Could not add disk");
+      List_Delete($6);
+      $$.Type = MSH_SURF_PLAN;
+      $$.Num = num;
+    }
+  | tCylinder '(' FExpr ')' tAFFECT ListOfDouble tEND
+    {
+      int num = (int)$3;
+      std::vector<double> param; ListOfDouble2Vector($6, param);
+      bool r = true;
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        if(param.size() == 7 || param.size() == 8){
+          double angle = (param.size() == 8) ? param[7] : 2*M_PI;
+          r = GModel::current()->getOCCInternals()->addCylinder
+            (num, param[0], param[1], param[2], param[3], param[4], param[5],
+             param[6], angle);
+        }
+        else{
+          yymsg(0, "Cylinder requires 7 or 8 parameters");
+        }
+      }
+      else{
+        yymsg(0, "Cylinder only available with OpenCASCADE factory");
+      }
+      if(!r) yymsg(0, "Could not add cylinder");
+      List_Delete($6);
+      $$.Type = MSH_VOLUME;
+      $$.Num = num;
+    }
+  | tCone '(' FExpr ')' tAFFECT ListOfDouble tEND
+    {
+      int num = (int)$3;
+      std::vector<double> param; ListOfDouble2Vector($6, param);
+      bool r = true;
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        if(param.size() == 8 || param.size() == 9){
+          double alpha = (param.size() == 9) ? param[8] : 2*M_PI;
+          r = GModel::current()->getOCCInternals()->addCone
+            (num, param[0], param[1], param[2], param[3], param[4], param[5],
+             param[6], param[7], alpha);
+        }
+        else{
+          yymsg(0, "Cone requires 8 or 9 parameters");
+        }
+      }
+      else{
+        yymsg(0, "Cone only available with OpenCASCADE factory");
+      }
+      if(!r) yymsg(0, "Could not add cone");
+      List_Delete($6);
+      $$.Type = MSH_VOLUME;
+      $$.Num = num;
+    }
+  | tWedge '(' FExpr ')' tAFFECT ListOfDouble tEND
+    {
+      int num = (int)$3;
+      std::vector<double> param; ListOfDouble2Vector($6, param);
+      bool r = true;
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        if(param.size() == 7){
+          r = GModel::current()->getOCCInternals()->addWedge
+            (num, param[0], param[1], param[2], param[3], param[4], param[5],
+             param[6]);
+        }
+        else{
+          yymsg(0, "Wedge requires 7 parameters");
+        }
+      }
+      else{
+        yymsg(0, "Wedge only available with OpenCASCADE factory");
+      }
+      if(!r) yymsg(0, "Could not add wedge");
+      List_Delete($6);
+      $$.Type = MSH_VOLUME;
+      $$.Num = num;
+    }
+  | tThickSolid '(' FExpr ')' tAFFECT ListOfDouble tEND
+    {
+      int num = (int)$3;
+      std::vector<double> param; ListOfDouble2Vector($6, param);
+      bool r = true;
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        if(param.size() >= 2){
+          int in = (int)param[0];
+          double offset = param[1];
+          std::vector<int> exclude;
+          for(unsigned int i = 2; i < param.size(); i++)
+            exclude.push_back(param[i]);
+          r = GModel::current()->getOCCInternals()->addThickSolid
+            (num, in, exclude, offset);
+        }
+        else{
+          yymsg(0, "ThickSolid requires at least 2 parameters");
+        }
+      }
+      else{
+        yymsg(0, "ThickSolid only available with OpenCASCADE factory");
+      }
+      if(!r) yymsg(0, "Could not add thick solid");
+      List_Delete($6);
+    }
+  | tCompound tSurface '(' FExpr ')' tAFFECT ListOfDouble tEND
+    {
+      int num = (int)$4;
+      std::vector<int> tags; ListOfDouble2Vector($7, tags);
+      bool r = GModel::current()->getGEOInternals()->addCompoundSurface(num, tags);
+      if(!r) yymsg(0, "Could not add compound surface");
+      List_Delete($7);
+      $$.Type = MSH_SURF_COMPOUND;
+      $$.Num = num;
+    }
+  | tCompound tSurface '(' FExpr ')' tAFFECT ListOfDouble tSTRING
+      '{' RecursiveListOfListOfDouble '}' tEND
+    {
+      int num = (int)$4;
+      std::vector<int> tags; ListOfDouble2Vector($7, tags);
+      std::vector<int> bndTags[4];
+      for(int i = 0; i < List_Nbr($10); i++){
+        if(i < 4)
+          ListOfDouble2Vector(*(List_T**)List_Pointer($10, i), bndTags[i]);
+        else
+          break;
+      }
+      bool r = GModel::current()->getGEOInternals()->addCompoundSurface
+        (num, tags, bndTags);
+      if(!r) yymsg(0, "Could not add compound surface");
+      List_Delete($7);
+      Free($8);
+      for (int i = 0; i < List_Nbr($10); i++)
+        List_Delete(*(List_T**)List_Pointer($10, i));
+      List_Delete($10);
+      $$.Type = MSH_SURF_COMPOUND;
+      $$.Num = num;
+    }
+  | tSurface tSTRING '(' FExpr ')' tAFFECT ListOfDouble tEND
+    {
+      int num = (int)$4;
+      std::vector<int> tags; ListOfDouble2Vector($7, tags);
+      bool r = true;
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        r = GModel::current()->getOCCInternals()->addSurfaceLoop(num, tags);
+      }
+      else{
+        r = GModel::current()->getGEOInternals()->addSurfaceLoop(num, tags);
+      }
+      if(!r) yymsg(0, "Could not add surface loop");
+      List_Delete($7);
+      Free($2);
+      $$.Type = MSH_SURF_LOOP;
+      $$.Num = num;
+    }
+  | tVolume '(' FExpr ')' tAFFECT ListOfDouble tEND
+    {
+      int num = (int)$3;
+      std::vector<int> tags; ListOfDouble2Vector($6, tags);
+      bool r = true;
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        r = GModel::current()->getOCCInternals()->addVolume(num, tags);
+      }
+      else{
+        r = GModel::current()->getGEOInternals()->addVolume(num, tags);
+      }
+      if(!r) yymsg(0, "Could not add volume");
+      List_Delete($6);
+      $$.Type = MSH_VOLUME;
+      $$.Num = num;
+    }
+  | tThruSections '(' FExpr ')' tAFFECT ListOfDouble tEND
+    {
+      int num = (int)$3;
+      std::vector<int> wires; ListOfDouble2Vector($6, wires);
+      bool r = true;
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        std::vector<std::pair<int, int> > outDimTags;
+        r = GModel::current()->getOCCInternals()->addThruSections
+          (num, wires, outDimTags, true, false);
+      }
+      else{
+        yymsg(0, "ThruSections only available with OpenCASCADE factory");
+      }
+      if(!r) yymsg(0, "Could not add thrusections");
+      List_Delete($6);
+      $$.Type = MSH_VOLUME;
+      $$.Num = num;
+    }
+  | tRuled tThruSections '(' FExpr ')' tAFFECT ListOfDouble tEND
+    {
+      int num = (int)$4;
+      std::vector<int> wires; ListOfDouble2Vector($7, wires);
+      bool r = true;
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        std::vector<std::pair<int, int> > outDimTags;
+        r = GModel::current()->getOCCInternals()->addThruSections
+          (num, wires, outDimTags, true, true);
+      }
+      else{
+        yymsg(0, "ThruSections only available with OpenCASCADE factory");
+      }
+      if(!r) yymsg(0, "Could not add ruled thrusections");
+      List_Delete($7);
+      $$.Type = MSH_VOLUME;
+      $$.Num = num;
+    }
+  | tCompound tVolume '(' FExpr ')' tAFFECT ListOfDouble tEND
+    {
+      int num = (int)$4;
+      std::vector<int> tags; ListOfDouble2Vector($7, tags);
+      bool r = GModel::current()->getGEOInternals()->addCompoundVolume(num, tags);
+      if(!r) yymsg(0, "Could not add compound volume");
+      List_Delete($7);
+      $$.Type = MSH_VOLUME_COMPOUND;
+      $$.Num = num;
+    }
+  | tPhysical tPoint '(' PhysicalId0 ')' NumericAffectation ListOfDouble tEND
+    {
+      int num = (int)$4;
+      int op = $6;
+      std::vector<int> tags; ListOfDouble2Vector($7, tags);
+      bool r = GModel::current()->getGEOInternals()->modifyPhysicalGroup
+        (0, num, op, tags);
+      if(!r) yymsg(0, "Could not modify physical point");
+      List_Delete($7);
+      $$.Type = MSH_PHYSICAL_POINT;
+      $$.Num = num;
+    }
+  | tPhysical tLine '(' PhysicalId1 ')' NumericAffectation ListOfDouble tEND
+    {
+      int num = (int)$4;
+      int op = $6;
+      std::vector<int> tags; ListOfDouble2Vector($7, tags);
+      bool r = GModel::current()->getGEOInternals()->modifyPhysicalGroup
+        (1, num, op, tags);
+      if(!r) yymsg(0, "Could not modify physical line");
+      List_Delete($7);
+      $$.Type = MSH_PHYSICAL_LINE;
+      $$.Num = num;
+    }
+  | tPhysical tSurface '(' PhysicalId2 ')' NumericAffectation ListOfDouble tEND
+    {
+      int num = (int)$4;
+      int op = $6;
+      std::vector<int> tags; ListOfDouble2Vector($7, tags);
+      bool r = GModel::current()->getGEOInternals()->modifyPhysicalGroup
+        (2, num, op, tags);
+      if(!r) yymsg(0, "Could not modify physical surface");
+      List_Delete($7);
+      $$.Type = MSH_PHYSICAL_SURFACE;
+      $$.Num = num;
+    }
+  | tPhysical tVolume '(' PhysicalId3 ')' NumericAffectation ListOfDouble tEND
+    {
+      int num = (int)$4;
+      int op = $6;
+      std::vector<int> tags; ListOfDouble2Vector($7, tags);
+      bool r = GModel::current()->getGEOInternals()->modifyPhysicalGroup
+        (3, num, op, tags);
+      if(!r) yymsg(0, "Could not modify physical volume");
+      List_Delete($7);
+      $$.Type = MSH_PHYSICAL_VOLUME;
+      $$.Num = num;
+    }
+;
+
+//  T R A N S F O R M
+
+Transform :
+    tTranslate VExpr '{' MultipleShape '}'
+    {
+      std::vector<std::pair<int, int> > dimTags;
+      ListOfShapes2VectorOfPairs($4, dimTags);
+      bool r = true;
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        r = GModel::current()->getOCCInternals()->translate
+          (dimTags, $2[0], $2[1], $2[2]);
+      }
+      else{
+        r = GModel::current()->getGEOInternals()->translate
+          (dimTags, $2[0], $2[1], $2[2]);
+      }
+      if(!r) yymsg(0, "Could not translate shapes");
+      $$ = $4;
+    }
+  | tRotate '{' VExpr ',' VExpr ',' FExpr '}' '{' MultipleShape '}'
+    {
+      std::vector<std::pair<int, int> > dimTags;
+      ListOfShapes2VectorOfPairs($10, dimTags);
+      bool r = true;
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        r = GModel::current()->getOCCInternals()->rotate
+          (dimTags, $5[0], $5[1], $5[2], $3[0], $3[1], $3[2], $7);
+      }
+      else{
+        r = GModel::current()->getGEOInternals()->rotate
+          (dimTags, $5[0], $5[1], $5[2], $3[0], $3[1], $3[2], $7);
+      }
+      if(!r) yymsg(0, "Could not rotate shapes");
+      $$ = $10;
+    }
+  | tSymmetry  VExpr '{' MultipleShape '}'
+    {
+      std::vector<std::pair<int, int> > dimTags;
+      ListOfShapes2VectorOfPairs($4, dimTags);
+      bool r = true;
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        Msg::Error("Symmetry not implemented yet with OpenCASCADE factory");
+      }
+      else{
+        r = GModel::current()->getGEOInternals()->symmetry
+          (dimTags, $2[0], $2[1], $2[2], $2[3]);
+      }
+      if(!r) yymsg(0, "Could not apply symmetry transform");
+      $$ = $4;
+    }
+  | tDilate '{' VExpr ',' FExpr '}' '{' MultipleShape '}'
+    {
+      std::vector<std::pair<int, int> > dimTags;
+      ListOfShapes2VectorOfPairs($8, dimTags);
+      bool r = true;
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        yymsg(1, "Warning Dilate OCC: Dilatation (second argument) + Translation (first argument) ");
+        r = GModel::current()->getOCCInternals()->dilate
+          (dimTags, $3[0], $3[1], $3[2], $5, $5, $5);
+      }
+      else{
+        r = GModel::current()->getGEOInternals()->dilate
+          (dimTags, $3[0], $3[1], $3[2], $5, $5, $5);
+      }
+      if(!r) yymsg(0, "Could not dilate shapes");
+      $$ = $8;
+    }
+  | tDilate '{' VExpr ',' VExpr '}' '{' MultipleShape '}'
+    {
+      std::vector<std::pair<int, int> > dimTags;
+      ListOfShapes2VectorOfPairs($8, dimTags);
+      bool r = true;
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        yymsg(1, "Warning Dilate OCC: Dilatation (second argument) + Translation (first argument) ");
+        r = GModel::current()->getOCCInternals()->dilate
+          (dimTags, $3[0], $3[1], $3[2], $5[0], $5[1], $5[2]);
+      }
+      else{
+        r = GModel::current()->getGEOInternals()->dilate
+          (dimTags, $3[0], $3[1], $3[2], $5[0], $5[1], $5[2]);
+      }
+      if(!r) yymsg(0, "Could not dilate shapes");
+      $$ = $8;
+    }
+  | tSTRING '{' MultipleShape '}'
+    {
+      std::vector<std::pair<int, int> > inDimTags, outDimTags;
+      ListOfShapes2VectorOfPairs($3, inDimTags);
+      $$ = $3;
+      List_Reset($$);
+      std::string action($1);
+      bool r = true;
+      if(action == "Duplicata"){
+        if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+          r = GModel::current()->getOCCInternals()->copy(inDimTags, outDimTags);
+        }
+        else{
+          r = GModel::current()->getGEOInternals()->copy(inDimTags, outDimTags);
+        }
+      }
+      else if(action == "Boundary" || action == "CombinedBoundary"){
+        // boundary operations are performed directly on GModel, which enables
+        // to compute the boundary of hybrid CAD models; this also automatically
+        // binds all boundary entities for OCC models
+        if(GModel::current()->getOCCInternals() &&
+           GModel::current()->getOCCInternals()->getChanged())
+          GModel::current()->getOCCInternals()->synchronize(GModel::current());
+        if(GModel::current()->getGEOInternals()->getChanged())
+          GModel::current()->getGEOInternals()->synchronize(GModel::current());
+        r = GModel::current()->getBoundaryTags
+          (inDimTags, outDimTags, action == "CombinedBoundary");
+      }
+      else{
+        yymsg(0, "Unknown action on multiple shapes '%s'", $1);
+      }
+      if(!r) yymsg(0, "Could not apply operation on shapes");
+      VectorOfPairs2ListOfShapes(outDimTags, $$);
+      Free($1);
+    }
+  | tIntersect tLine '{' RecursiveListOfDouble '}' tSurface '{' FExpr '}'
+    {
+      $$ = List_Create(2, 1, sizeof(Shape));
+      bool r = true;
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        yymsg(0, "Intersect line not available with OpenCASCADE");
+      }
+      else{
+        std::vector<int> in, out; ListOfDouble2Vector($4, in);
+        r = GModel::current()->getGEOInternals()->intersectCurvesWithSurface
+          (in, (int)$8, out);
+        for(unsigned int i = 0; i < out.size(); i++){
+          Shape s;
+          s.Type = MSH_POINT;
+          s.Num = out[i];
+          List_Add($$, &s);
+        }
+      }
+      if(!r) yymsg(0, "Could not intersect line");
+      List_Delete($4);
+    }
+  // syntax is wrong: should use {} around FExpr
+  | tSplit tLine '(' FExpr ')' '{' RecursiveListOfDouble '}' tEND
+    {
+      $$ = List_Create(2, 1, sizeof(Shape));
+      bool r = true;
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        yymsg(0, "Split Line not available with OpenCASCADE");
+      }
+      else{
+        std::vector<int> vertices, curves; ListOfDouble2Vector($7, vertices);
+        r = GModel::current()->getGEOInternals()->splitCurve
+          ((int)$4, vertices, curves);
+        for(unsigned int i = 0; i < curves.size(); i++){
+          Shape s;
+          s.Type = MSH_SEGM_LINE;
+          s.Num = curves[i];
+          List_Add($$, &s);
+        }
+      }
+      if(!r) yymsg(0, "Could not split line");
+      List_Delete($7);
+    }
+;
+
+MultipleShape :
+    ListOfShapes  { $$ = $1; }
+  | Transform     { $$ = $1; }
+;
+
+ListOfShapes :
+    // nothing
+    {
+      $$ = List_Create(3, 3, sizeof(Shape));
+    }
+  | ListOfShapes Shape
+    {
+      List_Add($$, &$2);
+    }
+  | ListOfShapes tPoint '{' RecursiveListOfDouble '}' tEND
+    {
+      for(int i = 0; i < List_Nbr($4); i++){
+	double d;
+	List_Read($4, i, &d);
+	Shape s;
+	s.Num = (int)d;
+        s.Type = MSH_POINT;
+        List_Add($$, &s);
+      }
+    }
+  | ListOfShapes tLine '{' RecursiveListOfDouble '}' tEND
+    {
+      for(int i = 0; i < List_Nbr($4); i++){
+	double d;
+	List_Read($4, i, &d);
+	Shape s;
+	s.Num = (int)d;
+        s.Type = MSH_SEGM_LINE;
+        List_Add($$, &s);
+      }
+    }
+  | ListOfShapes tSurface '{' RecursiveListOfDouble '}' tEND
+    {
+      for(int i = 0; i < List_Nbr($4); i++){
+	double d;
+	List_Read($4, i, &d);
+	Shape s;
+	s.Num = (int)d;
+        s.Type = MSH_SURF_PLAN; // we don't care about the actual type
+        List_Add($$, &s);
+      }
+    }
+  | ListOfShapes tVolume '{' RecursiveListOfDouble '}' tEND
+    {
+      for(int i = 0; i < List_Nbr($4); i++){
+	double d;
+	List_Read($4, i, &d);
+	Shape s;
+	s.Num = (int)d;
+        s.Type = MSH_VOLUME;
+        List_Add($$, &s);
+      }
+    }
+;
+
+//  L E V E L S E T S
+
+LevelSet :
+    tLevelset tPlane '(' FExpr ')' tAFFECT ListOfDouble tEND
+    {
+      if(List_Nbr($7) == 4){
+        int t = (int)$4;
+        if(gLevelset::find(t)){
+	  yymsg(0, "Levelset %d already exists", t);
+        }
+        else {
+          double d[4];
+          for(int i = 0; i < 4; i++)
+            List_Read($7, i, &d[i]);
+          gLevelset *ls = new gLevelsetPlane(d[0], d[1], d[2], d[3], t);
+          gLevelset::add(ls);
+        }
+      }
+      else
+        yymsg(0, "Wrong number of arguments for levelset definition");
+      List_Delete($7);
+    }
+  | tLevelset tPoint '(' FExpr ')' tAFFECT '{' RecursiveListOfListOfDouble '}' tEND
+    {
+      int t = (int)$4;
+      if(gLevelset::find(t)){
+	yymsg(0, "Levelset %d already exists", t);
+      }
+      else {
+	fullMatrix<double> centers(List_Nbr($8),3);
+	for (int i = 0; i < List_Nbr($8); i++){
+	  List_T *l = *(List_T**)List_Pointer($8, i);
+	  for (int j = 0; j < List_Nbr(l); j++){
+	    centers(i,j) = (double)(*(double*)List_Pointer(l, j));
+	  }
+	}
+        gLevelset *ls = new gLevelsetPoints(centers, t);
+        gLevelset::add(ls);
+      }
+      for(int i = 0; i < List_Nbr($8); i++)
+        List_Delete(*(List_T**)List_Pointer($8, i));
+      List_Delete($8);
+    }
+  | tLevelset tPlane '(' FExpr ')' tAFFECT '{' VExpr ',' VExpr ','
+                                               RecursiveListOfDouble '}' tEND
+    {
+      int t = (int)$4;
+      if(gLevelset::find(t)){
+        yymsg(0, "Levelset %d already exists", t);
+      }
+      else {
+        double pt[3] = {$8[0], $8[1], $8[2]};
+        double n[3] = {$10[0], $10[1], $10[2]};
+        gLevelset *ls = new gLevelsetPlane(pt, n, t);
+        gLevelset::add(ls);
+      }
+      List_Delete($12);
+    }
+  | tLevelset tPlane '(' FExpr ')' tAFFECT '{' VExpr ',' VExpr ',' VExpr ','
+                                               RecursiveListOfDouble '}' tEND
+    {
+      int t = (int)$4;
+      if(gLevelset::find(t)){
+        yymsg(0, "Levelset %d already exists", t);
+      }
+      else {
+        double pt1[3] = {$8[0], $8[1], $8[2]};
+        double pt2[3] = {$10[0], $10[1], $10[2]};
+        double pt3[3] = {$12[0], $12[1], $12[2]};
+        gLevelset *ls = new gLevelsetPlane(pt1, pt2, pt3, t);
+        gLevelset::add(ls);
+      }
+      List_Delete($14);
+    }
+  | tLevelset tSphere '(' FExpr ')' tAFFECT '{' VExpr ',' RecursiveListOfDouble '}' tEND
+    {
+      if(List_Nbr($10) == 1){
+        int t = (int)$4;
+        if(gLevelset::find(t)){
+	  yymsg(0, "Levelset %d already exists", t);
+        }
+        else {
+          double d;
+          List_Read($10, 0, &d);
+          gLevelset *ls = new gLevelsetSphere($8[0], $8[1], $8[2], d, t);
+          gLevelset::add(ls);
+        }
+      }
+      else
+        yymsg(0, "Wrong number of arguments for levelset definition");
+      List_Delete($10);
+    }
+  | tLevelset tCylinder '(' FExpr ')' tAFFECT '{' VExpr ',' VExpr ','
+                                                RecursiveListOfDouble '}' tEND
+    {
+      if(List_Nbr($12) == 1){
+        int t = (int)$4;
+        if(gLevelset::find(t)){
+	  yymsg(0, "Levelset %d already exists", t);
+        }
+        else {
+          double d;
+          List_Read($12, 0, &d);
+          double pt[3] = {$8[0], $8[1], $8[2]};
+          double dir[3] = {$10[0], $10[1], $10[2]};
+          gLevelset *ls = new gLevelsetGenCylinder(pt, dir, d, t);
+          gLevelset::add(ls);
+        }
+      }
+      else if(List_Nbr($12) == 2){
+        int t = (int)$4;
+        if(gLevelset::find(t)){
+	  yymsg(0, "Levelset %d already exists", t);
+        }
+        else {
+          double d[2];
+          for(int i = 0; i < 2; i++)
+            List_Read($12, i, &d[i]);
+          double pt[3] = {$8[0], $8[1], $8[2]};
+          double dir[3] = {$10[0], $10[1], $10[2]};
+          gLevelset *ls = new gLevelsetCylinder(pt, dir, d[0], d[1], t);
+          gLevelset::add(ls);
+        }
+      }
+      else if(List_Nbr($12) == 3){
+        int t = (int)$4;
+        if(gLevelset::find(t)){
+	  yymsg(0, "Levelset %d already exists", t);
+        }
+        else {
+          double d[3];
+          for(int i = 0; i < 3; i++)
+            List_Read($12, i, &d[i]);
+          double pt[3] = {$8[0], $8[1], $8[2]};
+          double dir[3] = {$10[0], $10[1], $10[2]};
+          gLevelset *ls = new gLevelsetCylinder(pt, dir, d[0], d[1], d[2], t);
+          gLevelset::add(ls);
+        }
+      }
+      else
+        yymsg(0, "Wrong number of arguments for levelset definition");
+      List_Delete($12);
+    }
+  | tLevelset tCone '(' FExpr ')' tAFFECT '{' VExpr ',' VExpr ','
+                                                RecursiveListOfDouble '}' tEND
+    {
+      if(List_Nbr($12) == 1){
+        int t = (int)$4;
+        if(gLevelset::find(t)){
+	  yymsg(0, "Levelset %d already exists", t);
+        }
+        else {
+          double d;
+          List_Read($12, 0, &d);
+          double pt[3] = {$8[0], $8[1], $8[2]};
+          double dir[3] = {$10[0], $10[1], $10[2]};
+          gLevelset *ls = new gLevelsetCone(pt, dir, d, t);
+          gLevelset::add(ls);
+        }
+      }
+      else
+        yymsg(0, "Wrong number of arguments for levelset definition");
+      List_Delete($12);
+    }
+  | tLevelset tEllipsoid '(' FExpr ')' tAFFECT '{' VExpr ',' VExpr ','
+                                                RecursiveListOfDouble '}' tEND
+    {
+      if(List_Nbr($12) == 3){
+        int t = (int)$4;
+        if(gLevelset::find(t)){
+	  yymsg(0, "Levelset %d already exists", t);
+        }
+        else {
+          double d[3];
+          for(int i = 0; i < 3; i++)
+            List_Read($12, i, &d[i]);
+          double pt[3] = {$8[0], $8[1], $8[2]};
+          double dir[3] = {$10[0], $10[1], $10[2]};
+          gLevelset *ls = new gLevelsetEllipsoid(pt, dir, d[0], d[1], d[2], t);
+          gLevelset::add(ls);
+        }
+      }
+      else
+        yymsg(0, "Wrong number of arguments for levelset definition");
+      List_Delete($12);
+    }
+  | tLevelset tQuadric '(' FExpr ')' tAFFECT '{' VExpr ',' VExpr ','
+                                                RecursiveListOfDouble '}' tEND
+    {
+      if(List_Nbr($12) == 5){
+        int t = (int)$4;
+        if(gLevelset::find(t)){
+	  yymsg(0, "Levelset %d already exists", t);
+        }
+        else {
+          double d[5];
+          for(int i = 0; i < 5; i++)
+            List_Read($12, i, &d[i]);
+          double pt[3] = {$8[0], $8[1], $8[2]};
+          double dir[3] = {$10[0], $10[1], $10[2]};
+          gLevelset *ls = new gLevelsetGeneralQuadric(pt, dir, d[0], d[1],
+                                                      d[2], d[3], d[4], t);
+          gLevelset::add(ls);
+        }
+      }
+      else
+        yymsg(0, "Wrong number of arguments for levelset definition");
+      List_Delete($12);
+    }
+  | tLevelset tSTRING '(' FExpr ')' tAFFECT ListOfDouble tEND
+    {
+      if(!strcmp($2, "Union")){
+        int t = (int)$4;
+        if(gLevelset::find(t)){
+	  yymsg(0, "Levelset %d already exists", t);
+        }
+        else {
+          std::vector<gLevelset *> vl;
+          for(int i = 0; i < List_Nbr($7); i++) {
+            double d; List_Read($7, i, &d);
+            gLevelset *pl = gLevelset::find((int)d);
+	    if(!pl) yymsg(0, "Unknown levelset %d", (int)d);
+            else vl.push_back(pl);
+          }
+          gLevelset *ls = new gLevelsetUnion(vl, true, t);
+          gLevelset::add(ls);
+        }
+      }
+      else if(!strcmp($2, "Intersection")){
+        int t = (int)$4;
+        if(gLevelset::find(t)){
+	  yymsg(0, "Levelset %d already exists", t);
+        }
+        else {
+          std::vector<gLevelset *> vl;
+          for(int i = 0; i < List_Nbr($7); i++) {
+            double d; List_Read($7, i, &d);
+            gLevelset *pl = gLevelset::find((int)d);
+	    if(!pl) yymsg(0, "Unknown levelset %d", (int)d);
+            else vl.push_back(pl);
+          }
+          gLevelset *ls = new gLevelsetIntersection(vl, true, t);
+          gLevelset::add(ls);
+        }
+      }
+      else if(!strcmp($2, "Cut")){
+        int t = (int)$4;
+        if(gLevelset::find(t)){
+	  yymsg(0, "Levelset %d already exists", t);
+        }
+        else {
+          std::vector<gLevelset *> vl;
+          for(int i = 0; i < List_Nbr($7); i++) {
+            double d; List_Read($7, i, &d);
+            gLevelset *pl = gLevelset::find((int)d);
+	    if(!pl) yymsg(0, "Unknown levelset %d", (int)d);
+            else vl.push_back(pl);
+          }
+          gLevelset *ls = new gLevelsetCut(vl, true, t);
+          gLevelset::add(ls);
+        }
+      }
+      else if(!strcmp($2, "Crack")){
+        int t = (int)$4;
+        if(gLevelset::find(t)){
+	  yymsg(0, "Levelset %d already exists", t);
+        }
+        else {
+          std::vector<gLevelset *> vl;
+          for(int i = 0; i < List_Nbr($7); i++) {
+            double d; List_Read($7, i, &d);
+            gLevelset *pl = gLevelset::find((int)d);
+	    if(!pl) yymsg(0, "Unknown levelset %d", (int)d);
+            else vl.push_back(pl);
+          }
+          gLevelset *ls = new gLevelsetCrack(vl, false, t);
+          gLevelset::add(ls);
+        }
+      }
+      else if(!strcmp($2, "Reverse")){
+        int t = (int)$4;
+        if(gLevelset::find(t)){
+	  yymsg(0, "Levelset %d already exists", t);
+        }
+        else {
+          double d;
+          List_Read($7, 0, &d);
+          gLevelset *pl = gLevelset::find((int)d);
+          gLevelset *ls = NULL;
+          if(!pl) yymsg(0, "Unknown levelset %d", (int)d);
+          else ls = new gLevelsetReverse(pl, t);
+          if(ls) gLevelset::add(ls);
+        }
+      }
+#if defined(HAVE_POST)
+      else if(!strcmp($2, "PostView")){
+        int t = (int)$4;
+        if(gLevelset::find(t)){
+	  yymsg(0, "Levelset %d already exists", t);
+        }
+        else {
+          if(List_Nbr($7) > 0){
+            double d; List_Read($7, 0, &d);
+            gLevelset *ls = new gLevelsetPostView((int)d, t);
+            gLevelset::add(ls);
+          }
+        }
+      }
+#endif
+      else
+        yymsg(0, "Wrong number of arguments for levelset definition");
+      Free($2);
+      List_Delete($7);
+    }
+  | tLevelset tSTRING '(' FExpr ')' tAFFECT tBIGSTR tEND
+    {
+      if(!strcmp($2, "MathEval")){
+        int t = (int)$4;
+        if(gLevelset::find(t)){
+	  yymsg(0, "Levelset %d already exists", t);
+        }
+        else {
+          gLevelset *ls = new gLevelsetMathEval($7, t);
+          gLevelset::add(ls);
+        }
+      }
+      else
+        yymsg(0, "Unknown levelset '%s'", $2);
+      Free($2); Free($7);
+    }
+  | tLevelset tSTRING '{' FExpr '}' tEND
+    {
+      if(!strcmp($2, "CutMesh")){
+        int t = (int)$4;
+        if(gLevelset::find(t)){
+          GModel::current()->buildCutGModel(gLevelset::find(t), true, false);
+        }
+        else
+          yymsg(0, "Unknown levelset %d", t);
+      }
+      else if(!strcmp($2, "CutMeshTri")){
+        int t = (int)$4;
+        if(gLevelset::find(t)){
+          GModel::current()->buildCutGModel(gLevelset::find(t), true, true);
+        }
+        else
+          yymsg(0, "Unknown levelset %d", t);
+      }
+      else if(!strcmp($2, "SplitMesh")){
+        int t = (int)$4;
+        if(gLevelset::find(t)){
+          GModel::current()->buildCutGModel(gLevelset::find(t), false, true);
+        }
+        else
+          yymsg(0, "Unknown levelset %d", t);
+      }
+      else
+        yymsg(0, "Unknown levelset '%s'", $2);
+      Free($2);
+    }
+  ;
+
+//  D E L E T E
+
+Delete :
+    tDelete '{' ListOfShapes '}'
+    {
+      std::vector<std::pair<int, int> > dimTags;
+      ListOfShapes2VectorOfPairs($3, dimTags);
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        GModel::current()->getOCCInternals()->remove(dimTags);
+      }
+      GModel::current()->getGEOInternals()->remove(dimTags);
+      GModel::current()->remove(dimTags);
+      List_Delete($3);
+    }
+  | tRecursive tDelete '{' ListOfShapes '}'
+    {
+      std::vector<std::pair<int, int> > dimTags;
+      ListOfShapes2VectorOfPairs($4, dimTags);
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        GModel::current()->getOCCInternals()->remove(dimTags, true);
+      }
+      GModel::current()->getGEOInternals()->remove(dimTags, true);
+      GModel::current()->remove(dimTags, true);
+      List_Delete($4);
+    }
+  | tDelete tField '[' FExpr ']' tEND
+    {
+#if defined(HAVE_MESH)
+      GModel::current()->getFields()->deleteField((int)$4);
+#endif
+    }
+  | tDelete tSTRING '[' FExpr ']' tEND
+    {
+#if defined(HAVE_POST)
+      if(!strcmp($2, "View")){
+	int index = (int)$4;
+	if(index >= 0 && index < (int)PView::list.size())
+	  delete PView::list[index];
+	else
+	  yymsg(0, "Unknown view %d", index);
+      }
+      else
+	yymsg(0, "Unknown command 'Delete %s'", $2);
+#endif
+      Free($2);
+    }
+  | tDelete String__Index tEND
+    {
+      if(!strcmp($2, "Meshes") || !strcmp($2, "All")){
+        ClearProject();
+      }
+      else if(!strcmp($2, "Model")){
+	GModel::current()->destroy(true); // destroy, but keep name/filename
+	GModel::current()->getGEOInternals()->destroy();
+      }
+      else if(!strcmp($2, "Physicals")){
+	GModel::current()->getGEOInternals()->resetPhysicalGroups();
+	GModel::current()->deletePhysicalGroups();
+      }
+      else if(!strcmp($2, "Variables")){
+	gmsh_yysymbols.clear();
+      }
+      else if(!strcmp($2, "Options")){
+        ReInitOptions(0);
+        InitOptionsGUI(0);
+      }
+      else{
+	if(gmsh_yysymbols.count($2))
+	  gmsh_yysymbols.erase($2);
+	else
+	  yymsg(0, "Unknown object or expression to delete '%s'", $2);
+      }
+      Free($2);
+    }
+  | tDelete tSTRING tSTRING tEND
+    {
+#if defined(HAVE_POST)
+      if(!strcmp($2, "Empty") && !strcmp($3, "Views")){
+	for(int i = PView::list.size() - 1; i >= 0; i--)
+	  if(PView::list[i]->getData()->empty()) delete PView::list[i];
+      }
+      else
+	yymsg(0, "Unknown command 'Delete %s %s'", $2, $3);
+#endif
+      Free($2); Free($3);
+    }
+  | tDelete tDefineStruct tEND
+    {
+      nameSpaces.clear();
+    }
+;
+
+//  C O L O R I F Y
+
+Colorify :
+    tColor ColorExpr '{' ListOfShapes '}'
+    {
+      std::vector<std::pair<int, int> > dimTags;
+      ListOfShapes2VectorOfPairs($4, dimTags);
+      setColor(dimTags, $2, false);
+      List_Delete($4);
+    }
+  | tRecursive tColor ColorExpr '{' ListOfShapes '}'
+    {
+      std::vector<std::pair<int, int> > dimTags;
+      ListOfShapes2VectorOfPairs($5, dimTags);
+      setColor(dimTags, $3, true);
+      List_Delete($5);
+    }
+;
+
+//  S E T P A R T I T I O N
+
+SetPartition :
+    tSetPartition FExpr '{' ListOfShapes '}'
+    {
+      std::vector<std::pair<int, int> > dimTags;
+      ListOfShapes2VectorOfPairs($4, dimTags);
+      for(unsigned int i = 0; i < dimTags.size(); i++){
+        GEntity *ge = GModel::current()->getEntityByTag
+          (dimTags[i].first, dimTags[i].second);
+        if(ge){
+          for(unsigned int j = 0; j < ge->getNumMeshElements(); j++)
+            ge->getMeshElement(j)->setPartition((int)$2);
+        }
+      }
+      List_Delete($4);
+    }
+;
+
+//  V I S I B I L I T Y
+
+Visibility :
+    tShow tBIGSTR tEND
+    {
+      std::string what = $2;
+      setVisibility(-1, 1, false);
+      Free($2);
+    }
+  | tHide tBIGSTR tEND
+    {
+      std::string what = $2;
+      setVisibility(-1, 0, false);
+      Free($2);
+    }
+  | tShow '{' ListOfShapes '}'
+    {
+      std::vector<std::pair<int, int> > dimTags;
+      ListOfShapes2VectorOfPairs($3, dimTags);
+      setVisibility(dimTags, 1, false);
+      List_Delete($3);
+    }
+  | tRecursive tShow '{' ListOfShapes '}'
+    {
+      std::vector<std::pair<int, int> > dimTags;
+      ListOfShapes2VectorOfPairs($4, dimTags);
+      setVisibility(dimTags, 1, true);
+      List_Delete($4);
+    }
+  | tHide '{' ListOfShapes '}'
+    {
+      std::vector<std::pair<int, int> > dimTags;
+      ListOfShapes2VectorOfPairs($3, dimTags);
+      setVisibility(dimTags, 0, false);
+      List_Delete($3);
+    }
+  | tRecursive tHide '{' ListOfShapes '}'
+    {
+      std::vector<std::pair<int, int> > dimTags;
+      ListOfShapes2VectorOfPairs($4, dimTags);
+      setVisibility(dimTags, 0, true);
+      List_Delete($4);
+    }
+;
+
+//  C O M M A N D
+
+Command :
+    String__Index StringExpr tEND
+    {
+      if(!strcmp($1, "Include")){
+        std::string tmp = FixRelativePath(gmsh_yyname, $2);
+	Msg::StatusBar(true, "Reading '%s'...", tmp.c_str());
+	// Warning: we explicitly ask ParseFile not to fclose() the included
+        // file, in order to allow user functions definitions in these files.
+        // The files will be closed in the next time OpenFile terminates. If
+        // you need to include many many files and don't have functions in
+        // the files, use "Merge" instead of "Include", as some OSes limit
+        // the number of files a process can open simultaneously. (A better
+        // solution would be to modify FunctionManager to reopen the files
+        // instead of using the FILE pointer...)
+	ParseFile(tmp, false, true);
+	SetBoundingBox();
+	Msg::StatusBar(true, "Done reading '%s'", tmp.c_str());
+      }
+      else if(!strcmp($1, "Print")){
+	// make sure we have the latest data from CAD internals in GModel (fixes
+	// bug where we would have no geometry in the picture if the print
+	// command is in the same file as the geometry)
+        if(GModel::current()->getOCCInternals() &&
+           GModel::current()->getOCCInternals()->getChanged())
+          GModel::current()->getOCCInternals()->synchronize(GModel::current());
+        if(GModel::current()->getGEOInternals()->getChanged())
+          GModel::current()->getGEOInternals()->synchronize(GModel::current());
+        std::string tmp = FixRelativePath(gmsh_yyname, $2);
+	CreateOutputFile(tmp, CTX::instance()->print.fileFormat);
+      }
+      else if(!strcmp($1, "Save")){
+        if(GModel::current()->getOCCInternals() &&
+           GModel::current()->getOCCInternals()->getChanged())
+          GModel::current()->getOCCInternals()->synchronize(GModel::current());
+        if(GModel::current()->getGEOInternals()->getChanged())
+          GModel::current()->getGEOInternals()->synchronize(GModel::current());
+        std::string tmp = FixRelativePath(gmsh_yyname, $2);
+	CreateOutputFile(tmp, CTX::instance()->mesh.fileFormat);
+      }
+      else if(!strcmp($1, "Merge") || !strcmp($1, "MergeWithBoundingBox")){
+	// sync CAD internals here, so that if we e.g. import a STEP file, we
+        // have the correct entity tags and the numberings don't clash
+        if(GModel::current()->getOCCInternals() &&
+           GModel::current()->getOCCInternals()->getChanged())
+          GModel::current()->getOCCInternals()->synchronize(GModel::current());
+        if(GModel::current()->getGEOInternals()->getChanged())
+          GModel::current()->getGEOInternals()->synchronize(GModel::current());
+        std::string tmp = FixRelativePath(gmsh_yyname, $2);
+	MergeFile(tmp, true);
+      }
+      else if(!strcmp($1, "NonBlockingSystemCall")){
+	SystemCall($2);
+      }
+      else if(!strcmp($1, "System") || !strcmp($1, "SystemCall")){
+	SystemCall($2, true);
+      }
+      else if(!strcmp($1, "SetName")){
+	GModel::current()->setName($2);
+      }
+      else if(!strcmp($1, "CreateDir")){
+        std::string tmp = FixRelativePath(gmsh_yyname, $2);
+	CreateSingleDir(tmp);
+      }
+      else if(!strcmp($1, "OnelabRun")){
+        Msg::RunOnelabClient($2);
+      }
+      else if(!strcmp($1, "OptimizeMesh")){
+        GModel::current()->optimizeMesh($2);
+      }
+      else{
+	yymsg(0, "Unknown command '%s'", $1);
+      }
+      Free($1); Free($2);
+    }
+  | tOnelabRun '(' RecursiveListOfStringExprVar ')' tEND
+    {
+      int n = List_Nbr($3);
+      if(n == 1){
+        char *s; List_Read($3, 0, &s);
+        Msg::RunOnelabClient(s);
+        Free(s);
+      }
+      else if(n == 2){
+        char *s, *t; List_Read($3, 0, &s); List_Read($3, 1, &t);
+        Msg::RunOnelabClient(s, t);
+        Free(s); Free(t);
+      }
+      else{
+        yymsg(0, "OnelabRun takes one or two arguments");
+      }
+      List_Delete($3);
+    }
+  | String__Index String__Index '[' FExpr ']' StringExprVar tEND
+    {
+#if defined(HAVE_POST)
+      if(!strcmp($1, "Save") && !strcmp($2, "View")){
+	int index = (int)$4;
+	if(index >= 0 && index < (int)PView::list.size()){
+          std::string tmp = FixRelativePath(gmsh_yyname, $6);
+	  PView::list[index]->write(tmp, CTX::instance()->post.fileFormat);
+	}
+	else
+	  yymsg(0, "Unknown view %d", index);
+      }
+      else
+	yymsg(0, "Unknown command '%s'", $1);
+#endif
+      Free($1); Free($2); Free($6);
+    }
+  | String__Index String__Index String__Index '[' FExpr ']' tEND
+    {
+#if defined(HAVE_POST) && defined(HAVE_MESH)
+      if(!strcmp($1, "Background") && !strcmp($2, "Mesh")  && !strcmp($3, "View")){
+	int index = (int)$5;
+	if(index >= 0 && index < (int)PView::list.size())
+	  GModel::current()->getFields()->setBackgroundMesh(index);
+	else
+	  yymsg(0, "Unknown view %d", index);
+      }
+      else
+	yymsg(0, "Unknown command '%s'", $1);
+#endif
+      Free($1); Free($2); Free($3);
+    }
+  | String__Index FExpr tEND
+    {
+      if(!strcmp($1, "Sleep")){
+	SleepInSeconds($2);
+      }
+      else if(!strcmp($1, "Remesh")){
+	yymsg(0, "Surface remeshing must be reinterfaced");
+      }
+      else if(!strcmp($1, "Mesh")){
+	int lock = CTX::instance()->lock;
+	CTX::instance()->lock = 0;
+        if(GModel::current()->getOCCInternals() &&
+           GModel::current()->getOCCInternals()->getChanged())
+          GModel::current()->getOCCInternals()->synchronize(GModel::current());
+        if(GModel::current()->getGEOInternals()->getChanged())
+          GModel::current()->getGEOInternals()->synchronize(GModel::current());
+	GModel::current()->mesh((int)$2);
+	CTX::instance()->lock = lock;
+      }
+      else if(!strcmp($1, "SetOrder")){
+#if defined(HAVE_MESH)
+        SetOrderN(GModel::current(), $2, CTX::instance()->mesh.secondOrderLinear,
+                  CTX::instance()->mesh.secondOrderIncomplete,
+                  CTX::instance()->mesh.meshOnlyVisible);
+#endif
+      }
+      else if(!strcmp($1, "PartitionMesh")){
+        GModel::current()->partitionMesh($2);
+      }
+      else
+	yymsg(0, "Unknown command '%s'", $1);
+      Free($1);
+    }
+   | tPlugin '(' tSTRING ')' '.' tSTRING tEND
+     {
+#if defined(HAVE_PLUGINS)
+       try {
+	 PluginManager::instance()->action($3, $6, 0);
+       }
+       catch(...) {
+	 yymsg(0, "Unknown action '%s' or plugin '%s'", $6, $3);
+       }
+#endif
+       Free($3); Free($6);
+     }
+   | tCombine tSTRING tEND
+    {
+#if defined(HAVE_POST)
+      if(!strcmp($2, "ElementsFromAllViews"))
+	PView::combine(false, 1, CTX::instance()->post.combineRemoveOrig);
+      else if(!strcmp($2, "ElementsFromVisibleViews"))
+	PView::combine(false, 0, CTX::instance()->post.combineRemoveOrig);
+      else if(!strcmp($2, "ElementsByViewName"))
+	PView::combine(false, 2, CTX::instance()->post.combineRemoveOrig);
+      else if(!strcmp($2, "TimeStepsFromAllViews"))
+	PView::combine(true, 1, CTX::instance()->post.combineRemoveOrig);
+      else if(!strcmp($2, "TimeStepsFromVisibleViews"))
+	PView::combine(true, 0, CTX::instance()->post.combineRemoveOrig);
+      else if(!strcmp($2, "TimeStepsByViewName"))
+	PView::combine(true, 2, CTX::instance()->post.combineRemoveOrig);
+      else if(!strcmp($2, "Views"))
+	PView::combine(false, 1, CTX::instance()->post.combineRemoveOrig);
+      else if(!strcmp($2, "TimeSteps"))
+	PView::combine(true, 2, CTX::instance()->post.combineRemoveOrig);
+      else
+	yymsg(0, "Unknown 'Combine' command");
+#endif
+      Free($2);
+    }
+   | tExit tEND
+    {
+      Msg::Exit(0);
+    }
+   | tAbort tEND
+    {
+      gmsh_yyerrorstate = 999; // this will be checked when yyparse returns
+      YYABORT;
+    }
+   | tSyncModel tEND
+    {
+      // force sync
+      if(GModel::current()->getOCCInternals())
+        GModel::current()->getOCCInternals()->synchronize(GModel::current());
+      GModel::current()->getGEOInternals()->synchronize(GModel::current());
+    }
+   | tNewModel tEND
+    {
+      new GModel();
+      GModel::current(GModel::list.size() - 1);
+    }
+   | tBoundingBox tEND
+    {
+      CTX::instance()->forcedBBox = 0;
+      if(GModel::current()->getOCCInternals() &&
+         GModel::current()->getOCCInternals()->getChanged())
+        GModel::current()->getOCCInternals()->synchronize(GModel::current());
+      if(GModel::current()->getGEOInternals()->getChanged())
+        GModel::current()->getGEOInternals()->synchronize(GModel::current());
+      SetBoundingBox();
+    }
+   | tBoundingBox '{' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr '}' tEND
+    {
+      CTX::instance()->forcedBBox = 1;
+      SetBoundingBox($3, $5, $7, $9, $11, $13);
+    }
+   | tDraw tEND
+    {
+#if defined(HAVE_OPENGL)
+      drawContext::global()->draw();
+#endif
+    }
+   | tSetChanged tEND
+    {
+#if defined(HAVE_OPENGL)
+     CTX::instance()->mesh.changed = ENT_ALL;
+     for(unsigned int index = 0; index < PView::list.size(); index++)
+       PView::list[index]->setChanged(true);
+#endif
+    }
+   | tCreateTopology tEND
+    {
+      GModel::current()->createTopologyFromMesh();
+    }
+   | tCreateTopologyNoHoles tEND
+    {
+      GModel::current()->createTopologyFromMesh(1);
+    }
+   | tRefineMesh tEND
+    {
+      if(GModel::current()->getOCCInternals() &&
+         GModel::current()->getOCCInternals()->getChanged())
+        GModel::current()->getOCCInternals()->synchronize(GModel::current());
+      if(GModel::current()->getGEOInternals()->getChanged())
+        GModel::current()->getGEOInternals()->synchronize(GModel::current());
+      GModel::current()->refineMesh(CTX::instance()->mesh.secondOrderLinear);
+    }
+  | tAdaptMesh '{' RecursiveListOfDouble '}' '{' RecursiveListOfDouble '}'
+               '{' RecursiveListOfListOfDouble '}' '{' FExpr ',' FExpr '}' tEND
+    {
+      int lock = CTX::instance()->lock;
+      CTX::instance()->lock = 0;
+      std::vector<int> technique;
+      for(int i = 0; i < List_Nbr($3); i++){
+        double d;
+        List_Read($3, i, &d);
+        technique.push_back((int)d);
+      }
+      if(technique.empty()){
+        yymsg(0, "Need at least one adaptation technique");
+      }
+      else{
+        std::vector<simpleFunction<double>*> f;
+        for(int i = 0; i < List_Nbr($6); i++){
+          double d;
+          List_Read($6, i, &d);
+          gLevelset *l = gLevelset::find((int)d);
+          if(l) f.push_back(l);
+          else yymsg(0, "Unknown levelset %d", (int)d);
+        }
+        if(technique.size() != f.size()){
+          yymsg(0, "Number of techniques != number of levelsets");
+        }
+        else{
+          if(List_Nbr($9) != (int)f.size()){
+            yymsg(0, "Number of parameters != number of levelsets");
+          }
+          else{
+            std::vector<std::vector<double> > parameters;
+            parameters.resize(List_Nbr($9));
+            for(int i = 0; i < List_Nbr($9); i++){
+              List_T *l = *(List_T**)List_Pointer($9, i);
+              for(int j = 0; j < List_Nbr(l); j++){
+                double d;
+                List_Read(l, j, &d);
+                parameters[i].push_back(d);
+              }
+            }
+            int niter = (int)$12;
+            bool meshAll = ($14 == 0) ? false : true;
+            if(GModel::current()->getOCCInternals() &&
+               GModel::current()->getOCCInternals()->getChanged())
+              GModel::current()->getOCCInternals()->synchronize(GModel::current());
+            if(GModel::current()->getGEOInternals()->getChanged())
+              GModel::current()->getGEOInternals()->synchronize(GModel::current());
+            GModel::current()->adaptMesh(technique, f, parameters, niter, meshAll);
+          }
+        }
+      }
+      List_Delete($3);
+      List_Delete($6);
+      for(int i = 0; i < List_Nbr($9); i++)
+        List_Delete(*(List_T**)List_Pointer($9, i));
+      List_Delete($9);
+      CTX::instance()->lock = lock;
+    }
+;
+
+// S L I D E
+
+Slide :
+     tSlide '(' '{' RecursiveListOfDouble '}' ',' StringExpr ',' StringExpr ')'  tEND
+     {
+#if defined(HAVE_POPPLER)
+       std::vector<int> is;
+       for(int i = 0; i < List_Nbr($4); i++){
+	 double d;
+	 List_Read($4, i, &d);
+	 is.push_back ((int) d);
+       }
+       gmshPopplerWrapper::instance()->setMacroForPages(is, $7, $9 );
+#endif
+     }
+
+// L O O P
+
+Loop :
+    tFor '(' FExpr tDOTS FExpr ')'
+    {
+      LoopControlVariablesTab[ImbricatedLoop][0] = $3;
+      LoopControlVariablesTab[ImbricatedLoop][1] = $5;
+      LoopControlVariablesTab[ImbricatedLoop][2] = 1.0;
+      LoopControlVariablesNameTab[ImbricatedLoop] = "";
+      gmshgetpos(gmsh_yyin, &yyposImbricatedLoopsTab[ImbricatedLoop]);
+      yylinenoImbricatedLoopsTab[ImbricatedLoop] = gmsh_yylineno;
+      if($3 > $5)
+	skip("For", "EndFor");
+      else
+	ImbricatedLoop++;
+      if(ImbricatedLoop > MAX_RECUR_LOOPS - 1){
+	yymsg(0, "Reached maximum number of imbricated loops");
+	ImbricatedLoop = MAX_RECUR_LOOPS - 1;
+      }
+    }
+  | tFor '(' FExpr tDOTS FExpr tDOTS FExpr ')'
+    {
+      LoopControlVariablesTab[ImbricatedLoop][0] = $3;
+      LoopControlVariablesTab[ImbricatedLoop][1] = $5;
+      LoopControlVariablesTab[ImbricatedLoop][2] = $7;
+      LoopControlVariablesNameTab[ImbricatedLoop] = "";
+      gmshgetpos(gmsh_yyin, &yyposImbricatedLoopsTab[ImbricatedLoop]);
+      yylinenoImbricatedLoopsTab[ImbricatedLoop] = gmsh_yylineno;
+      if(($7 > 0. && $3 > $5) || ($7 < 0. && $3 < $5))
+	skip("For", "EndFor");
+      else
+	ImbricatedLoop++;
+      if(ImbricatedLoop > MAX_RECUR_LOOPS - 1){
+	yymsg(0, "Reached maximum number of imbricated loops");
+	ImbricatedLoop = MAX_RECUR_LOOPS - 1;
+      }
+    }
+  | tFor tSTRING tIn '{' FExpr tDOTS FExpr '}'
+    {
+      LoopControlVariablesTab[ImbricatedLoop][0] = $5;
+      LoopControlVariablesTab[ImbricatedLoop][1] = $7;
+      LoopControlVariablesTab[ImbricatedLoop][2] = 1.0;
+      LoopControlVariablesNameTab[ImbricatedLoop] = $2;
+      gmsh_yysymbol &s(gmsh_yysymbols[$2]);
+      s.list = false;
+      s.value.resize(1);
+      s.value[0] = $5;
+      gmshgetpos(gmsh_yyin, &yyposImbricatedLoopsTab[ImbricatedLoop]);
+      yylinenoImbricatedLoopsTab[ImbricatedLoop] = gmsh_yylineno;
+      if($5 > $7)
+	skip("For", "EndFor");
+      else
+	ImbricatedLoop++;
+      if(ImbricatedLoop > MAX_RECUR_LOOPS - 1){
+	yymsg(0, "Reached maximum number of imbricated loops");
+	ImbricatedLoop = MAX_RECUR_LOOPS - 1;
+      }
+      Free($2);
+    }
+  | tFor tSTRING tIn '{' FExpr tDOTS FExpr tDOTS FExpr '}'
+    {
+      LoopControlVariablesTab[ImbricatedLoop][0] = $5;
+      LoopControlVariablesTab[ImbricatedLoop][1] = $7;
+      LoopControlVariablesTab[ImbricatedLoop][2] = $9;
+      LoopControlVariablesNameTab[ImbricatedLoop] = $2;
+      gmsh_yysymbol &s(gmsh_yysymbols[$2]);
+      s.list = false;
+      s.value.resize(1);
+      s.value[0] = $5;
+      gmshgetpos(gmsh_yyin, &yyposImbricatedLoopsTab[ImbricatedLoop]);
+      yylinenoImbricatedLoopsTab[ImbricatedLoop] = gmsh_yylineno;
+      if(($9 > 0. && $5 > $7) || ($9 < 0. && $5 < $7))
+	skip("For", "EndFor");
+      else
+	ImbricatedLoop++;
+      if(ImbricatedLoop > MAX_RECUR_LOOPS - 1){
+	yymsg(0, "Reached maximum number of imbricated loops");
+	ImbricatedLoop = MAX_RECUR_LOOPS - 1;
+      }
+      Free($2);
+    }
+  | tEndFor
+    {
+      if(ImbricatedLoop <= 0){
+	yymsg(0, "Invalid For/EndFor loop");
+	ImbricatedLoop = 0;
+      }
+      else{
+	double step = LoopControlVariablesTab[ImbricatedLoop - 1][2];
+        std::string name = LoopControlVariablesNameTab[ImbricatedLoop - 1];
+        if(name.size()){
+          if(!gmsh_yysymbols.count(name))
+            yymsg(0, "Unknown loop variable '%s'", name.c_str());
+          else{
+            gmsh_yysymbol &s(gmsh_yysymbols[name]);
+            if(!s.list && s.value.size()){
+              s.value[0] += step;
+              LoopControlVariablesTab[ImbricatedLoop - 1][0] = s.value[0];
+            }
+            else
+              yymsg(0, "Bad loop variable %s", name.c_str());
+          }
+        }
+        else{
+          LoopControlVariablesTab[ImbricatedLoop - 1][0] += step;
+        }
+	double x0 = LoopControlVariablesTab[ImbricatedLoop - 1][0];
+	double x1 = LoopControlVariablesTab[ImbricatedLoop - 1][1];
+        if((step > 0. && x0 <= x1) || (step < 0. && x0 >= x1)){
+	  gmshsetpos(gmsh_yyin, &yyposImbricatedLoopsTab[ImbricatedLoop - 1]);
+	  gmsh_yylineno = yylinenoImbricatedLoopsTab[ImbricatedLoop - 1];
+	}
+	else
+	  ImbricatedLoop--;
+      }
+    }
+  | tMacro tSTRING
+    {
+      if(!FunctionManager::Instance()->createFunction
+         (std::string($2), gmsh_yyin, gmsh_yyname, gmsh_yylineno))
+	yymsg(0, "Redefinition of function %s", $2);
+      skip(NULL, "Return");
+      Free($2);
+    }
+  | tMacro StringExpr
+    {
+      if(!FunctionManager::Instance()->createFunction
+         (std::string($2), gmsh_yyin, gmsh_yyname, gmsh_yylineno))
+	yymsg(0, "Redefinition of function %s", $2);
+      skip(NULL, "Return");
+      Free($2);
+    }
+  | tReturn
+    {
+      if(!FunctionManager::Instance()->leaveFunction
+         (&gmsh_yyin, gmsh_yyname, gmsh_yylineno))
+	yymsg(0, "Error while exiting function");
+    }
+  | tCall String__Index tEND
+    {
+      if(!FunctionManager::Instance()->enterFunction
+         (std::string($2), &gmsh_yyin, gmsh_yyname, gmsh_yylineno))
+	yymsg(0, "Unknown function '%s'", $2);
+      Free($2);
+    }
+  | tCall StringExpr tEND
+    {
+      if(!FunctionManager::Instance()->enterFunction
+         (std::string($2), &gmsh_yyin, gmsh_yyname, gmsh_yylineno))
+	yymsg(0, "Unknown function '%s'", $2);
+      Free($2);
+    }
+  | tIf '(' FExpr ')'
+    {
+      ImbricatedTest++;
+      if(ImbricatedTest > MAX_RECUR_TESTS-1){
+	yymsg(0, "Reached maximum number of imbricated tests");
+        ImbricatedTest = MAX_RECUR_TESTS-1;
+      }
+
+      if($3){
+        // Current test is true
+        statusImbricatedTests[ImbricatedTest] = 1;
+      }
+      else{
+        statusImbricatedTests[ImbricatedTest] = 0;
+        // Go after the next ElseIf or Else or EndIf
+        int type_until2 = 0;
+        skipTest("If", "EndIf", "ElseIf", 4, &type_until2);
+        if(!type_until2) ImbricatedTest--; // EndIf reached
+      }
+    }
+  | tElseIf '(' FExpr ')'
+    {
+      if(ImbricatedTest > 0){
+        if (statusImbricatedTests[ImbricatedTest]){
+          // Last test (If or ElseIf) was true, thus go after EndIf (out of If EndIf)
+          skip("If", "EndIf");
+          ImbricatedTest--;
+        }
+        else{
+          // Previous test(s) (If and ElseIf) not yet true
+          if($3){
+            statusImbricatedTests[ImbricatedTest] = 1;
+          }
+          else{
+            // Current test still not true: statusImbricatedTests[ImbricatedTest] = 0;
+            // Go after the next ElseIf or Else or EndIf
+            int type_until2 = 0;
+            skipTest("If", "EndIf", "ElseIf", 4, &type_until2);
+            if(!type_until2) ImbricatedTest--;
+          }
+        }
+      }
+      else{
+	yymsg(0, "Orphan ElseIf");
+      }
+    }
+  | tElse
+    {
+      if(ImbricatedTest > 0){
+        if(statusImbricatedTests[ImbricatedTest]){
+          skip("If", "EndIf");
+          ImbricatedTest--;
+        }
+      }
+      else{
+	yymsg(0, "Orphan Else");
+      }
+    }
+  | tEndIf
+    {
+      ImbricatedTest--;
+      if(ImbricatedTest < 0)
+        yymsg(1, "Orphan EndIf");
+    }
+;
+
+
+//  E X T R U D E
+
+Extrude :
+    tExtrude VExpr '{' ListOfShapes '}'
+    {
+      std::vector<std::pair<int, int> > inDimTags, outDimTags;
+      ListOfShapes2VectorOfPairs($4, inDimTags);
+      bool r = true;
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        r = GModel::current()->getOCCInternals()->extrude
+          (inDimTags, $2[0], $2[1], $2[2], outDimTags);
+      }
+      else{
+        r = GModel::current()->getGEOInternals()->extrude
+          (inDimTags, $2[0], $2[1], $2[2], outDimTags);
+      }
+      if(!r) yymsg(0, "Could not extrude shapes");
+      $$ = $4;
+      List_Reset($$);
+      VectorOfPairs2ListOfShapes(outDimTags, $$);
+    }
+  | tExtrude '{' VExpr ',' VExpr ',' FExpr '}' '{' ListOfShapes '}'
+    {
+      std::vector<std::pair<int, int> > inDimTags, outDimTags;
+      ListOfShapes2VectorOfPairs($10, inDimTags);
+      bool r = true;
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        r = GModel::current()->getOCCInternals()->revolve
+          (inDimTags, $5[0], $5[1], $5[2], $3[0], $3[1], $3[2], $7, outDimTags);
+      }
+      else{
+        r = GModel::current()->getGEOInternals()->revolve
+          (inDimTags, $5[0], $5[1], $5[2], $3[0], $3[1], $3[2], $7, outDimTags);
+      }
+      if(!r) yymsg(0, "Could not extrude shapes");
+      $$ = $10;
+      List_Reset($$);
+      VectorOfPairs2ListOfShapes(outDimTags, $$);
+    }
+  | tExtrude '{' VExpr ',' VExpr ',' VExpr ',' FExpr '}' '{' ListOfShapes '}'
+    {
+      std::vector<std::pair<int, int> > inDimTags, outDimTags;
+      ListOfShapes2VectorOfPairs($12, inDimTags);
+      bool r = true;
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        yymsg(0, "Twisting extrude not available with OpenCASCADE factory");
+      }
+      else{
+        r = GModel::current()->getGEOInternals()->twist
+          (inDimTags, $7[0], $7[1], $7[2], $3[0], $3[1], $3[2], $5[0], $5[1], $5[2],
+           $9, outDimTags);
+      }
+      if(!r) yymsg(0, "Could not extrude shapes");
+      $$ = $12;
+      List_Reset($$);
+      VectorOfPairs2ListOfShapes(outDimTags, $$);
+    }
+  | tExtrude VExpr '{' ListOfShapes
+    {
+      extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false;
+      extr.mesh.QuadToTri = NO_QUADTRI;
+      extr.mesh.ScaleLast = false;
+    }
+                       ExtrudeParameters '}'
+    {
+      std::vector<std::pair<int, int> > inDimTags, outDimTags;
+      ListOfShapes2VectorOfPairs($4, inDimTags);
+      bool r = true;
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        r = GModel::current()->getOCCInternals()->extrude
+          (inDimTags, $2[0], $2[1], $2[2], outDimTags, &extr);
+      }
+      else{
+        r = GModel::current()->getGEOInternals()->extrude
+          (inDimTags, $2[0], $2[1], $2[2], outDimTags, &extr);
+      }
+      if(!r) yymsg(0, "Could not extrude shapes");
+      $$ = $4;
+      List_Reset($$);
+      VectorOfPairs2ListOfShapes(outDimTags, $$);
+    }
+  | tExtrude '{' VExpr ',' VExpr ',' FExpr '}' '{' ListOfShapes
+    {
+      extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false;
+      extr.mesh.QuadToTri = NO_QUADTRI;
+      extr.mesh.ScaleLast = false;
+    }
+                                                   ExtrudeParameters '}'
+    {
+      std::vector<std::pair<int, int> > inDimTags, outDimTags;
+      ListOfShapes2VectorOfPairs($10, inDimTags);
+      bool r = true;
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        r = GModel::current()->getOCCInternals()->revolve
+          (inDimTags, $5[0], $5[1], $5[2], $3[0], $3[1], $3[2], $7, outDimTags,
+           &extr);
+      }
+      else{
+        r = GModel::current()->getGEOInternals()->revolve
+          (inDimTags, $5[0], $5[1], $5[2], $3[0], $3[1], $3[2], $7, outDimTags,
+           &extr);
+      }
+      if(!r) yymsg(0, "Could not extrude shapes");
+      $$ = $10;
+      List_Reset($$);
+      VectorOfPairs2ListOfShapes(outDimTags, $$);
+    }
+  | tExtrude '{' VExpr ',' VExpr ',' VExpr ',' FExpr '}' '{' ListOfShapes
+    {
+      extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false;
+      extr.mesh.QuadToTri = NO_QUADTRI;
+      extr.mesh.ScaleLast = false;
+    }
+                                                             ExtrudeParameters '}'
+    {
+      std::vector<std::pair<int, int> > inDimTags, outDimTags;
+      ListOfShapes2VectorOfPairs($12, inDimTags);
+      bool r = true;
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        yymsg(0, "Twisting extrude not available with OpenCASCADE factory");
+      }
+      else{
+        r = GModel::current()->getGEOInternals()->twist
+          (inDimTags, $7[0], $7[1], $7[2], $3[0], $3[1], $3[2], $5[0], $5[1], $5[2],
+           $9,  outDimTags, &extr);
+      }
+      if(!r) yymsg(0, "Could not extrude shapes");
+      $$ = $12;
+      List_Reset($$);
+      VectorOfPairs2ListOfShapes(outDimTags, $$);
+    }
+  | tExtrude '{' ListOfShapes
+    {
+      extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false;
+      extr.mesh.QuadToTri = NO_QUADTRI;
+      extr.mesh.ScaleLast = false;
+    }
+                       ExtrudeParameters '}'
+    {
+      std::vector<std::pair<int, int> > inDimTags, outDimTags;
+      ListOfShapes2VectorOfPairs($3, inDimTags);
+      bool r = true;
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        yymsg(0, "Boundary layer extrusion not available with OpenCASCADE factory");
+      }
+      else{
+        r = GModel::current()->getGEOInternals()->boundaryLayer
+          (inDimTags, outDimTags, &extr);
+      }
+      if(!r) yymsg(0, "Could not extrude shapes");
+      $$ = $3;
+      List_Reset($$);
+      VectorOfPairs2ListOfShapes(outDimTags, $$);
+    }
+  | tExtrude '{' ListOfShapes '}' tUsing tWire '{' FExpr '}'
+    {
+      std::vector<std::pair<int, int> > inDimTags, outDimTags;
+      ListOfShapes2VectorOfPairs($3, inDimTags);
+      bool r = true;
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        r = GModel::current()->getOCCInternals()->addPipe(inDimTags, (int)$8, outDimTags);
+      }
+      else{
+        yymsg(0, "Pipe only available with OpenCASCADE factory");
+      }
+      if(!r) yymsg(0, "Could not extrude shapes");
+      $$ = $3;
+      List_Reset($$);
+      VectorOfPairs2ListOfShapes(outDimTags, $$);
+    }
+  | tThruSections ListOfDouble
+    {
+      $$ = List_Create(2, 1, sizeof(Shape));
+      bool r = true;
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        std::vector<int> wires; ListOfDouble2Vector($2, wires);
+        std::vector<std::pair<int, int> > outDimTags;
+        r = GModel::current()->getOCCInternals()->addThruSections
+          (-1, wires, outDimTags, false, false);
+        VectorOfPairs2ListOfShapes(outDimTags, $$);
+      }
+      else{
+        yymsg(0, "ThruSections only available with OpenCASCADE factory");
+      }
+      if(!r) yymsg(0, "Could not add thrusections");
+      List_Delete($2);
+    }
+  | tRuled tThruSections ListOfDouble
+    {
+      $$ = List_Create(2, 1, sizeof(Shape));
+      bool r = true;
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        std::vector<int> wires; ListOfDouble2Vector($3, wires);
+        std::vector<std::pair<int, int> > outDimTags;
+        r = GModel::current()->getOCCInternals()->addThruSections
+          (-1, wires, outDimTags, false, true);
+        VectorOfPairs2ListOfShapes(outDimTags, $$);
+      }
+      else{
+        yymsg(0, "ThruSections only available with OpenCASCADE factory");
+      }
+      if(!r) yymsg(0, "Could not add ruled thrusections");
+      List_Delete($3);
+    }
+  | tFillet '{' RecursiveListOfDouble '}' '{' RecursiveListOfDouble '}' '{' FExpr '}'
+    {
+      $$ = List_Create(2, 1, sizeof(Shape));
+      bool r = true;
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        double radius = $9;
+        std::vector<int> regions, edges;
+        ListOfDouble2Vector($3, regions); ListOfDouble2Vector($6, edges);
+        std::vector<std::pair<int, int> > outDimTags;
+        r = GModel::current()->getOCCInternals()->fillet
+          (regions, edges, radius, outDimTags);
+        VectorOfPairs2ListOfShapes(outDimTags, $$);
+      }
+      else{
+        yymsg(0, "Fillet only available with OpenCASCADE factory");
+      }
+      if(!r) yymsg(0, "Could not fillet shapes");
+      List_Delete($3);
+      List_Delete($6);
+    }
+;
+
+ExtrudeParameters :
+    ExtrudeParameter
+    {
+    }
+  | ExtrudeParameters ExtrudeParameter
+    {
+    }
+;
+
+ExtrudeParameter :
+    tLayers '{' FExpr '}' tEND
+    {
+      int n = (int)fabs($3);
+      if(n){ // we accept n==0 to easily disable layers
+        extr.mesh.ExtrudeMesh = true;
+        extr.mesh.NbLayer = 1;
+        extr.mesh.NbElmLayer.clear();
+        extr.mesh.hLayer.clear();
+        extr.mesh.NbElmLayer.push_back((int)fabs($3));
+        extr.mesh.hLayer.push_back(1.);
+      }
+    }
+  | tLayers '{' ListOfDouble ',' ListOfDouble '}' tEND
+    {
+      extr.mesh.ExtrudeMesh = true;
+      extr.mesh.NbLayer = List_Nbr($3);
+      if(List_Nbr($3) == List_Nbr($5)){
+	extr.mesh.NbElmLayer.clear();
+	extr.mesh.hLayer.clear();
+	for(int i = 0; i < List_Nbr($3); i++){
+	  double d;
+	  List_Read($3, i, &d);
+	  extr.mesh.NbElmLayer.push_back((d > 0) ? (int)d : 1);
+	  List_Read($5, i, &d);
+	  extr.mesh.hLayer.push_back(d);
+	}
+      }
+      else
+	yymsg(0, "Wrong layer definition {%d, %d}", List_Nbr($3), List_Nbr($5));
+      List_Delete($3);
+      List_Delete($5);
+    }
+  | tScaleLast tEND
+    {
+      extr.mesh.ScaleLast = true;
+    }
+  | tRecombine tEND
+    {
+      extr.mesh.Recombine = true;
+    }
+  | tRecombine FExpr tEND
+    {
+      extr.mesh.Recombine = $2 ? true : false;
+    }
+  | tQuadTriAddVerts tEND
+    {
+      extr.mesh.QuadToTri = QUADTRI_ADDVERTS_1;
+    }
+  | tQuadTriAddVerts tRecombLaterals tEND
+    {
+      extr.mesh.QuadToTri = QUADTRI_ADDVERTS_1_RECOMB;
+    }
+  | tQuadTriNoNewVerts tEND
+    {
+      extr.mesh.QuadToTri = QUADTRI_NOVERTS_1;
+    }
+  | tQuadTriNoNewVerts tRecombLaterals tEND
+    {
+      extr.mesh.QuadToTri = QUADTRI_NOVERTS_1_RECOMB;
+    }
+  | tHole '(' FExpr ')' tAFFECT ListOfDouble tUsing FExpr tEND
+    {
+      std::vector<int> tags; ListOfDouble2Vector($6, tags);
+      int num = (int)$3;
+      GModel::current()->getGEOInternals()->addDiscreteSurface(num);
+      extr.mesh.Holes[num].first = $8;
+      extr.mesh.Holes[num].second = tags;
+      List_Delete($6);
+    }
+  | tUsing tSTRING '[' FExpr ']' tEND
+    {
+      if(!strcmp($2, "Index"))
+        extr.mesh.BoundaryLayerIndex = $4;
+      else if(!strcmp($2, "View"))
+        extr.mesh.ViewIndex = $4;
+      Free($2);
+    }
+;
+
+//  B O O L E A N
+
+BooleanOperator :
+    tBooleanUnion { $$ = OCC_Internals::Union; }
+  | tBooleanIntersection { $$ = OCC_Internals::Intersection; }
+  | tBooleanDifference { $$ = OCC_Internals::Difference; }
+  | tBooleanSection { $$ = OCC_Internals::Section; }
+  | tBooleanFragments { $$ = OCC_Internals::Fragments; }
+;
+
+BooleanOption :
+  { $$ = 0; }
+  | tDelete tEND { $$ = 1; }
+  | tRecursive tDelete tEND { $$ = 2; }
+  | tDelete FExpr tEND { $$ = $2 ? 1 : 0; }
+  | tRecursive tDelete FExpr tEND { $$ = $3 ? 2 : 0; }
+
+Boolean :
+    BooleanOperator '{' ListOfShapes BooleanOption '}'
+                    '{' ListOfShapes BooleanOption '}'
+    {
+      $$ = List_Create(2, 1, sizeof(Shape));
+      bool r = true;
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        std::vector<std::pair<int, int > > object, tool, out;
+        ListOfShapes2VectorOfPairs($3, object);
+        ListOfShapes2VectorOfPairs($7, tool);
+        // currently we don't distinguish between Delete and Recursive Delete:
+        // we always delete recursively. Let us know if you have examples where
+        // having the choice would be interesting
+        r = GModel::current()->getOCCInternals()->applyBooleanOperator
+          (-1, (OCC_Internals::BooleanOperator)$1, object, tool, out, $4, $8);
+        VectorOfPairs2ListOfShapes(out, $$);
+      }
+      else{
+        yymsg(0, "Boolean operators only available with OpenCASCADE factory");
+      }
+      if(!r) yymsg(0, "Could not apply boolean operator");
+      List_Delete($3);
+      List_Delete($7);
+    }
+  | tShapeFromFile '(' StringExprVar ')'
+    {
+      $$ = List_Create(2, 1, sizeof(Shape));
+      bool r = true;
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        std::vector<std::pair<int, int> > out;
+        std::string tmp = FixRelativePath(gmsh_yyname, $3);
+        GModel::current()->getOCCInternals()->importShapes(tmp, true, out);
+        VectorOfPairs2ListOfShapes(out, $$);
+      }
+      else{
+        yymsg(0, "ShapeFromFile only available with OpenCASCADE factory");
+      }
+      if(!r) yymsg(0, "Could import shape");
+      Free($3);
+    }
+;
+
+BooleanShape :
+    BooleanOperator '(' FExpr ')' tAFFECT '{' ListOfShapes BooleanOption '}'
+                                          '{' ListOfShapes BooleanOption '}' tEND
+    {
+      bool r = true;
+      if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
+        std::vector<std::pair<int, int> > object, tool, out;
+        ListOfShapes2VectorOfPairs($7, object);
+        ListOfShapes2VectorOfPairs($11, tool);
+        // currently we don't distinguish between Delete and Recursive Delete:
+        // we always delete recursively. Let us know if you have examples where
+        // having the choice would be interesting
+        r = GModel::current()->getOCCInternals()->applyBooleanOperator
+          ((int)$3, (OCC_Internals::BooleanOperator)$1, object, tool, out, $8, $12);
+      }
+      if(!r) yymsg(0, "Could not apply boolean operator");
+      List_Delete($7);
+      List_Delete($11);
+    }
+
+//  M E S H I N G   C O N S T R A I N T S   ( T R A N S F I N I T E ,   . . . )
+
+TransfiniteType :
+    {
+      $$[0] = $$[1] = 1.;
+    }
+  | tUsing tSTRING FExpr
+    {
+      if(!strcmp($2, "Progression") || !strcmp($2, "Power"))
+        $$[0] = 1.;
+      else if(!strcmp($2, "Bump"))
+        $$[0] = 2.;
+      else{
+        yymsg(0, "Unknown transfinite mesh type");
+        $$[0] = 1.;
+      }
+      $$[1] = $3;
+      Free($2);
+    }
+;
+
+TransfiniteArrangement :
+    {
+      $$ = -1; // left
+    }
+  | tSTRING
+    {
+      if(!strcmp($1, "Right"))
+        $$ = 1;
+      else if(!strcmp($1, "Left"))
+	$$ = -1;
+      else if(!strcmp($1, "AlternateRight"))
+	$$ = 2;
+      else if(!strcmp($1, "AlternateLeft"))
+	$$ = -2;
+      else // "Alternate" -> "Alternate Right"
+	$$ = 2;
+      Free($1);
+    }
+;
+
+TransfiniteCorners :
+   {
+     $$ = List_Create(1, 1, sizeof(double));
+   }
+ | tAFFECT ListOfDouble
+   {
+     $$ = $2;
+   }
+
+RecombineAngle :
+    {
+      $$ = 45;
+    }
+  | tAFFECT FExpr
+    {
+      $$ = (int)$2;
+    }
+;
+
+PeriodicTransform :
+    {
+      $$ = List_Create(1, 1, sizeof(double));
+    }
+  | tAffine ListOfDouble
+    {
+      $$ = $2;
+    }
+;
+
+Constraints :
+    tCharacteristic tLength ListOfDouble tAFFECT FExpr tEND
+    {
+      // mesh sizes at vertices are stored in internal CAD data, as they can be
+      // specified during vertex creation and copied around during CAD
+      // operations
+      for(int i = 0; i < List_Nbr($3); i++){
+	double d;
+	List_Read($3, i, &d);
+        int tag = (int)d;
+        if(GModel::current()->getOCCInternals())
+          GModel::current()->getOCCInternals()->setMeshSize(0, tag, $5);
+        GModel::current()->getGEOInternals()->setMeshSize(0, tag, $5);
+        GVertex *gv = GModel::current()->getVertexByTag(tag);
+        if(gv) gv->setPrescribedMeshSizeAtVertex($5);
+      }
+      List_Delete($3);
+    }
+  | tTransfinite tLine ListOfDoubleOrAll tAFFECT FExpr TransfiniteType tEND
+    {
+      // transfinite constraints are stored in GEO internals in addition to
+      // GModel, as they can be copied around during GEO operations
+      if(GModel::current()->getOCCInternals() &&
+         GModel::current()->getOCCInternals()->getChanged())
+        GModel::current()->getOCCInternals()->synchronize(GModel::current());
+      int type = (int)$6[0];
+      double coef = fabs($6[1]);
+      int npoints = ((int)$5 < 2) ? 2 : (int)$5;
+      if(!$3){
+        GModel::current()->getGEOInternals()->setTransfiniteLine
+          (0, npoints, type, coef);
+        for(GModel::eiter it = GModel::current()->firstEdge();
+            it != GModel::current()->lastEdge(); it++){
+          (*it)->meshAttributes.method = MESH_TRANSFINITE;
+          (*it)->meshAttributes.nbPointsTransfinite = npoints;
+          (*it)->meshAttributes.typeTransfinite = type;
+          (*it)->meshAttributes.coeffTransfinite = coef;
+        }
+      }
+      else{
+        for(int i = 0; i < List_Nbr($3); i++){
+          double d;
+          List_Read($3, i, &d);
+          int j = (int)fabs(d);
+          for(int sig = -1; sig <= 1; sig += 2){
+            GModel::current()->getGEOInternals()->setTransfiniteLine
+              (sig * j, npoints, type * gmsh_sign(d), coef);
+            GEdge *ge = GModel::current()->getEdgeByTag(sig * j);
+            if(ge){
+              ge->meshAttributes.method = MESH_TRANSFINITE;
+              ge->meshAttributes.nbPointsTransfinite = npoints;
+              ge->meshAttributes.typeTransfinite = type * gmsh_sign(d);
+              ge->meshAttributes.coeffTransfinite = coef;
+            }
+          }
+        }
+        List_Delete($3);
+      }
+    }
+  | tTransfinite tSurface ListOfDoubleOrAll TransfiniteCorners TransfiniteArrangement tEND
+    {
+      // transfinite constraints are stored in GEO internals in addition to
+      // GModel, as they can be copied around during GEO operations
+      if(GModel::current()->getOCCInternals() &&
+         GModel::current()->getOCCInternals()->getChanged())
+        GModel::current()->getOCCInternals()->synchronize(GModel::current());
+      std::vector<int> corners; ListOfDouble2Vector($4, corners);
+      if(!$3){
+        GModel::current()->getGEOInternals()->setTransfiniteSurface(0, $5, corners);
+        for(GModel::fiter it = GModel::current()->firstFace();
+            it != GModel::current()->lastFace(); it++){
+          (*it)->meshAttributes.method = MESH_TRANSFINITE;
+          (*it)->meshAttributes.transfiniteArrangement = $5;
+        }
+      }
+      else{
+        for(int i = 0; i < List_Nbr($3); i++){
+          double d;
+          List_Read($3, i, &d);
+          int tag = (int)d;
+          GModel::current()->getGEOInternals()->setTransfiniteSurface(tag, $5, corners);
+          GFace *gf = GModel::current()->getFaceByTag(tag);
+          if(gf){
+            gf->meshAttributes.method = MESH_TRANSFINITE;
+            gf->meshAttributes.transfiniteArrangement = $5;
+            if(corners.empty() || corners.size() == 3 || corners.size() == 4){
+              for(unsigned int j = 0; j < corners.size(); j++){
+                GVertex *gv = GModel::current()->getVertexByTag(corners[j]);
+                if(gv)
+                  gf->meshAttributes.corners.push_back(gv);
+                else
+                  yymsg(0, "Unknown model vertex with tag %d", corners[j]);
+              }
+            }
+            else{
+              yymsg(0, "Transfinite surface requires 3 or 4 corners vertices");
+            }
+          }
+        }
+        List_Delete($3);
+      }
+      List_Delete($4);
+    }
+  | tTransfinite tVolume ListOfDoubleOrAll TransfiniteCorners tEND
+    {
+      // transfinite constraints are stored in GEO internals in addition to
+      // GModel, as they can be copied around during GEO operations
+      if(GModel::current()->getOCCInternals() &&
+         GModel::current()->getOCCInternals()->getChanged())
+        GModel::current()->getOCCInternals()->synchronize(GModel::current());
+      std::vector<int> corners; ListOfDouble2Vector($4, corners);
+      if(!$3){
+        GModel::current()->getGEOInternals()->setTransfiniteVolume(0, corners);
+        for(GModel::riter it = GModel::current()->firstRegion();
+            it != GModel::current()->lastRegion(); it++){
+          (*it)->meshAttributes.method = MESH_TRANSFINITE;
+        }
+      }
+      else{
+        for(int i = 0; i < List_Nbr($3); i++){
+          double d;
+          List_Read($3, i, &d);
+          int tag = (int)d;
+          GModel::current()->getGEOInternals()->setTransfiniteVolume(tag, corners);
+          GRegion *gr = GModel::current()->getRegionByTag(tag);
+          if(gr){
+            gr->meshAttributes.method = MESH_TRANSFINITE;
+            if(corners.empty() || corners.size() == 6 || corners.size() == 8){
+              for(unsigned int i = 0; i < corners.size(); i++){
+                GVertex *gv = GModel::current()->getVertexByTag(corners[i]);
+                if(gv)
+                  gr->meshAttributes.corners.push_back(gv);
+                else
+                  yymsg(0, "Unknown model vertex with tag %d", corners[i]);
+              }
+            }
+          }
+        }
+        List_Delete($3);
+      }
+      List_Delete($4);
+    }
+  | tTransfQuadTri ListOfDoubleOrAll tEND
+    {
+      // transfinite constraints are stored in GEO internals in addition to
+      // GModel, as they can be copied around during GEO operations
+      if(GModel::current()->getOCCInternals() &&
+         GModel::current()->getOCCInternals()->getChanged())
+        GModel::current()->getOCCInternals()->synchronize(GModel::current());
+      if(!$2){
+        GModel::current()->getGEOInternals()->setTransfiniteVolumeQuadTri(0);
+        for(GModel::riter it = GModel::current()->firstRegion();
+            it != GModel::current()->lastRegion(); it++)
+          (*it)->meshAttributes.QuadTri = TRANSFINITE_QUADTRI_1;
+      }
+      else{
+        for(int i = 0; i < List_Nbr($2); i++){
+          double d;
+          List_Read($2, i, &d);
+          int tag = (int)d;
+          GModel::current()->getGEOInternals()->setTransfiniteVolumeQuadTri(tag);
+          GRegion *gr = GModel::current()->getRegionByTag(tag);
+          if(gr) gr->meshAttributes.QuadTri = TRANSFINITE_QUADTRI_1;
+        }
+        List_Delete($2);
+      }
+    }
+  | tMeshAlgorithm tSurface '{' RecursiveListOfDouble '}' tAFFECT FExpr tEND
+    {
+      for(int i = 0; i < List_Nbr($4); i++){
+	double d;
+	List_Read($4, i, &d);
+	CTX::instance()->mesh.algo2d_per_face[(int)d] = (int)$7;
+      }
+      List_Delete($4);
+    }
+  | tRecombine tSurface ListOfDoubleOrAll RecombineAngle tEND
+    {
+      // recombine constraints are stored in GEO internals in addition to
+      // GModel, as they can be copied around during GEO operations
+      if(GModel::current()->getOCCInternals() &&
+         GModel::current()->getOCCInternals()->getChanged())
+        GModel::current()->getOCCInternals()->synchronize(GModel::current());
+      if(!$3){
+        GModel::current()->getGEOInternals()->setRecombine(2, 0, $4);
+        for(GModel::fiter it = GModel::current()->firstFace();
+            it != GModel::current()->lastFace(); it++){
+          (*it)->meshAttributes.recombine = 1;
+          (*it)->meshAttributes.recombineAngle = $4;
+        }
+      }
+      else{
+        for(int i = 0; i < List_Nbr($3); i++){
+          double d;
+          List_Read($3, i, &d);
+          int tag = (int)d;
+          GModel::current()->getGEOInternals()->setRecombine(2, tag, $4);
+          GFace *gf = GModel::current()->getFaceByTag(tag);
+          if(gf){
+            gf->meshAttributes.recombine = 1;
+            gf->meshAttributes.recombineAngle = $4;
+          }
+        }
+        List_Delete($3);
+      }
+    }
+  | tRecombine tVolume ListOfDoubleOrAll tEND
+    {
+      // recombine constraints are stored in GEO internals in addition to
+      // GModel, as they can be copied around during GEO operations
+      if(GModel::current()->getOCCInternals() &&
+         GModel::current()->getOCCInternals()->getChanged())
+        GModel::current()->getOCCInternals()->synchronize(GModel::current());
+      if(!$3){
+        GModel::current()->getGEOInternals()->setRecombine(3, 0, 0.);
+        for(GModel::riter it = GModel::current()->firstRegion();
+            it != GModel::current()->lastRegion(); it++){
+          (*it)->meshAttributes.recombine3D = 1;
+        }
+      }
+      else{
+        for(int i = 0; i < List_Nbr($3); i++){
+          double d;
+          List_Read($3, i, &d);
+          int tag = (int)d;
+          GModel::current()->getGEOInternals()->setRecombine(3, tag, 0.);
+          GRegion *gr = GModel::current()->getRegionByTag(tag);
+          if(gr) gr->meshAttributes.recombine3D = 1;
+        }
+        List_Delete($3);
+      }
+    }
+  | tSmoother tSurface ListOfDoubleOrAll tAFFECT FExpr tEND
+    {
+      // smoothing constraints are stored in GEO internals in addition to
+      // GModel, as they can be copied around during GEO operations
+      if(GModel::current()->getOCCInternals() &&
+         GModel::current()->getOCCInternals()->getChanged())
+        GModel::current()->getOCCInternals()->synchronize(GModel::current());
+      if(!$3){
+        GModel::current()->getGEOInternals()->setSmoothing(0, (int)$5);
+        for(GModel::fiter it = GModel::current()->firstFace();
+            it != GModel::current()->lastFace(); it++){
+          (*it)->meshAttributes.transfiniteSmoothing = (int)$5;
+        }
+      }
+      else{
+        for(int i = 0; i < List_Nbr($3); i++){
+          double d;
+          List_Read($3, i, &d);
+          int tag = (int)d;
+          GModel::current()->getGEOInternals()->setSmoothing(tag, (int)$5);
+          GFace *gf = GModel::current()->getFaceByTag(tag);
+          if(gf) gf->meshAttributes.transfiniteSmoothing = (int)$5;
+        }
+        List_Delete($3);
+      }
+    }
+  | tPeriodic tLine '{' RecursiveListOfDouble '}' tAFFECT
+    '{' RecursiveListOfDouble '}' PeriodicTransform tEND
+    {
+      if (List_Nbr($4) != List_Nbr($8)){
+        yymsg(0, "Number of master lines (%d) different from number of "
+              "slaves (%d) ", List_Nbr($8), List_Nbr($4));
+      }
+      else{
+        std::vector<double> transfo;
+        if(List_Nbr($10) != 0) {
+          if (List_Nbr($10) < 12){
+            yymsg(0, "Affine transformation requires at least 12 entries (we have %d)",
+                  List_Nbr($10));
+          }
+          else {
+            transfo.resize(List_Nbr($10));
+            for(int i = 0; i < List_Nbr($10); i++)
+              List_Read($10, i, &transfo[i]);
+          }
+        }
+        for(int i = 0; i < List_Nbr($4); i++){
+          double d_master, d_slave;
+          List_Read($8, i, &d_master);
+          List_Read($4, i, &d_slave);
+          int j_master = (int)d_master;
+          int j_slave  = (int)d_slave;
+          addPeriodicEdge(j_slave, j_master, transfo);
+        }
+      }
+      List_Delete($4);
+      List_Delete($8);
+    }
+  | tPeriodic tSurface '{' RecursiveListOfDouble '}' tAFFECT
+    '{' RecursiveListOfDouble '}' PeriodicTransform tEND
+    {
+      if (List_Nbr($4) != List_Nbr($8)){
+        yymsg(0, "Number of master faces (%d) different from number of "
+              "slaves (%d) ", List_Nbr($8), List_Nbr($4));
+      }
+      else{
+        if (List_Nbr($10) < 12){
+          // FIXME full automatic case here if List_Nbr($10) == 0)
+          yymsg(0, "Affine transformation requires at least 12 entries");
+        }
+        else {
+          std::vector<double> transfo(16,0);
+          for(int i = 0; i < List_Nbr($10); i++)
+            List_Read($10, i, &transfo[i]);
+          for(int i = 0; i < List_Nbr($4); i++){
+            double d_master, d_slave;
+            List_Read($8, i, &d_master);
+            List_Read($4, i, &d_slave);
+            addPeriodicFace(d_slave, d_master, transfo);
+          }
+        }
+      }
+      List_Delete($4);
+      List_Delete($8);
+    }
+  | tPeriodic tLine '{' RecursiveListOfDouble '}' tAFFECT
+    '{' RecursiveListOfDouble '}' tRotate '{' VExpr ',' VExpr ',' FExpr '}' tEND
+    {
+      if (List_Nbr($4) != List_Nbr($8)){
+        yymsg(0, "Number of master edges (%d) different from number of "
+              "slaves (%d) ", List_Nbr($8), List_Nbr($4));
+      }
+      else{
+        SPoint3 axis($12[0],$12[1],$12[2]);
+        SPoint3 origin($14[0],$14[1],$14[2]);
+        double  angle($16);
+        SPoint3 translation(0,0,0);
+
+        std::vector<double> transfo;
+        computeAffineTransformation(origin,axis,angle,translation,transfo);
+
+        for(int i = 0; i < List_Nbr($4); i++){
+          double d_master, d_slave;
+          List_Read($8, i, &d_master);
+          List_Read($4, i, &d_slave);
+          addPeriodicEdge(d_slave,d_master,transfo);
+        }
+      }
+      List_Delete($4);
+      List_Delete($8);
+    }
+  | tPeriodic tSurface '{' RecursiveListOfDouble '}' tAFFECT
+    '{' RecursiveListOfDouble '}' tRotate '{' VExpr ',' VExpr ',' FExpr '}' tEND
+    {
+      if (List_Nbr($4) != List_Nbr($8)){
+        yymsg(0, "Number of master faces (%d) different from number of "
+              "slaves (%d) ", List_Nbr($8), List_Nbr($4));
+      }
+      else{
+        SPoint3 origin($14[0],$14[1],$14[2]);
+        SPoint3 axis($12[0],$12[1],$12[2]);
+        double  angle($16);
+        SPoint3 translation(0,0,0);
+
+        std::vector<double> transfo;
+        computeAffineTransformation(origin,axis,angle,translation,transfo);
+
+        for(int i = 0; i < List_Nbr($4); i++){
+          double d_master, d_slave;
+          List_Read($8, i, &d_master);
+          List_Read($4, i, &d_slave);
+          addPeriodicFace(d_slave, d_master, transfo);
+        }
+      }
+      List_Delete($4);
+      List_Delete($8);
+    }
+  | tPeriodic tLine '{' RecursiveListOfDouble '}' tAFFECT
+    '{' RecursiveListOfDouble '}' tTranslate VExpr tEND
+    {
+      if (List_Nbr($4) != List_Nbr($8)){
+        yymsg(0, "Number of master edges (%d) different from number of "
+              "slaves (%d) ", List_Nbr($8), List_Nbr($4));
+      }
+      else{
+        SPoint3 origin(0,0,0);
+        SPoint3 axis(0,0,0);
+        double  angle(0);
+        SPoint3 translation($11[0],$11[1],$11[2]);
+
+        std::vector<double> transfo;
+        computeAffineTransformation(origin,axis,angle,translation,transfo);
+
+        for(int i = 0; i < List_Nbr($4); i++){
+          double d_master, d_slave;
+          List_Read($8, i, &d_master);
+          List_Read($4, i, &d_slave);
+          addPeriodicEdge(d_slave,d_master,transfo);
+        }
+      }
+      List_Delete($4);
+      List_Delete($8);
+    }
+  | tPeriodic tSurface '{' RecursiveListOfDouble '}' tAFFECT
+    '{' RecursiveListOfDouble '}' tTranslate VExpr tEND
+    {
+      if (List_Nbr($4) != List_Nbr($8)){
+        yymsg(0, "Number of master faces (%d) different from number of "
+              "slaves (%d) ", List_Nbr($8), List_Nbr($4));
+      }
+      else{
+        SPoint3 origin(0,0,0);
+        SPoint3 axis(0,0,0);
+        double  angle(0);
+        SPoint3 translation($11[0],$11[1],$11[2]);
+
+        std::vector<double> transfo;
+        computeAffineTransformation(origin,axis,angle,translation,transfo);
+
+        for(int i = 0; i < List_Nbr($4); i++){
+          double d_master, d_slave;
+          List_Read($8, i, &d_master);
+          List_Read($4, i, &d_slave);
+          addPeriodicFace(d_slave, d_master, transfo);
+        }
+      }
+      List_Delete($4);
+      List_Delete($8);
+    }
+  | tPeriodic tSurface FExpr '{' RecursiveListOfDouble '}'
+    tAFFECT FExpr '{' RecursiveListOfDouble '}' tEND
+    {
+      if (List_Nbr($5) != List_Nbr($10)){
+        yymsg(0, "Number of master surface edges (%d) different from number of "
+              "slave (%d) edges", List_Nbr($10), List_Nbr($5));
+      }
+      else{
+        int j_master = (int)$8;
+        int j_slave = (int)$3;
+        std::map<int,int> edgeCounterParts;
+        for (int i = 0; i < List_Nbr($5); i++){
+          double ds,dm;
+          List_Read($5,i,&ds);
+          List_Read($10,i,&dm);
+          edgeCounterParts[(int) ds] = (int) dm;
+        }
+        addPeriodicFace(j_slave, j_master, edgeCounterParts);
+      }
+      List_Delete($5);
+      List_Delete($10);
+    }
+  | tPoint '{' RecursiveListOfDouble '}' tIn tSurface '{' FExpr '}' tEND
+    {
+      std::vector<int> tags; ListOfDouble2Vector($3, tags);
+      addEmbedded(0, tags, 2, (int)$8);
+      List_Delete($3);
+    }
+  | tLine '{' RecursiveListOfDouble '}' tIn tSurface '{' FExpr '}' tEND
+    {
+      std::vector<int> tags; ListOfDouble2Vector($3, tags);
+      addEmbedded(1, tags, 2, (int)$8);
+      List_Delete($3);
+    }
+  | tPoint '{' RecursiveListOfDouble '}' tIn tVolume '{' FExpr '}' tEND
+    {
+      std::vector<int> tags; ListOfDouble2Vector($3, tags);
+      addEmbedded(0, tags, 3, (int)$8);
+      List_Delete($3);
+    }
+  | tLine '{' RecursiveListOfDouble '}' tIn tVolume '{' FExpr '}' tEND
+    {
+      std::vector<int> tags; ListOfDouble2Vector($3, tags);
+      addEmbedded(1, tags, 3, (int)$8);
+      List_Delete($3);
+    }
+  | tSurface '{' RecursiveListOfDouble '}' tIn tVolume '{' FExpr '}' tEND
+    {
+      std::vector<int> tags; ListOfDouble2Vector($3, tags);
+      addEmbedded(2, tags, 3, (int)$8);
+      List_Delete($3);
+    }
+  | tReverse tSurface ListOfDoubleOrAll tEND
+    {
+      // reverse mesh constraints are stored in GEO internals in addition to
+      // GModel, as they can be copied around during GEO operations
+      if(GModel::current()->getOCCInternals() &&
+         GModel::current()->getOCCInternals()->getChanged())
+        GModel::current()->getOCCInternals()->synchronize(GModel::current());
+      if(!$3){
+        GModel::current()->getGEOInternals()->setReverseMesh(2, 0);
+        for(GModel::fiter it = GModel::current()->firstFace();
+            it != GModel::current()->lastFace(); it++){
+          (*it)->meshAttributes.reverseMesh = 1;
+        }
+      }
+      else{
+        for(int i = 0; i < List_Nbr($3); i++){
+          double d;
+          List_Read($3, i, &d);
+          int num = (int)d;
+          GModel::current()->getGEOInternals()->setReverseMesh(2, num);
+          GFace *gf = GModel::current()->getFaceByTag(num);
+          if(gf) gf->meshAttributes.reverseMesh = 1;
+        }
+        List_Delete($3);
+      }
+    }
+  | tReverse tLine ListOfDoubleOrAll tEND
+    {
+      // reverse mesh constraints are stored in GEO internals in addition to
+      // GModel, as they can be copied around during GEO operations
+      if(GModel::current()->getOCCInternals() &&
+         GModel::current()->getOCCInternals()->getChanged())
+        GModel::current()->getOCCInternals()->synchronize(GModel::current());
+      if(!$3){
+        GModel::current()->getGEOInternals()->setReverseMesh(1, 0);
+        for(GModel::eiter it = GModel::current()->firstEdge();
+            it != GModel::current()->lastEdge(); it++){
+          (*it)->meshAttributes.reverseMesh = 1;
+        }
+      }
+      else{
+        for(int i = 0; i < List_Nbr($3); i++){
+          double d;
+          List_Read($3, i, &d);
+          int num = (int)d;
+          GModel::current()->getGEOInternals()->setReverseMesh(1, num);
+          GEdge *ge = GModel::current()->getEdgeByTag(num);
+          if(ge) ge->meshAttributes.reverseMesh = 1;
+        }
+        List_Delete($3);
+      }
+    }
+  | tRelocateMesh tPoint ListOfDoubleOrAll tEND
+    {
+      if(!$3){
+        for(GModel::viter it = GModel::current()->firstVertex();
+            it != GModel::current()->lastVertex(); it++)
+          (*it)->relocateMeshVertices();
+      }
+      else{
+        for(int i = 0; i < List_Nbr($3); i++){
+          double d;
+          List_Read($3, i, &d);
+          GVertex *gv = GModel::current()->getVertexByTag((int)d);
+          if(gv) gv->relocateMeshVertices();
+        }
+        List_Delete($3);
+      }
+    }
+  | tRelocateMesh tLine ListOfDoubleOrAll tEND
+    {
+      if(!$3){
+        for(GModel::eiter it = GModel::current()->firstEdge();
+            it != GModel::current()->lastEdge(); it++)
+          (*it)->relocateMeshVertices();
+      }
+      else{
+        for(int i = 0; i < List_Nbr($3); i++){
+          double d;
+          List_Read($3, i, &d);
+          GEdge *ge = GModel::current()->getEdgeByTag((int)d);
+          if(ge) ge->relocateMeshVertices();
+        }
+        List_Delete($3);
+      }
+    }
+  | tRelocateMesh tSurface ListOfDoubleOrAll tEND
+    {
+      if(!$3){
+        for(GModel::fiter it = GModel::current()->firstFace();
+            it != GModel::current()->lastFace(); it++)
+          (*it)->relocateMeshVertices();
+      }
+      else{
+        for(int i = 0; i < List_Nbr($3); i++){
+          double d;
+          List_Read($3, i, &d);
+          GFace *gf = GModel::current()->getFaceByTag((int)d);
+          if(gf) gf->relocateMeshVertices();
+        }
+        List_Delete($3);
+      }
+    }
+  | tDegenerated tLine ListOfDouble tEND
+    {
+      for(int i = 0; i < List_Nbr($3); i++){
+	double dnum;
+	List_Read($3, i, &dnum);
+	int num = (int)dnum;
+        GModel::current()->getGEOInternals()->setDegenerated(1, num);
+        GEdge *ge = GModel::current()->getEdgeByTag(num);
+        if(ge) ge->setTooSmall(true);
+      }
+      List_Delete($3);
+    }
+  | tCompound tLine ListOfDouble tEND
+    {
+      std::vector<int> tags; ListOfDouble2Vector($3, tags);
+      GModel::current()->getGEOInternals()->setCompoundMesh(1, tags);
+      List_Delete($3);
+    }
+  | tCompound tSurface ListOfDouble tEND
+    {
+      std::vector<int> tags; ListOfDouble2Vector($3, tags);
+      GModel::current()->getGEOInternals()->setCompoundMesh(2, tags);
+      List_Delete($3);
+    }
+  | tCompound tVolume ListOfDouble tEND
+    {
+      std::vector<int> tags; ListOfDouble2Vector($3, tags);
+      GModel::current()->getGEOInternals()->setCompoundMesh(3, tags);
+      List_Delete($3);
+    }
+;
+
+
+//  C O H E R E N C E
+
+Coherence :
+    tCoherence tEND
+    {
+      GModel::current()->getGEOInternals()->removeAllDuplicates();
+    }
+  | tCoherence tSTRING tEND
+    {
+      if(!strcmp($2, "Geometry"))
+        GModel::current()->getGEOInternals()->removeAllDuplicates();
+      else if(!strcmp($2, "Mesh"))
+        GModel::current()->removeDuplicateMeshVertices(CTX::instance()->geom.tolerance);
+      else
+        yymsg(0, "Unknown coherence command");
+      Free($2);
+    }
+  | tCoherence tPoint '{' RecursiveListOfDouble '}' tEND
+    {
+      std::vector<int> tags; ListOfDouble2Vector($4, tags);
+      GModel::current()->getGEOInternals()->mergeVertices(tags);
+      List_Delete($4);
+    }
+;
+
+//  H O M O L O G Y
+
+HomologyCommand :
+    tHomology { $$ = (char*)"Homology"; }
+  | tCohomology { $$ = (char*)"Cohomology"; }
+  | tBetti { $$ = (char*)"Betti"; }
+ ;
+
+Homology :
+    HomologyCommand tEND
+    {
+      std::vector<int> domain, subdomain, dim;
+      for(int i = 0; i < 4; i++) dim.push_back(i);
+      GModel::current()->addHomologyRequest($1, domain, subdomain, dim);
+    }
+  | HomologyCommand '{' ListOfDouble '}' tEND
+    {
+      std::vector<int> domain, subdomain, dim;
+      for(int i = 0; i < List_Nbr($3); i++){
+        double d;
+        List_Read($3, i, &d);
+        domain.push_back((int)d);
+      }
+      for(int i = 0; i < 4; i++) dim.push_back(i);
+      GModel::current()->addHomologyRequest($1, domain, subdomain, dim);
+      List_Delete($3);
+    }
+  | HomologyCommand '{' ListOfDouble ',' ListOfDouble '}' tEND
+    {
+      std::vector<int> domain, subdomain, dim;
+      for(int i = 0; i < List_Nbr($3); i++){
+        double d;
+        List_Read($3, i, &d);
+        domain.push_back((int)d);
+      }
+      for(int i = 0; i < List_Nbr($5); i++){
+        double d;
+        List_Read($5, i, &d);
+        subdomain.push_back((int)d);
+      }
+      for(int i = 0; i < 4; i++) dim.push_back(i);
+      GModel::current()->addHomologyRequest($1, domain, subdomain, dim);
+      List_Delete($3);
+      List_Delete($5);
+    }
+  | HomologyCommand '(' ListOfDouble ')' '{' ListOfDouble ',' ListOfDouble '}' tEND
+    {
+      std::vector<int> domain, subdomain, dim;
+      for(int i = 0; i < List_Nbr($6); i++){
+        double d;
+        List_Read($6, i, &d);
+        domain.push_back((int)d);
+      }
+      for(int i = 0; i < List_Nbr($8); i++){
+        double d;
+        List_Read($8, i, &d);
+        subdomain.push_back((int)d);
+      }
+      for(int i = 0; i < List_Nbr($3); i++){
+        double d;
+        List_Read($3, i, &d);
+        dim.push_back((int)d);
+      }
+      GModel::current()->addHomologyRequest($1, domain, subdomain, dim);
+      List_Delete($6);
+      List_Delete($8);
+      List_Delete($3);
+    }
+ ;
+
+//  G E N E R A L
+
+FExpr :
+    FExpr_Single                  { $$ = $1;           }
+  | '(' FExpr ')'                 { $$ = $2;           }
+  | '-' FExpr %prec UNARYPREC     { $$ = -$2;          }
+  | '+' FExpr %prec UNARYPREC     { $$ = $2;           }
+  | '!' FExpr                     { $$ = !$2;          }
+  | FExpr '-' FExpr               { $$ = $1 - $3;      }
+  | FExpr '+' FExpr               { $$ = $1 + $3;      }
+  | FExpr '*' FExpr               { $$ = $1 * $3;      }
+  | FExpr '/' FExpr
+    {
+      if(!$3)
+	yymsg(0, "Division by zero in '%g / %g'", $1, $3);
+      else
+	$$ = $1 / $3;
+    }
+  | FExpr '|' FExpr                { $$ = (int)$1 | (int)$3; }
+  | FExpr '&' FExpr                { $$ = (int)$1 & (int)$3; }
+  | FExpr '%' FExpr                { $$ = (int)$1 % (int)$3; }
+  | FExpr '^' FExpr                { $$ = pow($1, $3);  }
+  | FExpr '<' FExpr                { $$ = $1 < $3;      }
+  | FExpr '>' FExpr                { $$ = $1 > $3;      }
+  | FExpr tLESSOREQUAL FExpr       { $$ = $1 <= $3;     }
+  | FExpr tGREATEROREQUAL FExpr    { $$ = $1 >= $3;     }
+  | FExpr tEQUAL FExpr             { $$ = $1 == $3;     }
+  | FExpr tNOTEQUAL FExpr          { $$ = $1 != $3;     }
+  | FExpr tAND FExpr               { $$ = $1 && $3;     }
+  | FExpr tOR FExpr                { $$ = $1 || $3;     }
+  | FExpr tGREATERGREATER FExpr    { $$ = ((int)$1 >> (int)$3); }
+  | FExpr tLESSLESS FExpr          { $$ = ((int)$1 << (int)$3); }
+  | FExpr '?' FExpr tDOTS FExpr    { $$ = $1 ? $3 : $5; }
+  | tExp    LP FExpr RP            { $$ = exp($3);      }
+  | tLog    LP FExpr RP            { $$ = log($3);      }
+  | tLog10  LP FExpr RP            { $$ = log10($3);    }
+  | tSqrt   LP FExpr RP            { $$ = sqrt($3);     }
+  | tSin    LP FExpr RP            { $$ = sin($3);      }
+  | tAsin   LP FExpr RP            { $$ = asin($3);     }
+  | tCos    LP FExpr RP            { $$ = cos($3);      }
+  | tAcos   LP FExpr RP            { $$ = acos($3);     }
+  | tTan    LP FExpr RP            { $$ = tan($3);      }
+  | tAtan   LP FExpr RP            { $$ = atan($3);     }
+  | tAtan2  LP FExpr ',' FExpr RP  { $$ = atan2($3, $5);}
+  | tSinh   LP FExpr RP            { $$ = sinh($3);     }
+  | tCosh   LP FExpr RP            { $$ = cosh($3);     }
+  | tTanh   LP FExpr RP            { $$ = tanh($3);     }
+  | tFabs   LP FExpr RP            { $$ = fabs($3);     }
+  | tAbs    LP FExpr RP            { $$ = std::abs($3); }
+  | tFloor  LP FExpr RP            { $$ = floor($3);    }
+  | tCeil   LP FExpr RP            { $$ = ceil($3);     }
+  | tRound  LP FExpr RP            { $$ = floor($3 + 0.5); }
+  | tFmod   LP FExpr ',' FExpr RP  { $$ = fmod($3, $5); }
+  | tModulo LP FExpr ',' FExpr RP  { $$ = fmod($3, $5); }
+  | tHypot  LP FExpr ',' FExpr RP  { $$ = sqrt($3 * $3 + $5 * $5); }
+  | tRand   LP FExpr RP            { $$ = $3 * (double)rand() / (double)RAND_MAX; }
+;
+
+// FIXME: add +=, -=, *= et /=
+
+FExpr_Single :
+
+  // Constants
+
+    tDOUBLE   { $$ = $1; }
+  | tPi       { $$ = 3.141592653589793; }
+  | tTestLevel { $$ = (double)ImbricatedTest; }
+  | tMPI_Rank { $$ = Msg::GetCommRank(); }
+  | tMPI_Size { $$ = Msg::GetCommSize(); }
+  | tGMSH_MAJOR_VERSION { $$ = GetGmshMajorVersion(); }
+  | tGMSH_MINOR_VERSION { $$ = GetGmshMinorVersion(); }
+  | tGMSH_PATCH_VERSION { $$ = GetGmshPatchVersion(); }
+  | tCpu { $$ = Cpu(); }
+  | tMemory { $$ = GetMemoryUsage()/1024./1024.; }
+  | tTotalMemory { $$ = TotalRam(); }
+
+  // Variables
+
+  | tDefineNumber LP FExpr
+    { init_options(); }
+    FloatParameterOptionsOrNone RP
+    {
+      std::vector<double> val(1, $3);
+      Msg::ExchangeOnelabParameter("", val, floatOptions, charOptions);
+      $$ = val[0];
+    }
+  | DefineStruct
+    { $$ = $1; }
+  | tGetNumber LP StringExprVar RP
+    {
+      $$ = Msg::GetOnelabNumber($3);
+      Free($3);
+    }
+  | tGetNumber LP StringExprVar ',' FExpr RP
+    {
+      $$ = Msg::GetOnelabNumber($3, $5);
+      Free($3);
+    }
+  | Struct_FullName
+    {
+      $$ = treat_Struct_FullName_Float($1.char1, $1.char2);
+    }
+//  | String__Index '[' FExpr ']'
+  | Struct_FullName '[' FExpr ']'
+    {
+      $$ = treat_Struct_FullName_Float($1.char1, $1.char2, 2, (int)$3);
+      /*
+      int index = (int)$3;
+      if(!gmsh_yysymbols.count($1)){
+	yymsg(0, "Unknown variable '%s'", $1);
+	$$ = 0.;
+      }
+      else{
+        gmsh_yysymbol &s(gmsh_yysymbols[$1]);
+        if((int)s.value.size() < index + 1){
+          yymsg(0, "Uninitialized variable '%s[%d]'", $1, index);
+          $$ = 0.;
+        }
+        else
+          $$ = s.value[index];
+      }
+      Free($1);
+      */
+    }
+//  | String__Index '(' FExpr ')'
+  | Struct_FullName '(' FExpr ')'
+    {
+      $$ = treat_Struct_FullName_Float($1.char1, $1.char2, 2, (int)$3);
+      /*
+      int index = (int)$3;
+      if(!gmsh_yysymbols.count($1)){
+	yymsg(0, "Unknown variable '%s'", $1);
+	$$ = 0.;
+      }
+      else{
+        gmsh_yysymbol &s(gmsh_yysymbols[$1]);
+        if((int)s.value.size() < index + 1){
+          yymsg(0, "Uninitialized variable '%s[%d]'", $1, index);
+          $$ = 0.;
+        }
+        else
+          $$ = s.value[index];
+      }
+      Free($1);
+      */
+    }
+  | tExists '(' Struct_FullName ')'
+    {
+      $$ = treat_Struct_FullName_Float($3.char1, $3.char2, 1, 0, 0., 1);
+    }
+  | tExists '(' Struct_FullName '.' tSTRING_Member_Float ')'
+    {
+      $$ = treat_Struct_FullName_dot_tSTRING_Float($3.char1, $3.char2, $5, 0, 0., 1);
+    }
+  | tGetForced '(' Struct_FullName GetForced_Default ')'
+    {
+      $$ = treat_Struct_FullName_Float($3.char1, $3.char2, 1, 0, $4, 2);
+    }
+  | tGetForced '(' Struct_FullName '.' tSTRING_Member_Float GetForced_Default ')'
+    {
+      $$ = treat_Struct_FullName_dot_tSTRING_Float($3.char1, $3.char2, $5, 0, $6, 2);
+    }
+  | tFileExists '(' StringExpr ')'
+    {
+      std::string tmp = FixRelativePath(gmsh_yyname, $3);
+      $$ = !StatFile(tmp);
+      Free($3);
+    }
+  | '#' String__Index LP RP
+    {
+      if(gmsh_yysymbols.count($2)){
+        gmsh_yysymbol &s(gmsh_yysymbols[$2]);
+	$$ = s.value.size();
+      }
+      else if(gmsh_yystringsymbols.count($2)){
+	$$ = gmsh_yystringsymbols[$2].size();
+      }
+      else{
+        yymsg(0, "Unknown variable '%s'", $2);
+	$$ = 0.;
+      }
+      Free($2);
+    }
+
+  | '#' Struct_FullName '.' tSTRING_Member_Float '(' ')'
+    {
+      $$ = treat_Struct_FullName_dot_tSTRING_Float_getDim($2.char1, $2.char2, $4);
+    }
+
+  | tDimNameSpace LP String__Index RP
+    {
+      std::string struct_namespace($3);
+      $$ = (double)nameSpaces[struct_namespace].size();
+      Free($3);
+    }
+  | tDimNameSpace LP RP
+    {
+      std::string struct_namespace(std::string(""));
+      $$ = (double)nameSpaces[struct_namespace].size();
+    }
+
+  | String__Index NumericIncrement
+    {
+      if(!gmsh_yysymbols.count($1)){
+	yymsg(0, "Unknown variable '%s'", $1);
+	$$ = 0.;
+      }
+      else{
+        gmsh_yysymbol &s(gmsh_yysymbols[$1]);
+        if(s.value.empty()){
+          yymsg(0, "Uninitialized variable '%s'", $1);
+          $$ = 0.;
+        }
+        else{
+          $$ = s.value[0];
+          s.value[0] += $2;
+        }
+      }
+      Free($1);
+    }
+  | String__Index '[' FExpr ']' NumericIncrement
+    {
+      int index = (int)$3;
+      if(!gmsh_yysymbols.count($1)){
+	yymsg(0, "Unknown variable '%s'", $1);
+	$$ = 0.;
+      }
+      else{
+        gmsh_yysymbol &s(gmsh_yysymbols[$1]);
+        if((int)s.value.size() < index + 1){
+          yymsg(0, "Uninitialized variable '%s[%d]'", $1, index);
+          $$ = 0.;
+        }
+        else{
+          $$ = s.value[index];
+          s.value[index] += $5;
+        }
+      }
+      Free($1);
+    }
+
+  | String__Index '(' FExpr ')' NumericIncrement
+    {
+      int index = (int)$3;
+      if(!gmsh_yysymbols.count($1)){
+	yymsg(0, "Unknown variable '%s'", $1);
+	$$ = 0.;
+      }
+      else{
+        gmsh_yysymbol &s(gmsh_yysymbols[$1]);
+        if((int)s.value.size() < index + 1){
+          yymsg(0, "Uninitialized variable '%s[%d]'", $1, index);
+          $$ = 0.;
+        }
+        else{
+          $$ = s.value[index];
+          s.value[index] += $5;
+        }
+      }
+      Free($1);
+    }
+
+  // Option Strings
+/* not any more ...
+  | tSTRING '.' tSTRING
+    {
+      NumberOption(GMSH_GET, $1, 0, $3, $$);
+      Free($1); Free($3);
+    }
+*/
+
+//+++ ... extention to structures
+// PD: TO FIX (to avoid shift/reduce conflict)
+//  | Struct_FullName '.' tSTRING_Member_Float
+  | String__Index '.' tSTRING_Member_Float
+    {
+      $$ = treat_Struct_FullName_dot_tSTRING_Float(NULL, $1, $3);
+    }
+  | String__Index tSCOPE String__Index '.' tSTRING_Member_Float
+    {
+      $$ = treat_Struct_FullName_dot_tSTRING_Float($1, $3, $5);
+    }
+
+  | String__Index '.' tSTRING_Member_Float '(' FExpr ')'
+    {
+      $$ = treat_Struct_FullName_dot_tSTRING_Float(NULL, $1, $3, (int)$5);
+    }
+  | String__Index tSCOPE String__Index '.' tSTRING_Member_Float '(' FExpr ')'
+    {
+      $$ = treat_Struct_FullName_dot_tSTRING_Float($1, $3, $5, (int)$7);
+    }
+
+  | String__Index '[' FExpr ']' '.' tSTRING
+    {
+      NumberOption(GMSH_GET, $1, (int)$3, $6, $$);
+      Free($1); Free($6);
+    }
+  | String__Index '.' tSTRING NumericIncrement
+    {
+      double d = 0.;
+      if(NumberOption(GMSH_GET, $1, 0, $3, d)){
+	d += $4;
+	NumberOption(GMSH_SET|GMSH_GUI, $1, 0, $3, d);
+	$$ = d;
+      }
+      Free($1); Free($3);
+    }
+  | String__Index '[' FExpr ']' '.' tSTRING NumericIncrement
+    {
+      double d = 0.;
+      if(NumberOption(GMSH_GET, $1, (int)$3, $6, d)){
+	d += $7;
+	NumberOption(GMSH_SET|GMSH_GUI, $1, (int)$3, $6, d);
+	$$ = d;
+      }
+      Free($1); Free($6);
+    }
+  | tGetValue '(' StringExprVar ',' FExpr ')'
+    {
+      $$ = Msg::GetValue($3, $5);
+      Free($3);
+    }
+  | tFind '(' ListOfDouble ',' ListOfDouble ')'
+    {
+      int matches = 0;
+      for(int i = 0; i < List_Nbr($3); i++){
+        double d;
+        List_Read($3, i, &d);
+        matches += List_Search($5, &d, fcmp_double);
+      }
+      $$ = matches;
+      Free($3); Free($5);
+    }
+  | tStrFind LP StringExprVar ',' StringExprVar RP
+    {
+      std::string s($3), substr($5);
+      if(s.find(substr) != std::string::npos)
+        $$ = 1.;
+      else
+        $$ = 0.;
+      Free($3); Free($5);
+    }
+  | tStrLen LP StringExprVar RP
+    {
+      $$ = strlen($3);
+      Free($3);
+    }
+  | tStrCmp LP StringExprVar ',' StringExprVar RP
+    {
+      $$ = strcmp($3, $5);
+      Free($3); Free($5);
+    }
+  | tTextAttributes '(' RecursiveListOfStringExprVar ')'
+    {
+      int align = 0, font = 0, fontsize = CTX::instance()->glFontSize;
+      if(List_Nbr($3) % 2){
+        yymsg(0, "Number of text attributes should be even");
+      }
+      else{
+        for(int i = 0 ; i < List_Nbr($3); i += 2){
+          char *s1, *s2; List_Read($3, i, &s1); List_Read($3, i + 1, &s2);
+          std::string key(s1), val(s2);
+          Free(s1); Free(s2);
+#if defined(HAVE_OPENGL)
+          if(key == "Font")
+            font = drawContext::global()->getFontIndex(val.c_str());
+          else if(key == "FontSize")
+            fontsize = atoi(val.c_str());
+          else if(key == "Align")
+            align = drawContext::global()->getFontAlign(val.c_str());
+#endif
+        }
+      }
+      List_Delete($3);
+      $$ = (double)((align<<16)|(font<<8)|(fontsize));
+    }
+;
+
+GetForced_Default :
+    // none
+    { $$ = 0.; }
+  | ',' FExpr
+    { $$ = $2;}
+;
+
+GetForcedStr_Default :
+    // none
+    { $$ = NULL; }
+  | ',' StringExprVar
+    { $$ = $2;}
+;
+
+DefineStruct :
+    tDefineStruct Struct_FullName AppendOrNot
+    {
+      std::string struct_namespace($2.char1? $2.char1 : std::string("")),
+        struct_name($2.char2);
+      init_options
+        (nameSpaces.getMember_ValMax(struct_namespace, struct_name));
+    }
+    '[' FloatParameterOptionsOrNone_NoComma ']'
+    {
+      std::string struct_namespace($2.char1? $2.char1 : std::string("")),
+        struct_name($2.char2);
+      Free($2.char1); Free($2.char2);
+      int tag_out;
+      if (nameSpaces.defStruct(struct_namespace, struct_name,
+                               floatOptions, charOptions,
+                               tag_out, member_ValMax, $3))
+        yymsg(0, "Redefinition of Struct '%s::%s'",
+              struct_namespace.c_str(), struct_name.c_str());
+      $$ = (double)tag_out;
+    }
+;
+
+Struct_FullName :
+    String__Index
+    { $$.char1 = NULL; $$.char2 = $1; }
+  | String__Index tSCOPE String__Index
+    { $$.char1 = $1; $$.char2 = $3; }
+;
+
+tSTRING_Member_Float :
+    tSTRING
+    { $$ = $1; flag_tSTRING_alloc = 1; }
+/*
+  | tType
+    { $$ = (char*)"Type"; flag_tSTRING_alloc = 0; }
+*/
+;
+
+Append :
+    tAppend
+    { $$ = 99; } // Default: max level
+  | tAppend FExpr
+    { $$ = (int)$2; }
+  ;
+
+AppendOrNot :
+    /* none */
+    { $$ = 0; }
+  | '(' Append ')'
+    { $$ = $2; }
+  ;
+
+
+VExpr :
+    VExpr_Single
+    {
+      memcpy($$, $1, 5*sizeof(double));
+    }
+  | '-' VExpr %prec UNARYPREC
+    {
+      for(int i = 0; i < 5; i++) $$[i] = -$2[i];
+    }
+  | '+' VExpr %prec UNARYPREC
+    {
+      for(int i = 0; i < 5; i++) $$[i] = $2[i];
+    }
+  | VExpr '-' VExpr
+    {
+      for(int i = 0; i < 5; i++) $$[i] = $1[i] - $3[i];
+    }
+  | VExpr '+' VExpr
+    {
+      for(int i = 0; i < 5; i++) $$[i] = $1[i] + $3[i];
+    }
+;
+
+VExpr_Single :
+    '{' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr  '}'
+    {
+      $$[0] = $2;  $$[1] = $4;  $$[2] = $6;  $$[3] = $8; $$[4] = $10;
+    }
+  | '{' FExpr ',' FExpr ',' FExpr ',' FExpr '}'
+    {
+      $$[0] = $2;  $$[1] = $4;  $$[2] = $6;  $$[3] = $8; $$[4] = 1.0;
+    }
+  | '{' FExpr ',' FExpr ',' FExpr '}'
+    {
+      $$[0] = $2;  $$[1] = $4;  $$[2] = $6;  $$[3] = 0.0; $$[4] = 1.0;
+    }
+  | '(' FExpr ',' FExpr ',' FExpr ')'
+    {
+      $$[0] = $2;  $$[1] = $4;  $$[2] = $6;  $$[3] = 0.0; $$[4] = 1.0;
+    }
+;
+
+RecursiveListOfListOfDouble :
+    ListOfDouble
+    {
+      $$ = List_Create(2, 1, sizeof(List_T*));
+      List_Add($$, &($1));
+    }
+  | RecursiveListOfListOfDouble ',' ListOfDouble
+    {
+      List_Add($$, &($3));
+    }
+;
+
+ListOfDouble :
+    FExpr
+    {
+      $$ = List_Create(2, 1, sizeof(double));
+      List_Add($$, &($1));
+    }
+  | FExpr_Multi
+    {
+      $$ = $1;
+    }
+  | '{' '}'
+    {
+      // creates an empty list
+      $$ = List_Create(2, 1, sizeof(double));
+    }
+  | '{' RecursiveListOfDouble '}'
+    {
+      $$ = $2;
+    }
+  | '-' '{' RecursiveListOfDouble '}'
+    {
+      $$ = $3;
+      for(int i = 0; i < List_Nbr($$); i++){
+	double *pd = (double*)List_Pointer($$, i);
+	(*pd) = - (*pd);
+      }
+    }
+  | FExpr '*' '{' RecursiveListOfDouble '}'
+    {
+      $$ = $4;
+      for(int i = 0; i < List_Nbr($$); i++){
+	double *pd = (double*)List_Pointer($$, i);
+	(*pd) *= $1;
+      }
+    }
+;
+
+ListOfDoubleOrAll :
+    ListOfDouble
+    {
+      $$ = $1;
+    }
+  | tBIGSTR
+    {
+      if(!strcmp($1, "*") || !strcmp($1, "all"))
+        $$ = 0;
+      else{
+        yyerror("Unknown special string for list replacement");
+        $$ = List_Create(2, 1, sizeof(double));
+      }
+    }
+;
+
+FExpr_Multi :
+    '-' FExpr_Multi %prec UNARYPREC
+    {
+      $$ = $2;
+      for(int i = 0; i < List_Nbr($$); i++){
+	double *pd = (double*)List_Pointer($$, i);
+	(*pd) = - (*pd);
+      }
+    }
+  | FExpr '*' FExpr_Multi
+    {
+      $$ = $3;
+      for(int i = 0; i < List_Nbr($$); i++){
+	double *pd = (double*)List_Pointer($$, i);
+	(*pd) *= $1;
+      }
+    }
+  | FExpr tDOTS FExpr
+    {
+      $$ = List_Create(2, 1, sizeof(double));
+      for(double d = $1; ($1 < $3) ? (d <= $3) : (d >= $3);
+          ($1 < $3) ? (d += 1.) : (d -= 1.))
+	List_Add($$, &d);
+    }
+  | FExpr tDOTS FExpr tDOTS FExpr
+    {
+      $$ = List_Create(2, 1, sizeof(double));
+      if(!$5){  //|| ($1 < $3 && $5 < 0) || ($1 > $3 && $5 > 0)
+        yymsg(0, "Wrong increment in '%g:%g:%g'", $1, $3, $5);
+      }
+      else
+	for(double d = $1; ($5 > 0) ? (d <= $3) : (d >= $3); d += $5)
+	  List_Add($$, &d);
+   }
+  | tPoint '{' FExpr '}'
+    {
+      $$ = List_Create(3, 1, sizeof(double));
+      int tag = (int)$3;
+      double x = 0., y = 0., z = 0.;
+      bool found = GModel::current()->getGEOInternals()->getVertex(tag, x, y, z);
+      if(!found && GModel::current()->getOCCInternals())
+        found = GModel::current()->getOCCInternals()->getVertex(tag, x, y, z);
+      if(!found){
+        GVertex *gv = GModel::current()->getVertexByTag(tag);
+        if(gv){
+          x = gv->x();
+          y = gv->y();
+          z = gv->z();
+        }
+        else{
+          yymsg(0, "Unknown model vertex with tag %d", tag);
+        }
+      }
+      List_Add($$, &x);
+      List_Add($$, &y);
+      List_Add($$, &z);
+    }
+  | tPoint tBIGSTR
+    {
+      $$ = List_Create(10, 10, sizeof(double));
+      getAllElementaryTags(0, $$);
+      Free($2);
+    }
+  | tLine tBIGSTR
+    {
+      $$ = List_Create(10, 10, sizeof(double));
+      getAllElementaryTags(1, $$);
+      Free($2);
+    }
+  | tSurface tBIGSTR
+    {
+      $$ = List_Create(10, 10, sizeof(double));
+      getAllElementaryTags(2, $$);
+      Free($2);
+    }
+  | tVolume tBIGSTR
+    {
+      $$ = List_Create(10, 10, sizeof(double));
+      getAllElementaryTags(3, $$);
+      Free($2);
+    }
+  | tPhysical tPoint ListOfDoubleOrAll
+    {
+      $$ = List_Create(10, 10, sizeof(double));
+      if(!$3){
+        getAllPhysicalTags(0, $$);
+      }
+      else{
+        getElementaryTagsForPhysicalGroups(0, $3, $$);
+        List_Delete($3);
+      }
+    }
+  | tPhysical tLine ListOfDoubleOrAll
+    {
+      $$ = List_Create(10, 10, sizeof(double));
+      if(!$3){
+        getAllPhysicalTags(1, $$);
+      }
+      else{
+        getElementaryTagsForPhysicalGroups(1, $3, $$);
+        List_Delete($3);
+      }
+    }
+  | tPhysical tSurface ListOfDoubleOrAll
+    {
+      $$ = List_Create(10, 10, sizeof(double));
+      if(!$3){
+        getAllPhysicalTags(2, $$);
+      }
+      else{
+        getElementaryTagsForPhysicalGroups(2, $3, $$);
+        List_Delete($3);
+      }
+    }
+  | tPhysical tVolume ListOfDoubleOrAll
+    {
+      $$ = List_Create(10, 10, sizeof(double));
+      if(!$3){
+        getAllPhysicalTags(3, $$);
+      }
+      else{
+        getElementaryTagsForPhysicalGroups(3, $3, $$);
+        List_Delete($3);
+      }
+    }
+  | tPoint tIn tBoundingBox
+      '{' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr '}'
+    {
+      $$ = List_Create(10, 10, sizeof(double));
+      getElementaryTagsInBoundingBox(0, $5, $7, $9, $11, $13, $15, $$);
+    }
+  | tLine tIn tBoundingBox
+      '{' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr '}'
+    {
+      $$ = List_Create(10, 10, sizeof(double));
+      getElementaryTagsInBoundingBox(1, $5, $7, $9, $11, $13, $15, $$);
+    }
+  | tSurface tIn tBoundingBox
+      '{' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr '}'
+    {
+      $$ = List_Create(10, 10, sizeof(double));
+      getElementaryTagsInBoundingBox(2, $5, $7, $9, $11, $13, $15, $$);
+    }
+  | tVolume tIn tBoundingBox
+      '{' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr '}'
+    {
+      $$ = List_Create(10, 10, sizeof(double));
+      getElementaryTagsInBoundingBox(3, $5, $7, $9, $11, $13, $15, $$);
+    }
+  | Transform
+    {
+      $$ = List_Create(List_Nbr($1), 1, sizeof(double));
+      for(int i = 0; i < List_Nbr($1); i++){
+	Shape *s = (Shape*) List_Pointer($1, i);
+	double d = s->Num;
+	List_Add($$, &d);
+      }
+      List_Delete($1);
+    }
+  | Extrude
+    {
+      $$ = List_Create(List_Nbr($1), 1, sizeof(double));
+      for(int i = 0; i < List_Nbr($1); i++){
+	Shape *s = (Shape*) List_Pointer($1, i);
+	double d = s->Num;
+	List_Add($$, &d);
+      }
+      List_Delete($1);
+    }
+  | Boolean
+    {
+      $$ = List_Create(List_Nbr($1), 1, sizeof(double));
+      for(int i = 0; i < List_Nbr($1); i++){
+	Shape *s = (Shape*) List_Pointer($1, i);
+	double d = s->Num;
+	List_Add($$, &d);
+      }
+      List_Delete($1);
+    }
+  | String__Index LP RP
+    {
+      $$ = List_Create(2, 1, sizeof(double));
+      if(!gmsh_yysymbols.count($1))
+	yymsg(0, "Unknown variable '%s'", $1);
+      else{
+        gmsh_yysymbol &s(gmsh_yysymbols[$1]);
+	for(unsigned int i = 0; i < s.value.size(); i++)
+	  List_Add($$, &s.value[i]);
+      }
+      Free($1);
+    }
+   // for compatibility with GetDP
+  | tList '[' String__Index ']'
+    {
+      $$ = List_Create(2, 1, sizeof(double));
+      if(!gmsh_yysymbols.count($3))
+	yymsg(0, "Unknown variable '%s'", $3);
+      else{
+        gmsh_yysymbol &s(gmsh_yysymbols[$3]);
+	for(unsigned int i = 0; i < s.value.size(); i++)
+	  List_Add($$, &s.value[i]);
+      }
+      Free($3);
+    }
+  | tList '[' FExpr_Multi ']'
+    {
+      $$ = $3;
+    }
+  | tList '(' FExpr_Multi ')'
+    {
+      $$ = $3;
+    }
+  | tList LP '{' RecursiveListOfDouble '}' RP
+    {
+      $$ = $4;
+    }
+  | String__Index LP '{' RecursiveListOfDouble '}' RP
+    {
+      $$ = List_Create(2, 1, sizeof(double));
+      if(!gmsh_yysymbols.count($1))
+	yymsg(0, "Unknown variable '%s'", $1);
+      else{
+        gmsh_yysymbol &s(gmsh_yysymbols[$1]);
+	for(int i = 0; i < List_Nbr($4); i++){
+	  int index = (int)(*(double*)List_Pointer_Fast($4, i));
+	  if((int)s.value.size() < index + 1)
+	    yymsg(0, "Uninitialized variable '%s[%d]'", $1, index);
+	  else
+	    List_Add($$, &s.value[index]);
+	}
+      }
+      Free($1);
+      List_Delete($4);
+    }
+  | tLinSpace LP FExpr ',' FExpr ',' FExpr RP
+    {
+      $$ = List_Create(20,20,sizeof(double));
+      for(int i = 0; i < (int)$7; i++) {
+	double d = $3 + ($5-$3)*(double)i/($7-1);
+	List_Add($$, &d);
+      }
+    }
+  | tLogSpace LP FExpr ',' FExpr ',' FExpr RP
+    {
+      $$ = List_Create(20,20,sizeof(double));
+      for(int i = 0; i < (int)$7; i++) {
+	double d = pow(10,$3 + ($5-$3)*(double)i/($7-1));
+	List_Add($$, &d);
+      }
+    }
+  | tListFromFile LP StringExprVar RP
+    {
+      Msg::Barrier();
+      FILE *File;
+      $$ = List_Create(100, 100, sizeof(double));
+      std::string tmp = FixRelativePath(gmsh_yyname, $3);
+      if(!(File = Fopen(tmp.c_str(), "rb"))){
+        yymsg(0, "Could not open file '%s'", $3);
+      }
+      else{
+	double d;
+	while(!feof(File)){
+          int ret = fscanf(File, "%lf", &d);
+	  if(ret == 1){
+	    List_Add($$, &d);
+          }
+          else if(ret == EOF){
+            break;
+          }
+          else{
+            char dummy[1024];
+            fscanf(File, "%s", dummy);
+            yymsg(0, "Ignoring '%s' in file '%s'", dummy, $3);
+          }
+        }
+	fclose(File);
+      }
+      Free($3);
+    }
+  | tCatenary LP FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr RP
+    {
+      double x0 = $3, x1 = $5, y0 = $7, y1 = $9, ys = $11;
+      int N = (int)$13;
+      std::vector<double> y(N);
+      if(!catenary(x0, x1, y0, y1, ys, N, &y[0]))
+        Msg::Warning("Catenary did not converge, using linear interpolation");
+      $$ = List_Create(N,10,sizeof(double));
+      for(int i = 0; i < N; i++) List_Add($$, &y[i]);
+    }
+  | tUnique LP FExpr_Multi RP
+    {
+      std::vector<double> tmp;
+      for(int i = 0; i < List_Nbr($3); i++){
+        double d; List_Read($3, i, &d);
+        tmp.push_back(d);
+      }
+      std::sort(tmp.begin(), tmp.end());
+      std::vector<double>::iterator last = std::unique(tmp.begin(), tmp.end());
+      tmp.erase(last, tmp.end());
+      $$ = $3;
+      List_Reset($$);
+      for(unsigned int i = 0; i < tmp.size(); i++){
+        List_Add($$, &tmp[i]);
+      }
+    }
+  | tAbs LP FExpr_Multi RP
+    {
+      for(int i = 0; i < List_Nbr($3); i++){
+        double *d = (double*)List_Pointer($3, i);
+        *d = std::abs(*d);
+      }
+      $$ = $3;
+    }
+;
+
+RecursiveListOfDouble :
+    FExpr
+    {
+      $$ = List_Create(2, 1, sizeof(double));
+      List_Add($$, &($1));
+    }
+  | FExpr_Multi
+    {
+      $$ = $1;
+    }
+  | RecursiveListOfDouble ',' FExpr
+    {
+      List_Add($$, &($3));
+    }
+  | RecursiveListOfDouble ',' FExpr_Multi
+    {
+      for(int i = 0; i < List_Nbr($3); i++){
+	double d;
+	List_Read($3, i, &d);
+	List_Add($$, &d);
+      }
+      List_Delete($3);
+    }
+;
+
+ColorExpr :
+    '{' FExpr ',' FExpr ',' FExpr ',' FExpr '}'
+    {
+      $$ = CTX::instance()->packColor((int)$2, (int)$4, (int)$6, (int)$8);
+    }
+  | '{' FExpr ',' FExpr ',' FExpr '}'
+    {
+      $$ = CTX::instance()->packColor((int)$2, (int)$4, (int)$6, 255);
+    }
+/* shift/reduce conflict
+  | '{' tSTRING ',' FExpr '}'
+    {
+      int flag;
+      $$ = GetColorForString((int)$4, $2, &flag);
+      if(flag) yymsg(0, "Unknown color '%s'", $2);
+    }
+*/
+  | String__Index
+    {
+      int flag = 0;
+      if(gmsh_yystringsymbols.count($1)){
+        if(gmsh_yystringsymbols[$1].size()){
+          $$ = GetColorForString(-1, gmsh_yystringsymbols[$1][0].c_str(), &flag);
+        }
+        else{
+          yymsg(0, "Unknown color '%s'", $1);
+          $$ = 0;
+        }
+      }
+      else
+        $$ = GetColorForString(-1, $1, &flag);
+      if(flag) yymsg(0, "Unknown color '%s'", $1);
+      Free($1);
+    }
+  | tSTRING '.' tColor '.' tSTRING
+    {
+      unsigned int val = 0;
+      ColorOption(GMSH_GET, $1, 0, $5, val);
+      $$ = val;
+      Free($1); Free($5);
+    }
+;
+
+ListOfColor :
+    '{' RecursiveListOfColor '}'
+    {
+      $$ = $2;
+    }
+  | String__Index '[' FExpr ']' '.' tColorTable
+    {
+      $$ = List_Create(256, 10, sizeof(unsigned int));
+      GmshColorTable *ct = GetColorTable((int)$3);
+      if(!ct)
+	yymsg(0, "View[%d] does not exist", (int)$3);
+      else{
+	for(int i = 0; i < ct->size; i++)
+	  List_Add($$, &ct->table[i]);
+      }
+      Free($1);
+    }
+;
+
+RecursiveListOfColor :
+    ColorExpr
+    {
+      $$ = List_Create(256, 10, sizeof(unsigned int));
+      List_Add($$, &($1));
+    }
+  | RecursiveListOfColor ',' ColorExpr
+    {
+      List_Add($$, &($3));
+    }
+;
+
+StringExprVar :
+    StringExpr
+    {
+      $$ = $1;
+    }
+  | String__Index
+    {
+      // No need to extend to Struct_FullName (a Tag is not a String)
+      $$ = treat_Struct_FullName_String(NULL, $1);
+    }
+  | String__Index '[' FExpr ']'
+    {
+      std::string val;
+      int j = (int)$3;
+      if(!gmsh_yystringsymbols.count($1))
+        yymsg(0, "Unknown string variable '%s'", $1);
+      else if(j >= 0 && j < (int)gmsh_yystringsymbols[$1].size())
+        val = gmsh_yystringsymbols[$1][j];
+      else
+        yymsg(0, "Index %d out of range", j);
+      $$ = (char *)Malloc((val.size() + 1) * sizeof(char));
+      strcpy($$, val.c_str());
+      Free($1);
+    }
+  | String__Index '(' FExpr ')'
+    {
+      std::string val;
+      int j = (int)$3;
+      if(!gmsh_yystringsymbols.count($1))
+        yymsg(0, "Unknown string variable '%s'", $1);
+      else if(j >= 0 && j < (int)gmsh_yystringsymbols[$1].size())
+        val = gmsh_yystringsymbols[$1][j];
+      else
+        yymsg(0, "Index %d out of range", j);
+      $$ = (char *)Malloc((val.size() + 1) * sizeof(char));
+      strcpy($$, val.c_str());
+      Free($1);
+    }
+
+// PD: TO FIX (to avoid shift/reduce conflict)
+//  | Struct_FullName '.' String__Index //tSTRING//_Member_Float
+  | String__Index '.' tSTRING_Member_Float
+    {
+      $$ = treat_Struct_FullName_dot_tSTRING_String(NULL, $1, $3);
+    }
+  | String__Index tSCOPE String__Index '.' tSTRING_Member_Float
+    {
+      $$ = treat_Struct_FullName_dot_tSTRING_String($1, $3, $5);
+    }
+
+  | String__Index '.' tSTRING_Member_Float '(' FExpr ')'
+    {
+      $$ = treat_Struct_FullName_dot_tSTRING_String(NULL, $1, $3, (int)$5);
+    }
+  | String__Index tSCOPE String__Index '.' tSTRING_Member_Float '(' FExpr ')'
+    {
+      $$ = treat_Struct_FullName_dot_tSTRING_String($1, $3, $5, (int)$7);
+    }
+
+  | String__Index '[' FExpr ']' '.' tSTRING
+    {
+      std::string out;
+      StringOption(GMSH_GET, $1, (int)$3, $6, out);
+      $$ = (char*)Malloc((out.size() + 1) * sizeof(char));
+      strcpy($$, out.c_str());
+      Free($1); Free($6);
+    }
+  | tPhysical tPoint '{' FExpr '}'
+    {
+      std::string name = GModel::current()->getPhysicalName(0, (int)$4);
+      $$ = (char*)Malloc((name.size() + 1) * sizeof(char));
+      strcpy($$, name.c_str());
+    }
+  | tPhysical tLine '{' FExpr '}'
+    {
+      std::string name = GModel::current()->getPhysicalName(1, (int)$4);
+      $$ = (char*)Malloc((name.size() + 1) * sizeof(char));
+      strcpy($$, name.c_str());
+    }
+  | tPhysical tSurface '{' FExpr '}'
+    {
+      std::string name = GModel::current()->getPhysicalName(2, (int)$4);
+      $$ = (char*)Malloc((name.size() + 1) * sizeof(char));
+      strcpy($$, name.c_str());
+    }
+  | tPhysical tVolume '{' FExpr '}'
+    {
+      std::string name = GModel::current()->getPhysicalName(3, (int)$4);
+      $$ = (char*)Malloc((name.size() + 1) * sizeof(char));
+      strcpy($$, name.c_str());
+    }
+;
+
+StringExpr :
+    tBIGSTR
+    {
+      $$ = $1;
+    }
+  | tNameToString '[' String__Index ']'
+    {
+      $$ = $3;
+    }
+  | tToday
+    {
+      $$ = (char *)Malloc(32 * sizeof(char));
+      time_t now;
+      time(&now);
+      strcpy($$, ctime(&now));
+      $$[strlen($$) - 1] = '\0';
+    }
+  | tGmshExecutableName
+    {
+      std::string exe = Msg::GetExecutableName();
+      $$ = (char *)Malloc(exe.size() + 1);
+      strcpy($$, exe.c_str());
+    }
+  | tOnelabAction
+    {
+      std::string action = Msg::GetOnelabAction();
+      $$ = (char *)Malloc(action.size() + 1);
+      strcpy($$, action.c_str());
+    }
+  | tCodeName
+    {
+      $$ = strsave((char*)"Gmsh");
+    }
+  | tGetEnv '(' StringExprVar ')'
+    {
+      const char *env = GetEnvironmentVar($3);
+      if(!env) env = "";
+      $$ = (char *)Malloc((sizeof(env) + 1) * sizeof(char));
+      strcpy($$, env);
+      Free($3);
+    }
+  | tGetStringValue '(' StringExprVar ',' StringExprVar ')'
+    {
+      std::string s = Msg::GetString($3, $5);
+      $$ = (char *)Malloc((s.size() + 1) * sizeof(char));
+      strcpy($$, s.c_str());
+      Free($3);
+      Free($5);
+    }
+  | tGetString LP StringExprVar RP
+    {
+      std::string s = Msg::GetOnelabString($3);
+      $$ = (char *)Malloc((s.size() + 1) * sizeof(char));
+      strcpy($$, s.c_str());
+      Free($3);
+    }
+  | tGetString LP StringExprVar ',' StringExprVar RP
+    {
+      std::string s = Msg::GetOnelabString($3, $5);
+      $$ = (char *)Malloc((s.size() + 1) * sizeof(char));
+      strcpy($$, s.c_str());
+      Free($3);
+      Free($5);
+    }
+
+    //+++ No need to extend to Struct_FullName (a Tag is not a String), but...
+  | tGetForcedStr '(' Struct_FullName GetForcedStr_Default ')'
+    {
+      $$ = treat_Struct_FullName_String(NULL, $3.char2, 1, 0, $4, 2);
+    }
+
+  | tGetForcedStr '(' Struct_FullName '.' tSTRING_Member_Float GetForcedStr_Default ')'
+    {
+      $$ = treat_Struct_FullName_dot_tSTRING_String($3.char1, $3.char2, $5, 0, $6, 2);
+    }
+
+  | tStrCat LP RecursiveListOfStringExprVar RP
+    {
+      int size = 1;
+      for(int i = 0; i < List_Nbr($3); i++)
+        size += strlen(*(char**)List_Pointer($3, i)) + 1;
+      $$ = (char*)Malloc(size * sizeof(char));
+      $$[0] = '\0';
+      for(int i = 0; i < List_Nbr($3); i++){
+        char *s;
+        List_Read($3, i, &s);
+        strcat($$, s);
+        Free(s);
+      }
+      List_Delete($3);
+    }
+  | tStrPrefix '(' StringExprVar ')'
+    {
+      $$ = (char *)Malloc((strlen($3) + 1) * sizeof(char));
+      int i;
+      for(i = strlen($3) - 1; i >= 0; i--){
+	if($3[i] == '.'){
+	  strncpy($$, $3, i);
+	  $$[i]='\0';
+	  break;
+	}
+      }
+      if(i <= 0) strcpy($$, $3);
+      Free($3);
+    }
+  | tStrRelative '(' StringExprVar ')'
+    {
+      $$ = (char *)Malloc((strlen($3) + 1) * sizeof(char));
+      int i;
+      for(i = strlen($3) - 1; i >= 0; i--){
+	if($3[i] == '/' || $3[i] == '\\')
+	  break;
+      }
+      if(i <= 0)
+	strcpy($$, $3);
+      else
+	strcpy($$, &$3[i+1]);
+      Free($3);
+    }
+  | tStrReplace '(' StringExprVar ',' StringExprVar ',' StringExprVar ')'
+    {
+      std::string input = $3;
+      std::string substr_old = $5;
+      std::string substr_new = $7;
+      std::string ret = ReplaceSubString(substr_old, substr_new, input);
+      $$ = (char *)Malloc((ret.size() + 1) * sizeof(char));
+      strcpy($$, ret.c_str());
+      Free($3);
+      Free($5);
+      Free($7);
+    }
+  | tStr LP RecursiveListOfStringExprVar RP
+    {
+      int size = 1;
+      for(int i = 0; i < List_Nbr($3); i++)
+        size += strlen(*(char**)List_Pointer($3, i)) + 1;
+      $$ = (char*)Malloc(size * sizeof(char));
+      $$[0] = '\0';
+      for(int i = 0; i < List_Nbr($3); i++){
+        char *s;
+        List_Read($3, i, &s);
+        strcat($$, s);
+        Free(s);
+        if(i != List_Nbr($3) - 1) strcat($$, "\n");
+      }
+      List_Delete($3);
+    }
+  | tUpperCase LP StringExprVar RP
+    {
+      int i = 0;
+      while ($3[i]) {
+        $3[i] = toupper($3[i]);
+        i++;
+      }
+      $$ = $3;
+    }
+  | tLowerCase LP StringExprVar RP
+    {
+      int i = 0;
+      while ($3[i]) {
+        $3[i] = tolower($3[i]);
+        i++;
+      }
+      $$ = $3;
+    }
+  | tLowerCaseIn LP StringExprVar RP
+    {
+      int i = 0;
+      while ($3[i]) {
+        if (i > 0 && $3[i-1] != '_')
+          $3[i] = tolower($3[i]);
+        i++;
+      }
+      $$ = $3;
+    }
+  | tStrChoice LP FExpr ',' StringExprVar ',' StringExprVar RP
+    {
+      if($3){
+        $$ = $5;
+        Free($7);
+      }
+      else{
+        $$ = $7;
+        Free($5);
+      }
+    }
+  | tStrSub LP StringExprVar ',' FExpr ',' FExpr RP
+    {
+      std::string in = $3;
+      std::string out = in.substr((int)$5, (int)$7);
+      $$ = (char *)Malloc((out.size() + 1) * sizeof(char));
+      strcpy($$, out.c_str());
+      Free($3);
+    }
+  | tStrSub LP StringExprVar ',' FExpr RP
+    {
+      std::string in = $3;
+      std::string out = in.substr((int)$5, std::string::npos);
+      $$ = (char *)Malloc((out.size() + 1) * sizeof(char));
+      strcpy($$, out.c_str());
+      Free($3);
+    }
+  | tSprintf LP StringExprVar RP
+    {
+      $$ = $3;
+    }
+  | tSprintf LP StringExprVar ',' RecursiveListOfDouble RP
+    {
+      char tmpstring[5000];
+      int i = printListOfDouble($3, $5, tmpstring);
+      if(i < 0){
+	yymsg(0, "Too few arguments in Sprintf");
+	$$ = $3;
+      }
+      else if(i > 0){
+	yymsg(0, "%d extra argument%s in Sprintf", i, (i > 1) ? "s" : "");
+	$$ = $3;
+      }
+      else{
+	$$ = (char*)Malloc((strlen(tmpstring) + 1) * sizeof(char));
+	strcpy($$, tmpstring);
+	Free($3);
+      }
+      List_Delete($5);
+    }
+  | tFixRelativePath LP StringExprVar RP
+    {
+      std::string tmp = FixRelativePath(gmsh_yyname, $3);
+      $$ = (char*)Malloc((tmp.size() + 1) * sizeof(char));
+      strcpy($$, tmp.c_str());
+      Free($3);
+    }
+  | tCurrentDirectory
+    {
+      std::string tmp = SplitFileName(GetAbsolutePath(gmsh_yyname))[0];
+      $$ = (char*)Malloc((tmp.size() + 1) * sizeof(char));
+      strcpy($$, tmp.c_str());
+    }
+  | tDirName LP StringExprVar RP
+    {
+      std::string tmp = SplitFileName($3)[0];
+      $$ = (char*)Malloc((tmp.size() + 1) * sizeof(char));
+      strcpy($$, tmp.c_str());
+      Free($3);
+    }
+  | tAbsolutePath LP StringExprVar RP
+    {
+      std::string tmp = GetAbsolutePath($3);
+      $$ = (char*)Malloc((tmp.size() + 1) * sizeof(char));
+      strcpy($$, tmp.c_str());
+      Free($3);
+    }
+  | tDefineString LP StringExpr
+    { init_options(); }
+    CharParameterOptionsOrNone RP
+    {
+      std::string val($3);
+      Msg::ExchangeOnelabParameter("", val, floatOptions, charOptions);
+      $$ = (char*)Malloc((val.size() + 1) * sizeof(char));
+      strcpy($$, val.c_str());
+      Free($3);
+    }
+  | tNameStruct LP NameStruct_Arg RP
+    {
+      std::string out;
+      const std::string * key_struct = NULL;
+      switch (nameSpaces.get_key_struct_from_tag(struct_namespace,
+                                                 (int)$3, key_struct)) {
+      case 0:
+        out = *key_struct;
+        break;
+      case 1:
+        yymsg(1, "Unknown NameSpace '%s' of Struct", struct_namespace.c_str());
+        break;
+      case 2:
+        yymsg(1, "Unknown Struct of index %d", (int)$3);
+        break;
+      default:
+        break;
+      }
+      $$ = (char*)Malloc((out.size() + 1) * sizeof(char));
+      strcpy($$, out.c_str());
+    }
+;
+
+NameStruct_Arg :
+    '#' FExpr
+    { struct_namespace = std::string(""); $$ = $2; }
+  | String__Index tSCOPE '#' FExpr
+    { struct_namespace = $1; Free($1); $$ = $4; }
+;
+
+
+RecursiveListOfStringExprVar :
+    StringExprVar
+    {
+      $$ = List_Create(20,20,sizeof(char*));
+      List_Add($$, &($1));
+    }
+  | RecursiveListOfStringExprVar ',' StringExprVar
+    {
+      List_Add($$, &($3));
+    }
+ ;
+
+StringIndex :
+
+    tSTRING '~' '{' FExpr '}'
+    {
+      char tmpstr[256];
+      sprintf(tmpstr, "_%d", (int)$4);
+      $$ = (char *)Malloc((strlen($1)+strlen(tmpstr)+1)*sizeof(char));
+      strcpy($$, $1); strcat($$, tmpstr);
+      Free($1);
+    }
+
+  | StringIndex '~' '{' FExpr '}'
+    {
+      char tmpstr[256];
+      sprintf(tmpstr, "_%d", (int)$4);
+      $$ = (char *)Malloc((strlen($1)+strlen(tmpstr)+1)*sizeof(char)) ;
+      strcpy($$, $1) ; strcat($$, tmpstr) ;
+      Free($1);
+    }
+
+  | tStringToName '[' StringExprVar ']' '~' '{' FExpr '}'
+    {
+      char tmpstr[256];
+      sprintf(tmpstr, "_%d", (int)$7);
+      $$ = (char *)Malloc((strlen($3)+strlen(tmpstr)+1)*sizeof(char));
+      strcpy($$, $3); strcat($$, tmpstr);
+      Free($3);
+    }
+ ;
+
+String__Index :
+
+    tSTRING
+    { $$ = $1; }
+
+  | StringIndex
+    { $$ = $1; }
+
+  // Create a name from any string
+  | tStringToName '[' StringExprVar ']'
+    { $$ = $3; }
+ ;
+
+%%
+
+void assignVariable(const std::string &name, int index, int assignType,
+                    double value)
+{
+  if(!gmsh_yysymbols.count(name)){
+    if(!assignType){
+      gmsh_yysymbol &s(gmsh_yysymbols[name]);
+      s.list = true;
+      s.value.resize(index + 1, 0.);
+      s.value[index] = value;
+    }
+    else
+      yymsg(0, "Unknown variable '%s'", name.c_str());
+  }
+  else{
+    gmsh_yysymbol &s(gmsh_yysymbols[name]);
+    if(s.list){
+      if((int)s.value.size() < index + 1) s.value.resize(index + 1, 0.);
+      switch(assignType){
+      case 0 : s.value[index] = value; break;
+      case 1 : s.value[index] += value; break;
+      case 2 : s.value[index] -= value; break;
+      case 3 : s.value[index] *= value; break;
+      case 4 :
+        if(value) s.value[index] /= value;
+        else yymsg(0, "Division by zero in '%s[%d] /= %g'",
+                   name.c_str(), index, value);
+        break;
+      }
+    }
+    else
+      yymsg(0, "Variable '%s' is not a list", name.c_str());
+  }
+}
+
+void assignVariables(const std::string &name, List_T *indices, int assignType,
+                     List_T *values)
+{
+  if(List_Nbr(indices) != List_Nbr(values)){
+    yymsg(0, "Incompatible array dimensions in affectation");
+  }
+  else{
+    if(!gmsh_yysymbols.count(name)){
+      if(!assignType){
+        gmsh_yysymbol &s(gmsh_yysymbols[name]);
+        s.list = true;
+        for(int i = 0; i < List_Nbr(indices); i++){
+          int index = (int)(*(double*)List_Pointer(indices, i));
+          s.value.resize(index + 1, 0.);
+          s.value[index] = *(double*)List_Pointer(values, i);
+        }
+      }
+      else
+        yymsg(0, "Unknown variable '%s'", name.c_str());
+    }
+    else{
+      gmsh_yysymbol &s(gmsh_yysymbols[name]);
+      if(s.list){
+        for(int i = 0; i < List_Nbr(indices); i++){
+          int index = (int)(*(double*)List_Pointer(indices, i));
+          double d = *(double*)List_Pointer(values, i);
+          if((int)s.value.size() < index + 1) s.value.resize(index + 1, 0.);
+          switch(assignType){
+          case 0 : s.value[index] = d; break;
+          case 1 : s.value[index] += d; break;
+          case 2 : s.value[index] -= d; break;
+          case 3 : s.value[index] *= d; break;
+          case 4 :
+            if(d) s.value[index] /= d;
+            else yymsg(0, "Division by zero in '%s[%d] /= %g'", name.c_str(), index, d);
+            break;
+          }
+        }
+      }
+      else
+        yymsg(0, "Variable '%s' is not a list", name.c_str());
+    }
+  }
+}
+
+void incrementVariable(const std::string &name, int index, double value)
+{
+  if(!gmsh_yysymbols.count(name))
+    yymsg(0, "Unknown variable '%s'", name.c_str());
+  else{
+    gmsh_yysymbol &s(gmsh_yysymbols[name]);
+    if(s.list){
+      if((int)s.value.size() < index + 1) s.value.resize(index + 1, 0.);
+      s.value[index] += value;
+    }
+    else
+      yymsg(0, "Variable '%s' is not a list", name.c_str());
+  }
+}
+
+int printListOfDouble(char *format, List_T *list, char *buffer)
+{
+  // if format does not contain formatting characters, dump the list (useful for
+  // quick debugging of lists)
+  int numFormats = 0;
+  for(unsigned int i = 0; i < strlen(format); i++)
+    if(format[i] == '%') numFormats++;
+  if(!numFormats){
+    strcpy(buffer, format);
+    for(int i = 0; i < List_Nbr(list); i++){
+      double d;
+      List_Read(list, i, &d);
+      char tmp[256];
+      sprintf(tmp, " [%d]%g", i, d);
+      strcat(buffer, tmp);
+    }
+    return 0;
+  }
+
+  char tmp1[256], tmp2[256];
+  int j = 0, k = 0;
+  buffer[j] = '\0';
+
+  while(j < (int)strlen(format) && format[j] != '%') j++;
+  strncpy(buffer, format, j);
+  buffer[j] = '\0';
+  for(int i = 0; i < List_Nbr(list); i++){
+    k = j;
+    j++;
+    if(j < (int)strlen(format)){
+      if(format[j] == '%'){
+	strcat(buffer, "%");
+	j++;
+      }
+      while(j < (int)strlen(format) && format[j] != '%') j++;
+      if(k != j){
+	strncpy(tmp1, &(format[k]), j-k);
+	tmp1[j-k] = '\0';
+	sprintf(tmp2, tmp1, *(double*)List_Pointer(list, i));
+	strcat(buffer, tmp2);
+      }
+    }
+    else
+      return List_Nbr(list) - i;
+  }
+  if(j != (int)strlen(format))
+    return -1;
+  return 0;
+}
+
+void PrintParserSymbols(bool help, std::vector<std::string> &vec)
+{
+  if(help){
+    vec.push_back("//");
+    vec.push_back("// Numbers");
+    vec.push_back("//");
+  }
+  for(std::map<std::string, gmsh_yysymbol>::iterator it = gmsh_yysymbols.begin();
+      it != gmsh_yysymbols.end(); it++){
+    gmsh_yysymbol s(it->second);
+    std::ostringstream sstream;
+    sstream.precision(12);
+    sstream << it->first;
+    if(s.list){
+      sstream << "[] = {";
+      for(unsigned int i = 0; i < s.value.size(); i++){
+        if(i) sstream << ", ";
+        sstream << s.value[i];
+      }
+      sstream << "}";
+    }
+    else
+      sstream << " = " << s.value[0];
+    sstream << ";";
+    vec.push_back(sstream.str());
+  }
+  if(help){
+    vec.push_back("//");
+    vec.push_back("// Strings");
+    vec.push_back("//");
+  }
+  for(std::map<std::string, std::vector<std::string> >::iterator it =
+        gmsh_yystringsymbols.begin(); it != gmsh_yystringsymbols.end(); it++){
+    if(it->second.size() == 1)
+      vec.push_back(it->first + " = \"" + it->second[0] + "\";");
+    else{
+      std::string s = it->first + "[] = Str(";
+      for(unsigned int i = 0; i < it->second.size(); i++){
+        if(i) s += ", ";
+        s += std::string("\"") + it->second[i] + "\"";
+      }
+      s += ");";
+      vec.push_back(s);
+    }
+  }
+  if (nameSpaces.size()){
+    if(help){
+      vec.push_back("//");
+      vec.push_back("// Structures");
+      vec.push_back("//");
+    }
+    std::vector<std::string> strs;
+    nameSpaces.sprint(strs);
+    vec.insert(vec.end(), strs.begin(), strs.end());
+  }
+}
+
+fullMatrix<double> ListOfListOfDouble2Matrix(List_T *list)
+{
+  // Warning: this returns a fullMatrix copy, and deletes the input list
+  int M = List_Nbr(list);
+  int N = 0;
+  for(int i = 0; i < M; i++){
+    List_T *line = *(List_T**)List_Pointer_Fast(list, i);
+    N = std::max(N, List_Nbr(line));
+  }
+  fullMatrix<double> mat(M, N);
+  for(int i = 0; i < M; i++){
+    List_T *line = *(List_T**)List_Pointer_Fast(list, i);
+    for(int j = 0; j < List_Nbr(line); j++){
+      double val;
+      List_Read(line, j, &val);
+      mat(i, j) = val;
+    }
+  }
+  for(int i = 0; i < List_Nbr(list); i++)
+    List_Delete(*(List_T**)List_Pointer(list, i));
+  List_Delete(list);
+  return mat;
+}
+
+void ListOfDouble2Vector(List_T *list, std::vector<int> &v)
+{
+  v.clear();
+  if(!list) return;
+  v.reserve(List_Nbr(list));
+  for(int i = 0; i < List_Nbr(list); i++){
+    double d;
+    List_Read(list, i, &d);
+    v.push_back((int)d);
+  }
+}
+
+void ListOfDouble2Vector(List_T *list, std::vector<double> &v)
+{
+  v.clear();
+  if(!list) return;
+  v.reserve(List_Nbr(list));
+  for(int i = 0; i < List_Nbr(list); i++){
+    double d;
+    List_Read(list, i, &d);
+    v.push_back(d);
+  }
+}
+
+void ListOfShapes2VectorOfPairs(List_T *list, std::vector<std::pair<int, int> > &v)
+{
+  for(int i = 0; i < List_Nbr(list); i++){
+    Shape s;
+    List_Read(list, i, &s);
+    int dim = s.Type / 100 - 1;
+    if(dim >= 0 && dim <= 3) v.push_back(std::pair<int, int>(dim, s.Num));
+  }
+}
+
+void VectorOfPairs2ListOfShapes(const std::vector<std::pair<int, int> > &v, List_T *list)
+{
+  for(unsigned int i = 0; i < v.size(); i++){
+    int dim = v[i].first;
+    int tag = v[i].second;
+    Shape s;
+    s.Type = (dim == 3) ? MSH_VOLUME : (dim == 2) ? MSH_SURF_PLAN :
+      (dim == 1) ? MSH_SEGM_LINE : MSH_POINT;
+    s.Num = tag;
+    List_Add(list, &s);
+  }
+}
+
+void yyerror(const char *s)
+{
+  Msg::Error("'%s', line %d : %s (%s)", gmsh_yyname.c_str(), gmsh_yylineno - 1,
+             s, gmsh_yytext);
+  gmsh_yyerrorstate++;
+}
+
+void yymsg(int level, const char *fmt, ...)
+{
+  va_list args;
+  char tmp[1024];
+
+  va_start(args, fmt);
+  vsprintf(tmp, fmt, args);
+  va_end(args);
+
+  if(level == 0){
+    Msg::Error("'%s', line %d : %s", gmsh_yyname.c_str(), gmsh_yylineno - 1, tmp);
+    gmsh_yyerrorstate++;
+  }
+  else if(level == 1){
+    Msg::Warning("'%s', line %d : %s", gmsh_yyname.c_str(), gmsh_yylineno - 1, tmp);
+  }
+  else{
+    Msg::Info("'%s', line %d : %s", gmsh_yyname.c_str(), gmsh_yylineno - 1, tmp);
+  }
+}
+
+void addPeriodicFace(int iTarget, int iSource,
+                     const std::vector<double>& affineTransform)
+{
+  if(GModel::current()->getOCCInternals() &&
+     GModel::current()->getOCCInternals()->getChanged())
+    GModel::current()->getOCCInternals()->synchronize(GModel::current());
+  if(GModel::current()->getGEOInternals()->getChanged())
+    GModel::current()->getGEOInternals()->synchronize(GModel::current());
+
+  GFace *target = GModel::current()->getFaceByTag(std::abs(iTarget));
+  GFace *source = GModel::current()->getFaceByTag(std::abs(iSource));
+  if (!target || !source) {
+    Msg::Error("Could not find edge slave %d or master %d for periodic copy",
+               iTarget, iSource);
+  }
+  else target->setMeshMaster(source, affineTransform);
+}
+
+void addPeriodicFace(int iTarget, int iSource,
+                     const std::map<int,int>& edgeCounterparts)
+{
+  if(GModel::current()->getOCCInternals() &&
+     GModel::current()->getOCCInternals()->getChanged())
+    GModel::current()->getOCCInternals()->synchronize(GModel::current());
+  if(GModel::current()->getGEOInternals()->getChanged())
+    GModel::current()->getGEOInternals()->synchronize(GModel::current());
+
+  Msg::Info("Encoding periodic connection between %d and %d", iTarget, iSource);
+  std::map<int,int>::const_iterator sIter = edgeCounterparts.begin();
+  for (; sIter != edgeCounterparts.end(); ++sIter) {
+    Msg::Info("%d - %d", sIter->first, sIter->second);
+  }
+
+  GFace *target = GModel::current()->getFaceByTag(std::abs(iTarget));
+  GFace *source = GModel::current()->getFaceByTag(std::abs(iSource));
+  if (!target || !source) {
+    Msg::Error("Could not find surface slave %d or master %d for periodic copy",
+               iTarget,iSource);
+  }
+  else target->setMeshMaster(source, edgeCounterparts);
+}
+
+void addPeriodicEdge(int iTarget,int iSource,
+                     const std::vector<double>& affineTransform)
+{
+  if(GModel::current()->getOCCInternals() &&
+     GModel::current()->getOCCInternals()->getChanged())
+    GModel::current()->getOCCInternals()->synchronize(GModel::current());
+  if(GModel::current()->getGEOInternals()->getChanged())
+    GModel::current()->getGEOInternals()->synchronize(GModel::current());
+
+  GEdge *target = GModel::current()->getEdgeByTag(std::abs(iTarget));
+  GEdge *source = GModel::current()->getEdgeByTag(std::abs(iSource));
+  if (!target || !source)
+    Msg::Error("Could not find surface %d or %d for periodic copy",
+               iTarget,iSource);
+  if (affineTransform.size() >= 12) {
+    target->setMeshMaster(source, affineTransform);
+  }
+  else {
+    target->setMeshMaster(source, iSource * iTarget < 0 ? -1 : 1);
+  }
+}
+
+void computeAffineTransformation(SPoint3& origin, SPoint3& axis,
+                                 double angle, SPoint3& translation,
+                                 std::vector<double>& tfo)
+{
+  tfo.resize(16,0.0);
+
+  double ca = cos(angle);
+  double sa = sin(angle);
+
+  double ux = axis.x();
+  double uy = axis.y();
+  double uz = axis.z();
+
+  tfo.resize(16);
+
+  tfo[0*4+0] = ca + ux*ux*(1.-ca);
+  tfo[0*4+1] = ux*uy*(1.-ca) - uz * sa;
+  tfo[0*4+2] = ux*uz*(1.-ca) + uy * sa;
+
+  tfo[1*4+0] = ux*uy*(1.-ca) + uz * sa;
+  tfo[1*4+1] = ca + uy*uy*(1.-ca);
+  tfo[1*4+2] = uy*uz*(1.-ca) - ux * sa;
+
+  tfo[2*4+0] = ux*uz*(1.-ca) - uy * sa;
+  tfo[2*4+1] = uy*uz*(1.-ca) + ux * sa;
+  tfo[2*4+2] = ca + uz*uz*(1.-ca);
+
+  int idx = 0;
+  for (size_t i = 0; i < 3; i++,idx++) {
+    int tIdx = i*4+3;
+    tfo[tIdx] = origin[i] + translation[i];
+    for (int j = 0; j < 3; j++,idx++) tfo[tIdx] -= tfo[idx] * origin[j];
+  }
+
+  for (int i = 0; i < 4; i++) tfo[12+i] = 0;
+  tfo[15] = 1;
+}
+
+void addEmbedded(int dim, std::vector<int> tags, int dim2, int tag2)
+{
+  if(GModel::current()->getOCCInternals() &&
+     GModel::current()->getOCCInternals()->getChanged())
+    GModel::current()->getOCCInternals()->synchronize(GModel::current());
+  if(GModel::current()->getGEOInternals()->getChanged())
+    GModel::current()->getGEOInternals()->synchronize(GModel::current());
+
+  if(dim2 == 2){
+    GFace *gf = GModel::current()->getFaceByTag(tag2);
+    if(!gf){
+      yymsg(0, "Unknown model face with tag %d", tag2);
+      return;
+    }
+    for(unsigned int i = 0; i < tags.size(); i++){
+      if(dim == 0){
+        GVertex *gv = GModel::current()->getVertexByTag(tags[i]);
+        if(gv)
+          gf->addEmbeddedVertex(gv);
+        else
+          yymsg(0, "Unknown model vertex %d", tags[i]);
+      }
+      else if(dim == 1){
+        GEdge *ge = GModel::current()->getEdgeByTag(tags[i]);
+        if(ge)
+          gf->addEmbeddedEdge(ge);
+        else
+          yymsg(0, "Unknown model edge %d", tags[i]);
+      }
+    }
+  }
+  else if(dim2 == 3){
+    GRegion *gr = GModel::current()->getRegionByTag(tag2);
+    if(!gr){
+      yymsg(0, "Unknown model region with tag %d", tag2);
+      return;
+    }
+    for(unsigned int i = 0; i < tags.size(); i++){
+      if(dim == 0){
+        GVertex *gv = GModel::current()->getVertexByTag(tags[i]);
+        if(gv)
+          gr->addEmbeddedVertex(gv);
+        else
+          yymsg(0, "Unknown model vertex with tag %d", tags[i]);
+      }
+      else if(dim == 1){
+        GEdge *ge = GModel::current()->getEdgeByTag(tags[i]);
+        if(ge)
+          gr->addEmbeddedEdge(ge);
+        else
+          yymsg(0, "Unknown model edge with tag %d", tags[i]);
+      }
+      else if(dim == 2){
+        GFace *gf = GModel::current()->getFaceByTag(tags[i]);
+        if(gf)
+          gr->addEmbeddedFace(gf);
+        else
+          yymsg(0, "Unknown model face with tag %d", tags[i]);
+      }
+    }
+  }
+}
+
+void getAllElementaryTags(int dim, List_T *out)
+{
+  if(GModel::current()->getOCCInternals() &&
+     GModel::current()->getOCCInternals()->getChanged())
+    GModel::current()->getOCCInternals()->synchronize(GModel::current());
+  if(GModel::current()->getGEOInternals()->getChanged())
+    GModel::current()->getGEOInternals()->synchronize(GModel::current());
+
+  std::vector<GEntity*> entities;
+  GModel::current()->getEntities(entities, dim);
+  for(unsigned int i = 0; i < entities.size(); i++){
+    double tag = entities[i]->tag();
+    List_Add(out, &tag);
+  }
+}
+
+void getAllPhysicalTags(int dim, List_T *out)
+{
+  if(GModel::current()->getGEOInternals()->getChanged())
+    GModel::current()->getGEOInternals()->synchronize(GModel::current());
+
+  std::map<int, std::vector<GEntity*> > groups;
+  GModel::current()->getPhysicalGroups(dim, groups);
+  for(std::map<int, std::vector<GEntity*> >::iterator it = groups.begin();
+      it != groups.end(); it++){
+    double d = it->first;
+    List_Add(out, &d);
+  }
+}
+
+void getElementaryTagsForPhysicalGroups(int dim, List_T *in, List_T *out)
+{
+  if(GModel::current()->getGEOInternals()->getChanged())
+    GModel::current()->getGEOInternals()->synchronize(GModel::current());
+
+  std::map<int, std::vector<GEntity*> > groups;
+  GModel::current()->getPhysicalGroups(dim, groups);
+  for(int i = 0; i < List_Nbr(in); i++){
+    double num;
+    List_Read(in, i, &num);
+    std::map<int, std::vector<GEntity*> >::iterator it = groups.find(num);
+    if(it != groups.end()){
+      for(unsigned j = 0; j < it->second.size(); j++){
+        double d = it->second[j]->tag();
+        List_Add(out, &d);
+      }
+    }
+  }
+}
+
+void getElementaryTagsInBoundingBox(int dim, double x1, double y1, double z1,
+                                    double x2, double y2, double z2, List_T *out)
+{
+  if(GModel::current()->getOCCInternals() &&
+     GModel::current()->getOCCInternals()->getChanged())
+    GModel::current()->getOCCInternals()->synchronize(GModel::current());
+  if(GModel::current()->getGEOInternals()->getChanged())
+    GModel::current()->getGEOInternals()->synchronize(GModel::current());
+
+  SBoundingBox3d box(x1, y1, z1, x2, y2, z2);
+  std::vector<GEntity*> entities;
+  GModel::current()->getEntitiesInBox(entities, box, dim);
+  for(unsigned int i = 0; i < entities.size(); i++){
+    double d = entities[i]->tag();
+    List_Add(out, &d);
+  }
+}
+
+void setVisibility(int dim, int visible, bool recursive)
+{
+  if(GModel::current()->getOCCInternals() &&
+     GModel::current()->getOCCInternals()->getChanged())
+    GModel::current()->getOCCInternals()->synchronize(GModel::current());
+  if(GModel::current()->getGEOInternals()->getChanged())
+    GModel::current()->getGEOInternals()->synchronize(GModel::current());
+
+  std::vector<GEntity*> entities;
+  GModel::current()->getEntities(entities, dim);
+  for(unsigned int i = 0; i < entities.size(); i++){
+    entities[i]->setVisibility(visible);
+  }
+}
+
+void setVisibility(const std::vector<std::pair<int, int> > &dimTags,
+                   int visible, bool recursive)
+{
+  if(GModel::current()->getOCCInternals() &&
+     GModel::current()->getOCCInternals()->getChanged())
+    GModel::current()->getOCCInternals()->synchronize(GModel::current());
+  if(GModel::current()->getGEOInternals()->getChanged())
+    GModel::current()->getGEOInternals()->synchronize(GModel::current());
+
+  for(unsigned int i = 0; i < dimTags.size(); i++){
+    GEntity *ge = GModel::current()->getEntityByTag
+      (dimTags[i].first, std::abs(dimTags[i].second));
+    if(ge) ge->setVisibility(visible, recursive);
+  }
+}
+
+void setColor(const std::vector<std::pair<int, int> > &dimTags,
+              unsigned int val, bool recursive)
+{
+  if(GModel::current()->getOCCInternals() &&
+     GModel::current()->getOCCInternals()->getChanged())
+    GModel::current()->getOCCInternals()->synchronize(GModel::current());
+  if(GModel::current()->getGEOInternals()->getChanged())
+    GModel::current()->getGEOInternals()->synchronize(GModel::current());
+
+  for(unsigned int i = 0; i < dimTags.size(); i++){
+    GEntity *ge = GModel::current()->getEntityByTag
+      (dimTags[i].first, std::abs(dimTags[i].second));
+    if(ge) ge->setColor(val, recursive);
+  }
+}
+
+int NEWPOINT()
+{
+  int tag = GModel::current()->getGEOInternals()->getMaxTag(0) + 1;
+  if(GModel::current()->getOCCInternals())
+    tag = std::max(tag, GModel::current()->getOCCInternals()->getMaxTag(0) + 1);
+  return tag;
+}
+
+int NEWLINE()
+{
+  int tag = 0;
+  if(CTX::instance()->geom.oldNewreg)
+    tag = NEWREG();
+  else
+    tag = GModel::current()->getGEOInternals()->getMaxTag(1) + 1;
+  if(GModel::current()->getOCCInternals())
+    tag = std::max(tag, GModel::current()->getOCCInternals()->getMaxTag(1) + 1);
+  return tag;
+}
+
+int NEWLINELOOP()
+{
+  int tag = 0;
+  if(CTX::instance()->geom.oldNewreg)
+    tag = NEWREG();
+  else
+    tag = GModel::current()->getGEOInternals()->getMaxTag(-1) + 1;
+  if(GModel::current()->getOCCInternals())
+    tag = std::max(tag, GModel::current()->getOCCInternals()->getMaxTag(-1) + 1);
+  return tag;
+}
+
+int NEWSURFACE()
+{
+  int tag = 0;
+  if(CTX::instance()->geom.oldNewreg)
+    tag = NEWREG();
+  else
+    tag = GModel::current()->getGEOInternals()->getMaxTag(2) + 1;
+  if(GModel::current()->getOCCInternals())
+    tag = std::max(tag, GModel::current()->getOCCInternals()->getMaxTag(2) + 1);
+  return tag;
+}
+
+int NEWSURFACELOOP()
+{
+  int tag = 0;
+  if(CTX::instance()->geom.oldNewreg)
+    tag = NEWREG();
+  else
+    tag = GModel::current()->getGEOInternals()->getMaxTag(-2) + 1;
+  if(GModel::current()->getOCCInternals())
+    tag = std::max(tag, GModel::current()->getOCCInternals()->getMaxTag(-2) + 1);
+  return tag;
+}
+
+int NEWVOLUME()
+{
+  int tag = 0;
+  if(CTX::instance()->geom.oldNewreg)
+    tag = NEWREG();
+  else
+    tag = GModel::current()->getGEOInternals()->getMaxTag(3) + 1;
+  if(GModel::current()->getOCCInternals())
+    tag = std::max(tag, GModel::current()->getOCCInternals()->getMaxTag(3) + 1);
+  return tag;
+}
+
+int NEWREG()
+{
+  int tag = 0;
+  for(int dim = -2; dim <= 3; dim++){
+    if(dim)
+      tag = std::max(tag, GModel::current()->getGEOInternals()->getMaxTag(dim) + 1);
+  }
+  tag = std::max(tag, GModel::current()->getGEOInternals()->getMaxPhysicalTag() + 1);
+  if(GModel::current()->getOCCInternals()){
+    for(int dim = -2; dim <= 3; dim++){
+      if(dim)
+        tag = std::max(tag, GModel::current()->getOCCInternals()->getMaxTag(dim) + 1);
+    }
+  }
+  return tag;
+}
+
+int NEWFIELD()
+{
+#if defined(HAVE_MESH)
+  return (GModel::current()->getFields()->maxId() + 1);
+#else
+  return 0;
+#endif
+}
+
+int NEWPHYSICAL()
+{
+  if(CTX::instance()->geom.oldNewreg)
+    return NEWREG();
+  else
+    return (GModel::current()->getGEOInternals()->getMaxPhysicalTag() + 1);
+}
+
+
+double treat_Struct_FullName_Float
+(char* c1, char* c2, int type_var, int index, double val_default, int type_treat)
+{
+  double out;
+  if(!c1 && gmsh_yysymbols.count(c2)){
+    if (type_treat == 1) out = 1.; // Exists (type_treat == 1)
+    else { // Get (0) or GetForced (2)
+      if (type_var == 1) {
+        gmsh_yysymbol &s(gmsh_yysymbols[c2]);
+        if(s.value.empty()){
+          out = val_default;
+          if (type_treat == 0) yymsg(0, "Uninitialized variable '%s'", c2);
+        }
+        else
+          out = s.value[0];
+      }
+      else if (type_var == 2) {
+        gmsh_yysymbol &s(gmsh_yysymbols[c2]);
+        if((int)s.value.size() < index + 1){
+          out = val_default;
+          if (type_treat == 0) yymsg(0, "Uninitialized variable '%s[%d]'", c2, index);
+        }
+        else
+          out = s.value[0];
+      }
+      else {
+        out = val_default;
+      }
+    }
+  }
+  else if(!c1 && type_treat == 1 && gmsh_yystringsymbols.count(c2)) {
+    out = 1.;
+  }
+  else{
+    std::string struct_namespace(c1? c1 : std::string("")), struct_name(c2);
+    if(nameSpaces.getTag(struct_namespace, struct_name, out)) {
+      out = val_default;
+      if (type_treat == 0) yymsg(0, "Unknown variable '%s'", struct_name.c_str());
+    }
+  }
+  Free(c1); Free(c2);
+  return out;
+}
+
+double treat_Struct_FullName_dot_tSTRING_Float
+(char* c1, char* c2, char* c3, int index, double val_default, int type_treat)
+{
+  double out;
+  std::string struct_namespace(c1? c1 : std::string("")), struct_name(c2);
+  std::string key_member(c3);
+  switch (nameSpaces.getMember
+          (struct_namespace, struct_name, key_member, out, index)) {
+  case 0:
+    if (type_treat == 1) out = 1.; // Exists (type_treat == 1)
+    break;
+  case 1:
+    if (!NumberOption(GMSH_GET, c2, 0, c3, out, type_treat==0))
+      out = val_default;
+    break;
+  case 2:
+    if (type_treat != 0) {
+      const std::string * out_dummy = NULL;
+      out = (nameSpaces.getMember
+             (struct_namespace, struct_name, key_member, out_dummy))?
+        val_default : 1.;
+    }
+    else {
+      out = val_default;
+      if (type_treat == 0)
+        yymsg(0, "Unknown member '%s' of Struct %s", c3, struct_name.c_str());
+    }
+    break;
+  case 3:
+    out = val_default;
+    if (type_treat == 0)
+      yymsg(0, "Index %d out of range", index);
+    break;
+  }
+  Free(c1); Free(c2);
+  if (flag_tSTRING_alloc) Free(c3);
+  return out;
+}
+
+int treat_Struct_FullName_dot_tSTRING_Float_getDim
+(char* c1, char* c2, char* c3)
+{
+  int out;
+  std::string struct_namespace(c1? c1 : std::string("")), struct_name(c2);
+  std::string key_member(c3);
+  switch (nameSpaces.getMember_Dim
+          (struct_namespace, struct_name, key_member, out)) {
+  case 0:
+    break;
+  case 1:
+    out = 0;
+    break;
+  case 2:
+    out = 0;
+    yymsg(0, "Unknown member '%s' of Struct %s", c3, struct_name.c_str());
+    break;
+  }
+  Free(c1); Free(c2);
+  if (flag_tSTRING_alloc) Free(c3);
+  return out;
+}
+
+char * treat_Struct_FullName_String
+(char* c1, char* c2, int type_var, int index, char * val_default, int type_treat)
+{
+  std::string string_default(val_default? val_default : std::string(""));
+  const std::string * out = NULL;
+  std::string out_tmp;
+  if(!c1 && gmsh_yystringsymbols.count(c2)){
+    // Get (0) or GetForced (2)
+    if(gmsh_yystringsymbols[c2].size() != 1){
+      out = &string_default;
+      if (type_treat == 0)
+        yymsg(0, "Expected single valued string variable '%s'", c2);
+    }
+    else {
+      out_tmp = gmsh_yystringsymbols[c2][0];
+      out = &out_tmp;
+    }
+  }
+  else{
+    out = &string_default;
+    if (type_treat == 0) yymsg(0, "Unknown string variable '%s'", c2);
+  }
+  char* out_c = (char*)Malloc((out->size() + 1) * sizeof(char));
+  strcpy(out_c, out->c_str());
+  Free(c1); Free(c2);
+  return out_c;
+}
+
+char* treat_Struct_FullName_dot_tSTRING_String
+(char* c1, char* c2, char* c3, int index, char * val_default, int type_treat)
+{
+  std::string string_default(val_default? val_default : std::string(""));
+  const std::string * out = NULL;
+  std::string out_tmp; // PD: we should avoid that -> StringOption() to be changed
+  std::string struct_namespace(c1? c1 : std::string("")), struct_name(c2);
+  std::string key_member(c3);
+  switch (nameSpaces.getMember
+          (struct_namespace, struct_name, key_member, out, index)) {
+  case 0:
+    break;
+  case 1:
+    if (StringOption(GMSH_GET, c2, 0, c3, out_tmp, type_treat==0))
+      out = &out_tmp;
+    else
+      out = &string_default;
+    break;
+  case 2:
+    out = &string_default;
+    if (type_treat == 0)
+      yymsg(0, "Unknown member '%s' of Struct %s", c3, struct_name.c_str());
+    break;
+  case 3:
+    out = &string_default;
+    if (type_treat == 0)
+      yymsg(0, "Index %d out of range", index);
+    break;
+  }
+  char* out_c = (char*)Malloc((out->size() + 1) * sizeof(char));
+  strcpy(out_c, out->c_str());
+  Free(c1); Free(c2);
+  if (flag_tSTRING_alloc) Free(c3);
+  return out_c;
+}
diff --git a/Parser/Parser.h b/Parser/Parser.h
index ec52388c293aa04add4e898c81d6689ef766a87b..561d262f9a990fc8d70969c84e7aee9891f65311 100644
--- a/Parser/Parser.h
+++ b/Parser/Parser.h
@@ -55,30 +55,52 @@ public:
 
   inline int getTag() const { return _tag; }
 
-  int getMember (std::string & key_member, double & out) const
+  int getMember (std::string & key_member, double & out, int index) const
   {
     std::map<std::string, std::vector<double> >::const_iterator
       it = _fopt.find(key_member);
     if (it != _fopt.end()) {
-      out = it->second[0]; return 0;
+      if (index < it->second.size()) {
+        out = it->second[index]; return 0;
+      }
+      else {
+        out = 0.; return 2; // Error: Index out of range
+      }
     }
     else {
       out = 0.; return 1; // Error: Unknown member of Struct
     }
   }
 
-  int getMember (std::string & key_member, const std::string * & out) const
+  int getMember (std::string & key_member, const std::string * & out, int index) const
   {
     std::map<std::string, std::vector<std::string> >::const_iterator
       it = _copt.find(key_member);
     if (it != _copt.end()) {
-      out = &it->second[0]; return 0;
+      if (index < it->second.size()) {
+        out = &it->second[index]; return 0;
+      }
+      else {
+        out = NULL; return 2; // Error: Index out of range
+      }
     }
     else {
       out = NULL; return 1; // Error: Unknown member of Struct
     }
   }
 
+  int getMember_Dim (std::string & key_member, int & out) const
+  {
+    std::map<std::string, std::vector<double> >::const_iterator
+      it = _fopt.find(key_member);
+    if (it != _fopt.end()) {
+      out = it->second.size(); return 0;
+    }
+    else {
+      out = 0; return 1; // Error: Unknown member of Struct
+    }
+  }
+
   int getMember_ValMax () const { return _member_ValMax; }
 
   void sprint(std::string & str,
@@ -95,14 +117,27 @@ public:
       if (!flag_comma && it_attrib != _fopt.begin()) flag_comma = true;
       if (flag_comma) str += ", ";
       str += it_attrib->first + " ";
-      char tmp[32]; sprintf(tmp, "%g", it_attrib->second[0]); str += tmp;
+      char tmp[32];
+      if (it_attrib->second.size() > 1) str += "{ ";
+      for (int i = 0; i < it_attrib->second.size(); i++) {
+        if (i) str += ", ";
+        sprintf(tmp, "%g", it_attrib->second[i]); str += tmp;
+      }
+      if (it_attrib->second.size() > 1) str += "}";
     }
     for (std::map<std::string, std::vector<std::string> >::const_iterator
            it_attrib = _copt.begin();
          it_attrib != _copt.end(); ++it_attrib ) {
       if (!flag_comma && it_attrib != _copt.begin()) flag_comma = true;
       if (flag_comma) str += ", ";
-      str += it_attrib->first + " \"" + it_attrib->second[0] + "\"";
+      str += it_attrib->first + " ";
+      if (it_attrib->second.size() > 1) str += "{ ";
+      for (int i = 0; i < it_attrib->second.size(); i++) {
+        if (i) str += ", ";
+        str += "\"" + it_attrib->second[i] + "\"";
+      }
+      if (it_attrib->second.size() > 1) str += "}";
+
     }
     str += " ];\n";
   }
@@ -239,13 +274,20 @@ public:
   }
 
   int getMember(std::string & key_namespace, std::string & key_name,
-                std::string & key_member, double & out) const {
+                std::string & key_member, double & out, int index = 0) const {
 
     const Structs * structs_P = this->Find(key_namespace);
     const Struct * struct_P = (structs_P)? structs_P->Find(key_name) : NULL;
     if (structs_P && struct_P) {
-      if (struct_P->getMember(key_member, out)) {
+      switch (struct_P->getMember(key_member, out, index)) {
+      case 0:
+        break;
+      case 1:
         out = 0.; return 2; // 2: Error: Unknown member of Struct
+        break;
+      case 2:
+        out = 0.; return 3; // 3: // Error: Index out of range
+        break;
       }
     }
     else  {
@@ -255,14 +297,21 @@ public:
   }
 
   int getMember(std::string & key_namespace, std::string & key_name,
-                std::string & key_member, const std::string * & out) const
+                std::string & key_member, const std::string * & out, int index = 0) const
   {
 
     const Structs * structs_P = this->Find(key_namespace);
     const Struct * struct_P = (structs_P)? structs_P->Find(key_name) : NULL;
     if (structs_P && struct_P) {
-      if (struct_P->getMember(key_member, out)) {
+      switch (struct_P->getMember(key_member, out, index)) {
+      case 0:
+        break;
+      case 1:
         out = NULL; return 2; // 2: Error: Unknown member of Struct
+        break;
+      case 2:
+        out = NULL; return 3; // 3: // Error: Index out of range
+        break;
       }
     }
     else  {
@@ -271,6 +320,26 @@ public:
     return 0; // 0: no error
   }
 
+  int getMember_Dim(std::string & key_namespace, std::string & key_name,
+                    std::string & key_member, int & out) const {
+
+    const Structs * structs_P = this->Find(key_namespace);
+    const Struct * struct_P = (structs_P)? structs_P->Find(key_name) : NULL;
+    if (structs_P && struct_P) {
+      switch (struct_P->getMember_Dim(key_member, out)) {
+      case 0:
+        break;
+      case 1:
+        out = 0; return 2; // 2: Error: Unknown member of Struct
+        break;
+      }
+    }
+    else  {
+      out = 0; return 1; // 1: Error: Unknown Struct
+    }
+    return 0; // 0: no error
+  }
+
   int get_key_struct_from_tag(std::string & key_namespace,
                               int tag, const std::string * & key_struct) const
   {