diff --git a/Geo/Geo.cpp b/Geo/Geo.cpp index 7bc4ebcde0a81a941fafb831ae90187e08072c58..66736de4a1ce1b68f4fdb6bb4d283d34da398b7c 100644 --- a/Geo/Geo.cpp +++ b/Geo/Geo.cpp @@ -1,4 +1,4 @@ -// $Id: Geo.cpp,v 1.94 2007-08-29 18:41:06 geuzaine Exp $ +// $Id: Geo.cpp,v 1.95 2007-09-05 10:11:30 geuzaine Exp $ // // Copyright (C) 1997-2007 C. Geuzaine, J.-F. Remacle // @@ -1666,18 +1666,17 @@ void ApplyTransformationToSurface(double matrix[4][4], Surface *s) End_Surface(s); } -void ApplicationOnShapes(double matrix[4][4], List_T *ListShapes) +void ApplicationOnShapes(double matrix[4][4], List_T *shapes) { - int i; - Shape O; Vertex *v; Curve *c; Surface *s; List_Reset(ListOfTransformedPoints); - for(i = 0; i < List_Nbr(ListShapes); i++) { - List_Read(ListShapes, i, &O); + for(int i = 0; i < List_Nbr(shapes); i++) { + Shape O; + List_Read(shapes, i, &O); switch (O.Type) { case MSH_POINT: v = FindPoint(O.Num); @@ -1721,7 +1720,7 @@ void ApplicationOnShapes(double matrix[4][4], List_T *ListShapes) List_Reset(ListOfTransformedPoints); } -void TranslateShapes(double X, double Y, double Z, List_T *ListShapes) +void TranslateShapes(double X, double Y, double Z, List_T *shapes) { double T[3], matrix[4][4]; @@ -1729,13 +1728,13 @@ void TranslateShapes(double X, double Y, double Z, List_T *ListShapes) T[1] = Y; T[2] = Z; SetTranslationMatrix(matrix, T); - ApplicationOnShapes(matrix, ListShapes); + ApplicationOnShapes(matrix, shapes); if(CTX.geom.auto_coherence) ReplaceAllDuplicates(); } -void DilatShapes(double X, double Y, double Z, double A, List_T *ListShapes) +void DilatShapes(double X, double Y, double Z, double A, List_T *shapes) { double T[3], matrix[4][4]; @@ -1743,7 +1742,7 @@ void DilatShapes(double X, double Y, double Z, double A, List_T *ListShapes) T[1] = Y; T[2] = Z; SetDilatationMatrix(matrix, T, A); - ApplicationOnShapes(matrix, ListShapes); + ApplicationOnShapes(matrix, shapes); if(CTX.geom.auto_coherence) ReplaceAllDuplicates(); @@ -1751,7 +1750,7 @@ void DilatShapes(double X, double Y, double Z, double A, List_T *ListShapes) void RotateShapes(double Ax, double Ay, double Az, double Px, double Py, double Pz, - double alpha, List_T *ListShapes) + double alpha, List_T *shapes) { double A[3], T[3], matrix[4][4]; @@ -1759,35 +1758,117 @@ void RotateShapes(double Ax, double Ay, double Az, T[1] = -Py; T[2] = -Pz; SetTranslationMatrix(matrix, T); - ApplicationOnShapes(matrix, ListShapes); + ApplicationOnShapes(matrix, shapes); A[0] = Ax; A[1] = Ay; A[2] = Az; SetRotationMatrix(matrix, A, alpha); - ApplicationOnShapes(matrix, ListShapes); + ApplicationOnShapes(matrix, shapes); T[0] = Px; T[1] = Py; T[2] = Pz; SetTranslationMatrix(matrix, T); - ApplicationOnShapes(matrix, ListShapes); + ApplicationOnShapes(matrix, shapes); if(CTX.geom.auto_coherence) ReplaceAllDuplicates(); } -void SymmetryShapes(double A, double B, double C, double D, List_T *ListShapes) +void SymmetryShapes(double A, double B, double C, double D, List_T *shapes) { double matrix[4][4]; SetSymmetryMatrix(matrix, A, B, C, D); - ApplicationOnShapes(matrix, ListShapes); + ApplicationOnShapes(matrix, shapes); if(CTX.geom.auto_coherence) ReplaceAllDuplicates(); } +void BoundaryShapes(List_T *shapes, List_T *shapesBoundary) +{ + for(int i = 0; i < List_Nbr(shapes); i++) { + Shape O; + List_Read(shapes, i, &O); + switch (O.Type) { + case MSH_POINT: + return; + break; + case MSH_SEGM_LINE: + case MSH_SEGM_SPLN: + case MSH_SEGM_BSPLN: + case MSH_SEGM_BEZIER: + case MSH_SEGM_CIRC: + case MSH_SEGM_CIRC_INV: + case MSH_SEGM_ELLI: + case MSH_SEGM_ELLI_INV: + case MSH_SEGM_NURBS: + case MSH_SEGM_PARAMETRIC: + { + Curve *c = FindCurve(O.Num); + if(c){ + if(c->beg){ + Shape sh; + sh.Type = MSH_POINT; + sh.Num = c->beg->Num; + List_Add(shapesBoundary, &sh); + } + if(c->end){ + Shape sh; + sh.Type = MSH_POINT; + sh.Num = c->end->Num; + List_Add(shapesBoundary, &sh); + } + } + else + Msg(GERROR, "Unknown curve %d", O.Num); + } + break; + case MSH_SURF_REGL: + case MSH_SURF_TRIC: + case MSH_SURF_PLAN: + { + Surface *s = FindSurface(O.Num); + if(s){ + for(int j = 0; j < List_Nbr(s->Generatrices); j++){ + Curve *c; + List_Read(s->Generatrices, j, &c); + Shape sh; + sh.Type = c->Typ; + sh.Num = c->Num; + List_Add(shapesBoundary, &sh); + } + } + else + Msg(GERROR, "Unknown surface %d", O.Num); + } + break; + case MSH_VOLUME: + { + Volume *v = FindVolume(O.Num); + if(v){ + for(int j = 0; j < List_Nbr(v->Surfaces); j++){ + Surface *s; + List_Read(v->Surfaces, j, &s); + Shape sh; + sh.Type = s->Typ; + sh.Num = s->Num; + List_Add(shapesBoundary, &sh); + } + } + else + Msg(GERROR, "Unknown volume %d", O.Num); + } + break; + default: + Msg(GERROR, "Impossible to take boundary of entity %d (of type %d)", O.Num, + O.Type); + break; + } + } +} // Extrusion routines @@ -2923,7 +3004,7 @@ bool IntersectCurveSurface(Curve *c, Surface *s, double x[4]) return true; } -bool IntersectCurvesWithSurface(List_T *curve_ids, int surface_id, List_T *point_ids) +bool IntersectCurvesWithSurface(List_T *curve_ids, int surface_id, List_T *shapes) { Surface *s = FindSurface(surface_id); if(!s){ @@ -2940,8 +3021,11 @@ bool IntersectCurvesWithSurface(List_T *curve_ids, int surface_id, List_T *point Vertex p = InterpolateCurve(c, x[3], 0); Vertex *v = Create_Vertex(NEWPOINT(), p.Pos.X, p.Pos.Y, p.Pos.Z, p.lc, p.u); Tree_Insert(THEM->Points, &v); + Shape s; + s.Type = MSH_POINT; + s.Num = v->Num; double num = v->Num; - List_Add(point_ids, &num); + List_Add(shapes, &s); } } else diff --git a/Geo/Geo.h b/Geo/Geo.h index c5c0cbe999da0828f37f08cb3a011c87d0176ee6..38038369651dd2458325a6aa13a981891dba42bc 100644 --- a/Geo/Geo.h +++ b/Geo/Geo.h @@ -270,15 +270,12 @@ SurfaceLoop *FindSurfaceLoop(int inum); Volume *FindVolume(int inum); PhysicalGroup *FindPhysicalGroup(int inum, int type); -void TranslateShapes(double X,double Y,double Z, - List_T *ListShapes); -void DilatShapes(double X,double Y,double Z, double A, - List_T *ListShapes); +void TranslateShapes(double X,double Y,double Z, List_T *shapes); +void DilatShapes(double X,double Y,double Z, double A, List_T *shapes); void RotateShapes(double Ax,double Ay,double Az, - double Px,double Py, double Pz, - double alpha, List_T *ListShapes); -void SymmetryShapes(double A,double B,double C, - double D, List_T *ListShapes); + double Px,double Py, double Pz, double alpha, List_T *shapes); +void SymmetryShapes(double A,double B,double C, double D, List_T *shapes); +void BoundaryShapes(List_T *shapes, List_T *shapesBoundary); void CopyShape(int Type, int Num, int *New); void DeleteShape(int Type, int Num); void ColorShape(int Type, int Num, unsigned int Color); @@ -304,7 +301,7 @@ void ReplaceAllDuplicates(); bool ProjectPointOnCurve(Curve *c, Vertex *v, Vertex *RES, Vertex *DER); bool ProjectPointOnSurface(Surface *s, Vertex &p, double u[2]); -bool IntersectCurvesWithSurface(List_T *curve_ids, int surface_id, List_T *point_ids); +bool IntersectCurvesWithSurface(List_T *curve_ids, int surface_id, List_T *shapes); int recognize_seg(int typ, List_T *liste, int *seg); int recognize_loop(List_T *liste, int *loop); diff --git a/Mesh/meshGFace.cpp b/Mesh/meshGFace.cpp index e5fbb64e0900eb6ac9862c76943123c1aa43b184..70920753006c2acae71fd85adb6b5187f1e873ba 100644 --- a/Mesh/meshGFace.cpp +++ b/Mesh/meshGFace.cpp @@ -1,4 +1,4 @@ -// $Id: meshGFace.cpp,v 1.84 2007-09-04 13:47:02 remacle Exp $ +// $Id: meshGFace.cpp,v 1.85 2007-09-05 10:11:30 geuzaine Exp $ // // Copyright (C) 1997-2007 C. Geuzaine, J.-F. Remacle // @@ -1597,7 +1597,7 @@ void meshGFace::operator() (GFace *gf) // temp fix until we create MEdgeLoops in gmshFace Msg(DEBUG1, "Generating the mesh"); if(gf->getNativeType() == GEntity::GmshModel || gf->edgeLoops.empty()){ - gmsh2DMeshGenerator(gf,true); + gmsh2DMeshGenerator(gf,false); } else{ if(!gmsh2DMeshGeneratorPeriodic(gf,false)) diff --git a/Parser/Gmsh.l b/Parser/Gmsh.l index 34abf61d0bfa7cc69c83219c8dc429102100a3bf..7d8127d7291378c195df53fcddb1a1a3cbfde8d6 100644 --- a/Parser/Gmsh.l +++ b/Parser/Gmsh.l @@ -1,5 +1,5 @@ %{ -// $Id: Gmsh.l,v 1.90 2007-08-27 19:27:02 geuzaine Exp $ +// $Id: Gmsh.l,v 1.91 2007-09-05 10:11:30 geuzaine Exp $ // // Copyright (C) 1997-2007 C. Geuzaine, J.-F. Remacle // @@ -121,6 +121,7 @@ ArcTan2 return tAtan2; Attractor return tAttractor; Bezier return tBezier; +Boundary return tBoundary; Bump return tBump; BSpline return tBSpline; BoundingBox return tBoundingBox; diff --git a/Parser/Gmsh.tab.cpp b/Parser/Gmsh.tab.cpp index c8d5b63b5c6cc589d11bf6bc1a3686d34b2727cf..5bc71db54fe57d3bfed4ee977b2e2a4f04fdf109 100644 --- a/Parser/Gmsh.tab.cpp +++ b/Parser/Gmsh.tab.cpp @@ -77,62 +77,63 @@ #define tDelete 327 #define tCoherence 328 #define tIntersect 329 -#define tAttractor 330 -#define tLayers 331 -#define tHole 332 -#define tAlias 333 -#define tAliasWithOptions 334 -#define tText2D 335 -#define tText3D 336 -#define tInterpolationScheme 337 -#define tTime 338 -#define tGrain 339 -#define tCombine 340 -#define tBSpline 341 -#define tBezier 342 -#define tNurbs 343 -#define tOrder 344 -#define tKnots 345 -#define tColor 346 -#define tColorTable 347 -#define tFor 348 -#define tIn 349 -#define tEndFor 350 -#define tIf 351 -#define tEndIf 352 -#define tExit 353 -#define tField 354 -#define tThreshold 355 -#define tStructured 356 -#define tLatLon 357 -#define tGrad 358 -#define tPostView 359 -#define tReturn 360 -#define tCall 361 -#define tFunction 362 -#define tShow 363 -#define tHide 364 -#define tGetValue 365 -#define tGMSH_MAJOR_VERSION 366 -#define tGMSH_MINOR_VERSION 367 -#define tGMSH_PATCH_VERSION 368 -#define tAFFECTPLUS 369 -#define tAFFECTMINUS 370 -#define tAFFECTTIMES 371 -#define tAFFECTDIVIDE 372 -#define tOR 373 -#define tAND 374 -#define tEQUAL 375 -#define tNOTEQUAL 376 -#define tLESSOREQUAL 377 -#define tGREATEROREQUAL 378 -#define tPLUSPLUS 379 -#define tMINUSMINUS 380 -#define UNARYPREC 381 +#define tBoundary 330 +#define tAttractor 331 +#define tLayers 332 +#define tHole 333 +#define tAlias 334 +#define tAliasWithOptions 335 +#define tText2D 336 +#define tText3D 337 +#define tInterpolationScheme 338 +#define tTime 339 +#define tGrain 340 +#define tCombine 341 +#define tBSpline 342 +#define tBezier 343 +#define tNurbs 344 +#define tOrder 345 +#define tKnots 346 +#define tColor 347 +#define tColorTable 348 +#define tFor 349 +#define tIn 350 +#define tEndFor 351 +#define tIf 352 +#define tEndIf 353 +#define tExit 354 +#define tField 355 +#define tThreshold 356 +#define tStructured 357 +#define tLatLon 358 +#define tGrad 359 +#define tPostView 360 +#define tReturn 361 +#define tCall 362 +#define tFunction 363 +#define tShow 364 +#define tHide 365 +#define tGetValue 366 +#define tGMSH_MAJOR_VERSION 367 +#define tGMSH_MINOR_VERSION 368 +#define tGMSH_PATCH_VERSION 369 +#define tAFFECTPLUS 370 +#define tAFFECTMINUS 371 +#define tAFFECTTIMES 372 +#define tAFFECTDIVIDE 373 +#define tOR 374 +#define tAND 375 +#define tEQUAL 376 +#define tNOTEQUAL 377 +#define tLESSOREQUAL 378 +#define tGREATEROREQUAL 379 +#define tPLUSPLUS 380 +#define tMINUSMINUS 381 +#define UNARYPREC 382 #line 1 "Gmsh.y" -// $Id: Gmsh.tab.cpp,v 1.328 2007-09-04 13:47:03 remacle Exp $ +// $Id: Gmsh.tab.cpp,v 1.329 2007-09-05 10:11:30 geuzaine Exp $ // // Copyright (C) 1997-2007 C. Geuzaine, J.-F. Remacle // @@ -227,26 +228,26 @@ typedef union { -#define YYFINAL 1290 +#define YYFINAL 1286 #define YYFLAG -32768 -#define YYNTBASE 148 +#define YYNTBASE 149 -#define YYTRANSLATE(x) ((unsigned)(x) <= 381 ? yytranslate[x] : 217) +#define YYTRANSLATE(x) ((unsigned)(x) <= 382 ? yytranslate[x] : 217) static const short 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, 133, 2, 143, 2, 132, 2, 2, 138, - 139, 130, 128, 144, 129, 142, 131, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 124, - 2, 126, 119, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 134, 2, 144, 2, 133, 2, 2, 139, + 140, 131, 129, 145, 130, 143, 132, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 125, + 2, 127, 120, 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, - 140, 2, 141, 137, 2, 2, 2, 2, 2, 2, + 141, 2, 142, 138, 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, 145, 2, 146, 147, 2, 2, 2, 2, + 2, 2, 146, 2, 147, 148, 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, @@ -271,262 +272,261 @@ static const short yytranslate[] = { 0, 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, 120, 121, 122, 123, 125, 127, 134, 135, - 136 + 117, 118, 119, 121, 122, 123, 124, 126, 128, 135, + 136, 137 }; #if YYDEBUG != 0 static const short yyprhs[] = { 0, 0, 2, 5, 6, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, - 41, 44, 50, 58, 66, 76, 83, 92, 93, 96, - 99, 102, 105, 108, 111, 113, 117, 119, 123, 124, - 125, 136, 138, 142, 143, 157, 159, 163, 164, 180, - 189, 204, 205, 212, 219, 221, 223, 225, 227, 229, - 231, 233, 238, 246, 256, 263, 270, 274, 281, 286, - 293, 303, 310, 320, 326, 335, 344, 356, 363, 373, - 383, 393, 395, 397, 405, 414, 424, 433, 442, 451, - 461, 470, 476, 483, 490, 497, 505, 513, 521, 531, - 539, 549, 567, 575, 583, 595, 604, 613, 622, 631, - 635, 640, 651, 659, 667, 676, 685, 694, 702, 711, - 717, 729, 735, 745, 747, 749, 751, 752, 755, 762, - 769, 776, 783, 788, 795, 802, 809, 814, 821, 825, - 830, 836, 840, 844, 849, 854, 858, 866, 874, 878, - 886, 890, 893, 896, 912, 915, 922, 931, 940, 951, - 953, 956, 958, 962, 967, 969, 975, 987, 1001, 1002, - 1010, 1011, 1025, 1026, 1042, 1043, 1050, 1051, 1062, 1071, - 1080, 1089, 1102, 1115, 1128, 1143, 1158, 1173, 1174, 1187, - 1188, 1201, 1202, 1215, 1216, 1233, 1234, 1251, 1252, 1269, - 1270, 1289, 1290, 1309, 1310, 1329, 1331, 1334, 1340, 1348, - 1358, 1361, 1371, 1378, 1388, 1398, 1407, 1417, 1426, 1435, - 1442, 1447, 1458, 1469, 1480, 1491, 1494, 1496, 1500, 1503, - 1506, 1509, 1513, 1517, 1521, 1525, 1529, 1533, 1537, 1541, - 1545, 1549, 1553, 1557, 1561, 1565, 1571, 1576, 1581, 1586, - 1591, 1596, 1601, 1606, 1611, 1616, 1621, 1628, 1633, 1638, - 1643, 1648, 1653, 1658, 1665, 1672, 1679, 1684, 1689, 1694, - 1699, 1704, 1709, 1714, 1719, 1724, 1729, 1734, 1741, 1746, - 1751, 1756, 1761, 1766, 1771, 1778, 1785, 1792, 1797, 1799, - 1801, 1803, 1805, 1807, 1809, 1811, 1813, 1819, 1824, 1829, - 1832, 1838, 1842, 1849, 1854, 1862, 1869, 1871, 1874, 1877, - 1881, 1885, 1897, 1907, 1915, 1923, 1925, 1929, 1931, 1933, - 1936, 1940, 1945, 1951, 1954, 1958, 1962, 1968, 1973, 1983, - 1985, 1987, 1989, 1993, 2000, 2002, 2004, 2008, 2012, 2022, - 2030, 2032, 2038, 2042, 2049, 2051, 2055, 2057, 2059, 2061, - 2063, 2070, 2075, 2080, 2085, 2092, 2099 + 42, 48, 56, 64, 74, 81, 90, 97, 104, 105, + 108, 111, 114, 117, 120, 123, 125, 129, 131, 135, + 136, 137, 148, 150, 154, 155, 169, 171, 175, 176, + 192, 201, 216, 217, 224, 231, 233, 235, 237, 239, + 241, 243, 245, 250, 258, 268, 275, 282, 286, 293, + 298, 305, 315, 322, 332, 338, 347, 356, 368, 375, + 385, 395, 405, 407, 409, 417, 426, 436, 445, 454, + 463, 473, 482, 488, 495, 502, 509, 517, 525, 533, + 543, 551, 561, 579, 587, 595, 607, 616, 625, 634, + 643, 647, 652, 663, 671, 679, 688, 697, 706, 714, + 723, 729, 741, 747, 757, 762, 772, 777, 779, 781, + 782, 785, 792, 799, 806, 813, 818, 825, 829, 834, + 840, 844, 848, 853, 858, 862, 870, 878, 882, 890, + 894, 897, 900, 916, 919, 926, 935, 944, 955, 957, + 960, 962, 966, 971, 973, 979, 991, 1005, 1006, 1014, + 1015, 1029, 1030, 1046, 1047, 1054, 1055, 1066, 1075, 1084, + 1093, 1106, 1119, 1132, 1147, 1162, 1177, 1178, 1191, 1192, + 1205, 1206, 1219, 1220, 1237, 1238, 1255, 1256, 1273, 1274, + 1293, 1294, 1313, 1314, 1333, 1335, 1338, 1344, 1352, 1362, + 1365, 1375, 1382, 1392, 1402, 1411, 1421, 1430, 1439, 1446, + 1451, 1462, 1473, 1484, 1495, 1498, 1500, 1504, 1507, 1510, + 1513, 1517, 1521, 1525, 1529, 1533, 1537, 1541, 1545, 1549, + 1553, 1557, 1561, 1565, 1569, 1575, 1580, 1585, 1590, 1595, + 1600, 1605, 1610, 1615, 1620, 1625, 1632, 1637, 1642, 1647, + 1652, 1657, 1662, 1669, 1676, 1683, 1688, 1693, 1698, 1703, + 1708, 1713, 1718, 1723, 1728, 1733, 1738, 1745, 1750, 1755, + 1760, 1765, 1770, 1775, 1782, 1789, 1796, 1801, 1803, 1805, + 1807, 1809, 1811, 1813, 1815, 1817, 1823, 1828, 1833, 1836, + 1842, 1846, 1853, 1858, 1866, 1873, 1875, 1878, 1881, 1885, + 1889, 1901, 1911, 1919, 1927, 1929, 1933, 1935, 1937, 1940, + 1944, 1949, 1955, 1958, 1962, 1966, 1972, 1977, 1979, 1981, + 1985, 1992, 1994, 1996, 2000, 2004, 2014, 2022, 2024, 2030, + 2034, 2041, 2043, 2047, 2049, 2051, 2053, 2055, 2062, 2067, + 2072, 2077, 2084, 2091 }; -static const short yyrhs[] = { 149, - 0, 1, 6, 0, 0, 149, 150, 0, 153, 0, - 152, 0, 172, 0, 174, 0, 175, 0, 178, 0, - 179, 0, 180, 0, 181, 0, 184, 0, 201, 0, - 202, 0, 203, 0, 183, 0, 182, 0, 126, 0, - 126, 126, 0, 35, 138, 5, 139, 6, 0, 35, - 138, 5, 139, 151, 215, 6, 0, 35, 138, 5, - 144, 211, 139, 6, 0, 35, 138, 5, 144, 211, - 139, 151, 215, 6, 0, 4, 5, 145, 154, 146, - 6, 0, 4, 5, 4, 206, 145, 154, 146, 6, - 0, 0, 154, 157, 0, 154, 161, 0, 154, 164, - 0, 154, 166, 0, 154, 167, 0, 154, 169, 0, - 204, 0, 155, 144, 204, 0, 204, 0, 156, 144, - 204, 0, 0, 0, 4, 158, 138, 155, 139, 159, - 145, 156, 146, 6, 0, 215, 0, 160, 144, 215, - 0, 0, 81, 138, 204, 144, 204, 144, 204, 139, - 162, 145, 160, 146, 6, 0, 215, 0, 163, 144, - 215, 0, 0, 82, 138, 204, 144, 204, 144, 204, - 144, 204, 139, 165, 145, 163, 146, 6, 0, 83, - 145, 208, 146, 145, 208, 146, 6, 0, 83, 145, - 208, 146, 145, 208, 146, 145, 208, 146, 145, 208, - 146, 6, 0, 0, 84, 168, 145, 156, 146, 6, - 0, 85, 138, 204, 139, 209, 6, 0, 7, 0, - 115, 0, 116, 0, 117, 0, 118, 0, 134, 0, - 135, 0, 4, 170, 204, 6, 0, 4, 140, 204, - 141, 170, 204, 6, 0, 4, 140, 145, 211, 146, - 141, 170, 209, 6, 0, 4, 140, 141, 7, 209, - 6, 0, 4, 140, 141, 115, 209, 6, 0, 4, - 171, 6, 0, 4, 140, 204, 141, 171, 6, 0, - 4, 7, 216, 6, 0, 4, 142, 4, 7, 216, - 6, 0, 4, 140, 204, 141, 142, 4, 7, 216, - 6, 0, 4, 142, 4, 170, 204, 6, 0, 4, - 140, 204, 141, 142, 4, 170, 204, 6, 0, 4, - 142, 4, 171, 6, 0, 4, 140, 204, 141, 142, - 4, 171, 6, 0, 4, 142, 92, 142, 4, 7, - 212, 6, 0, 4, 140, 204, 141, 142, 92, 142, - 4, 7, 212, 6, 0, 4, 142, 93, 7, 213, - 6, 0, 4, 140, 204, 141, 142, 93, 7, 213, - 6, 0, 64, 138, 4, 139, 142, 4, 7, 204, - 6, 0, 64, 138, 4, 139, 142, 4, 7, 216, - 6, 0, 204, 0, 216, 0, 43, 138, 204, 139, - 7, 206, 6, 0, 60, 43, 138, 173, 139, 7, - 209, 6, 0, 76, 43, 100, 138, 204, 139, 7, - 209, 6, 0, 103, 100, 138, 204, 139, 7, 204, - 6, 0, 105, 100, 138, 204, 139, 7, 204, 6, - 0, 101, 100, 138, 204, 139, 7, 209, 6, 0, - 108, 100, 138, 204, 139, 7, 5, 209, 6, 0, - 102, 100, 138, 204, 139, 7, 5, 6, 0, 52, - 53, 100, 209, 6, 0, 76, 43, 209, 7, 209, - 6, 0, 76, 46, 209, 7, 209, 6, 0, 52, - 53, 209, 7, 204, 6, 0, 46, 138, 204, 139, - 7, 209, 6, 0, 50, 138, 204, 139, 7, 209, - 6, 0, 44, 138, 204, 139, 7, 209, 6, 0, - 44, 138, 204, 139, 7, 209, 56, 206, 6, 0, - 45, 138, 204, 139, 7, 209, 6, 0, 45, 138, - 204, 139, 7, 209, 56, 206, 6, 0, 54, 138, - 204, 139, 7, 145, 204, 144, 204, 144, 5, 144, - 5, 144, 5, 146, 6, 0, 87, 138, 204, 139, - 7, 209, 6, 0, 88, 138, 204, 139, 7, 209, - 6, 0, 89, 138, 204, 139, 7, 209, 91, 209, - 90, 204, 6, 0, 46, 71, 138, 204, 139, 7, - 209, 6, 0, 60, 46, 138, 173, 139, 7, 209, - 6, 0, 56, 49, 138, 204, 139, 7, 209, 6, - 0, 57, 49, 138, 204, 139, 7, 209, 6, 0, - 12, 13, 6, 0, 13, 49, 204, 6, 0, 54, - 49, 138, 204, 139, 7, 5, 5, 5, 6, 0, - 47, 138, 204, 139, 7, 209, 6, 0, 48, 138, - 204, 139, 7, 209, 6, 0, 49, 71, 138, 204, - 139, 7, 209, 6, 0, 60, 49, 138, 173, 139, - 7, 209, 6, 0, 59, 51, 138, 204, 139, 7, - 209, 6, 0, 51, 138, 204, 139, 7, 209, 6, - 0, 60, 51, 138, 173, 139, 7, 209, 6, 0, - 66, 206, 145, 176, 146, 0, 65, 145, 206, 144, - 206, 144, 204, 146, 145, 176, 146, 0, 67, 206, - 145, 176, 146, 0, 68, 145, 206, 144, 204, 146, - 145, 176, 146, 0, 178, 0, 177, 0, 175, 0, - 0, 177, 174, 0, 177, 43, 145, 211, 146, 6, - 0, 177, 46, 145, 211, 146, 6, 0, 177, 49, - 145, 211, 146, 6, 0, 177, 51, 145, 211, 146, - 6, 0, 70, 145, 177, 146, 0, 70, 4, 140, - 204, 141, 6, 0, 79, 4, 140, 204, 141, 6, - 0, 80, 4, 140, 204, 141, 6, 0, 73, 145, - 177, 146, 0, 73, 4, 140, 204, 141, 6, 0, - 73, 4, 6, 0, 73, 4, 4, 6, 0, 92, - 212, 145, 177, 146, 0, 109, 215, 6, 0, 110, - 215, 6, 0, 109, 145, 177, 146, 0, 110, 145, - 177, 146, 0, 4, 216, 6, 0, 4, 4, 140, - 204, 141, 215, 6, 0, 4, 4, 4, 140, 204, - 141, 6, 0, 4, 204, 6, 0, 64, 138, 4, - 139, 142, 4, 6, 0, 86, 4, 6, 0, 99, - 6, 0, 40, 6, 0, 40, 145, 204, 144, 204, - 144, 204, 144, 204, 144, 204, 144, 204, 146, 6, - 0, 41, 6, 0, 94, 138, 204, 8, 204, 139, - 0, 94, 138, 204, 8, 204, 8, 204, 139, 0, - 94, 4, 95, 145, 204, 8, 204, 146, 0, 94, - 4, 95, 145, 204, 8, 204, 8, 204, 146, 0, - 96, 0, 108, 4, 0, 106, 0, 107, 4, 6, - 0, 97, 138, 204, 139, 0, 98, 0, 69, 206, - 145, 177, 146, 0, 69, 145, 206, 144, 206, 144, - 204, 146, 145, 177, 146, 0, 69, 145, 206, 144, - 206, 144, 206, 144, 204, 146, 145, 177, 146, 0, - 0, 69, 206, 145, 177, 185, 199, 146, 0, 0, - 69, 145, 206, 144, 206, 144, 204, 146, 145, 177, - 186, 199, 146, 0, 0, 69, 145, 206, 144, 206, - 144, 206, 144, 204, 146, 145, 177, 187, 199, 146, - 0, 0, 69, 145, 177, 188, 199, 146, 0, 0, - 69, 4, 140, 204, 141, 145, 177, 189, 199, 146, - 0, 69, 43, 145, 204, 144, 206, 146, 6, 0, - 69, 46, 145, 204, 144, 206, 146, 6, 0, 69, - 49, 145, 204, 144, 206, 146, 6, 0, 69, 43, - 145, 204, 144, 206, 144, 206, 144, 204, 146, 6, - 0, 69, 46, 145, 204, 144, 206, 144, 206, 144, - 204, 146, 6, 0, 69, 49, 145, 204, 144, 206, - 144, 206, 144, 204, 146, 6, 0, 69, 43, 145, - 204, 144, 206, 144, 206, 144, 206, 144, 204, 146, - 6, 0, 69, 46, 145, 204, 144, 206, 144, 206, - 144, 206, 144, 204, 146, 6, 0, 69, 49, 145, - 204, 144, 206, 144, 206, 144, 206, 144, 204, 146, - 6, 0, 0, 69, 43, 145, 204, 144, 206, 146, - 190, 145, 199, 146, 6, 0, 0, 69, 46, 145, - 204, 144, 206, 146, 191, 145, 199, 146, 6, 0, - 0, 69, 49, 145, 204, 144, 206, 146, 192, 145, - 199, 146, 6, 0, 0, 69, 43, 145, 204, 144, - 206, 144, 206, 144, 204, 146, 193, 145, 199, 146, - 6, 0, 0, 69, 46, 145, 204, 144, 206, 144, - 206, 144, 204, 146, 194, 145, 199, 146, 6, 0, - 0, 69, 49, 145, 204, 144, 206, 144, 206, 144, - 204, 146, 195, 145, 199, 146, 6, 0, 0, 69, - 43, 145, 204, 144, 206, 144, 206, 144, 206, 144, - 204, 146, 196, 145, 199, 146, 6, 0, 0, 69, - 46, 145, 204, 144, 206, 144, 206, 144, 206, 144, - 204, 146, 197, 145, 199, 146, 6, 0, 0, 69, - 49, 145, 204, 144, 206, 144, 206, 144, 206, 144, - 204, 146, 198, 145, 199, 146, 6, 0, 200, 0, - 199, 200, 0, 77, 145, 204, 146, 6, 0, 77, - 145, 209, 144, 209, 146, 6, 0, 77, 145, 209, - 144, 209, 144, 209, 146, 6, 0, 72, 6, 0, - 78, 138, 204, 139, 7, 209, 61, 204, 6, 0, - 58, 46, 209, 7, 204, 6, 0, 58, 46, 209, - 7, 204, 61, 63, 204, 6, 0, 58, 46, 209, - 7, 204, 61, 62, 204, 6, 0, 58, 49, 145, - 204, 146, 7, 209, 6, 0, 58, 49, 145, 204, - 146, 7, 209, 4, 6, 0, 55, 49, 145, 204, - 146, 7, 209, 6, 0, 58, 51, 145, 204, 146, - 7, 209, 6, 0, 72, 49, 209, 7, 204, 6, - 0, 72, 49, 209, 6, 0, 43, 145, 211, 146, - 95, 49, 145, 204, 146, 6, 0, 46, 145, 211, - 146, 95, 49, 145, 204, 146, 6, 0, 46, 145, - 211, 146, 95, 51, 145, 204, 146, 6, 0, 49, - 145, 211, 146, 95, 51, 145, 204, 146, 6, 0, - 74, 6, 0, 205, 0, 138, 204, 139, 0, 129, - 204, 0, 128, 204, 0, 133, 204, 0, 204, 129, - 204, 0, 204, 128, 204, 0, 204, 130, 204, 0, - 204, 131, 204, 0, 204, 132, 204, 0, 204, 137, - 204, 0, 204, 124, 204, 0, 204, 126, 204, 0, - 204, 125, 204, 0, 204, 127, 204, 0, 204, 122, - 204, 0, 204, 123, 204, 0, 204, 121, 204, 0, - 204, 120, 204, 0, 204, 119, 204, 8, 204, 0, - 14, 138, 204, 139, 0, 15, 138, 204, 139, 0, - 16, 138, 204, 139, 0, 17, 138, 204, 139, 0, - 18, 138, 204, 139, 0, 19, 138, 204, 139, 0, - 20, 138, 204, 139, 0, 21, 138, 204, 139, 0, - 22, 138, 204, 139, 0, 24, 138, 204, 139, 0, - 25, 138, 204, 144, 204, 139, 0, 26, 138, 204, - 139, 0, 27, 138, 204, 139, 0, 28, 138, 204, - 139, 0, 29, 138, 204, 139, 0, 30, 138, 204, - 139, 0, 31, 138, 204, 139, 0, 32, 138, 204, - 144, 204, 139, 0, 33, 138, 204, 144, 204, 139, - 0, 34, 138, 204, 144, 204, 139, 0, 23, 138, - 204, 139, 0, 14, 140, 204, 141, 0, 15, 140, - 204, 141, 0, 16, 140, 204, 141, 0, 17, 140, - 204, 141, 0, 18, 140, 204, 141, 0, 19, 140, - 204, 141, 0, 20, 140, 204, 141, 0, 21, 140, - 204, 141, 0, 22, 140, 204, 141, 0, 24, 140, - 204, 141, 0, 25, 140, 204, 144, 204, 141, 0, - 26, 140, 204, 141, 0, 27, 140, 204, 141, 0, - 28, 140, 204, 141, 0, 29, 140, 204, 141, 0, - 30, 140, 204, 141, 0, 31, 140, 204, 141, 0, - 32, 140, 204, 144, 204, 141, 0, 33, 140, 204, - 144, 204, 141, 0, 34, 140, 204, 144, 204, 141, - 0, 23, 140, 204, 141, 0, 3, 0, 9, 0, - 10, 0, 11, 0, 112, 0, 113, 0, 114, 0, - 4, 0, 4, 147, 145, 204, 146, 0, 4, 140, - 204, 141, 0, 143, 4, 140, 141, 0, 4, 171, - 0, 4, 140, 204, 141, 171, 0, 4, 142, 4, - 0, 4, 140, 204, 141, 142, 4, 0, 4, 142, - 4, 171, 0, 4, 140, 204, 141, 142, 4, 171, - 0, 111, 138, 5, 144, 204, 139, 0, 207, 0, - 129, 206, 0, 128, 206, 0, 206, 129, 206, 0, - 206, 128, 206, 0, 145, 204, 144, 204, 144, 204, - 144, 204, 144, 204, 146, 0, 145, 204, 144, 204, - 144, 204, 144, 204, 146, 0, 145, 204, 144, 204, - 144, 204, 146, 0, 138, 204, 144, 204, 144, 204, - 139, 0, 209, 0, 208, 144, 209, 0, 204, 0, - 210, 0, 145, 146, 0, 145, 211, 146, 0, 129, - 145, 211, 146, 0, 204, 130, 145, 211, 146, 0, - 129, 210, 0, 204, 130, 210, 0, 204, 8, 204, - 0, 204, 8, 204, 8, 204, 0, 43, 145, 204, - 146, 0, 75, 46, 145, 211, 146, 49, 145, 204, - 146, 0, 175, 0, 178, 0, 184, 0, 4, 140, - 141, 0, 4, 140, 145, 211, 146, 141, 0, 204, - 0, 210, 0, 211, 144, 204, 0, 211, 144, 210, - 0, 145, 204, 144, 204, 144, 204, 144, 204, 146, - 0, 145, 204, 144, 204, 144, 204, 146, 0, 4, - 0, 4, 142, 92, 142, 4, 0, 145, 214, 146, - 0, 4, 140, 204, 141, 142, 93, 0, 212, 0, - 214, 144, 212, 0, 216, 0, 4, 0, 5, 0, - 42, 0, 37, 138, 215, 144, 215, 139, 0, 38, - 138, 215, 139, 0, 39, 138, 215, 139, 0, 36, - 138, 215, 139, 0, 36, 138, 215, 144, 211, 139, - 0, 36, 138, 4, 142, 4, 139, 0, 36, 138, - 4, 140, 204, 141, 142, 4, 139, 0 +static const short yyrhs[] = { 150, + 0, 1, 6, 0, 0, 150, 151, 0, 154, 0, + 153, 0, 173, 0, 175, 0, 176, 0, 179, 0, + 180, 0, 181, 0, 184, 0, 201, 0, 202, 0, + 203, 0, 183, 0, 182, 0, 127, 0, 127, 127, + 0, 35, 139, 5, 140, 6, 0, 35, 139, 5, + 140, 152, 215, 6, 0, 35, 139, 5, 145, 211, + 140, 6, 0, 35, 139, 5, 145, 211, 140, 152, + 215, 6, 0, 4, 5, 146, 155, 147, 6, 0, + 4, 5, 4, 206, 146, 155, 147, 6, 0, 80, + 4, 141, 204, 142, 6, 0, 81, 4, 141, 204, + 142, 6, 0, 0, 155, 158, 0, 155, 162, 0, + 155, 165, 0, 155, 167, 0, 155, 168, 0, 155, + 170, 0, 204, 0, 156, 145, 204, 0, 204, 0, + 157, 145, 204, 0, 0, 0, 4, 159, 139, 156, + 140, 160, 146, 157, 147, 6, 0, 215, 0, 161, + 145, 215, 0, 0, 82, 139, 204, 145, 204, 145, + 204, 140, 163, 146, 161, 147, 6, 0, 215, 0, + 164, 145, 215, 0, 0, 83, 139, 204, 145, 204, + 145, 204, 145, 204, 140, 166, 146, 164, 147, 6, + 0, 84, 146, 208, 147, 146, 208, 147, 6, 0, + 84, 146, 208, 147, 146, 208, 147, 146, 208, 147, + 146, 208, 147, 6, 0, 0, 85, 169, 146, 157, + 147, 6, 0, 86, 139, 204, 140, 209, 6, 0, + 7, 0, 116, 0, 117, 0, 118, 0, 119, 0, + 135, 0, 136, 0, 4, 171, 204, 6, 0, 4, + 141, 204, 142, 171, 204, 6, 0, 4, 141, 146, + 211, 147, 142, 171, 209, 6, 0, 4, 141, 142, + 7, 209, 6, 0, 4, 141, 142, 116, 209, 6, + 0, 4, 172, 6, 0, 4, 141, 204, 142, 172, + 6, 0, 4, 7, 216, 6, 0, 4, 143, 4, + 7, 216, 6, 0, 4, 141, 204, 142, 143, 4, + 7, 216, 6, 0, 4, 143, 4, 171, 204, 6, + 0, 4, 141, 204, 142, 143, 4, 171, 204, 6, + 0, 4, 143, 4, 172, 6, 0, 4, 141, 204, + 142, 143, 4, 172, 6, 0, 4, 143, 93, 143, + 4, 7, 212, 6, 0, 4, 141, 204, 142, 143, + 93, 143, 4, 7, 212, 6, 0, 4, 143, 94, + 7, 213, 6, 0, 4, 141, 204, 142, 143, 94, + 7, 213, 6, 0, 64, 139, 4, 140, 143, 4, + 7, 204, 6, 0, 64, 139, 4, 140, 143, 4, + 7, 216, 6, 0, 204, 0, 216, 0, 43, 139, + 204, 140, 7, 206, 6, 0, 60, 43, 139, 174, + 140, 7, 209, 6, 0, 77, 43, 101, 139, 204, + 140, 7, 209, 6, 0, 104, 101, 139, 204, 140, + 7, 204, 6, 0, 106, 101, 139, 204, 140, 7, + 204, 6, 0, 102, 101, 139, 204, 140, 7, 209, + 6, 0, 109, 101, 139, 204, 140, 7, 5, 209, + 6, 0, 103, 101, 139, 204, 140, 7, 5, 6, + 0, 52, 53, 101, 209, 6, 0, 77, 43, 209, + 7, 209, 6, 0, 77, 46, 209, 7, 209, 6, + 0, 52, 53, 209, 7, 204, 6, 0, 46, 139, + 204, 140, 7, 209, 6, 0, 50, 139, 204, 140, + 7, 209, 6, 0, 44, 139, 204, 140, 7, 209, + 6, 0, 44, 139, 204, 140, 7, 209, 56, 206, + 6, 0, 45, 139, 204, 140, 7, 209, 6, 0, + 45, 139, 204, 140, 7, 209, 56, 206, 6, 0, + 54, 139, 204, 140, 7, 146, 204, 145, 204, 145, + 5, 145, 5, 145, 5, 147, 6, 0, 88, 139, + 204, 140, 7, 209, 6, 0, 89, 139, 204, 140, + 7, 209, 6, 0, 90, 139, 204, 140, 7, 209, + 92, 209, 91, 204, 6, 0, 46, 71, 139, 204, + 140, 7, 209, 6, 0, 60, 46, 139, 174, 140, + 7, 209, 6, 0, 56, 49, 139, 204, 140, 7, + 209, 6, 0, 57, 49, 139, 204, 140, 7, 209, + 6, 0, 12, 13, 6, 0, 13, 49, 204, 6, + 0, 54, 49, 139, 204, 140, 7, 5, 5, 5, + 6, 0, 47, 139, 204, 140, 7, 209, 6, 0, + 48, 139, 204, 140, 7, 209, 6, 0, 49, 71, + 139, 204, 140, 7, 209, 6, 0, 60, 49, 139, + 174, 140, 7, 209, 6, 0, 59, 51, 139, 204, + 140, 7, 209, 6, 0, 51, 139, 204, 140, 7, + 209, 6, 0, 60, 51, 139, 174, 140, 7, 209, + 6, 0, 66, 206, 146, 177, 147, 0, 65, 146, + 206, 145, 206, 145, 204, 147, 146, 177, 147, 0, + 67, 206, 146, 177, 147, 0, 68, 146, 206, 145, + 204, 147, 146, 177, 147, 0, 70, 146, 177, 147, + 0, 75, 46, 146, 211, 147, 49, 146, 204, 147, + 0, 76, 146, 177, 147, 0, 178, 0, 176, 0, + 0, 178, 175, 0, 178, 43, 146, 211, 147, 6, + 0, 178, 46, 146, 211, 147, 6, 0, 178, 49, + 146, 211, 147, 6, 0, 178, 51, 146, 211, 147, + 6, 0, 73, 146, 178, 147, 0, 73, 4, 141, + 204, 142, 6, 0, 73, 4, 6, 0, 73, 4, + 4, 6, 0, 93, 212, 146, 178, 147, 0, 110, + 215, 6, 0, 111, 215, 6, 0, 110, 146, 178, + 147, 0, 111, 146, 178, 147, 0, 4, 216, 6, + 0, 4, 4, 141, 204, 142, 215, 6, 0, 4, + 4, 4, 141, 204, 142, 6, 0, 4, 204, 6, + 0, 64, 139, 4, 140, 143, 4, 6, 0, 87, + 4, 6, 0, 100, 6, 0, 40, 6, 0, 40, + 146, 204, 145, 204, 145, 204, 145, 204, 145, 204, + 145, 204, 147, 6, 0, 41, 6, 0, 95, 139, + 204, 8, 204, 140, 0, 95, 139, 204, 8, 204, + 8, 204, 140, 0, 95, 4, 96, 146, 204, 8, + 204, 147, 0, 95, 4, 96, 146, 204, 8, 204, + 8, 204, 147, 0, 97, 0, 109, 4, 0, 107, + 0, 108, 4, 6, 0, 98, 139, 204, 140, 0, + 99, 0, 69, 206, 146, 178, 147, 0, 69, 146, + 206, 145, 206, 145, 204, 147, 146, 178, 147, 0, + 69, 146, 206, 145, 206, 145, 206, 145, 204, 147, + 146, 178, 147, 0, 0, 69, 206, 146, 178, 185, + 199, 147, 0, 0, 69, 146, 206, 145, 206, 145, + 204, 147, 146, 178, 186, 199, 147, 0, 0, 69, + 146, 206, 145, 206, 145, 206, 145, 204, 147, 146, + 178, 187, 199, 147, 0, 0, 69, 146, 178, 188, + 199, 147, 0, 0, 69, 4, 141, 204, 142, 146, + 178, 189, 199, 147, 0, 69, 43, 146, 204, 145, + 206, 147, 6, 0, 69, 46, 146, 204, 145, 206, + 147, 6, 0, 69, 49, 146, 204, 145, 206, 147, + 6, 0, 69, 43, 146, 204, 145, 206, 145, 206, + 145, 204, 147, 6, 0, 69, 46, 146, 204, 145, + 206, 145, 206, 145, 204, 147, 6, 0, 69, 49, + 146, 204, 145, 206, 145, 206, 145, 204, 147, 6, + 0, 69, 43, 146, 204, 145, 206, 145, 206, 145, + 206, 145, 204, 147, 6, 0, 69, 46, 146, 204, + 145, 206, 145, 206, 145, 206, 145, 204, 147, 6, + 0, 69, 49, 146, 204, 145, 206, 145, 206, 145, + 206, 145, 204, 147, 6, 0, 0, 69, 43, 146, + 204, 145, 206, 147, 190, 146, 199, 147, 6, 0, + 0, 69, 46, 146, 204, 145, 206, 147, 191, 146, + 199, 147, 6, 0, 0, 69, 49, 146, 204, 145, + 206, 147, 192, 146, 199, 147, 6, 0, 0, 69, + 43, 146, 204, 145, 206, 145, 206, 145, 204, 147, + 193, 146, 199, 147, 6, 0, 0, 69, 46, 146, + 204, 145, 206, 145, 206, 145, 204, 147, 194, 146, + 199, 147, 6, 0, 0, 69, 49, 146, 204, 145, + 206, 145, 206, 145, 204, 147, 195, 146, 199, 147, + 6, 0, 0, 69, 43, 146, 204, 145, 206, 145, + 206, 145, 206, 145, 204, 147, 196, 146, 199, 147, + 6, 0, 0, 69, 46, 146, 204, 145, 206, 145, + 206, 145, 206, 145, 204, 147, 197, 146, 199, 147, + 6, 0, 0, 69, 49, 146, 204, 145, 206, 145, + 206, 145, 206, 145, 204, 147, 198, 146, 199, 147, + 6, 0, 200, 0, 199, 200, 0, 78, 146, 204, + 147, 6, 0, 78, 146, 209, 145, 209, 147, 6, + 0, 78, 146, 209, 145, 209, 145, 209, 147, 6, + 0, 72, 6, 0, 79, 139, 204, 140, 7, 209, + 61, 204, 6, 0, 58, 46, 209, 7, 204, 6, + 0, 58, 46, 209, 7, 204, 61, 63, 204, 6, + 0, 58, 46, 209, 7, 204, 61, 62, 204, 6, + 0, 58, 49, 146, 204, 147, 7, 209, 6, 0, + 58, 49, 146, 204, 147, 7, 209, 4, 6, 0, + 55, 49, 146, 204, 147, 7, 209, 6, 0, 58, + 51, 146, 204, 147, 7, 209, 6, 0, 72, 49, + 209, 7, 204, 6, 0, 72, 49, 209, 6, 0, + 43, 146, 211, 147, 96, 49, 146, 204, 147, 6, + 0, 46, 146, 211, 147, 96, 49, 146, 204, 147, + 6, 0, 46, 146, 211, 147, 96, 51, 146, 204, + 147, 6, 0, 49, 146, 211, 147, 96, 51, 146, + 204, 147, 6, 0, 74, 6, 0, 205, 0, 139, + 204, 140, 0, 130, 204, 0, 129, 204, 0, 134, + 204, 0, 204, 130, 204, 0, 204, 129, 204, 0, + 204, 131, 204, 0, 204, 132, 204, 0, 204, 133, + 204, 0, 204, 138, 204, 0, 204, 125, 204, 0, + 204, 127, 204, 0, 204, 126, 204, 0, 204, 128, + 204, 0, 204, 123, 204, 0, 204, 124, 204, 0, + 204, 122, 204, 0, 204, 121, 204, 0, 204, 120, + 204, 8, 204, 0, 14, 139, 204, 140, 0, 15, + 139, 204, 140, 0, 16, 139, 204, 140, 0, 17, + 139, 204, 140, 0, 18, 139, 204, 140, 0, 19, + 139, 204, 140, 0, 20, 139, 204, 140, 0, 21, + 139, 204, 140, 0, 22, 139, 204, 140, 0, 24, + 139, 204, 140, 0, 25, 139, 204, 145, 204, 140, + 0, 26, 139, 204, 140, 0, 27, 139, 204, 140, + 0, 28, 139, 204, 140, 0, 29, 139, 204, 140, + 0, 30, 139, 204, 140, 0, 31, 139, 204, 140, + 0, 32, 139, 204, 145, 204, 140, 0, 33, 139, + 204, 145, 204, 140, 0, 34, 139, 204, 145, 204, + 140, 0, 23, 139, 204, 140, 0, 14, 141, 204, + 142, 0, 15, 141, 204, 142, 0, 16, 141, 204, + 142, 0, 17, 141, 204, 142, 0, 18, 141, 204, + 142, 0, 19, 141, 204, 142, 0, 20, 141, 204, + 142, 0, 21, 141, 204, 142, 0, 22, 141, 204, + 142, 0, 24, 141, 204, 142, 0, 25, 141, 204, + 145, 204, 142, 0, 26, 141, 204, 142, 0, 27, + 141, 204, 142, 0, 28, 141, 204, 142, 0, 29, + 141, 204, 142, 0, 30, 141, 204, 142, 0, 31, + 141, 204, 142, 0, 32, 141, 204, 145, 204, 142, + 0, 33, 141, 204, 145, 204, 142, 0, 34, 141, + 204, 145, 204, 142, 0, 23, 141, 204, 142, 0, + 3, 0, 9, 0, 10, 0, 11, 0, 113, 0, + 114, 0, 115, 0, 4, 0, 4, 148, 146, 204, + 147, 0, 4, 141, 204, 142, 0, 144, 4, 141, + 142, 0, 4, 172, 0, 4, 141, 204, 142, 172, + 0, 4, 143, 4, 0, 4, 141, 204, 142, 143, + 4, 0, 4, 143, 4, 172, 0, 4, 141, 204, + 142, 143, 4, 172, 0, 112, 139, 5, 145, 204, + 140, 0, 207, 0, 130, 206, 0, 129, 206, 0, + 206, 130, 206, 0, 206, 129, 206, 0, 146, 204, + 145, 204, 145, 204, 145, 204, 145, 204, 147, 0, + 146, 204, 145, 204, 145, 204, 145, 204, 147, 0, + 146, 204, 145, 204, 145, 204, 147, 0, 139, 204, + 145, 204, 145, 204, 140, 0, 209, 0, 208, 145, + 209, 0, 204, 0, 210, 0, 146, 147, 0, 146, + 211, 147, 0, 130, 146, 211, 147, 0, 204, 131, + 146, 211, 147, 0, 130, 210, 0, 204, 131, 210, + 0, 204, 8, 204, 0, 204, 8, 204, 8, 204, + 0, 43, 146, 204, 147, 0, 176, 0, 184, 0, + 4, 141, 142, 0, 4, 141, 146, 211, 147, 142, + 0, 204, 0, 210, 0, 211, 145, 204, 0, 211, + 145, 210, 0, 146, 204, 145, 204, 145, 204, 145, + 204, 147, 0, 146, 204, 145, 204, 145, 204, 147, + 0, 4, 0, 4, 143, 93, 143, 4, 0, 146, + 214, 147, 0, 4, 141, 204, 142, 143, 94, 0, + 212, 0, 214, 145, 212, 0, 216, 0, 4, 0, + 5, 0, 42, 0, 37, 139, 215, 145, 215, 140, + 0, 38, 139, 215, 140, 0, 39, 139, 215, 140, + 0, 36, 139, 215, 140, 0, 36, 139, 215, 145, + 211, 140, 0, 36, 139, 4, 143, 4, 140, 0, + 36, 139, 4, 141, 204, 142, 143, 4, 140, 0 }; #endif @@ -534,41 +534,41 @@ static const short yyrhs[] = { 149, #if YYDEBUG != 0 static const short yyrline[] = { 0, 144, 146, 151, 153, 156, 158, 159, 160, 161, 162, - 163, 164, 165, 166, 167, 168, 169, 170, 171, 174, - 179, 185, 191, 206, 219, 247, 255, 264, 272, 273, - 274, 275, 276, 277, 280, 283, 287, 290, 294, 485, - 499, 509, 515, 522, 530, 536, 542, 549, 557, 563, - 569, 579, 584, 588, 597, 599, 600, 601, 602, 605, - 607, 610, 645, 684, 738, 755, 773, 784, 801, 808, - 822, 839, 865, 892, 906, 923, 937, 954, 974, 997, - 1007, 1021, 1026, 1035, 1061, 1077, 1098, 1105, 1116, 1131, - 1146, 1153, 1165, 1199, 1235, 1257, 1275, 1293, 1311, 1337, - 1355, 1381, 1401, 1419, 1437, 1463, 1480, 1499, 1517, 1555, - 1559, 1563, 1568, 1590, 1612, 1628, 1648, 1665, 1682, 1702, - 1708, 1713, 1718, 1725, 1727, 1728, 1731, 1736, 1740, 1763, - 1786, 1809, 1836, 1849, 1855, 1861, 1872, 1882, 1892, 1908, - 1926, 1940, 1947, 1953, 1962, 1975, 2026, 2041, 2056, 2076, - 2086, 2108, 2112, 2117, 2122, 2132, 2149, 2165, 2191, 2218, - 2250, 2257, 2262, 2268, 2272, 2280, 2289, 2297, 2305, 2309, - 2317, 2321, 2329, 2333, 2341, 2345, 2352, 2356, 2368, 2375, - 2382, 2389, 2396, 2403, 2410, 2417, 2424, 2431, 2435, 2442, - 2446, 2453, 2457, 2464, 2468, 2475, 2479, 2486, 2490, 2497, - 2501, 2508, 2512, 2519, 2523, 2533, 2537, 2542, 2552, 2574, - 2598, 2602, 2625, 2644, 2662, 2680, 2709, 2744, 2749, 2776, - 2790, 2808, 2815, 2821, 2824, 2832, 2842, 2844, 2845, 2846, - 2847, 2848, 2849, 2850, 2851, 2858, 2859, 2860, 2861, 2862, - 2863, 2864, 2865, 2866, 2867, 2868, 2869, 2870, 2871, 2872, - 2873, 2874, 2875, 2876, 2877, 2878, 2879, 2880, 2881, 2882, - 2883, 2884, 2885, 2886, 2887, 2888, 2889, 2891, 2892, 2893, - 2894, 2895, 2896, 2897, 2898, 2899, 2900, 2901, 2902, 2903, - 2904, 2905, 2906, 2907, 2908, 2909, 2910, 2911, 2916, 2921, - 2922, 2923, 2924, 2925, 2926, 2930, 2946, 2961, 2981, 2995, - 3008, 3031, 3049, 3067, 3085, 3103, 3110, 3115, 3119, 3123, - 3127, 3133, 3138, 3142, 3146, 3152, 3158, 3165, 3171, 3175, - 3180, 3184, 3192, 3202, 3211, 3219, 3225, 3236, 3256, 3261, - 3271, 3281, 3291, 3308, 3334, 3340, 3344, 3348, 3360, 3365, - 3377, 3384, 3405, 3410, 3424, 3430, 3436, 3441, 3447, 3452, - 3460, 3468, 3482, 3496, 3500, 3519, 3541 + 163, 164, 165, 166, 167, 168, 169, 170, 173, 178, + 184, 190, 205, 218, 246, 254, 261, 266, 273, 281, + 282, 283, 284, 285, 286, 289, 292, 296, 299, 303, + 494, 508, 518, 524, 531, 539, 545, 551, 558, 566, + 572, 578, 588, 593, 597, 606, 608, 609, 610, 611, + 614, 616, 619, 654, 693, 747, 764, 782, 793, 810, + 817, 831, 848, 874, 901, 915, 932, 946, 963, 983, + 1006, 1016, 1030, 1035, 1044, 1070, 1086, 1107, 1114, 1125, + 1140, 1155, 1162, 1174, 1208, 1244, 1266, 1284, 1302, 1320, + 1346, 1364, 1390, 1410, 1428, 1446, 1472, 1489, 1508, 1526, + 1564, 1568, 1572, 1577, 1599, 1621, 1637, 1657, 1674, 1691, + 1711, 1717, 1722, 1727, 1732, 1743, 1749, 1757, 1759, 1762, + 1767, 1771, 1794, 1817, 1840, 1867, 1877, 1887, 1903, 1921, + 1935, 1942, 1948, 1957, 1970, 2021, 2036, 2051, 2071, 2081, + 2103, 2107, 2112, 2117, 2127, 2144, 2160, 2186, 2213, 2245, + 2252, 2257, 2263, 2267, 2275, 2284, 2292, 2300, 2304, 2312, + 2316, 2324, 2328, 2336, 2340, 2347, 2351, 2363, 2370, 2377, + 2384, 2391, 2398, 2405, 2412, 2419, 2426, 2430, 2437, 2441, + 2448, 2452, 2459, 2463, 2470, 2474, 2481, 2485, 2492, 2496, + 2503, 2507, 2514, 2518, 2528, 2532, 2537, 2547, 2569, 2593, + 2597, 2620, 2639, 2657, 2675, 2704, 2739, 2744, 2771, 2785, + 2803, 2810, 2816, 2819, 2827, 2837, 2839, 2840, 2841, 2842, + 2843, 2844, 2845, 2846, 2853, 2854, 2855, 2856, 2857, 2858, + 2859, 2860, 2861, 2862, 2863, 2864, 2865, 2866, 2867, 2868, + 2869, 2870, 2871, 2872, 2873, 2874, 2875, 2876, 2877, 2878, + 2879, 2880, 2881, 2882, 2883, 2884, 2886, 2887, 2888, 2889, + 2890, 2891, 2892, 2893, 2894, 2895, 2896, 2897, 2898, 2899, + 2900, 2901, 2902, 2903, 2904, 2905, 2906, 2911, 2916, 2917, + 2918, 2919, 2920, 2921, 2925, 2941, 2956, 2976, 2990, 3003, + 3026, 3044, 3062, 3080, 3098, 3105, 3110, 3114, 3118, 3122, + 3128, 3133, 3137, 3141, 3147, 3153, 3160, 3166, 3170, 3175, + 3179, 3187, 3197, 3206, 3214, 3220, 3231, 3251, 3261, 3271, + 3288, 3314, 3320, 3324, 3328, 3340, 3345, 3357, 3364, 3385, + 3390, 3404, 3410, 3416, 3421, 3427, 3432, 3440, 3448, 3462, + 3476, 3480, 3499, 3521 }; #endif @@ -585,104 +585,104 @@ static const char * const yytname[] = { "$","error","$undefined.","tDOUBLE", "tElliptic","tPlane","tRuled","tTransfinite","tComplex","tPhysical","tUsing", "tBump","tProgression","tPlugin","tRotate","tTranslate","tSymmetry","tDilate", "tExtrude","tDuplicata","tLoop","tRecombine","tDelete","tCoherence","tIntersect", -"tAttractor","tLayers","tHole","tAlias","tAliasWithOptions","tText2D","tText3D", -"tInterpolationScheme","tTime","tGrain","tCombine","tBSpline","tBezier","tNurbs", -"tOrder","tKnots","tColor","tColorTable","tFor","tIn","tEndFor","tIf","tEndIf", -"tExit","tField","tThreshold","tStructured","tLatLon","tGrad","tPostView","tReturn", -"tCall","tFunction","tShow","tHide","tGetValue","tGMSH_MAJOR_VERSION","tGMSH_MINOR_VERSION", -"tGMSH_PATCH_VERSION","tAFFECTPLUS","tAFFECTMINUS","tAFFECTTIMES","tAFFECTDIVIDE", -"'?'","tOR","tAND","tEQUAL","tNOTEQUAL","'<'","tLESSOREQUAL","'>'","tGREATEROREQUAL", -"'+'","'-'","'*'","'/'","'%'","'!'","tPLUSPLUS","tMINUSMINUS","UNARYPREC","'^'", -"'('","')'","'['","']'","'.'","'#'","','","'{'","'}'","'~'","All","GeoFormatItems", -"GeoFormatItem","SendToFile","Printf","View","Views","ElementCoords","ElementValues", -"Element","@1","@2","Text2DValues","Text2D","@3","Text3DValues","Text3D","@4", -"InterpolationMatrix","Time","@5","Grain","NumericAffectation","NumericIncrement", -"Affectation","PhysicalId","Shape","Transform","MultipleShape","ListOfShapes", -"Duplicata","Delete","Colorify","Visibility","Command","Loop","Extrude","@6", -"@7","@8","@9","@10","@11","@12","@13","@14","@15","@16","@17","@18","@19","ExtrudeParameters", -"ExtrudeParameter","Transfinite","Embedding","Coherence","FExpr","FExpr_Single", -"VExpr","VExpr_Single","RecursiveListOfListOfDouble","ListOfDouble","FExpr_Multi", -"RecursiveListOfDouble","ColorExpr","ListOfColor","RecursiveListOfColor","StringExprVar", -"StringExpr", NULL +"tBoundary","tAttractor","tLayers","tHole","tAlias","tAliasWithOptions","tText2D", +"tText3D","tInterpolationScheme","tTime","tGrain","tCombine","tBSpline","tBezier", +"tNurbs","tOrder","tKnots","tColor","tColorTable","tFor","tIn","tEndFor","tIf", +"tEndIf","tExit","tField","tThreshold","tStructured","tLatLon","tGrad","tPostView", +"tReturn","tCall","tFunction","tShow","tHide","tGetValue","tGMSH_MAJOR_VERSION", +"tGMSH_MINOR_VERSION","tGMSH_PATCH_VERSION","tAFFECTPLUS","tAFFECTMINUS","tAFFECTTIMES", +"tAFFECTDIVIDE","'?'","tOR","tAND","tEQUAL","tNOTEQUAL","'<'","tLESSOREQUAL", +"'>'","tGREATEROREQUAL","'+'","'-'","'*'","'/'","'%'","'!'","tPLUSPLUS","tMINUSMINUS", +"UNARYPREC","'^'","'('","')'","'['","']'","'.'","'#'","','","'{'","'}'","'~'", +"All","GeoFormatItems","GeoFormatItem","SendToFile","Printf","View","Views", +"ElementCoords","ElementValues","Element","@1","@2","Text2DValues","Text2D", +"@3","Text3DValues","Text3D","@4","InterpolationMatrix","Time","@5","Grain", +"NumericAffectation","NumericIncrement","Affectation","PhysicalId","Shape","Transform", +"MultipleShape","ListOfShapes","Delete","Colorify","Visibility","Command","Loop", +"Extrude","@6","@7","@8","@9","@10","@11","@12","@13","@14","@15","@16","@17", +"@18","@19","ExtrudeParameters","ExtrudeParameter","Transfinite","Embedding", +"Coherence","FExpr","FExpr_Single","VExpr","VExpr_Single","RecursiveListOfListOfDouble", +"ListOfDouble","FExpr_Multi","RecursiveListOfDouble","ColorExpr","ListOfColor", +"RecursiveListOfColor","StringExprVar","StringExpr", NULL }; #endif static const short yyr1[] = { 0, - 148, 148, 149, 149, 150, 150, 150, 150, 150, 150, - 150, 150, 150, 150, 150, 150, 150, 150, 150, 151, - 151, 152, 152, 152, 152, 153, 153, 154, 154, 154, - 154, 154, 154, 154, 155, 155, 156, 156, 158, 159, - 157, 160, 160, 162, 161, 163, 163, 165, 164, 166, - 166, 168, 167, 169, 170, 170, 170, 170, 170, 171, - 171, 172, 172, 172, 172, 172, 172, 172, 172, 172, - 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, - 172, 173, 173, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 175, - 175, 175, 175, 176, 176, 176, 177, 177, 177, 177, - 177, 177, 178, 178, 178, 178, 179, 179, 179, 179, - 180, 181, 181, 181, 181, 182, 182, 182, 182, 182, - 182, 182, 182, 182, 182, 183, 183, 183, 183, 183, - 183, 183, 183, 183, 183, 184, 184, 184, 185, 184, - 186, 184, 187, 184, 188, 184, 189, 184, 184, 184, - 184, 184, 184, 184, 184, 184, 184, 190, 184, 191, - 184, 192, 184, 193, 184, 194, 184, 195, 184, 196, - 184, 197, 184, 198, 184, 199, 199, 200, 200, 200, - 200, 200, 201, 201, 201, 201, 201, 201, 201, 201, - 201, 202, 202, 202, 202, 203, 204, 204, 204, 204, + 149, 149, 150, 150, 151, 151, 151, 151, 151, 151, + 151, 151, 151, 151, 151, 151, 151, 151, 152, 152, + 153, 153, 153, 153, 154, 154, 154, 154, 155, 155, + 155, 155, 155, 155, 155, 156, 156, 157, 157, 159, + 160, 158, 161, 161, 163, 162, 164, 164, 166, 165, + 167, 167, 169, 168, 170, 171, 171, 171, 171, 171, + 172, 172, 173, 173, 173, 173, 173, 173, 173, 173, + 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, + 173, 173, 174, 174, 175, 175, 175, 175, 175, 175, + 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, + 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, + 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, + 176, 176, 176, 176, 176, 176, 176, 177, 177, 178, + 178, 178, 178, 178, 178, 179, 179, 179, 179, 180, + 181, 181, 181, 181, 182, 182, 182, 182, 182, 182, + 182, 182, 182, 182, 183, 183, 183, 183, 183, 183, + 183, 183, 183, 183, 184, 184, 184, 185, 184, 186, + 184, 187, 184, 188, 184, 189, 184, 184, 184, 184, + 184, 184, 184, 184, 184, 184, 190, 184, 191, 184, + 192, 184, 193, 184, 194, 184, 195, 184, 196, 184, + 197, 184, 198, 184, 199, 199, 200, 200, 200, 200, + 200, 201, 201, 201, 201, 201, 201, 201, 201, 201, + 202, 202, 202, 202, 203, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, - 204, 204, 204, 204, 204, 204, 204, 204, 205, 205, + 204, 204, 204, 204, 204, 204, 204, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, - 205, 205, 205, 205, 205, 205, 206, 206, 206, 206, - 206, 207, 207, 207, 207, 208, 208, 209, 209, 209, - 209, 209, 209, 210, 210, 210, 210, 210, 210, 210, - 210, 210, 210, 210, 211, 211, 211, 211, 212, 212, - 212, 212, 213, 213, 214, 214, 215, 215, 216, 216, - 216, 216, 216, 216, 216, 216, 216 + 205, 205, 205, 205, 205, 206, 206, 206, 206, 206, + 207, 207, 207, 207, 208, 208, 209, 209, 209, 209, + 209, 209, 210, 210, 210, 210, 210, 210, 210, 210, + 210, 211, 211, 211, 211, 212, 212, 212, 212, 213, + 213, 214, 214, 215, 215, 216, 216, 216, 216, 216, + 216, 216, 216, 216 }; static const short yyr2[] = { 0, 1, 2, 0, 2, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 2, 5, 7, 7, 9, 6, 8, 0, 2, 2, - 2, 2, 2, 2, 1, 3, 1, 3, 0, 0, - 10, 1, 3, 0, 13, 1, 3, 0, 15, 8, - 14, 0, 6, 6, 1, 1, 1, 1, 1, 1, - 1, 4, 7, 9, 6, 6, 3, 6, 4, 6, - 9, 6, 9, 5, 8, 8, 11, 6, 9, 9, - 9, 1, 1, 7, 8, 9, 8, 8, 8, 9, - 8, 5, 6, 6, 6, 7, 7, 7, 9, 7, - 9, 17, 7, 7, 11, 8, 8, 8, 8, 3, - 4, 10, 7, 7, 8, 8, 8, 7, 8, 5, - 11, 5, 9, 1, 1, 1, 0, 2, 6, 6, - 6, 6, 4, 6, 6, 6, 4, 6, 3, 4, - 5, 3, 3, 4, 4, 3, 7, 7, 3, 7, - 3, 2, 2, 15, 2, 6, 8, 8, 10, 1, - 2, 1, 3, 4, 1, 5, 11, 13, 0, 7, - 0, 13, 0, 15, 0, 6, 0, 10, 8, 8, - 8, 12, 12, 12, 14, 14, 14, 0, 12, 0, - 12, 0, 12, 0, 16, 0, 16, 0, 16, 0, - 18, 0, 18, 0, 18, 1, 2, 5, 7, 9, - 2, 9, 6, 9, 9, 8, 9, 8, 8, 6, - 4, 10, 10, 10, 10, 2, 1, 3, 2, 2, - 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 5, 4, 4, 4, 4, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, + 5, 7, 7, 9, 6, 8, 6, 6, 0, 2, + 2, 2, 2, 2, 2, 1, 3, 1, 3, 0, + 0, 10, 1, 3, 0, 13, 1, 3, 0, 15, + 8, 14, 0, 6, 6, 1, 1, 1, 1, 1, + 1, 1, 4, 7, 9, 6, 6, 3, 6, 4, + 6, 9, 6, 9, 5, 8, 8, 11, 6, 9, + 9, 9, 1, 1, 7, 8, 9, 8, 8, 8, + 9, 8, 5, 6, 6, 6, 7, 7, 7, 9, + 7, 9, 17, 7, 7, 11, 8, 8, 8, 8, + 3, 4, 10, 7, 7, 8, 8, 8, 7, 8, + 5, 11, 5, 9, 4, 9, 4, 1, 1, 0, + 2, 6, 6, 6, 6, 4, 6, 3, 4, 5, + 3, 3, 4, 4, 3, 7, 7, 3, 7, 3, + 2, 2, 15, 2, 6, 8, 8, 10, 1, 2, + 1, 3, 4, 1, 5, 11, 13, 0, 7, 0, + 13, 0, 15, 0, 6, 0, 10, 8, 8, 8, + 12, 12, 12, 14, 14, 14, 0, 12, 0, 12, + 0, 12, 0, 16, 0, 16, 0, 16, 0, 18, + 0, 18, 0, 18, 1, 2, 5, 7, 9, 2, + 9, 6, 9, 9, 8, 9, 8, 8, 6, 4, + 10, 10, 10, 10, 2, 1, 3, 2, 2, 2, + 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, 6, 6, 6, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 6, 4, 4, 4, - 4, 4, 4, 6, 6, 6, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 6, 4, 4, - 4, 4, 4, 4, 6, 6, 6, 4, 1, 1, - 1, 1, 1, 1, 1, 1, 5, 4, 4, 2, - 5, 3, 6, 4, 7, 6, 1, 2, 2, 3, - 3, 11, 9, 7, 7, 1, 3, 1, 1, 2, - 3, 4, 5, 2, 3, 3, 5, 4, 9, 1, - 1, 1, 3, 6, 1, 1, 3, 3, 9, 7, - 1, 5, 3, 6, 1, 3, 1, 1, 1, 1, - 6, 4, 4, 4, 6, 6, 9 + 4, 4, 4, 6, 6, 6, 4, 1, 1, 1, + 1, 1, 1, 1, 1, 5, 4, 4, 2, 5, + 3, 6, 4, 7, 6, 1, 2, 2, 3, 3, + 11, 9, 7, 7, 1, 3, 1, 1, 2, 3, + 4, 5, 2, 3, 3, 5, 4, 1, 1, 3, + 6, 1, 1, 3, 3, 9, 7, 1, 5, 3, + 6, 1, 3, 1, 1, 1, 1, 6, 4, 4, + 4, 6, 6, 9 }; static const short yydefact[] = { 0, @@ -690,1659 +690,1605 @@ static const short yydefact[] = { 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, 160, 0, 165, 0, 0, - 0, 0, 0, 162, 0, 0, 0, 0, 4, 6, - 5, 7, 8, 9, 10, 11, 12, 13, 19, 18, - 14, 15, 16, 17, 289, 296, 349, 55, 290, 291, - 292, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 159, 0, 164, + 0, 0, 0, 0, 0, 161, 0, 0, 0, 0, + 4, 6, 5, 7, 8, 9, 10, 11, 12, 18, + 17, 13, 14, 15, 16, 288, 295, 346, 56, 289, + 290, 291, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 350, 0, 293, 294, - 295, 56, 57, 58, 59, 0, 0, 0, 60, 61, - 0, 0, 0, 0, 0, 0, 0, 227, 0, 0, - 0, 0, 153, 0, 155, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 347, 0, 292, + 293, 294, 57, 58, 59, 60, 0, 0, 0, 61, + 62, 0, 0, 0, 0, 0, 0, 0, 226, 0, + 0, 0, 0, 152, 0, 154, 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, 307, - 0, 0, 0, 0, 0, 0, 127, 0, 0, 127, - 0, 0, 127, 226, 0, 0, 0, 0, 0, 0, - 0, 0, 341, 0, 0, 0, 0, 0, 152, 0, - 0, 0, 0, 0, 161, 0, 348, 349, 127, 0, - 347, 127, 0, 0, 0, 0, 0, 300, 0, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 306, 0, 0, 0, 0, 0, 0, 130, 0, 130, + 0, 0, 130, 225, 0, 130, 0, 0, 0, 0, + 0, 0, 0, 0, 338, 0, 0, 0, 0, 0, + 151, 0, 0, 0, 0, 0, 160, 0, 345, 346, + 130, 0, 344, 130, 0, 0, 0, 0, 0, 299, + 0, 29, 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, 296, 230, - 229, 231, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 67, 149, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 146, 110, - 0, 0, 0, 0, 296, 0, 0, 0, 330, 331, - 332, 335, 336, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 318, 0, - 319, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 309, 308, 0, 0, - 0, 0, 127, 127, 0, 0, 0, 0, 0, 0, - 0, 0, 175, 0, 127, 0, 0, 0, 0, 139, - 0, 0, 0, 0, 0, 0, 0, 151, 0, 0, - 0, 0, 0, 127, 0, 0, 0, 0, 0, 0, - 0, 163, 0, 0, 142, 0, 143, 0, 0, 302, - 0, 0, 0, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 295, 229, 228, 230, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 68, 148, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 145, 111, 0, 0, 0, 0, 295, 0, 0, 328, + 329, 332, 333, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, + 318, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 308, 307, 0, 0, + 0, 0, 130, 130, 0, 0, 0, 0, 0, 0, + 0, 0, 174, 0, 130, 129, 0, 128, 0, 0, + 138, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 150, 0, 0, 0, 0, 0, 130, 0, 0, 0, + 0, 0, 0, 0, 162, 0, 0, 141, 0, 142, + 0, 0, 301, 0, 0, 0, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 348, 0, 0, 0, - 0, 0, 0, 228, 0, 0, 0, 0, 55, 0, - 0, 0, 0, 0, 62, 0, 245, 244, 242, 243, - 238, 240, 239, 241, 233, 232, 234, 235, 236, 237, - 111, 0, 0, 0, 0, 0, 0, 0, 229, 324, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 320, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 82, 83, 0, 0, 0, 0, 0, 0, 0, - 311, 310, 126, 0, 125, 124, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, - 0, 169, 0, 133, 221, 0, 140, 0, 137, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 345, + 0, 0, 0, 0, 0, 0, 227, 0, 0, 0, + 0, 56, 0, 0, 0, 0, 0, 63, 0, 244, + 243, 241, 242, 237, 239, 238, 240, 232, 231, 233, + 234, 235, 236, 112, 0, 0, 0, 0, 0, 0, + 228, 323, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 319, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 164, 0, 0, 0, 0, 0, 144, 145, - 0, 298, 304, 0, 28, 39, 0, 0, 0, 52, - 0, 0, 29, 30, 31, 32, 33, 34, 247, 268, - 248, 269, 249, 270, 250, 271, 251, 272, 252, 273, - 253, 274, 254, 275, 255, 276, 267, 288, 256, 277, - 0, 0, 258, 279, 259, 280, 260, 281, 261, 282, - 262, 283, 263, 284, 0, 0, 0, 0, 0, 0, - 0, 0, 354, 0, 0, 352, 353, 0, 0, 0, - 0, 0, 55, 0, 0, 0, 0, 0, 74, 0, - 0, 0, 0, 299, 0, 22, 20, 0, 0, 0, - 0, 333, 0, 0, 0, 326, 234, 325, 337, 338, + 0, 0, 0, 83, 84, 0, 0, 0, 0, 0, + 0, 0, 310, 309, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 131, 0, 0, + 168, 125, 220, 0, 139, 0, 136, 0, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 92, 0, 321, 0, 0, 0, 0, 0, + 0, 0, 163, 0, 0, 0, 0, 0, 143, 144, + 0, 297, 303, 0, 29, 40, 0, 0, 0, 53, + 0, 0, 30, 31, 32, 33, 34, 35, 246, 267, + 247, 268, 248, 269, 249, 270, 250, 271, 251, 272, + 252, 273, 253, 274, 254, 275, 266, 287, 255, 276, + 0, 0, 257, 278, 258, 279, 259, 280, 260, 281, + 261, 282, 262, 283, 0, 0, 0, 0, 0, 0, + 0, 0, 351, 0, 0, 349, 350, 0, 0, 0, + 0, 0, 56, 0, 0, 0, 0, 0, 75, 0, + 0, 0, 0, 298, 0, 21, 19, 0, 0, 0, + 0, 330, 0, 0, 325, 233, 324, 334, 335, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 120, 122, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 206, - 0, 166, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 141, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 301, 0, 297, 0, - 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, + 0, 93, 0, 320, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 298, 65, 66, 0, 0, 0, 0, 0, 68, 70, - 72, 0, 0, 345, 0, 78, 246, 21, 0, 0, - 0, 0, 0, 328, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 322, - 0, 95, 0, 0, 0, 0, 0, 213, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 127, 0, 0, 0, 0, 0, 0, 0, 211, - 0, 0, 176, 207, 0, 0, 134, 220, 138, 0, - 93, 94, 135, 136, 0, 0, 0, 342, 0, 0, - 0, 156, 0, 0, 0, 0, 0, 148, 303, 147, - 0, 0, 0, 0, 0, 316, 0, 0, 257, 278, - 264, 285, 265, 286, 266, 287, 0, 356, 355, 351, - 306, 0, 55, 0, 0, 0, 0, 63, 0, 0, - 0, 343, 23, 24, 0, 0, 84, 0, 0, 327, - 0, 98, 0, 100, 0, 0, 96, 0, 0, 113, - 114, 0, 0, 97, 118, 323, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 150, 0, 0, 0, 0, 127, 177, 0, 188, 0, - 190, 0, 192, 0, 0, 0, 0, 318, 0, 0, - 0, 0, 170, 0, 103, 104, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 305, 27, 0, 35, 0, - 0, 0, 0, 0, 37, 0, 0, 0, 0, 0, - 75, 0, 0, 76, 0, 346, 0, 0, 334, 0, - 0, 0, 0, 106, 0, 0, 115, 0, 0, 0, - 218, 108, 109, 0, 0, 0, 216, 219, 117, 85, - 107, 116, 119, 0, 0, 0, 315, 0, 314, 0, - 0, 0, 179, 0, 0, 180, 0, 0, 181, 0, - 129, 130, 131, 132, 0, 0, 0, 0, 0, 0, - 0, 0, 340, 0, 158, 157, 89, 91, 87, 88, - 0, 40, 0, 0, 0, 317, 0, 0, 0, 0, - 0, 64, 71, 73, 0, 79, 0, 25, 0, 0, - 0, 99, 101, 0, 0, 0, 0, 0, 215, 214, - 217, 80, 81, 127, 0, 123, 0, 0, 0, 0, - 0, 0, 0, 208, 0, 0, 127, 0, 86, 0, - 0, 0, 90, 0, 36, 0, 0, 0, 38, 53, - 54, 357, 0, 344, 0, 0, 222, 223, 224, 225, - 112, 0, 0, 0, 313, 178, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 171, 0, - 0, 339, 159, 0, 0, 0, 0, 77, 0, 329, - 0, 121, 0, 194, 0, 0, 196, 0, 0, 198, - 0, 0, 0, 209, 0, 167, 0, 127, 105, 0, - 44, 0, 50, 0, 0, 0, 312, 182, 0, 0, - 189, 183, 0, 0, 191, 184, 0, 0, 193, 0, - 0, 0, 173, 0, 0, 0, 0, 0, 0, 0, - 200, 0, 202, 0, 204, 210, 212, 172, 168, 0, - 41, 0, 48, 0, 0, 0, 0, 185, 0, 0, - 186, 0, 0, 187, 0, 0, 0, 42, 0, 0, - 154, 0, 0, 0, 0, 0, 0, 0, 174, 0, - 0, 0, 0, 0, 195, 0, 197, 0, 199, 0, - 43, 45, 0, 46, 0, 102, 0, 0, 0, 0, - 0, 51, 201, 203, 205, 47, 49, 0, 0, 0 + 0, 0, 0, 121, 123, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 205, 0, + 165, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 140, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 300, 0, 296, 0, 0, + 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 297, + 66, 67, 0, 0, 0, 0, 0, 69, 71, 73, + 0, 0, 342, 0, 79, 245, 20, 0, 0, 0, + 0, 0, 327, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 321, 0, 96, + 0, 0, 0, 0, 0, 212, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 130, + 0, 0, 0, 0, 0, 0, 0, 210, 0, 0, + 175, 206, 0, 0, 219, 137, 0, 0, 94, 95, + 27, 28, 0, 0, 0, 339, 0, 0, 0, 155, + 0, 0, 0, 0, 0, 147, 302, 146, 0, 0, + 0, 0, 0, 315, 0, 0, 256, 277, 263, 284, + 264, 285, 265, 286, 0, 353, 352, 348, 305, 0, + 56, 0, 0, 0, 0, 64, 0, 0, 0, 340, + 22, 23, 0, 0, 85, 0, 326, 0, 99, 0, + 101, 0, 0, 97, 0, 0, 114, 115, 0, 0, + 98, 119, 322, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 149, 0, 0, + 0, 0, 130, 176, 0, 187, 0, 189, 0, 191, + 0, 0, 0, 0, 317, 0, 0, 0, 0, 169, + 0, 0, 104, 105, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 304, 26, 0, 36, 0, 0, 0, + 0, 0, 38, 0, 0, 0, 0, 0, 76, 0, + 0, 77, 0, 343, 0, 0, 331, 0, 0, 0, + 107, 0, 0, 116, 0, 0, 0, 217, 109, 110, + 0, 0, 0, 215, 218, 118, 86, 108, 117, 120, + 0, 0, 0, 314, 0, 313, 0, 0, 0, 178, + 0, 0, 179, 0, 0, 180, 0, 132, 133, 134, + 135, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 337, 0, 157, 156, 90, 92, 88, 89, 0, 41, + 0, 0, 0, 316, 0, 0, 0, 0, 0, 65, + 72, 74, 0, 80, 0, 24, 0, 0, 100, 102, + 0, 0, 0, 0, 0, 214, 213, 216, 81, 82, + 130, 0, 124, 0, 0, 0, 0, 0, 0, 0, + 207, 0, 0, 130, 0, 126, 87, 0, 0, 0, + 91, 0, 37, 0, 0, 0, 39, 54, 55, 354, + 0, 341, 0, 221, 222, 223, 224, 113, 0, 0, + 0, 312, 177, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 170, 0, 0, 336, 158, + 0, 0, 0, 0, 78, 0, 0, 122, 0, 193, + 0, 0, 195, 0, 0, 197, 0, 0, 0, 208, + 0, 166, 0, 130, 106, 0, 45, 0, 51, 0, + 0, 0, 311, 181, 0, 0, 188, 182, 0, 0, + 190, 183, 0, 0, 192, 0, 0, 0, 172, 0, + 0, 0, 0, 0, 0, 0, 199, 0, 201, 0, + 203, 209, 211, 171, 167, 0, 42, 0, 49, 0, + 0, 0, 0, 184, 0, 0, 185, 0, 0, 186, + 0, 0, 0, 43, 0, 0, 153, 0, 0, 0, + 0, 0, 0, 0, 173, 0, 0, 0, 0, 0, + 194, 0, 196, 0, 198, 0, 44, 46, 0, 47, + 0, 103, 0, 0, 0, 0, 0, 52, 200, 202, + 204, 48, 50, 0, 0, 0 }; -static const short yydefgoto[] = { 1288, - 2, 59, 668, 60, 61, 403, 988, 994, 593, 761, - 1124, 1247, 594, 1215, 1273, 595, 1249, 596, 597, 765, - 598, 125, 218, 62, 521, 549, 309, 534, 535, 310, - 66, 67, 68, 69, 70, 311, 733, 1187, 1230, 550, - 1041, 1044, 1047, 1050, 1199, 1203, 1207, 1239, 1242, 1245, - 729, 730, 72, 73, 74, 329, 128, 347, 170, 885, - 886, 331, 314, 195, 663, 795, 210, 211 +static const short yydefgoto[] = { 1284, + 2, 61, 668, 62, 63, 406, 986, 992, 593, 760, + 1122, 1243, 594, 1211, 1269, 595, 1245, 596, 597, 764, + 598, 126, 220, 64, 523, 548, 310, 367, 368, 67, + 68, 69, 70, 71, 311, 732, 1183, 1226, 549, 1038, + 1041, 1044, 1047, 1195, 1199, 1203, 1235, 1238, 1241, 728, + 729, 73, 74, 75, 329, 129, 347, 171, 883, 884, + 331, 314, 197, 663, 794, 212, 213 }; -static const short yypact[] = { 3201, - 118, 3279,-32768, 2254, 20, 133, 32, 18, 180, -71, - 58, 128, -60, 141, 171, -56, 183, 192, 227, -9, - 285, 294, 300, 343, 311, 388, 212, 226, -81, -81, - 237, 22, 21, 323, 23, 387, -1, 392, 432, 436, - 305, 322, 330, 26, 37,-32768, 333,-32768, 455, 378, - 379, 382, 406,-32768, 491, 16, 13, 24,-32768,-32768, +static const short yypact[] = { 2947, + 25, 3026,-32768, 2143, 6, 80, -86, 26, 68, -110, + -38, 39, -28, 45, 77, -33, 140, 144, 95, -44, + 108, 227, 259, 315, 284, 772, 211, 216, 75, 75, + 223, 367, 240, 324, 5, 373, 359, 250, 137, 428, + 446, 454, 351, 361, 364, 13, 38,-32768, 384,-32768, + 526, 388, 450, 453, 467,-32768, 582, 21, 10, 18, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768, 12, 27, 559,-32768,-32768, --32768, -94, -84, 159, 243, 347, 427, 488, 516, 548, - 551, 577, 585, 590, 591, 608, 611, 630, 643, 651, - 654, 664, 371, 375, 390, 391,-32768, 399,-32768,-32768, --32768,-32768,-32768,-32768,-32768, 2468, 2468, 2468,-32768,-32768, - 2468, 2012, 34, 515, 2468, 544, 899,-32768, 549, 575, - 2468, 594,-32768, 2468,-32768, 2468, 2395, 2468, 2468, 416, - 2468, 2395, 2468, 2468, 462, 2395, 2468, 2468, 1391, 465, - 2468, 464, 475, 484, 1665, 480, 497, 493, 508, 512, - 533, 539, 677, -81, -81, -81, 2468, 2468, -8,-32768, - 175, -81, 528, 547, 552, 571, 2219, 199, 556,-32768, - 1665, 17,-32768,-32768, 1528, 1665, 592, 614, 678, 2468, - 2468, 2468, 616, 2468, 626, 658, 2468, 2468,-32768, 639, - 642, 647, 659, 790,-32768, 663,-32768,-32768,-32768, 800, --32768,-32768, 827, 707, 2468, 846, 719,-32768, -81,-32768, - 859, 2468, 2468, 2468, 2468, 2468, 2468, 2468, 2468, 2468, - 2468, 2468, 2468, 2468, 2468, 2468, 2468, 2468, 2468, 2468, - 2468, 2468, 2468, 2468, 2468, 2468, 2468, 2468, 2468, 2468, - 2468, 2468, 2468, 2468, 2468, 2468, 2468, 2468, 2468, 2468, - 2468, 2468, 2468, 461, 540, 540, 540, 865, -59, 722, - 722, 722, 5556, 62, 2395, 4820, 83, 736, 875, 759, - 923,-32768,-32768, 2468, 2468, 2468, 2468, 2468, 2468, 2468, - 2468, 2468, 2468, 2468, 2468, 2468, 2468, 2468,-32768,-32768, - 1170, 39, 4066, 5577, 653, 771, 864, 2395,-32768,-32768, --32768, 1454,-32768, -14, 5598, 5619, 2468, 5640, 286, 5661, - 5682, 2468, 661, 5703, 5724, 1665, 1802, 1245, 1591, 917, --32768, 2468, 5745, 2468, 2468, 2468, 920, 2468, 2468, 2468, - 2526, 2526, 2526, 2526, 789, -42,-32768,-32768, 4092, 4118, - -81, -81, 699, 699, 403, 2468, 2468, 2468, 2468, 2219, - 2219, 2468, 3348, 486,-32768, 2468, 2573, 73, 935,-32768, - 2468, 2639, 804, 936, 938, 2468, 2468,-32768, 5766, 5787, - 5808, 855, 4144,-32768, 801, 1728, 5829, 2468, 2468, 2468, - 2468,-32768, 2468, 2705,-32768, 2771,-32768, 2468, 4843, -23, - 2468, 299, 10,-32768, 5850, 4866, 5871, 4889, 5892, 4912, - 5913, 4935, 5934, 4958, 5955, 4981, 5976, 5004, 5997, 5027, - 6018, 5050, 6039, 5073, 6060, 5096, 4170, 4196, 6081, 5119, - 6102, 5142, 6123, 5165, 6144, 5188, 6165, 5211, 6186, 5234, - 4222, 4248, 4274, 4300, 4326, 4352, 682, 174, 806, 809, - 812, 811, 2468,-32768, 1665, 1665, 684, 291, 559, 2468, - 951, 954, 28, 818,-32768, 1865, 613, 688, 714, 714, - 443, 443, 443, 443, 625, 625, 722, 722, 722, 722, --32768, 29, 2395, 2468, 955, 2076, 2468, 816, 722,-32768, - 2468, 2395, 2395, 869, 958, 959, 6207, 963, 876, 979, - 986, 6228, 900, 987, 989, 991, 2395,-32768, 685, 1939, - 2468, 6249, 992, 3394, 6270, 6291, 2468, 3422, 3450, 6312, - 861, 6690,-32768, 862, 863, 867, 856, -81, 2468, 2468, --32768,-32768,-32768, 857, 3348,-32768, 858, 2468, 5257, 4378, - 4404, 4430, 3290, -61, -37, -28, 126, 907,-32768, 530, - -81, 2837, 5280,-32768,-32768, 2468,-32768, 5303,-32768, 2468, - 1665, 1665, 5326, 5349, 1001, 1002, 1003, 871, 2468, 2903, - 2468, 2468,-32768, 6333, 6354, 6375, 6396, 6417,-32768,-32768, - 5372, 68,-32768, 3478,-32768,-32768, 873, 878, 887,-32768, - 895, 1008,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, +-32768,-32768,-32768,-32768,-32768,-32768, 17, 22, 264,-32768, +-32768,-32768, -77, -71, -27, 256, 301, 360, 422, 443, + 464, 483, 487, 515, 527, 540, 546, 547, 576, 577, + 623, 626, 637, 456, 457, 465, 468,-32768, 484,-32768, +-32768,-32768,-32768,-32768,-32768,-32768, 2368, 2368, 2368,-32768, +-32768, 2368, 1861, 69, 628, 2368, 621, 1193,-32768, 639, + 642, 2368, 650,-32768, 2368,-32768, 2368, 2199, 2368, 2368, + 530, 2368, 2199, 2368, 2368, 537, 2199, 2368, 2368, 1234, + 543, 2368, 578, 553, 619, 1517, 598, 615, 629, 667, + 673, 677, 678, 747, 75, 75, 75, 2368, 2368, 278, +-32768, 430, 75, 634, 676, 679, 686, 2005, 469, 864, + 1517, 33,-32768,-32768, 687, 864, 1373, 1517, 705, 708, + 775, 2368, 2368, 2368, 726, 2368, 709, 784, 2368, 2368, +-32768, 745, 759, 760, 766, 908,-32768, 778,-32768,-32768, +-32768, 913,-32768,-32768, 916, 785, 2368, 932, 799,-32768, + 75,-32768, 936, 2368, 2368, 2368, 2368, 2368, 2368, 2368, + 2368, 2368, 2368, 2368, 2368, 2368, 2368, 2368, 2368, 2368, + 2368, 2368, 2368, 2368, 2368, 2368, 2368, 2368, 2368, 2368, + 2368, 2368, 2368, 2368, 2368, 2368, 2368, 2368, 2368, 2368, + 2368, 2368, 2368, 2368, 2368, 636, 735, 735, 735, 944, + 405, 815, 815, 815, 5281, 9, 2199, 4568, 408, 807, + 955, 823, 1338,-32768,-32768, 2368, 2368, 2368, 2368, 2368, + 2368, 2368, 2368, 2368, 2368, 2368, 2368, 2368, 2368, 2368, +-32768,-32768, 1441, -105, 3814, 5302, 648, 819, 2199,-32768, +-32768, 1297,-32768, 635, 5323, 5344, 2368, 5365, 640, 5386, + 5407, 2368, 652, 5428, 5449, 1517, 1655, 680, 1580, 959, +-32768, 2368, 5470, 2368, 2368, 2368, 960, 2368, 2368, 2368, + 2331, 2331, 2331, 2331, 828, -63,-32768,-32768, 3840, 3866, + 75, 75, 864, 864, -43, 2368, 2368, 2368, 2368, 2005, + 2005, 2368, 3096, -22,-32768,-32768, 824, 3096, 82, 964, +-32768, 2368, 993, 2199, 841, 850, 984, 985, 2368, 2368, +-32768, 5491, 5512, 5533, 900, 3892,-32768, 848, 1718, 5554, + 2368, 2368, 2368, 2368,-32768, 2368, 2472,-32768, 2496,-32768, + 2368, 4591, 84, 2368, 471, 8,-32768, 5575, 4614, 5596, + 4637, 5617, 4660, 5638, 4683, 5659, 4706, 5680, 4729, 5701, + 4752, 5722, 4775, 5743, 4798, 5764, 4821, 5785, 4844, 3918, + 3944, 5806, 4867, 5827, 4890, 5848, 4913, 5869, 4936, 5890, + 4959, 5911, 4982, 3970, 3996, 4022, 4048, 4074, 4100, 473, + -95, 851, 855, 857, 853, 2368,-32768, 1517, 1517, 656, + 312, 264, 2368, 994, 997, 23, 860,-32768, 2774, 763, + 1227, 712, 712, 744, 744, 744, 744, 139, 139, 815, + 815, 815, 815,-32768, 1, 2199, 2368, 996, 1931, 2368, + 815,-32768, 2368, 2199, 2199, 911, 1001, 1002, 5932, 1003, + 915, 1005, 1006, 5953, 920, 1010, 1011, 1013, 2199,-32768, + 660, 1793, 2368, 5974, 1014, 2842, 5995, 6016, 2368, 3170, + 3198, 6037, 880, 6415,-32768, 882, 885, 886, 884, 75, + 2368, 2368,-32768,-32768, 881, 883, 2368, 5005, 4126, 4152, + 4178, 3037, -7, -12, -20, 72, 928,-32768, 493, 75, + 2577,-32768,-32768, 2368,-32768, 5028,-32768, 666,-32768, 2368, + 1517, 1517, 5051, 5074, 1024, 1025, 1027, 892, 2368, 2601, + 2368, 2368,-32768, 6058, 6079, 6100, 6121, 6142,-32768,-32768, + 5097, 67,-32768, 3226,-32768,-32768, 907, 909, 905,-32768, + 917, 1049,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, - 2468, 2468,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768, 2468, 2468, 2468, 2468, 2468, 2468, - 2468, 1030,-32768, 2395, 540,-32768,-32768, 2468, 5395, 1031, - 1051, 921,-32768, 121, 2468, 1052, 1057, 1207,-32768, 1058, - 924, 26, 1060,-32768, 2468,-32768, 941, 540, 312, 4456, - -81,-32768, 2395, 3506, 2395, 2977, 722,-32768, 1454,-32768, - 1019, 1665, 1665, 1062, 1665, 783, 1665, 1665, 1064, 1021, - 1665, 1665,-32768, 709,-32768, 2395, 1316, 1066, 929, 1069, - 1070, 1071, 766, 1072, 1073, 1074, 1075, 1076, 1077, 1078, - 1082, 511, 4482, 4508,-32768,-32768, 3534, 946, -81, -81, - -81, 2395, 2395, 2395, 2395, 1087, 952, 962, 196,-32768, - 519,-32768, 530, 1090, 1355, 1095, 6438, 1096, 1097, 1098, - 1100, 1665, 1665, 1665, 1104, 4534,-32768, 3102, 853, 1103, - 1105, 1106, 1107, 1109, 1112, 1115,-32768, 1114,-32768, 15, - 983, 2468, 2468, 1665, 977, 2468,-32768, 6459, 5418, 6480, - 5441, 6501, 5464, 6522, 5487, 5510, 988, 325, 990, 6543, - 135,-32768,-32768, 260, 359, 984, 1118, 1490,-32768,-32768, --32768, 26, 2468,-32768, 710,-32768, 6690,-32768, 1122, 64, - 2468, 52, 725,-32768, 730, 2468, 985, 47, 53, 1665, - 1125, 993, 994, 1127, 1128, 1665, 995, 1129, 1130,-32768, - 731,-32768, 1132, 2468, 1665, 1665, 1665,-32768, 142, 1665, - 1665, 1665, 1665, 1665, 1665, 1665, 209, 2468, 2468, 2468, - 997,-32768, 223, 477, 483, 737, 756, 762, 765,-32768, - 1665, 2468,-32768,-32768, 2219, 224,-32768,-32768,-32768, 1136, --32768,-32768,-32768,-32768, 1138, 1139, 1055,-32768, 2468, 2468, - 2468,-32768, 1665, 1142, 2468, 2468, 1143,-32768, -23,-32768, - 1146, 2468, 4560, 4586, 768,-32768, 2468, 6564,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768, 1011,-32768,-32768,-32768, --32768, 1665, 559, 2468, 1148, 1151, 28,-32768, 1153, 5533, - 26,-32768,-32768,-32768, 540, 4612,-32768, 1016, 1111, 6690, - 2468,-32768, -81,-32768, -81, 1156,-32768, 2468, 2468,-32768, --32768, 1157, 2468,-32768,-32768,-32768, 1159, 4638, 1160, 1161, - 1162, 2468, 2468, 854, 1163, 1164, 1165, 1167, 1171, 1173, --32768, 2526, 3562, 6585, 2322, 699, 3348, -81, 1174, -81, - 1175, -81, 1177, 1178, 1179, 1180, 1181, 292, 1044, 6606, - 3590, 529,-32768, 1665,-32768,-32768, 1665, 3338, 581, 6627, - 1184, 1188, 1627, 1764, 1665,-32768,-32768, 381, 6690, 2468, - 2468, 1665, 1020, 769, 6690, 1665, 1192, 1191, 1193, 2041, --32768, 1194, 1197,-32768, 1056,-32768, 1199, 2468,-32768, 1061, - 3618, 147, 179,-32768, 3646, 3674,-32768, 3702, 1195, 2468, --32768,-32768,-32768, 2178, 2197, 1201,-32768,-32768,-32768,-32768, --32768,-32768,-32768, 3025, 1202, 1065,-32768, 2468,-32768, 1063, - 530, 532,-32768, 1067, 536,-32768, 1079, 538,-32768, 1080, --32768,-32768,-32768,-32768, 1205, 1665, 1208, 1081, 2468, 1210, - 1124, 2468,-32768, 2468,-32768,-32768,-32768,-32768,-32768,-32768, - 1212,-32768, 2468, 4664, 4690,-32768, 1665, 2468, 1213, 1214, - 1088,-32768,-32768,-32768, 26,-32768, 1135,-32768, 4716, 2468, - 1215,-32768,-32768, 1223, 1224, 1225, 1229, 4742,-32768,-32768, --32768,-32768,-32768, 699, 3366,-32768, 234, 2219, 530, 2219, - 530, 2219, 530,-32768, 773, 1665,-32768, 3730,-32768, 2468, - 3758, 3786,-32768, 1091, 6690, 2468, 2468, 776, 6690,-32768, --32768,-32768, 1238,-32768, 2468, 3814,-32768,-32768,-32768,-32768, --32768, 1240, 1101, 2468,-32768,-32768, 3842, 546, 238, 3870, - 550, 245, 3898, 570, 369, 1665, 1244, 1185, 2969, 1108, - 3045,-32768,-32768, 2468, 6648, 4768, 31,-32768, 4794,-32768, - 1113,-32768, 3926, 1246, 2468, 1275, 1276, 2468, 1277, 1278, - 2468, 1279, 1140,-32768, 2468,-32768, 530,-32768,-32768, 777, --32768, 2468,-32768, 1665, 2468, 1282,-32768,-32768, 1158, 3954, --32768,-32768, 1172, 3982,-32768,-32768, 1176, 4010,-32768, 1298, - 3067, 377, 3035, 1299, 1203, 6669, 787, 4038, 1196, 530, - 1300, 530, 1302, 530, 1310,-32768,-32768,-32768,-32768, 530, --32768, 540,-32768, 1204, 1312, 1314, 395,-32768, 1206, 414, --32768, 1209, 424,-32768, 1217, 440, 788,-32768, 1218, 1665, --32768, 1200, 1317, 530, 1336, 530, 1341, 530,-32768, 540, - 1344, 540, 791, 1346,-32768, 444,-32768, 471,-32768, 474, --32768,-32768, 792,-32768, 1347,-32768, 1349, 1354, 1358, 540, - 1359,-32768,-32768,-32768,-32768,-32768,-32768, 1251, 1366,-32768 + 2368, 2368,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, +-32768,-32768,-32768,-32768, 2368, 2368, 2368, 2368, 2368, 2368, + 2368, 1053,-32768, 2199, 735,-32768,-32768, 2368, 5120, 1055, + 1056, 921,-32768, 106, 2368, 1058, 1059, 1474,-32768, 1052, + 925, 13, 1061,-32768, 2368,-32768, 941, 735, 56, 4204, + 75,-32768, 2199, 3254, 2793, 815,-32768, 1297,-32768, 1022, + 1517, 1517, 1065, 1517, 777, 1517, 1517, 1066, 1026, 1517, + 1517,-32768, 684,-32768, 2199, 1612, 1068, 930, 1071, 1072, + 1073, 345, 1077, 1078, 1079, 1080, 1081, 1083, 1084, 1088, + 255, 4230, 4256,-32768,-32768, 3282, 947, 75, 75, 75, + 2199, 2199, 2199, 2199, 1092, 948, 962, -3,-32768, 350, +-32768, 493, 1633, 1098, 1057, 6163, 1102, 1104, 1105, 1106, + 1517, 1517, 1517, 1109, 4282,-32768, 2812, 1101, 1107, 1108, + 1110, 1111, 1112, 1114, 1117,-32768, 1118,-32768, 14, 986, + 2368, 2368, 1517, 980, 2368,-32768, 6184, 5143, 6205, 5166, + 6226, 5189, 6247, 5212, 5235, 987, 164, 988, 6268, -58, +-32768,-32768, 205, 475, 989, 1122, 1960,-32768,-32768,-32768, + 13, 2368,-32768, 707,-32768, 6415,-32768, 1124, 4, 2368, + 52, 716,-32768, 2368, 990, 24, 28, 1517, 1127, 991, + 992, 1128, 1129, 1517, 995, 1136, 1139,-32768, 717,-32768, + 1142, 2368, 1517, 1517, 1517,-32768, 265, 1517, 1517, 1517, + 1517, 1517, 1517, 1517, 571, 2368, 2368, 2368, 1004,-32768, + 184, 218, 291, 723, 734, 757, 761,-32768, 1517, 2368, +-32768,-32768, 2005, 202,-32768,-32768, 1008, 1144,-32768,-32768, +-32768,-32768, 1149, 1151, 1069,-32768, 2368, 2368, 2368,-32768, + 1517, 1155, 2368, 2368, 1157,-32768, 84,-32768, 1158, 2368, + 4308, 4334, 764,-32768, 2368, 6289,-32768,-32768,-32768,-32768, +-32768,-32768,-32768,-32768, 1020,-32768,-32768,-32768,-32768, 1517, + 264, 2368, 1159, 1162, 23,-32768, 1161, 5258, 13,-32768, +-32768,-32768, 735, 4360,-32768, 1028, 6415, 2368,-32768, 75, +-32768, 75, 1165,-32768, 2368, 2368,-32768,-32768, 1167, 2368, +-32768,-32768,-32768, 1169, 4386, 1170, 1171, 1172, 2368, 2368, + 906, 1174, 1175, 1176, 1177, 1178, 1179,-32768, 2331, 3310, + 6310, 3086, 864, 3096, 75, 1181, 75, 1182, 75, 1184, + 1186, 1188, 1191, 1194, 605, 1062, 6331, 3338, 389,-32768, + 2368, 1517,-32768,-32768, 1517, 3114, 852, 6352, 1195, 1196, + 1983, 2066, 1517,-32768,-32768, 253, 6415, 2368, 2368, 1517, + 1060, 768, 6415, 1517, 1204, 1203, 1205, 2172,-32768, 1206, + 1208,-32768, 1067,-32768, 1209, 2368,-32768, 3366, 57, 59, +-32768, 3394, 3422,-32768, 3450, 1207, 2368,-32768,-32768,-32768, + 2283, 2302, 1211,-32768,-32768,-32768,-32768,-32768,-32768,-32768, + 2710, 1212, 1074,-32768, 2368,-32768, 1089, 493, 445,-32768, + 1094, 522,-32768, 1096, 532,-32768, 1100,-32768,-32768,-32768, +-32768, 1213, 1517, 1228, 1123, 2368, 3478, 1241, 1180, 2368, +-32768, 2368,-32768,-32768,-32768,-32768,-32768,-32768, 1266,-32768, + 2368, 4412, 4438,-32768, 1517, 2368, 1267, 1268, 1135,-32768, +-32768,-32768, 13,-32768, 1185,-32768, 4464, 1272,-32768,-32768, + 1274, 1275, 1276, 1277, 4490,-32768,-32768,-32768,-32768,-32768, + 864, 3142,-32768, 233, 2005, 493, 2005, 493, 2005, 493, +-32768, 780, 1517,-32768, 3506,-32768,-32768, 2368, 3534, 3562, +-32768, 1138, 6415, 2368, 2368, 788, 6415,-32768,-32768,-32768, + 1282,-32768, 2368,-32768,-32768,-32768,-32768,-32768, 1284, 1150, + 2368,-32768,-32768, 3590, 535, 296, 3618, 612, 304, 3646, + 624, 309, 1517, 1292, 1245, 2682, 1166, 2734,-32768,-32768, + 2368, 6373, 4516, 27,-32768, 4542, 1163,-32768, 3674, 1301, + 2368, 1321, 1322, 2368, 1323, 1324, 2368, 1326, 1187,-32768, + 2368,-32768, 493,-32768,-32768, 796,-32768, 2368,-32768, 1517, + 2368, 1331,-32768,-32768, 1192, 3702,-32768,-32768, 1215, 3730, +-32768,-32768, 1220, 3758,-32768, 1333, 2755, 339, 2706, 1334, + 1221, 6394, 801, 3786, 1197, 493, 1363, 493, 1364, 493, + 1365,-32768,-32768,-32768,-32768, 493,-32768, 735,-32768, 1226, + 1368, 1332, 347,-32768, 1229, 355,-32768, 1233, 381,-32768, + 1235, 426, 812,-32768, 1239, 1517,-32768, 1261, 1380, 493, + 1403, 493, 1404, 493,-32768, 735, 1405, 735, 813, 1406, +-32768, 442,-32768, 459,-32768, 478,-32768,-32768, 816,-32768, + 1407,-32768, 1408, 1409, 1425, 735, 1426,-32768,-32768,-32768, +-32768,-32768,-32768, 1433, 1436,-32768 }; static const short yypgoto[] = {-32768, --32768,-32768, 567,-32768,-32768, 784,-32768, 204,-32768,-32768, +-32768,-32768, 645,-32768,-32768, 861,-32768, 289,-32768,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768, -274, 1,-32768, 60, 1368, 7, -352, -173, 11, --32768,-32768,-32768,-32768,-32768, 1369,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, - -571, -707,-32768,-32768,-32768, -3,-32768, 233,-32768, -1071, - 407, 316, 51, -650, 468,-32768, -58, 4 +-32768, -268, 20,-32768, -26, 1449, -1, -183, -170,-32768, +-32768,-32768,-32768,-32768, 1451,-32768,-32768,-32768,-32768,-32768, +-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -671, + -700,-32768,-32768,-32768, -2,-32768, 236,-32768, -1071, 462, + 135, -64, -642, 549,-32768, -60, 2 }; -#define YYLAST 6827 - - -static const short yytable[] = { 213, - 127, 537, 460, 363, 126, 1128, 367, 129, 64, 372, - 140, 794, 65, 586, 145, 214, 207, 208, 586, 205, - 369, 854, 370, 133, 179, 173, 182, 207, 208, 193, - 219, 661, 130, 140, 666, 394, 1193, 277, 396, 150, - 196, 185, 145, 222, 186, 223, 165, 166, 103, 104, - 105, 106, 922, 224, 107, 225, 167, 917, 924, 103, - 104, 105, 106, 168, 174, 107, 136, 175, 455, 914, - 176, 207, 208, 137, 119, 120, 136, 141, 555, 556, - 453, 221, 216, 722, 142, 351, 352, 217, 146, 459, - 587, 588, 589, 590, 591, 587, 588, 589, 590, 591, - 141, 528, 923, 103, 104, 105, 106, 723, 925, 107, - 119, 120, 270, 271, 272, 206, 724, 273, 276, 351, - 352, 281, 1217, 3, 785, 278, 279, 301, 151, 493, - 303, 494, 304, 312, 315, 316, 353, 318, 312, 320, - 321, 909, 312, 324, 325, 119, 120, 333, 854, 165, - 166, 215, 1092, 216, 667, 592, 371, 209, 217, 167, - 881, 856, 134, 349, 350, 180, 177, 183, 212, 132, - 194, 220, 662, 350, 197, 1194, 456, 482, 1263, 351, - 352, 131, 483, 655, 1093, 135, 379, 380, 381, 667, - 383, 552, 319, 386, 387, 138, 323, 112, 113, 114, - 115, 119, 120, 942, 943, 448, 449, 450, 451, 756, - 570, 399, 786, 787, 951, 952, 119, 120, 405, 406, - 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, +#define YYLAST 6553 + + +static const short yytable[] = { 215, + 66, 128, 375, 1126, 151, 130, 666, 363, 182, 912, + 463, 586, 373, 209, 210, 458, 195, 586, 131, 793, + 216, 209, 210, 127, 207, 221, 661, 852, 137, 919, + 3, 134, 1189, 921, 485, 138, 370, 146, 371, 486, + 397, 198, 141, 399, 643, 104, 105, 106, 107, 644, + 146, 108, 133, 104, 105, 106, 107, 915, 141, 108, + 854, 224, 1089, 225, 1090, 351, 352, 226, 725, 227, + 209, 210, 279, 136, 726, 727, 120, 121, 319, 920, + 223, 530, 323, 922, 755, 351, 352, 553, 554, 587, + 588, 589, 590, 591, 152, 587, 588, 589, 590, 591, + 139, 537, 104, 105, 106, 107, 351, 352, 108, 784, + 142, 228, 147, 229, 272, 273, 274, 143, 1213, 275, + 278, 208, 550, 283, 459, 723, 142, 667, 132, 303, + 667, 137, 305, 722, 306, 312, 315, 316, 721, 318, + 312, 320, 321, 851, 312, 324, 325, 150, 907, 333, + 183, 120, 121, 852, 592, 211, 153, 217, 196, 218, + 879, 280, 281, 214, 219, 349, 350, 222, 662, 535, + 536, 135, 1190, 372, 1259, 350, 199, 140, 366, 187, + 351, 352, 188, 144, 366, 351, 352, 351, 352, 382, + 383, 384, 655, 386, 551, 799, 389, 390, 785, 786, + 495, 120, 121, 166, 167, 451, 452, 453, 454, 755, + 149, 653, 460, 168, 402, 145, 570, 724, 120, 121, + 169, 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, - 1006, 169, 171, 148, 178, 139, 653, 726, 119, 120, - 725, 312, 727, 728, 351, 352, 756, 461, 143, 149, - 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, - 476, 477, 478, 479, 480, 726, 226, 653, 227, 491, - 727, 728, 351, 352, 489, 726, 351, 352, 144, 726, - 727, 728, 643, 497, 727, 728, 726, 644, 502, 354, - 147, 727, 728, 489, 312, 457, 351, 352, 512, 148, - 514, 515, 516, 152, 518, 519, 520, 522, 522, 522, - 522, 853, 153, 365, 523, 523, 523, 523, 154, 163, - 351, 352, 539, 540, 541, 542, 270, 271, 543, 533, - 533, 158, 553, 536, 536, 903, 958, 558, 959, 973, - 164, 181, 563, 564, 112, 113, 114, 115, 509, 1146, - 228, 172, 229, 1176, 574, 575, 576, 577, 155, 578, - 1179, 156, 184, 157, 581, 187, 346, 584, 348, 854, - 583, 524, 525, 526, 355, 112, 113, 114, 115, 364, - 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, - 294, 510, 296, 297, 119, 120, 351, 352, 298, 493, - 159, 499, 654, 160, 1133, 188, 161, 1055, 162, 189, - 726, 854, 190, 585, 854, 727, 728, 854, 726, 649, - 800, 402, 313, 727, 728, 493, 658, 313, 656, 191, - 199, 313, 657, 899, 447, 208, 726, 192, 493, 1107, - 198, 727, 728, 112, 113, 114, 115, 200, 201, 312, - 670, 202, 649, 674, 230, 726, 231, 676, 677, 679, - 727, 728, 119, 120, 204, 726, 103, 104, 105, 106, - 727, 728, 107, 312, 854, 203, 677, 697, 264, 902, - 904, 726, 265, 703, 1182, 726, 727, 728, 280, 1072, - 727, 728, 1228, 758, 1073, 713, 714, 266, 267, 854, - 351, 352, 854, 669, 717, 854, 268, 1149, 854, 1152, - 1253, 1155, 726, 207, 208, 726, 538, 727, 728, 282, - 727, 728, 735, 317, 299, 330, 737, 694, 854, 1255, - 854, 337, 854, 208, 232, 746, 233, 748, 749, 1257, - 293, 294, 295, 296, 297, 103, 104, 105, 106, 298, - 300, 107, 757, 531, 532, 1259, 779, 368, 1064, 1277, - 313, 374, 375, 348, 103, 104, 105, 106, 302, 322, - 107, 726, 332, 1040, 351, 352, 727, 728, 334, 799, - 351, 352, 335, 351, 352, 1212, 1278, 768, 769, 1279, - 960, 336, 961, 490, 338, 234, 962, 235, 963, 551, - 340, 770, 771, 772, 773, 774, 775, 776, 351, 352, - 312, 339, 490, 313, 780, 341, 351, 352, 1237, 342, - 1240, 788, 1243, 236, 838, 237, 351, 352, 1246, 351, - 352, 797, 855, 351, 352, 351, 352, 356, 957, 312, - 343, 312, 1059, 351, 352, 1108, 344, 351, 352, 1110, - 345, 1112, 1266, 378, 1268, 238, 1270, 239, 240, 1175, - 241, 357, 312, 1178, 778, 366, 358, 351, 352, 284, - 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 296, 297, 1181, 242, 359, 243, 298, 312, 312, - 312, 312, 244, 803, 245, 805, 1065, 246, 248, 247, - 249, 376, 506, 286, 287, 288, 289, 290, 291, 292, - 293, 294, 295, 296, 297, 250, 821, 251, 252, 298, - 253, 1143, 385, 377, 295, 296, 297, 382, 883, 884, - 712, 298, 888, 28, 29, 30, 31, 254, 33, 255, - 384, 828, 846, 847, 848, 849, 388, 38, 39, 389, - 256, 757, 257, 731, 390, 905, 119, 120, 258, 910, - 259, 260, 486, 261, 216, 392, 391, 916, 313, 217, - 393, 262, 920, 263, 493, 395, 503, 678, 680, 287, - 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, - 938, 641, 313, 642, 298, 678, 829, 493, 493, 652, - 695, 812, 397, 813, 953, 954, 955, 289, 290, 291, - 292, 293, 294, 295, 296, 297, 398, 968, 970, 400, - 298, 971, 493, 911, 820, 912, 1007, 1026, 298, 1027, - 871, 650, 651, 401, 404, 978, 979, 980, 493, 452, - 918, 983, 984, 493, 493, 919, 936, 462, 989, 986, - 493, 463, 964, 995, 284, 285, 286, 287, 288, 289, - 290, 291, 292, 293, 294, 295, 296, 297, 464, 493, - 1000, 965, 298, 802, 283, 493, 999, 966, 493, 488, - 967, 992, 1078, 993, 1079, 487, 1156, 1011, 1157, 992, - 1078, 1167, 1214, 511, 1015, 1016, 517, 527, 465, 1018, - 992, 1260, 1234, 1261, 992, 1280, 1275, 1281, 1024, 1025, - 557, 560, 561, 1159, 562, 571, 568, 646, 1034, 645, - 647, 843, 844, 845, 648, 1035, 659, 660, 664, 313, - 675, 671, 533, 681, 682, 683, 536, 738, 739, 685, - 686, 284, 285, 286, 287, 288, 289, 290, 291, 292, - 293, 294, 295, 296, 297, 687, 1074, 1075, 313, 298, - 313, 872, 688, 691, 690, 692, 693, 711, 699, 707, - 708, 709, 715, 716, 1089, 710, 206, 742, 743, 744, - 762, 313, 745, 767, 1213, 763, 1098, 284, 285, 286, - 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, - 297, 764, 766, 777, 1105, 298, 782, 313, 313, 313, - 313, 284, 285, 286, 287, 288, 289, 290, 291, 292, - 293, 294, 295, 296, 297, 1118, 783, 789, 1121, 298, - 1122, 784, 790, 793, 792, 796, 798, 807, 810, 1125, - 816, 817, 823, 824, 1129, 825, 826, 827, 830, 831, - 832, 833, 834, 835, 836, 837, 1136, 972, 808, 809, - 842, 811, 850, 814, 815, 857, 851, 818, 819, 852, - 859, 861, 862, 863, 1147, 864, 1150, 868, 1153, 873, - 533, 874, 875, 876, 536, 877, 1161, 878, 879, 880, - 882, 887, 1165, 1166, 907, 906, 898, 913, 900, 921, - 927, 1169, 930, 931, 934, 935, 937, 928, 929, 933, - 1173, 956, 974, 975, 976, 977, 982, 985, 865, 866, - 867, 987, 997, 1001, 1002, 1012, 1009, 1013, 1004, 1010, - 995, 1014, 1017, 1019, 1077, 1021, 1022, 1023, 1028, 1029, - 1030, 1200, 1031, 1248, 1204, 481, 1032, 1208, 1033, 1043, - 1046, 1211, 1049, 1051, 1052, 1053, 1054, 1056, 1216, 1067, - 1042, 1218, 1045, 1068, 1048, 1081, 1082, 1087, 1083, 1097, - 1085, 1271, 1086, 1274, 1088, 1090, 1101, 1103, 1106, 1104, - 1114, 1109, 791, 1120, 1116, 1119, 926, 1123, 1130, 1131, - 1137, 1286, 932, 1111, 1113, 1117, 1132, 1134, 1138, 1139, - 1140, 939, 940, 941, 1141, 1164, 944, 945, 946, 947, - 948, 949, 950, 1168, 1171, 1185, 1172, 75, 305, 1184, - 1289, 1198, 1188, 79, 80, 81, 1196, 969, 82, 83, - 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, - 94, 95, 96, 97, 98, 99, 100, 101, 102, 981, - 1201, 1202, 1205, 1206, 1209, 1210, 1219, 306, 284, 285, - 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, - 296, 297, 1220, 1226, 1231, 1238, 298, 1241, 998, 28, - 29, 30, 31, 32, 33, 1244, 1222, 1251, 1252, 307, - 1224, 822, 1265, 38, 39, 284, 285, 286, 287, 288, - 289, 290, 291, 292, 293, 294, 295, 296, 297, 1236, - 1148, 1267, 1151, 298, 1154, 1264, 1269, 1232, 1250, 1272, - 1254, 1276, 1282, 1256, 1283, 108, 109, 110, 111, 1284, - 858, 1258, 1262, 1285, 1287, 1290, 915, 1190, 760, 63, - 71, 0, 116, 308, 1003, 0, 0, 118, 0, 0, - 1060, 0, 121, 1061, 0, 0, 0, 124, 0, 0, - 508, 1071, 0, 75, 305, 0, 0, 0, 1076, 79, - 80, 81, 1080, 0, 82, 83, 84, 85, 86, 87, - 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, - 98, 99, 100, 101, 102, 0, 0, 0, 0, 0, - 0, 0, 0, 306, 284, 285, 286, 287, 288, 289, - 290, 291, 292, 293, 294, 295, 296, 297, 0, 0, - 0, 0, 298, 0, 0, 28, 29, 30, 31, 32, - 33, 491, 1115, 0, 0, 307, 0, 0, 0, 38, - 39, 0, 0, 284, 285, 286, 287, 288, 289, 290, - 291, 292, 293, 294, 295, 296, 297, 0, 0, 0, - 326, 298, 0, 0, 0, 908, 0, 0, 0, 0, - 0, 108, 109, 110, 111, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 116, 327, - 0, 0, 1158, 118, 0, 0, 0, 0, 121, 0, - 75, 305, 0, 124, 0, 328, 79, 80, 81, 0, - 0, 82, 83, 84, 85, 86, 87, 88, 89, 90, - 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, - 101, 102, 1183, 0, 0, 0, 0, 0, 0, 0, - 306, 0, 284, 285, 286, 287, 288, 289, 290, 291, - 292, 293, 294, 492, 296, 297, 0, 0, 0, 0, - 298, 0, 28, 29, 30, 31, 32, 33, 491, 0, - 0, 0, 307, 0, 0, 0, 38, 39, 284, 285, - 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, - 296, 297, 0, 0, 0, 0, 298, 373, 0, 0, - 0, 0, 1069, 0, 0, 0, 0, 0, 108, 109, - 110, 111, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 116, 327, 0, 0, 0, - 118, 0, 0, 0, 0, 121, 0, 75, 305, 0, - 124, 0, 328, 79, 80, 81, 0, 0, 82, 83, - 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, - 94, 95, 96, 97, 98, 99, 100, 101, 102, 0, - 0, 0, 0, 0, 0, 0, 0, 306, 0, 284, - 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 510, 296, 297, 0, 0, 0, 0, 298, 0, 28, - 29, 30, 31, 32, 33, 572, 0, 0, 0, 307, - 0, 0, 0, 38, 39, 284, 285, 286, 287, 288, - 289, 290, 291, 292, 293, 294, 295, 296, 297, 0, - 0, 0, 0, 298, 0, 0, 0, 0, 0, 1070, - 0, 0, 0, 0, 0, 108, 109, 110, 111, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 116, 327, 0, 0, 0, 118, 0, 0, - 0, 0, 121, 0, 75, 305, 0, 124, 0, 328, - 79, 80, 81, 0, 0, 82, 83, 84, 85, 86, - 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, - 97, 98, 99, 100, 101, 102, 0, 0, 0, 0, - 0, 0, 0, 0, 306, 0, 284, 285, 286, 287, - 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, - 0, 0, 0, 0, 298, 0, 28, 29, 30, 31, - 32, 33, 665, 0, 0, 0, 307, 0, 0, 0, - 38, 39, 284, 285, 286, 287, 288, 289, 290, 291, - 292, 293, 294, 295, 296, 297, 0, 0, 0, 0, - 298, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 108, 109, 110, 111, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 116, - 308, 0, 0, 0, 118, 0, 0, 0, 0, 121, - 0, 75, 305, 0, 124, 0, 507, 79, 80, 81, - 0, 0, 82, 83, 84, 85, 86, 87, 88, 89, + 447, 448, 449, 511, 170, 172, 1004, 179, 210, 297, + 298, 299, 313, 725, 312, 154, 300, 313, 148, 726, + 727, 313, 149, 469, 470, 471, 472, 473, 474, 475, + 476, 477, 478, 479, 480, 481, 482, 483, 464, 104, + 105, 106, 107, 897, 725, 108, 491, 155, 495, 558, + 726, 727, 351, 352, 499, 526, 527, 528, 653, 504, + 113, 114, 115, 116, 491, 312, 939, 940, 955, 514, + 956, 516, 517, 518, 159, 520, 521, 522, 524, 524, + 524, 524, 525, 525, 525, 525, 351, 352, 970, 164, + 826, 366, 366, 538, 539, 540, 541, 272, 273, 542, + 156, 165, 957, 157, 958, 158, 1104, 725, 173, 556, + 174, 312, 181, 726, 727, 725, 563, 564, 184, 1143, + 725, 726, 727, 351, 352, 180, 726, 727, 574, 575, + 576, 577, 1070, 578, 230, 186, 231, 1071, 581, 836, + 346, 584, 348, 852, 185, 827, 351, 352, 355, 175, + 725, 313, 176, 364, 462, 177, 726, 727, 725, 351, + 352, 669, 583, 353, 726, 727, 725, 113, 114, 115, + 116, 189, 726, 727, 1146, 959, 1149, 960, 1152, 232, + 1131, 233, 1172, 492, 693, 852, 120, 121, 852, 190, + 1175, 852, 725, 649, 654, 1178, 405, 191, 726, 727, + 658, 492, 313, 657, 286, 287, 288, 289, 290, 291, + 292, 293, 294, 295, 296, 297, 298, 299, 351, 352, + 656, 901, 300, 312, 670, 1224, 649, 674, 202, 192, + 675, 676, 678, 1249, 853, 166, 167, 725, 234, 193, + 235, 1251, 194, 726, 727, 168, 312, 852, 313, 676, + 696, 1208, 178, 725, 900, 902, 702, 351, 352, 726, + 727, 757, 200, 113, 114, 115, 116, 1253, 712, 713, + 725, 201, 852, 1056, 716, 852, 726, 727, 852, 120, + 121, 852, 120, 121, 1233, 456, 1236, 218, 1239, 725, + 203, 733, 219, 204, 1242, 726, 727, 736, 351, 352, + 236, 852, 237, 852, 725, 852, 745, 205, 747, 748, + 726, 727, 1255, 351, 352, 354, 948, 949, 1262, 777, + 1264, 238, 1266, 239, 778, 206, 533, 534, 1273, 1105, + 113, 114, 115, 116, 266, 267, 348, 351, 352, 351, + 352, 756, 240, 268, 241, 1274, 269, 798, 802, 120, + 121, 330, 493, 641, 365, 642, 585, 337, 767, 768, + 313, 242, 270, 243, 1275, 244, 284, 245, 677, 679, + 819, 282, 769, 770, 771, 772, 773, 774, 775, 450, + 210, 312, 369, 313, 301, 779, 677, 302, 377, 378, + 351, 352, 787, 246, 304, 247, 844, 845, 846, 847, + 351, 352, 796, 351, 352, 248, 1107, 249, 317, 954, + 312, 104, 105, 106, 107, 322, 1109, 108, 250, 1171, + 251, 332, 76, 307, 252, 254, 253, 255, 80, 81, + 82, 335, 312, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, - 100, 101, 102, 0, 0, 0, 0, 0, 0, 0, - 0, 306, 0, 284, 285, 286, 287, 288, 289, 290, - 291, 292, 293, 294, 295, 296, 297, 0, 0, 0, - 0, 298, 0, 28, 29, 30, 31, 32, 33, 0, - 0, 0, 0, 307, 75, 269, 0, 38, 39, 0, - 79, 80, 81, 0, 0, 82, 83, 84, 85, 86, + 100, 101, 102, 103, 256, 258, 257, 259, 312, 312, + 312, 312, 308, 334, 286, 287, 288, 289, 290, 291, + 292, 293, 294, 295, 296, 512, 298, 299, 209, 210, + 351, 352, 300, 338, 28, 29, 30, 31, 32, 33, + 345, 1052, 351, 352, 37, 38, 1174, 336, 881, 882, + 339, 260, 886, 261, 262, 711, 263, 340, 1177, 1037, + 104, 105, 106, 107, 356, 264, 108, 265, 313, 495, + 381, 496, 120, 121, 495, 730, 501, 508, 489, 908, + 218, 109, 110, 111, 112, 219, 495, 914, 505, 756, + 495, 917, 652, 903, 495, 341, 694, 313, 117, 309, + 495, 342, 735, 119, 160, 343, 344, 161, 122, 935, + 162, 357, 163, 125, 358, 810, 510, 811, 495, 313, + 818, 359, 374, 950, 951, 952, 291, 292, 293, 294, + 295, 296, 297, 298, 299, 379, 965, 967, 380, 300, + 968, 909, 1005, 910, 387, 313, 313, 313, 313, 1062, + 495, 495, 916, 933, 976, 977, 978, 495, 385, 961, + 981, 982, 295, 296, 297, 298, 299, 987, 495, 388, + 962, 300, 993, 391, 288, 289, 290, 291, 292, 293, + 294, 295, 296, 297, 298, 299, 984, 392, 393, 998, + 300, 495, 997, 963, 394, 495, 801, 964, 990, 1023, + 991, 1024, 1076, 395, 1077, 1008, 396, 1140, 398, 650, + 651, 400, 1012, 1013, 1153, 401, 1154, 1015, 28, 29, + 30, 31, 990, 33, 1164, 403, 1021, 1022, 37, 38, + 1076, 407, 1210, 1156, 404, 990, 1031, 1230, 455, 465, + 1032, 366, 300, 841, 842, 843, 1256, 990, 1257, 1271, + 1276, 466, 1277, 467, 490, 513, 519, 529, 1057, 555, + 552, 286, 287, 288, 289, 290, 291, 292, 293, 294, + 295, 296, 297, 298, 299, 1072, 1073, 559, 560, 300, + 561, 562, 568, 571, 646, 645, 647, 648, 1063, 659, + 660, 664, 671, 1087, 5, 6, 680, 681, 682, 684, + 685, 686, 687, 1209, 1095, 689, 690, 691, 692, 706, + 698, 707, 737, 738, 708, 709, 710, 714, 208, 715, + 741, 742, 1102, 743, 744, 543, 11, 12, 544, 14, + 15, 545, 17, 546, 19, 761, 20, 762, 22, 23, + 763, 25, 26, 1115, 766, 765, 776, 1119, 791, 1120, + 781, 782, 783, 788, 789, 792, 795, 797, 1123, 39, + 805, 808, 814, 1127, 821, 822, 815, 823, 824, 825, + 43, 44, 45, 828, 829, 830, 831, 832, 969, 833, + 834, 835, 840, 849, 52, 53, 54, 848, 55, 366, + 850, 547, 1144, 856, 1147, 857, 1150, 859, 869, 860, + 861, 862, 866, 871, 872, 1158, 873, 874, 875, 876, + 877, 1162, 1163, 878, 880, 885, 896, 898, 905, 911, + 1166, 904, 924, 927, 928, 918, 925, 926, 1169, 557, + 930, 931, 806, 807, 932, 809, 934, 812, 813, 953, + 972, 816, 817, 971, 973, 1009, 974, 1010, 993, 980, + 975, 983, 995, 985, 999, 1000, 1002, 1244, 1196, 1007, + 1011, 1200, 1014, 1016, 1204, 1018, 1019, 1020, 1207, 1025, + 1026, 1027, 1028, 1029, 1030, 1212, 1040, 1043, 1214, 1046, + 1039, 1048, 1042, 1049, 1045, 1267, 1050, 1270, 285, 1051, + 1065, 1066, 863, 864, 865, 1075, 1053, 1079, 1080, 1085, + 1081, 1094, 1083, 1084, 1086, 1282, 1098, 1100, 1111, 1101, + 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, + 296, 297, 298, 299, 1113, 1103, 76, 307, 300, 1106, + 870, 1108, 80, 81, 82, 1110, 1117, 83, 84, 85, + 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, + 96, 97, 98, 99, 100, 101, 102, 103, 1114, 923, + 1118, 1121, 1128, 1129, 1130, 929, 308, 1134, 1132, 1135, + 1136, 1137, 1138, 1161, 936, 937, 938, 1165, 1167, 941, + 942, 943, 944, 945, 946, 947, 1168, 1180, 28, 29, + 30, 31, 32, 33, 493, 1181, 1194, 1192, 37, 38, + 966, 1184, 286, 287, 288, 289, 290, 291, 292, 293, + 294, 295, 296, 297, 298, 299, 1197, 1198, 1201, 1202, + 300, 1205, 979, 1206, 326, 1215, 1248, 1216, 1222, 1227, + 1145, 1232, 1148, 468, 1151, 109, 110, 111, 112, 289, + 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, + 1218, 996, 117, 327, 300, 1220, 1228, 119, 1234, 1237, + 1240, 1246, 122, 1247, 1250, 76, 307, 125, 1252, 328, + 1254, 80, 81, 82, 1258, 1261, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, - 97, 98, 99, 100, 101, 102, 1084, 0, 0, 108, - 109, 110, 111, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 116, 308, 0, 0, - 0, 118, 0, 0, 0, 0, 121, 0, 75, 269, - 0, 124, 0, 696, 79, 80, 81, 0, 0, 82, + 97, 98, 99, 100, 101, 102, 103, 1260, 1263, 1265, + 1268, 1272, 1278, 1279, 1280, 308, 286, 287, 288, 289, + 290, 291, 292, 293, 294, 295, 296, 494, 298, 299, + 1281, 1283, 1285, 1058, 300, 1286, 1059, 28, 29, 30, + 31, 32, 33, 913, 1069, 759, 484, 37, 38, 1186, + 65, 1074, 72, 1001, 0, 1078, 0, 286, 287, 288, + 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, + 299, 0, 0, 376, 0, 300, 0, 0, 0, 790, + 0, 0, 0, 0, 109, 110, 111, 112, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 117, 327, 0, 0, 0, 119, 0, 0, 0, + 0, 122, 0, 0, 1112, 0, 125, 0, 328, 76, + 307, 0, 0, 0, 0, 80, 81, 82, 0, 0, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, + 103, 0, 0, 0, 0, 0, 0, 0, 0, 308, + 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, + 296, 297, 298, 299, 1155, 0, 0, 0, 300, 0, + 0, 28, 29, 30, 31, 32, 33, 493, 0, 0, + 0, 37, 38, 286, 287, 288, 289, 290, 291, 292, + 293, 294, 295, 296, 297, 298, 299, 0, 0, 0, + 0, 300, 0, 0, 1179, 0, 0, 820, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 109, 110, + 111, 112, 0, 0, 0, 0, 0, 0, 855, 0, + 0, 0, 0, 0, 0, 117, 327, 0, 0, 0, + 119, 0, 0, 0, 0, 122, 0, 76, 307, 0, + 125, 0, 328, 80, 81, 82, 0, 0, 83, 84, + 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, + 95, 96, 97, 98, 99, 100, 101, 102, 103, 0, + 0, 0, 0, 0, 0, 0, 0, 308, 0, 286, + 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, + 512, 298, 299, 0, 0, 0, 0, 300, 0, 28, + 29, 30, 31, 32, 33, 572, 0, 0, 0, 37, + 38, 286, 287, 288, 289, 290, 291, 292, 293, 294, + 295, 296, 297, 298, 299, 0, 0, 0, 0, 300, + 0, 0, 286, 287, 288, 289, 290, 291, 292, 293, + 294, 295, 296, 297, 298, 299, 109, 110, 111, 112, + 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 117, 309, 0, 0, 0, 119, 0, + 0, 0, 0, 122, 0, 76, 307, 0, 125, 0, + 509, 80, 81, 82, 0, 0, 83, 84, 85, 86, + 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, + 97, 98, 99, 100, 101, 102, 103, 0, 0, 0, + 0, 0, 0, 0, 0, 308, 0, 286, 287, 288, + 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, + 299, 0, 0, 0, 0, 300, 0, 28, 29, 30, + 31, 32, 33, 76, 271, 0, 0, 37, 38, 80, + 81, 82, 0, 0, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, + 99, 100, 101, 102, 103, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 109, 110, 111, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 108, 109, 110, 111, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 116, - 117, 0, 0, 0, 118, 0, 0, 0, 0, 121, - 0, 0, 274, 0, 124, 0, 275, 0, 0, 284, - 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 296, 297, 0, 0, 0, 0, 298, 0, 0, - 0, 0, 0, 1099, 0, 0, 108, 109, 110, 111, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1100, 116, 117, 0, 0, 0, 118, 0, - 0, 0, 0, 121, 0, 0, 672, 0, 124, 0, - 673, 75, 269, 0, 0, 0, 0, 79, 80, 81, - 0, 0, 82, 83, 84, 85, 86, 87, 88, 89, - 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, - 100, 101, 102, 0, 0, 0, 75, 76, 77, 0, - 78, 0, 79, 80, 81, 0, 0, 82, 83, 84, + 0, 117, 309, 0, 0, 0, 119, 0, 0, 0, + 0, 122, 0, 76, 271, 0, 125, 0, 695, 80, + 81, 82, 0, 0, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, + 99, 100, 101, 102, 103, 906, 0, 0, 0, 0, + 0, 0, 109, 110, 111, 112, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1067, 117, + 118, 0, 0, 0, 119, 0, 0, 0, 0, 122, + 0, 0, 276, 0, 125, 0, 277, 76, 271, 0, + 0, 0, 0, 80, 81, 82, 0, 0, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, - 95, 96, 97, 98, 99, 100, 101, 102, 0, 103, - 104, 105, 106, 0, 0, 107, 284, 285, 286, 287, - 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, - 0, 0, 0, 0, 298, 284, 285, 286, 287, 288, - 289, 290, 291, 292, 293, 294, 295, 296, 297, 108, - 109, 110, 111, 298, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 360, 361, 0, 0, - 0, 118, 0, 0, 0, 0, 362, 0, 0, 0, - 0, 124, 0, 168, 108, 109, 110, 111, 112, 113, - 114, 115, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 116, 117, 0, 0, 0, 118, 119, 120, 0, - 0, 121, 0, 122, 0, 123, 124, 75, 305, 0, - 0, 0, 0, 79, 80, 81, 0, 0, 82, 83, - 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, - 94, 95, 96, 97, 98, 99, 100, 101, 102, 0, - 0, 0, 0, 0, 0, 0, 0, 306, 0, 0, - 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, - 294, 295, 296, 297, 0, 0, 0, 0, 298, 28, - 29, 30, 31, 32, 33, 1038, 0, 1039, 0, 307, - 75, 269, 0, 38, 39, 0, 79, 80, 81, 0, - 0, 82, 83, 84, 85, 86, 87, 88, 89, 90, + 95, 96, 97, 98, 99, 100, 101, 102, 103, 0, + 0, 0, 109, 110, 111, 112, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 117, + 118, 0, 0, 0, 119, 0, 0, 0, 0, 122, + 0, 1068, 672, 0, 125, 0, 673, 0, 0, 286, + 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, + 297, 298, 299, 0, 0, 0, 0, 300, 0, 0, + 0, 0, 286, 287, 288, 289, 290, 291, 292, 293, + 294, 295, 296, 297, 298, 299, 109, 110, 111, 112, + 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 360, 361, 0, 0, 0, 119, 0, + 0, 0, 0, 362, 0, 76, 77, 78, 125, 79, + 169, 80, 81, 82, 0, 0, 83, 84, 85, 86, + 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, + 97, 98, 99, 100, 101, 102, 103, 1082, 104, 105, + 106, 107, 0, 0, 108, 286, 287, 288, 289, 290, + 291, 292, 293, 294, 295, 296, 297, 298, 299, 0, + 0, 76, 307, 300, 0, 0, 0, 80, 81, 82, + 0, 0, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, - 101, 102, 0, 0, 0, 108, 109, 110, 111, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 116, 308, 0, 0, 0, 118, 75, 269, - 208, 0, 121, 0, 79, 80, 81, 124, 0, 82, - 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, - 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, - 0, 103, 104, 105, 106, 0, 0, 107, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 108, 109, - 110, 111, 0, 0, 5, 6, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 116, 117, 0, 0, 0, - 118, 0, 0, 0, 0, 121, 0, 0, 0, 0, - 124, 0, 0, 0, 0, 544, 11, 12, 545, 14, - 15, 546, 17, 547, 19, 0, 20, 0, 22, 23, - 0, 25, 26, 0, 0, 0, 108, 109, 110, 111, - 0, 0, 0, 0, 0, 0, 0, 0, 37, 0, - 5, 6, 0, 116, 117, 0, 0, 0, 118, 41, - 42, 43, 0, 121, 0, 0, 0, 0, 124, 0, - 0, 0, 0, 50, 51, 52, 0, 53, 0, 0, - 548, 544, 11, 12, 545, 14, 15, 546, 17, 547, - 19, 0, 20, 0, 22, 23, 0, 25, 26, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 37, 0, 5, 6, 554, 0, - 0, 0, 0, 0, 0, 41, 42, 43, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, - 51, 52, 0, 53, 0, 0, 548, 544, 11, 12, - 545, 14, 15, 546, 17, 547, 19, 0, 20, 0, - 22, 23, 0, 25, 26, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 37, 0, 5, 6, 559, 0, 0, 0, 0, 0, - 0, 41, 42, 43, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 50, 51, 52, 0, 53, - 0, 0, 548, 544, 11, 12, 545, 14, 15, 546, - 17, 547, 19, 0, 20, 0, 22, 23, 0, 25, - 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 37, 0, 5, 6, - 579, 0, 0, 0, 0, 0, 0, 41, 42, 43, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 50, 51, 52, 0, 53, 0, 0, 548, 544, - 11, 12, 545, 14, 15, 546, 17, 547, 19, 0, + 101, 102, 103, 0, 0, 0, 0, 0, 0, 0, + 0, 308, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 109, 110, 111, 112, 113, 114, + 115, 116, 0, 28, 29, 30, 31, 32, 33, 0, + 0, 117, 118, 37, 38, 0, 119, 120, 121, 0, + 0, 122, 0, 123, 0, 124, 125, 0, 1096, 0, + 0, 286, 287, 288, 289, 290, 291, 292, 293, 294, + 295, 296, 297, 298, 299, 0, 0, 1097, 0, 300, + 109, 110, 111, 112, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 117, 309, 0, + 0, 0, 119, 76, 271, 210, 0, 122, 0, 80, + 81, 82, 125, 0, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, + 99, 100, 101, 102, 103, 0, 104, 105, 106, 107, + 76, 271, 108, 0, 0, 0, 80, 81, 82, 0, + 0, 83, 84, 85, 86, 87, 88, 89, 90, 91, + 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, + 102, 103, 286, 287, 288, 289, 290, 291, 292, 293, + 294, 295, 296, 297, 298, 299, 0, 0, 0, 0, + 300, 286, 287, 288, 289, 290, 291, 292, 293, 294, + 295, 296, 297, 298, 299, 0, 0, 0, 0, 300, + 0, 0, 109, 110, 111, 112, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 117, + 118, 0, 0, 0, 119, 0, 0, 0, 0, 122, + 0, 0, 0, 0, 125, 0, 0, 0, 0, 109, + 110, 111, 112, 5, 6, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 117, 118, 0, 0, + 0, 119, 0, 0, 0, 0, 122, 5, 6, 0, + 0, 125, 0, 0, 543, 11, 12, 544, 14, 15, + 545, 17, 546, 19, 0, 20, 0, 22, 23, 0, + 25, 26, 0, 0, 0, 0, 0, 0, 543, 11, + 12, 544, 14, 15, 545, 17, 546, 19, 39, 20, + 0, 22, 23, 0, 25, 26, 0, 0, 0, 43, + 44, 45, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 39, 52, 53, 54, 0, 55, 0, 0, + 547, 0, 0, 43, 44, 45, 0, 0, 5, 6, + 0, 0, 0, 0, 0, 0, 0, 52, 53, 54, + 0, 55, 0, 0, 547, 0, 0, 0, 0, 0, + 0, 0, 5, 6, 0, 0, 0, 0, 579, 543, + 11, 12, 544, 14, 15, 545, 17, 546, 19, 0, 20, 0, 22, 23, 0, 25, 26, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 37, 0, 5, 6, 580, 0, 0, 0, - 0, 0, 0, 41, 42, 43, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 50, 51, 52, - 0, 53, 0, 0, 548, 544, 11, 12, 545, 14, - 15, 546, 17, 547, 19, 0, 20, 0, 22, 23, - 0, 25, 26, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 37, 0, - 5, 6, 732, 0, 806, 0, 0, 0, 0, 41, - 42, 43, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 50, 51, 52, 0, 53, 0, 0, - 548, 544, 11, 12, 545, 14, 15, 546, 17, 547, - 19, 0, 20, 0, 22, 23, 0, 25, 26, 0, - 1102, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 37, 0, 5, 6, 747, 0, - 1189, 0, 0, 0, 0, 41, 42, 43, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, - 51, 52, 1227, 53, 0, 0, 548, 544, 11, 12, - 545, 14, 15, 546, 17, 547, 19, 0, 20, 0, - 22, 23, 0, 25, 26, 284, 285, 286, 287, 288, - 289, 290, 291, 292, 293, 294, 295, 296, 297, 870, - 37, 0, 0, 298, 1186, 0, 0, 0, 0, 0, - 0, 41, 42, 43, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 50, 51, 52, 0, 53, - 0, 0, 548, 284, 285, 286, 287, 288, 289, 290, - 291, 292, 293, 294, 295, 296, 297, 0, 0, 0, - 0, 298, 0, 284, 285, 286, 287, 288, 289, 290, - 291, 292, 293, 294, 295, 296, 297, 0, 0, 0, - 1229, 298, 0, 0, 0, 284, 285, 286, 287, 288, - 289, 290, 291, 292, 293, 294, 295, 296, 297, 0, - -3, 1, 0, 298, -3, 0, 0, 0, 0, 0, - 0, 0, -3, -3, 0, 0, 0, 0, 0, 0, - 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, - 294, 295, 296, 297, 0, -3, 0, 0, 298, 0, - -3, -3, 0, -3, -3, -3, -3, -3, -3, -3, - -3, -3, -3, 0, -3, -3, -3, -3, -3, -3, - -3, 0, 0, 0, -3, -3, -3, -3, -3, -3, - -3, 0, -3, -3, -3, 0, -3, 0, 0, -3, - -3, 0, 4, 0, 0, 0, -3, -3, -3, -3, - 5, 6, -3, 0, -3, 0, -3, -3, -3, -3, - 0, -3, -3, -3, 0, -3, -3, -3, -3, -3, - -3, 0, 0, 7, 0, 0, 0, 0, 8, 9, - 0, 10, 11, 12, 13, 14, 15, 16, 17, 18, - 19, 0, 20, 21, 22, 23, 24, 25, 26, 0, - 0, 0, 27, 28, 29, 30, 31, 32, 33, 0, - 34, 35, 36, 0, 37, 0, 0, 38, 39, 5, - 6, 0, 0, 0, 40, 41, 42, 43, 0, 0, - 44, 0, 45, 0, 46, 47, 48, 49, 0, 50, - 51, 52, 0, 53, 54, 55, 56, 57, 58, 0, - 544, 11, 12, 545, 14, 15, 546, 17, 547, 19, - 0, 20, 0, 22, 23, 0, 25, 26, 284, 285, - 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, - 296, 297, 0, 37, 0, 0, 298, 0, 454, 0, - 0, 0, 0, 529, 41, 42, 43, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 50, 51, - 52, 0, 53, 0, 0, 548, 284, 285, 286, 287, - 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, - 0, 0, 0, 0, 298, 0, 0, 0, 0, 0, - 0, 1062, 0, 1063, 284, 285, 286, 287, 288, 289, - 290, 291, 292, 293, 294, 295, 296, 297, 0, 0, - 0, 0, 298, 0, 0, 0, 0, 0, 0, 1144, - 0, 1145, 284, 285, 286, 287, 288, 289, 290, 291, - 292, 293, 294, 295, 296, 297, 0, 0, 0, 0, - 298, 0, 0, 0, 0, 0, 0, 0, 0, 700, - 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, - 294, 295, 296, 297, 0, 0, 0, 0, 298, 0, - 0, 0, 0, 0, 0, 0, 0, 704, 284, 285, - 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, - 296, 297, 0, 0, 0, 0, 298, 0, 0, 0, - 0, 0, 0, 0, 0, 705, 284, 285, 286, 287, - 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, - 0, 0, 0, 0, 298, 0, 0, 0, 0, 0, - 0, 0, 0, 759, 284, 285, 286, 287, 288, 289, - 290, 291, 292, 293, 294, 295, 296, 297, 0, 0, - 0, 0, 298, 0, 0, 0, 0, 0, 0, 0, - 0, 804, 284, 285, 286, 287, 288, 289, 290, 291, - 292, 293, 294, 295, 296, 297, 0, 0, 0, 0, - 298, 0, 0, 0, 0, 0, 0, 0, 0, 841, - 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, - 294, 295, 296, 297, 0, 0, 0, 0, 298, 0, - 0, 0, 0, 0, 0, 0, 0, 1036, 284, 285, - 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, - 296, 297, 0, 0, 0, 0, 298, 0, 0, 0, - 0, 0, 0, 0, 0, 1058, 284, 285, 286, 287, - 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, - 0, 0, 0, 0, 298, 0, 0, 0, 0, 0, - 0, 0, 0, 1091, 284, 285, 286, 287, 288, 289, - 290, 291, 292, 293, 294, 295, 296, 297, 0, 0, - 0, 0, 298, 0, 0, 0, 0, 0, 0, 0, - 0, 1094, 284, 285, 286, 287, 288, 289, 290, 291, - 292, 293, 294, 295, 296, 297, 0, 0, 0, 0, - 298, 0, 0, 0, 0, 0, 0, 0, 0, 1095, - 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, - 294, 295, 296, 297, 0, 0, 0, 0, 298, 0, - 0, 0, 0, 0, 0, 0, 0, 1096, 284, 285, - 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, - 296, 297, 0, 0, 0, 0, 298, 0, 0, 0, - 0, 0, 0, 0, 0, 1160, 284, 285, 286, 287, - 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, - 0, 0, 0, 0, 298, 0, 0, 0, 0, 0, - 0, 0, 0, 1162, 284, 285, 286, 287, 288, 289, - 290, 291, 292, 293, 294, 295, 296, 297, 0, 0, - 0, 0, 298, 0, 0, 0, 0, 0, 0, 0, - 0, 1163, 284, 285, 286, 287, 288, 289, 290, 291, - 292, 293, 294, 295, 296, 297, 0, 0, 0, 0, - 298, 0, 0, 0, 0, 0, 0, 0, 0, 1170, - 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, - 294, 295, 296, 297, 0, 0, 0, 0, 298, 0, - 0, 0, 0, 0, 0, 0, 0, 1174, 284, 285, - 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, - 296, 297, 0, 0, 0, 0, 298, 0, 0, 0, - 0, 0, 0, 0, 0, 1177, 284, 285, 286, 287, - 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, - 0, 0, 0, 0, 298, 0, 0, 0, 0, 0, - 0, 0, 0, 1180, 284, 285, 286, 287, 288, 289, - 290, 291, 292, 293, 294, 295, 296, 297, 0, 0, - 0, 0, 298, 0, 0, 0, 0, 0, 0, 0, - 0, 1197, 284, 285, 286, 287, 288, 289, 290, 291, - 292, 293, 294, 295, 296, 297, 0, 0, 0, 0, - 298, 0, 0, 0, 0, 0, 0, 0, 0, 1221, - 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, - 294, 295, 296, 297, 0, 0, 0, 0, 298, 0, - 0, 0, 0, 0, 0, 0, 0, 1223, 284, 285, - 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, - 296, 297, 0, 0, 0, 0, 298, 0, 0, 0, - 0, 0, 0, 0, 0, 1225, 284, 285, 286, 287, - 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, - 0, 0, 0, 0, 298, 0, 0, 0, 0, 0, - 0, 0, 0, 1235, 284, 285, 286, 287, 288, 289, - 290, 291, 292, 293, 294, 295, 296, 297, 0, 0, - 0, 0, 298, 0, 0, 0, 0, 0, 0, 484, - 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, - 294, 295, 296, 297, 0, 0, 0, 0, 298, 0, - 0, 0, 0, 0, 0, 529, 284, 285, 286, 287, - 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, - 0, 0, 0, 0, 298, 0, 0, 0, 0, 0, - 0, 530, 284, 285, 286, 287, 288, 289, 290, 291, - 292, 293, 294, 295, 296, 297, 0, 0, 0, 0, - 298, 0, 0, 0, 0, 0, 0, 569, 284, 285, - 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, - 296, 297, 0, 0, 0, 0, 298, 0, 0, 0, - 0, 0, 0, 621, 284, 285, 286, 287, 288, 289, - 290, 291, 292, 293, 294, 295, 296, 297, 0, 0, - 0, 0, 298, 0, 0, 0, 0, 0, 0, 622, - 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, - 294, 295, 296, 297, 0, 0, 0, 0, 298, 0, - 0, 0, 0, 0, 0, 635, 284, 285, 286, 287, - 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, - 0, 0, 0, 0, 298, 0, 0, 0, 0, 0, - 0, 636, 284, 285, 286, 287, 288, 289, 290, 291, - 292, 293, 294, 295, 296, 297, 0, 0, 0, 0, - 298, 0, 0, 0, 0, 0, 0, 637, 284, 285, - 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, - 296, 297, 0, 0, 0, 0, 298, 0, 0, 0, - 0, 0, 0, 638, 284, 285, 286, 287, 288, 289, - 290, 291, 292, 293, 294, 295, 296, 297, 0, 0, - 0, 0, 298, 0, 0, 0, 0, 0, 0, 639, - 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, - 294, 295, 296, 297, 0, 0, 0, 0, 298, 0, - 0, 0, 0, 0, 0, 640, 284, 285, 286, 287, - 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, - 0, 0, 0, 0, 298, 0, 0, 0, 0, 0, - 0, 719, 284, 285, 286, 287, 288, 289, 290, 291, - 292, 293, 294, 295, 296, 297, 0, 0, 0, 0, - 298, 0, 0, 0, 0, 0, 0, 720, 284, 285, - 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, - 296, 297, 0, 0, 0, 0, 298, 0, 0, 0, - 0, 0, 0, 721, 284, 285, 286, 287, 288, 289, - 290, 291, 292, 293, 294, 295, 296, 297, 0, 0, - 0, 0, 298, 0, 0, 0, 0, 0, 0, 801, - 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, - 294, 295, 296, 297, 0, 0, 0, 0, 298, 0, - 0, 0, 0, 0, 0, 839, 284, 285, 286, 287, - 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, - 0, 0, 0, 0, 298, 0, 0, 0, 0, 0, - 0, 840, 284, 285, 286, 287, 288, 289, 290, 291, - 292, 293, 294, 295, 296, 297, 0, 0, 0, 0, - 298, 0, 0, 0, 0, 0, 0, 869, 284, 285, - 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, - 296, 297, 0, 0, 0, 0, 298, 0, 0, 0, - 0, 0, 0, 990, 284, 285, 286, 287, 288, 289, - 290, 291, 292, 293, 294, 295, 296, 297, 0, 0, - 0, 0, 298, 0, 0, 0, 0, 0, 0, 991, - 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, - 294, 295, 296, 297, 0, 0, 0, 0, 298, 0, - 0, 0, 0, 0, 0, 1008, 284, 285, 286, 287, - 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, - 0, 0, 0, 0, 298, 0, 0, 0, 0, 0, - 0, 1020, 284, 285, 286, 287, 288, 289, 290, 291, - 292, 293, 294, 295, 296, 297, 0, 0, 0, 0, - 298, 0, 0, 0, 0, 0, 0, 1126, 284, 285, - 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, - 296, 297, 0, 0, 0, 0, 298, 0, 0, 0, - 0, 0, 0, 1127, 284, 285, 286, 287, 288, 289, - 290, 291, 292, 293, 294, 295, 296, 297, 0, 0, - 0, 0, 298, 0, 0, 0, 0, 0, 0, 1135, - 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, - 294, 295, 296, 297, 0, 0, 0, 0, 298, 0, - 0, 0, 0, 0, 0, 1142, 284, 285, 286, 287, - 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, - 0, 0, 0, 0, 298, 0, 0, 0, 0, 0, - 0, 1192, 284, 285, 286, 287, 288, 289, 290, 291, - 292, 293, 294, 295, 296, 297, 0, 0, 0, 0, - 298, 0, 0, 0, 0, 0, 0, 1195, 284, 285, - 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, - 296, 297, 0, 0, 0, 0, 298, 0, 0, 0, - 458, 284, 285, 286, 287, 288, 289, 290, 291, 292, - 293, 294, 295, 296, 297, 0, 0, 0, 0, 298, - 0, 0, 0, 582, 284, 285, 286, 287, 288, 289, - 290, 291, 292, 293, 294, 295, 296, 297, 0, 0, - 0, 0, 298, 0, 0, 0, 600, 284, 285, 286, + 0, 0, 580, 543, 11, 12, 544, 14, 15, 545, + 17, 546, 19, 39, 20, 0, 22, 23, 0, 25, + 26, 0, 0, 0, 43, 44, 45, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 39, 52, 53, + 54, 0, 55, 0, 0, 547, 0, 0, 43, 44, + 45, 0, 0, 5, 6, 0, 0, 0, 0, 0, + 0, 0, 52, 53, 54, 0, 55, 0, 0, 547, + 0, 0, 0, 0, 0, 1099, 0, 5, 6, 0, + 0, 0, 0, 731, 543, 11, 12, 544, 14, 15, + 545, 17, 546, 19, 0, 20, 0, 22, 23, 1185, + 25, 26, 0, 0, 0, 0, 0, 746, 543, 11, + 12, 544, 14, 15, 545, 17, 546, 19, 39, 20, + 1223, 22, 23, 0, 25, 26, 0, 0, 0, 43, + 44, 45, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 665, 39, 52, 53, 54, 0, 55, 0, 0, + 547, 0, 0, 43, 44, 45, 0, 0, 0, 0, + 804, 0, 0, 0, 0, 0, 0, 52, 53, 54, + 0, 55, 0, 0, 547, 0, 0, 0, 0, 868, + 0, 0, 0, 0, 0, 0, 0, 0, 1182, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, - 297, 0, 0, 0, 0, 298, 0, 0, 0, 602, - 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, - 294, 295, 296, 297, 0, 0, 0, 0, 298, 0, - 0, 0, 604, 284, 285, 286, 287, 288, 289, 290, - 291, 292, 293, 294, 295, 296, 297, 0, 0, 0, - 0, 298, 0, 0, 0, 606, 284, 285, 286, 287, - 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, - 0, 0, 0, 0, 298, 0, 0, 0, 608, 284, - 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 296, 297, 0, 0, 0, 0, 298, 0, 0, - 0, 610, 284, 285, 286, 287, 288, 289, 290, 291, - 292, 293, 294, 295, 296, 297, 0, 0, 0, 0, - 298, 0, 0, 0, 612, 284, 285, 286, 287, 288, - 289, 290, 291, 292, 293, 294, 295, 296, 297, 0, - 0, 0, 0, 298, 0, 0, 0, 614, 284, 285, + 297, 298, 299, 0, 0, 0, 0, 300, 0, 0, + 0, 0, 1225, 286, 287, 288, 289, 290, 291, 292, + 293, 294, 295, 296, 297, 298, 299, 0, 0, 0, + 0, 300, 0, 0, 286, 287, 288, 289, 290, 291, + 292, 293, 294, 295, 296, 297, 298, 299, 0, 0, + 0, 0, 300, 286, 287, 288, 289, 290, 291, 292, + 293, 294, 295, 296, 297, 298, 299, 0, 0, 0, + 0, 300, 286, 287, 288, 289, 290, 291, 292, 293, + 294, 295, 296, 297, 298, 299, 0, 0, 0, 0, + 300, 286, 287, 288, 289, 290, 291, 292, 293, 294, + 295, 296, 297, 298, 299, 0, -3, 1, 0, 300, + -3, 0, 0, 0, 0, 0, 0, 0, -3, -3, + 0, 286, 287, 288, 289, 290, 291, 292, 293, 294, + 295, 296, 297, 298, 299, 0, 0, 0, 0, 300, + 0, -3, 0, 0, 0, 0, -3, -3, 699, -3, + -3, -3, -3, -3, -3, -3, -3, -3, -3, 0, + -3, -3, -3, -3, -3, -3, -3, 0, 0, 0, + -3, -3, -3, -3, -3, -3, -3, 0, -3, -3, + -3, -3, -3, -3, 0, 0, -3, -3, 0, 4, + 0, 0, 0, -3, -3, -3, -3, 5, 6, -3, + 0, -3, 0, -3, -3, -3, -3, 0, -3, -3, + -3, 0, -3, -3, -3, -3, -3, -3, 0, 0, + 7, 0, 0, 0, 0, 8, 9, 0, 10, 11, + 12, 13, 14, 15, 16, 17, 18, 19, 0, 20, + 21, 22, 23, 24, 25, 26, 0, 0, 0, 27, + 28, 29, 30, 31, 32, 33, 0, 34, 35, 36, + 37, 38, 39, 0, 0, 40, 41, 5, 6, 0, + 0, 0, 42, 43, 44, 45, 0, 0, 46, 0, + 47, 0, 48, 49, 50, 51, 0, 52, 53, 54, + 0, 55, 56, 57, 58, 59, 60, 0, 543, 11, + 12, 544, 14, 15, 545, 17, 546, 19, 0, 20, + 0, 22, 23, 0, 25, 26, 286, 287, 288, 289, + 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, + 0, 0, 39, 0, 300, 0, 457, 0, 0, 0, + 0, 531, 0, 43, 44, 45, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 52, 53, 54, + 0, 55, 0, 0, 547, 286, 287, 288, 289, 290, + 291, 292, 293, 294, 295, 296, 297, 298, 299, 0, + 0, 0, 0, 300, 0, 0, 0, 0, 0, 0, + 1035, 0, 1036, 286, 287, 288, 289, 290, 291, 292, + 293, 294, 295, 296, 297, 298, 299, 0, 0, 0, + 0, 300, 0, 0, 0, 0, 0, 0, 1060, 0, + 1061, 286, 287, 288, 289, 290, 291, 292, 293, 294, + 295, 296, 297, 298, 299, 0, 0, 0, 0, 300, + 0, 0, 0, 0, 0, 0, 1141, 0, 1142, 286, + 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, + 297, 298, 299, 0, 0, 0, 0, 300, 0, 0, + 0, 0, 0, 0, 0, 0, 703, 286, 287, 288, + 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, + 299, 0, 0, 0, 0, 300, 0, 0, 0, 0, + 0, 0, 0, 0, 704, 286, 287, 288, 289, 290, + 291, 292, 293, 294, 295, 296, 297, 298, 299, 0, + 0, 0, 0, 300, 0, 0, 0, 0, 0, 0, + 0, 0, 758, 286, 287, 288, 289, 290, 291, 292, + 293, 294, 295, 296, 297, 298, 299, 0, 0, 0, + 0, 300, 0, 0, 0, 0, 0, 0, 0, 0, + 803, 286, 287, 288, 289, 290, 291, 292, 293, 294, + 295, 296, 297, 298, 299, 0, 0, 0, 0, 300, + 0, 0, 0, 0, 0, 0, 0, 0, 839, 286, + 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, + 297, 298, 299, 0, 0, 0, 0, 300, 0, 0, + 0, 0, 0, 0, 0, 0, 1033, 286, 287, 288, + 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, + 299, 0, 0, 0, 0, 300, 0, 0, 0, 0, + 0, 0, 0, 0, 1055, 286, 287, 288, 289, 290, + 291, 292, 293, 294, 295, 296, 297, 298, 299, 0, + 0, 0, 0, 300, 0, 0, 0, 0, 0, 0, + 0, 0, 1088, 286, 287, 288, 289, 290, 291, 292, + 293, 294, 295, 296, 297, 298, 299, 0, 0, 0, + 0, 300, 0, 0, 0, 0, 0, 0, 0, 0, + 1091, 286, 287, 288, 289, 290, 291, 292, 293, 294, + 295, 296, 297, 298, 299, 0, 0, 0, 0, 300, + 0, 0, 0, 0, 0, 0, 0, 0, 1092, 286, + 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, + 297, 298, 299, 0, 0, 0, 0, 300, 0, 0, + 0, 0, 0, 0, 0, 0, 1093, 286, 287, 288, + 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, + 299, 0, 0, 0, 0, 300, 0, 0, 0, 0, + 0, 0, 0, 0, 1116, 286, 287, 288, 289, 290, + 291, 292, 293, 294, 295, 296, 297, 298, 299, 0, + 0, 0, 0, 300, 0, 0, 0, 0, 0, 0, + 0, 0, 1157, 286, 287, 288, 289, 290, 291, 292, + 293, 294, 295, 296, 297, 298, 299, 0, 0, 0, + 0, 300, 0, 0, 0, 0, 0, 0, 0, 0, + 1159, 286, 287, 288, 289, 290, 291, 292, 293, 294, + 295, 296, 297, 298, 299, 0, 0, 0, 0, 300, + 0, 0, 0, 0, 0, 0, 0, 0, 1160, 286, + 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, + 297, 298, 299, 0, 0, 0, 0, 300, 0, 0, + 0, 0, 0, 0, 0, 0, 1170, 286, 287, 288, + 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, + 299, 0, 0, 0, 0, 300, 0, 0, 0, 0, + 0, 0, 0, 0, 1173, 286, 287, 288, 289, 290, + 291, 292, 293, 294, 295, 296, 297, 298, 299, 0, + 0, 0, 0, 300, 0, 0, 0, 0, 0, 0, + 0, 0, 1176, 286, 287, 288, 289, 290, 291, 292, + 293, 294, 295, 296, 297, 298, 299, 0, 0, 0, + 0, 300, 0, 0, 0, 0, 0, 0, 0, 0, + 1193, 286, 287, 288, 289, 290, 291, 292, 293, 294, + 295, 296, 297, 298, 299, 0, 0, 0, 0, 300, + 0, 0, 0, 0, 0, 0, 0, 0, 1217, 286, + 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, + 297, 298, 299, 0, 0, 0, 0, 300, 0, 0, + 0, 0, 0, 0, 0, 0, 1219, 286, 287, 288, + 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, + 299, 0, 0, 0, 0, 300, 0, 0, 0, 0, + 0, 0, 0, 0, 1221, 286, 287, 288, 289, 290, + 291, 292, 293, 294, 295, 296, 297, 298, 299, 0, + 0, 0, 0, 300, 0, 0, 0, 0, 0, 0, + 0, 0, 1231, 286, 287, 288, 289, 290, 291, 292, + 293, 294, 295, 296, 297, 298, 299, 0, 0, 0, + 0, 300, 0, 0, 0, 0, 0, 0, 487, 286, + 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, + 297, 298, 299, 0, 0, 0, 0, 300, 0, 0, + 0, 0, 0, 0, 531, 286, 287, 288, 289, 290, + 291, 292, 293, 294, 295, 296, 297, 298, 299, 0, + 0, 0, 0, 300, 0, 0, 0, 0, 0, 0, + 532, 286, 287, 288, 289, 290, 291, 292, 293, 294, + 295, 296, 297, 298, 299, 0, 0, 0, 0, 300, + 0, 0, 0, 0, 0, 0, 569, 286, 287, 288, + 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, + 299, 0, 0, 0, 0, 300, 0, 0, 0, 0, + 0, 0, 621, 286, 287, 288, 289, 290, 291, 292, + 293, 294, 295, 296, 297, 298, 299, 0, 0, 0, + 0, 300, 0, 0, 0, 0, 0, 0, 622, 286, + 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, + 297, 298, 299, 0, 0, 0, 0, 300, 0, 0, + 0, 0, 0, 0, 635, 286, 287, 288, 289, 290, + 291, 292, 293, 294, 295, 296, 297, 298, 299, 0, + 0, 0, 0, 300, 0, 0, 0, 0, 0, 0, + 636, 286, 287, 288, 289, 290, 291, 292, 293, 294, + 295, 296, 297, 298, 299, 0, 0, 0, 0, 300, + 0, 0, 0, 0, 0, 0, 637, 286, 287, 288, + 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, + 299, 0, 0, 0, 0, 300, 0, 0, 0, 0, + 0, 0, 638, 286, 287, 288, 289, 290, 291, 292, + 293, 294, 295, 296, 297, 298, 299, 0, 0, 0, + 0, 300, 0, 0, 0, 0, 0, 0, 639, 286, + 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, + 297, 298, 299, 0, 0, 0, 0, 300, 0, 0, + 0, 0, 0, 0, 640, 286, 287, 288, 289, 290, + 291, 292, 293, 294, 295, 296, 297, 298, 299, 0, + 0, 0, 0, 300, 0, 0, 0, 0, 0, 0, + 718, 286, 287, 288, 289, 290, 291, 292, 293, 294, + 295, 296, 297, 298, 299, 0, 0, 0, 0, 300, + 0, 0, 0, 0, 0, 0, 719, 286, 287, 288, + 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, + 299, 0, 0, 0, 0, 300, 0, 0, 0, 0, + 0, 0, 720, 286, 287, 288, 289, 290, 291, 292, + 293, 294, 295, 296, 297, 298, 299, 0, 0, 0, + 0, 300, 0, 0, 0, 0, 0, 0, 800, 286, + 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, + 297, 298, 299, 0, 0, 0, 0, 300, 0, 0, + 0, 0, 0, 0, 837, 286, 287, 288, 289, 290, + 291, 292, 293, 294, 295, 296, 297, 298, 299, 0, + 0, 0, 0, 300, 0, 0, 0, 0, 0, 0, + 838, 286, 287, 288, 289, 290, 291, 292, 293, 294, + 295, 296, 297, 298, 299, 0, 0, 0, 0, 300, + 0, 0, 0, 0, 0, 0, 867, 286, 287, 288, + 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, + 299, 0, 0, 0, 0, 300, 0, 0, 0, 0, + 0, 0, 988, 286, 287, 288, 289, 290, 291, 292, + 293, 294, 295, 296, 297, 298, 299, 0, 0, 0, + 0, 300, 0, 0, 0, 0, 0, 0, 989, 286, + 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, + 297, 298, 299, 0, 0, 0, 0, 300, 0, 0, + 0, 0, 0, 0, 1006, 286, 287, 288, 289, 290, + 291, 292, 293, 294, 295, 296, 297, 298, 299, 0, + 0, 0, 0, 300, 0, 0, 0, 0, 0, 0, + 1017, 286, 287, 288, 289, 290, 291, 292, 293, 294, + 295, 296, 297, 298, 299, 0, 0, 0, 0, 300, + 0, 0, 0, 0, 0, 0, 1124, 286, 287, 288, + 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, + 299, 0, 0, 0, 0, 300, 0, 0, 0, 0, + 0, 0, 1125, 286, 287, 288, 289, 290, 291, 292, + 293, 294, 295, 296, 297, 298, 299, 0, 0, 0, + 0, 300, 0, 0, 0, 0, 0, 0, 1133, 286, + 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, + 297, 298, 299, 0, 0, 0, 0, 300, 0, 0, + 0, 0, 0, 0, 1139, 286, 287, 288, 289, 290, + 291, 292, 293, 294, 295, 296, 297, 298, 299, 0, + 0, 0, 0, 300, 0, 0, 0, 0, 0, 0, + 1188, 286, 287, 288, 289, 290, 291, 292, 293, 294, + 295, 296, 297, 298, 299, 0, 0, 0, 0, 300, + 0, 0, 0, 0, 0, 0, 1191, 286, 287, 288, + 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, + 299, 0, 0, 0, 0, 300, 0, 0, 0, 461, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, - 296, 297, 0, 0, 0, 0, 298, 0, 0, 0, - 616, 284, 285, 286, 287, 288, 289, 290, 291, 292, - 293, 294, 295, 296, 297, 0, 0, 0, 0, 298, - 0, 0, 0, 618, 284, 285, 286, 287, 288, 289, - 290, 291, 292, 293, 294, 295, 296, 297, 0, 0, - 0, 0, 298, 0, 0, 0, 620, 284, 285, 286, + 296, 297, 298, 299, 0, 0, 0, 0, 300, 0, + 0, 0, 582, 286, 287, 288, 289, 290, 291, 292, + 293, 294, 295, 296, 297, 298, 299, 0, 0, 0, + 0, 300, 0, 0, 0, 600, 286, 287, 288, 289, + 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, + 0, 0, 0, 0, 300, 0, 0, 0, 602, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, - 297, 0, 0, 0, 0, 298, 0, 0, 0, 624, - 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, - 294, 295, 296, 297, 0, 0, 0, 0, 298, 0, - 0, 0, 626, 284, 285, 286, 287, 288, 289, 290, - 291, 292, 293, 294, 295, 296, 297, 0, 0, 0, - 0, 298, 0, 0, 0, 628, 284, 285, 286, 287, + 297, 298, 299, 0, 0, 0, 0, 300, 0, 0, + 0, 604, 286, 287, 288, 289, 290, 291, 292, 293, + 294, 295, 296, 297, 298, 299, 0, 0, 0, 0, + 300, 0, 0, 0, 606, 286, 287, 288, 289, 290, + 291, 292, 293, 294, 295, 296, 297, 298, 299, 0, + 0, 0, 0, 300, 0, 0, 0, 608, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, - 0, 0, 0, 0, 298, 0, 0, 0, 630, 284, - 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 296, 297, 0, 0, 0, 0, 298, 0, 0, - 0, 632, 284, 285, 286, 287, 288, 289, 290, 291, - 292, 293, 294, 295, 296, 297, 0, 0, 0, 0, - 298, 0, 0, 0, 634, 284, 285, 286, 287, 288, - 289, 290, 291, 292, 293, 294, 295, 296, 297, 0, - 0, 0, 0, 298, 0, 0, 0, 718, 284, 285, + 298, 299, 0, 0, 0, 0, 300, 0, 0, 0, + 610, 286, 287, 288, 289, 290, 291, 292, 293, 294, + 295, 296, 297, 298, 299, 0, 0, 0, 0, 300, + 0, 0, 0, 612, 286, 287, 288, 289, 290, 291, + 292, 293, 294, 295, 296, 297, 298, 299, 0, 0, + 0, 0, 300, 0, 0, 0, 614, 286, 287, 288, + 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, + 299, 0, 0, 0, 0, 300, 0, 0, 0, 616, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, - 296, 297, 0, 0, 0, 0, 298, 0, 0, 0, - 734, 284, 285, 286, 287, 288, 289, 290, 291, 292, - 293, 294, 295, 296, 297, 0, 0, 0, 0, 298, - 0, 0, 0, 736, 284, 285, 286, 287, 288, 289, - 290, 291, 292, 293, 294, 295, 296, 297, 0, 0, - 0, 0, 298, 0, 0, 0, 740, 284, 285, 286, + 296, 297, 298, 299, 0, 0, 0, 0, 300, 0, + 0, 0, 618, 286, 287, 288, 289, 290, 291, 292, + 293, 294, 295, 296, 297, 298, 299, 0, 0, 0, + 0, 300, 0, 0, 0, 620, 286, 287, 288, 289, + 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, + 0, 0, 0, 0, 300, 0, 0, 0, 624, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, - 297, 0, 0, 0, 0, 298, 0, 0, 0, 741, - 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, - 294, 295, 296, 297, 0, 0, 0, 0, 298, 0, - 0, 0, 755, 284, 285, 286, 287, 288, 289, 290, - 291, 292, 293, 294, 295, 296, 297, 0, 0, 0, - 0, 298, 0, 0, 0, 781, 284, 285, 286, 287, + 297, 298, 299, 0, 0, 0, 0, 300, 0, 0, + 0, 626, 286, 287, 288, 289, 290, 291, 292, 293, + 294, 295, 296, 297, 298, 299, 0, 0, 0, 0, + 300, 0, 0, 0, 628, 286, 287, 288, 289, 290, + 291, 292, 293, 294, 295, 296, 297, 298, 299, 0, + 0, 0, 0, 300, 0, 0, 0, 630, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, - 0, 0, 0, 0, 298, 0, 0, 0, 890, 284, - 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 296, 297, 0, 0, 0, 0, 298, 0, 0, - 0, 892, 284, 285, 286, 287, 288, 289, 290, 291, - 292, 293, 294, 295, 296, 297, 0, 0, 0, 0, - 298, 0, 0, 0, 894, 284, 285, 286, 287, 288, - 289, 290, 291, 292, 293, 294, 295, 296, 297, 0, - 0, 0, 0, 298, 0, 0, 0, 896, 284, 285, + 298, 299, 0, 0, 0, 0, 300, 0, 0, 0, + 632, 286, 287, 288, 289, 290, 291, 292, 293, 294, + 295, 296, 297, 298, 299, 0, 0, 0, 0, 300, + 0, 0, 0, 634, 286, 287, 288, 289, 290, 291, + 292, 293, 294, 295, 296, 297, 298, 299, 0, 0, + 0, 0, 300, 0, 0, 0, 717, 286, 287, 288, + 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, + 299, 0, 0, 0, 0, 300, 0, 0, 0, 734, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, - 296, 297, 0, 0, 0, 0, 298, 0, 0, 0, - 897, 284, 285, 286, 287, 288, 289, 290, 291, 292, - 293, 294, 295, 296, 297, 0, 0, 0, 0, 298, - 0, 0, 0, 1005, 284, 285, 286, 287, 288, 289, - 290, 291, 292, 293, 294, 295, 296, 297, 0, 0, - 0, 0, 298, 0, 454, 284, 285, 286, 287, 288, - 289, 290, 291, 292, 293, 294, 295, 296, 297, 0, - 0, 0, 0, 298, 0, 485, 284, 285, 286, 287, - 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, - 0, 0, 0, 0, 298, 0, 495, 284, 285, 286, + 296, 297, 298, 299, 0, 0, 0, 0, 300, 0, + 0, 0, 739, 286, 287, 288, 289, 290, 291, 292, + 293, 294, 295, 296, 297, 298, 299, 0, 0, 0, + 0, 300, 0, 0, 0, 740, 286, 287, 288, 289, + 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, + 0, 0, 0, 0, 300, 0, 0, 0, 754, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, - 297, 0, 0, 0, 0, 298, 0, 496, 284, 285, + 297, 298, 299, 0, 0, 0, 0, 300, 0, 0, + 0, 780, 286, 287, 288, 289, 290, 291, 292, 293, + 294, 295, 296, 297, 298, 299, 0, 0, 0, 0, + 300, 0, 0, 0, 888, 286, 287, 288, 289, 290, + 291, 292, 293, 294, 295, 296, 297, 298, 299, 0, + 0, 0, 0, 300, 0, 0, 0, 890, 286, 287, + 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, + 298, 299, 0, 0, 0, 0, 300, 0, 0, 0, + 892, 286, 287, 288, 289, 290, 291, 292, 293, 294, + 295, 296, 297, 298, 299, 0, 0, 0, 0, 300, + 0, 0, 0, 894, 286, 287, 288, 289, 290, 291, + 292, 293, 294, 295, 296, 297, 298, 299, 0, 0, + 0, 0, 300, 0, 0, 0, 895, 286, 287, 288, + 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, + 299, 0, 0, 0, 0, 300, 0, 0, 0, 1003, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, - 296, 297, 0, 0, 0, 0, 298, 0, 498, 284, - 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 296, 297, 0, 0, 0, 0, 298, 0, 500, - 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, - 294, 295, 296, 297, 0, 0, 0, 0, 298, 0, - 501, 284, 285, 286, 287, 288, 289, 290, 291, 292, - 293, 294, 295, 296, 297, 0, 0, 0, 0, 298, - 0, 504, 284, 285, 286, 287, 288, 289, 290, 291, - 292, 293, 294, 295, 296, 297, 0, 0, 0, 0, - 298, 0, 505, 284, 285, 286, 287, 288, 289, 290, - 291, 292, 293, 294, 295, 296, 297, 0, 0, 0, - 0, 298, 0, 513, 284, 285, 286, 287, 288, 289, - 290, 291, 292, 293, 294, 295, 296, 297, 0, 0, - 0, 0, 298, 0, 565, 284, 285, 286, 287, 288, - 289, 290, 291, 292, 293, 294, 295, 296, 297, 0, - 0, 0, 0, 298, 0, 566, 284, 285, 286, 287, + 296, 297, 298, 299, 0, 0, 0, 0, 300, 0, + 457, 286, 287, 288, 289, 290, 291, 292, 293, 294, + 295, 296, 297, 298, 299, 0, 0, 0, 0, 300, + 0, 488, 286, 287, 288, 289, 290, 291, 292, 293, + 294, 295, 296, 297, 298, 299, 0, 0, 0, 0, + 300, 0, 497, 286, 287, 288, 289, 290, 291, 292, + 293, 294, 295, 296, 297, 298, 299, 0, 0, 0, + 0, 300, 0, 498, 286, 287, 288, 289, 290, 291, + 292, 293, 294, 295, 296, 297, 298, 299, 0, 0, + 0, 0, 300, 0, 500, 286, 287, 288, 289, 290, + 291, 292, 293, 294, 295, 296, 297, 298, 299, 0, + 0, 0, 0, 300, 0, 502, 286, 287, 288, 289, + 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, + 0, 0, 0, 0, 300, 0, 503, 286, 287, 288, + 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, + 299, 0, 0, 0, 0, 300, 0, 506, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, - 0, 0, 0, 0, 298, 0, 567, 284, 285, 286, + 298, 299, 0, 0, 0, 0, 300, 0, 507, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, - 297, 0, 0, 0, 0, 298, 0, 573, 284, 285, + 297, 298, 299, 0, 0, 0, 0, 300, 0, 515, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, - 296, 297, 0, 0, 0, 0, 298, 0, 599, 284, - 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 296, 297, 0, 0, 0, 0, 298, 0, 601, - 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, - 294, 295, 296, 297, 0, 0, 0, 0, 298, 0, - 603, 284, 285, 286, 287, 288, 289, 290, 291, 292, - 293, 294, 295, 296, 297, 0, 0, 0, 0, 298, - 0, 605, 284, 285, 286, 287, 288, 289, 290, 291, - 292, 293, 294, 295, 296, 297, 0, 0, 0, 0, - 298, 0, 607, 284, 285, 286, 287, 288, 289, 290, - 291, 292, 293, 294, 295, 296, 297, 0, 0, 0, - 0, 298, 0, 609, 284, 285, 286, 287, 288, 289, - 290, 291, 292, 293, 294, 295, 296, 297, 0, 0, - 0, 0, 298, 0, 611, 284, 285, 286, 287, 288, - 289, 290, 291, 292, 293, 294, 295, 296, 297, 0, - 0, 0, 0, 298, 0, 613, 284, 285, 286, 287, + 296, 297, 298, 299, 0, 0, 0, 0, 300, 0, + 565, 286, 287, 288, 289, 290, 291, 292, 293, 294, + 295, 296, 297, 298, 299, 0, 0, 0, 0, 300, + 0, 566, 286, 287, 288, 289, 290, 291, 292, 293, + 294, 295, 296, 297, 298, 299, 0, 0, 0, 0, + 300, 0, 567, 286, 287, 288, 289, 290, 291, 292, + 293, 294, 295, 296, 297, 298, 299, 0, 0, 0, + 0, 300, 0, 573, 286, 287, 288, 289, 290, 291, + 292, 293, 294, 295, 296, 297, 298, 299, 0, 0, + 0, 0, 300, 0, 599, 286, 287, 288, 289, 290, + 291, 292, 293, 294, 295, 296, 297, 298, 299, 0, + 0, 0, 0, 300, 0, 601, 286, 287, 288, 289, + 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, + 0, 0, 0, 0, 300, 0, 603, 286, 287, 288, + 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, + 299, 0, 0, 0, 0, 300, 0, 605, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, - 0, 0, 0, 0, 298, 0, 615, 284, 285, 286, + 298, 299, 0, 0, 0, 0, 300, 0, 607, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, - 297, 0, 0, 0, 0, 298, 0, 617, 284, 285, + 297, 298, 299, 0, 0, 0, 0, 300, 0, 609, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, - 296, 297, 0, 0, 0, 0, 298, 0, 619, 284, - 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 296, 297, 0, 0, 0, 0, 298, 0, 623, - 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, - 294, 295, 296, 297, 0, 0, 0, 0, 298, 0, - 625, 284, 285, 286, 287, 288, 289, 290, 291, 292, - 293, 294, 295, 296, 297, 0, 0, 0, 0, 298, - 0, 627, 284, 285, 286, 287, 288, 289, 290, 291, - 292, 293, 294, 295, 296, 297, 0, 0, 0, 0, - 298, 0, 629, 284, 285, 286, 287, 288, 289, 290, - 291, 292, 293, 294, 295, 296, 297, 0, 0, 0, - 0, 298, 0, 631, 284, 285, 286, 287, 288, 289, - 290, 291, 292, 293, 294, 295, 296, 297, 0, 0, - 0, 0, 298, 0, 633, 284, 285, 286, 287, 288, - 289, 290, 291, 292, 293, 294, 295, 296, 297, 0, - 0, 0, 0, 298, 0, 684, 284, 285, 286, 287, + 296, 297, 298, 299, 0, 0, 0, 0, 300, 0, + 611, 286, 287, 288, 289, 290, 291, 292, 293, 294, + 295, 296, 297, 298, 299, 0, 0, 0, 0, 300, + 0, 613, 286, 287, 288, 289, 290, 291, 292, 293, + 294, 295, 296, 297, 298, 299, 0, 0, 0, 0, + 300, 0, 615, 286, 287, 288, 289, 290, 291, 292, + 293, 294, 295, 296, 297, 298, 299, 0, 0, 0, + 0, 300, 0, 617, 286, 287, 288, 289, 290, 291, + 292, 293, 294, 295, 296, 297, 298, 299, 0, 0, + 0, 0, 300, 0, 619, 286, 287, 288, 289, 290, + 291, 292, 293, 294, 295, 296, 297, 298, 299, 0, + 0, 0, 0, 300, 0, 623, 286, 287, 288, 289, + 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, + 0, 0, 0, 0, 300, 0, 625, 286, 287, 288, + 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, + 299, 0, 0, 0, 0, 300, 0, 627, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, - 0, 0, 0, 0, 298, 0, 689, 284, 285, 286, + 298, 299, 0, 0, 0, 0, 300, 0, 629, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, - 297, 0, 0, 0, 0, 298, 0, 698, 284, 285, + 297, 298, 299, 0, 0, 0, 0, 300, 0, 631, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, - 296, 297, 0, 0, 0, 0, 298, 0, 701, 284, - 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 296, 297, 0, 0, 0, 0, 298, 0, 702, - 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, - 294, 295, 296, 297, 0, 0, 0, 0, 298, 0, - 706, 284, 285, 286, 287, 288, 289, 290, 291, 292, - 293, 294, 295, 296, 297, 0, 0, 0, 0, 298, - 0, 750, 284, 285, 286, 287, 288, 289, 290, 291, - 292, 293, 294, 295, 296, 297, 0, 0, 0, 0, - 298, 0, 751, 284, 285, 286, 287, 288, 289, 290, - 291, 292, 293, 294, 295, 296, 297, 0, 0, 0, - 0, 298, 0, 752, 284, 285, 286, 287, 288, 289, - 290, 291, 292, 293, 294, 295, 296, 297, 0, 0, - 0, 0, 298, 0, 753, 284, 285, 286, 287, 288, - 289, 290, 291, 292, 293, 294, 295, 296, 297, 0, - 0, 0, 0, 298, 0, 754, 284, 285, 286, 287, + 296, 297, 298, 299, 0, 0, 0, 0, 300, 0, + 633, 286, 287, 288, 289, 290, 291, 292, 293, 294, + 295, 296, 297, 298, 299, 0, 0, 0, 0, 300, + 0, 683, 286, 287, 288, 289, 290, 291, 292, 293, + 294, 295, 296, 297, 298, 299, 0, 0, 0, 0, + 300, 0, 688, 286, 287, 288, 289, 290, 291, 292, + 293, 294, 295, 296, 297, 298, 299, 0, 0, 0, + 0, 300, 0, 697, 286, 287, 288, 289, 290, 291, + 292, 293, 294, 295, 296, 297, 298, 299, 0, 0, + 0, 0, 300, 0, 700, 286, 287, 288, 289, 290, + 291, 292, 293, 294, 295, 296, 297, 298, 299, 0, + 0, 0, 0, 300, 0, 701, 286, 287, 288, 289, + 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, + 0, 0, 0, 0, 300, 0, 705, 286, 287, 288, + 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, + 299, 0, 0, 0, 0, 300, 0, 749, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, - 0, 0, 0, 0, 298, 0, 860, 284, 285, 286, + 298, 299, 0, 0, 0, 0, 300, 0, 750, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, - 297, 0, 0, 0, 0, 298, 0, 889, 284, 285, + 297, 298, 299, 0, 0, 0, 0, 300, 0, 751, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, - 296, 297, 0, 0, 0, 0, 298, 0, 891, 284, - 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 296, 297, 0, 0, 0, 0, 298, 0, 893, - 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, - 294, 295, 296, 297, 0, 0, 0, 0, 298, 0, - 895, 284, 285, 286, 287, 288, 289, 290, 291, 292, - 293, 294, 295, 296, 297, 0, 0, 0, 0, 298, - 0, 901, 284, 285, 286, 287, 288, 289, 290, 291, - 292, 293, 294, 295, 296, 297, 0, 0, 0, 0, - 298, 0, 996, 284, 285, 286, 287, 288, 289, 290, - 291, 292, 293, 294, 295, 296, 297, 0, 0, 0, - 0, 298, 0, 1037, 284, 285, 286, 287, 288, 289, - 290, 291, 292, 293, 294, 295, 296, 297, 0, 0, - 0, 0, 298, 0, 1057, 284, 285, 286, 287, 288, - 289, 290, 291, 292, 293, 294, 295, 296, 297, 0, - 0, 0, 0, 298, 0, 1066, 284, 285, 286, 287, + 296, 297, 298, 299, 0, 0, 0, 0, 300, 0, + 752, 286, 287, 288, 289, 290, 291, 292, 293, 294, + 295, 296, 297, 298, 299, 0, 0, 0, 0, 300, + 0, 753, 286, 287, 288, 289, 290, 291, 292, 293, + 294, 295, 296, 297, 298, 299, 0, 0, 0, 0, + 300, 0, 858, 286, 287, 288, 289, 290, 291, 292, + 293, 294, 295, 296, 297, 298, 299, 0, 0, 0, + 0, 300, 0, 887, 286, 287, 288, 289, 290, 291, + 292, 293, 294, 295, 296, 297, 298, 299, 0, 0, + 0, 0, 300, 0, 889, 286, 287, 288, 289, 290, + 291, 292, 293, 294, 295, 296, 297, 298, 299, 0, + 0, 0, 0, 300, 0, 891, 286, 287, 288, 289, + 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, + 0, 0, 0, 0, 300, 0, 893, 286, 287, 288, + 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, + 299, 0, 0, 0, 0, 300, 0, 899, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, - 0, 0, 0, 0, 298, 0, 1191, 284, 285, 286, + 298, 299, 0, 0, 0, 0, 300, 0, 994, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, - 297, 0, 0, 0, 0, 298, 0, 1233, 284, 285, + 297, 298, 299, 0, 0, 0, 0, 300, 0, 1034, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, - 296, 297, 0, 0, 0, 0, 298 + 296, 297, 298, 299, 0, 0, 0, 0, 300, 0, + 1054, 286, 287, 288, 289, 290, 291, 292, 293, 294, + 295, 296, 297, 298, 299, 0, 0, 0, 0, 300, + 0, 1064, 286, 287, 288, 289, 290, 291, 292, 293, + 294, 295, 296, 297, 298, 299, 0, 0, 0, 0, + 300, 0, 1187, 286, 287, 288, 289, 290, 291, 292, + 293, 294, 295, 296, 297, 298, 299, 0, 0, 0, + 0, 300, 0, 1229, 286, 287, 288, 289, 290, 291, + 292, 293, 294, 295, 296, 297, 298, 299, 0, 0, + 0, 0, 300 }; -static const short yycheck[] = { 58, - 4, 354, 277, 177, 4, 1077, 180, 4, 2, 183, - 71, 662, 2, 4, 71, 4, 4, 5, 4, 4, - 4, 729, 6, 6, 4, 4, 4, 4, 5, 4, - 4, 4, 13, 71, 6, 209, 6, 4, 212, 49, - 4, 43, 71, 138, 46, 140, 128, 129, 36, 37, - 38, 39, 6, 138, 42, 140, 138, 6, 6, 36, - 37, 38, 39, 145, 43, 42, 138, 46, 7, 6, - 49, 4, 5, 145, 134, 135, 138, 138, 6, 7, - 140, 78, 142, 145, 145, 128, 129, 147, 145, 7, - 81, 82, 83, 84, 85, 81, 82, 83, 84, 85, - 138, 144, 56, 36, 37, 38, 39, 145, 56, 42, - 134, 135, 116, 117, 118, 100, 145, 121, 122, 128, - 129, 125, 1194, 6, 4, 92, 93, 131, 138, 144, - 134, 146, 136, 137, 138, 139, 145, 141, 142, 143, - 144, 792, 146, 147, 148, 134, 135, 151, 856, 128, - 129, 140, 6, 142, 126, 146, 140, 145, 147, 138, - 146, 733, 145, 167, 168, 145, 145, 145, 145, 138, - 145, 145, 145, 177, 138, 145, 115, 139, 1250, 128, - 129, 49, 144, 458, 6, 6, 190, 191, 192, 126, - 194, 365, 142, 197, 198, 138, 146, 115, 116, 117, - 118, 134, 135, 62, 63, 264, 265, 266, 267, 142, - 384, 215, 92, 93, 6, 7, 134, 135, 222, 223, - 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, - 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, - 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, - 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, - 911, 29, 30, 138, 32, 138, 7, 72, 134, 135, - 145, 275, 77, 78, 128, 129, 142, 277, 138, 53, - 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, - 294, 295, 296, 297, 298, 72, 138, 7, 140, 8, - 77, 78, 128, 129, 308, 72, 128, 129, 138, 72, - 77, 78, 139, 317, 77, 78, 72, 144, 322, 145, - 138, 77, 78, 327, 328, 275, 128, 129, 332, 138, - 334, 335, 336, 49, 338, 339, 340, 341, 342, 343, - 344, 146, 49, 145, 341, 342, 343, 344, 49, 138, - 128, 129, 356, 357, 358, 359, 360, 361, 362, 353, - 354, 51, 366, 353, 354, 7, 144, 371, 146, 146, - 145, 49, 376, 377, 115, 116, 117, 118, 328, 146, - 138, 145, 140, 146, 388, 389, 390, 391, 46, 393, - 146, 49, 6, 51, 398, 4, 164, 401, 166, 1107, - 400, 342, 343, 344, 172, 115, 116, 117, 118, 177, - 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, - 129, 130, 131, 132, 134, 135, 128, 129, 137, 144, - 43, 146, 142, 46, 1085, 4, 49, 146, 51, 4, - 72, 1149, 138, 145, 1152, 77, 78, 1155, 72, 453, - 139, 219, 137, 77, 78, 144, 460, 142, 458, 138, - 6, 146, 459, 139, 4, 5, 72, 138, 144, 1041, - 138, 77, 78, 115, 116, 117, 118, 100, 100, 483, - 484, 100, 486, 487, 138, 72, 140, 491, 492, 493, - 77, 78, 134, 135, 4, 72, 36, 37, 38, 39, - 77, 78, 42, 507, 1212, 100, 510, 511, 138, 784, - 785, 72, 138, 517, 146, 72, 77, 78, 4, 139, - 77, 78, 146, 582, 144, 529, 530, 138, 138, 1237, - 128, 129, 1240, 483, 538, 1243, 138, 1109, 1246, 1111, - 146, 1113, 72, 4, 5, 72, 144, 77, 78, 6, - 77, 78, 556, 138, 6, 149, 560, 507, 1266, 146, - 1268, 155, 1270, 5, 138, 569, 140, 571, 572, 146, - 128, 129, 130, 131, 132, 36, 37, 38, 39, 137, - 6, 42, 582, 351, 352, 146, 645, 181, 8, 146, - 275, 185, 186, 361, 36, 37, 38, 39, 5, 138, - 42, 72, 138, 956, 128, 129, 77, 78, 145, 668, - 128, 129, 138, 128, 129, 1187, 146, 621, 622, 146, - 144, 138, 146, 308, 145, 138, 144, 140, 146, 144, - 138, 635, 636, 637, 638, 639, 640, 641, 128, 129, - 644, 145, 327, 328, 648, 138, 128, 129, 1220, 138, - 1222, 655, 1224, 138, 144, 140, 128, 129, 1230, 128, - 129, 665, 144, 128, 129, 128, 129, 140, 842, 673, - 138, 675, 144, 128, 129, 144, 138, 128, 129, 144, - 4, 144, 1254, 6, 1256, 138, 1258, 140, 138, 144, - 140, 145, 696, 144, 644, 140, 145, 128, 129, 119, +static const short yycheck[] = { 60, + 2, 4, 186, 1075, 49, 4, 6, 178, 4, 6, + 279, 4, 183, 4, 5, 7, 4, 4, 13, 662, + 4, 4, 5, 4, 4, 4, 4, 728, 139, 6, + 6, 6, 6, 6, 140, 146, 4, 71, 6, 145, + 211, 4, 71, 214, 140, 36, 37, 38, 39, 145, + 71, 42, 139, 36, 37, 38, 39, 6, 71, 42, + 732, 139, 6, 141, 6, 129, 130, 139, 72, 141, + 4, 5, 4, 6, 78, 79, 135, 136, 143, 56, + 79, 145, 147, 56, 143, 129, 130, 6, 7, 82, + 83, 84, 85, 86, 139, 82, 83, 84, 85, 86, + 139, 145, 36, 37, 38, 39, 129, 130, 42, 4, + 139, 139, 146, 141, 117, 118, 119, 146, 1190, 122, + 123, 101, 145, 126, 116, 146, 139, 127, 49, 132, + 127, 139, 135, 146, 137, 138, 139, 140, 146, 142, + 143, 144, 145, 147, 147, 148, 149, 53, 791, 152, + 146, 135, 136, 854, 147, 146, 49, 141, 146, 143, + 147, 93, 94, 146, 148, 168, 169, 146, 146, 353, + 354, 146, 146, 141, 1246, 178, 139, 139, 180, 43, + 129, 130, 46, 139, 186, 129, 130, 129, 130, 192, + 193, 194, 461, 196, 365, 140, 199, 200, 93, 94, + 145, 135, 136, 129, 130, 266, 267, 268, 269, 143, + 139, 7, 277, 139, 217, 139, 387, 146, 135, 136, + 146, 224, 225, 226, 227, 228, 229, 230, 231, 232, + 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, + 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + 263, 264, 265, 328, 29, 30, 909, 32, 5, 131, + 132, 133, 138, 72, 277, 49, 138, 143, 139, 78, + 79, 147, 139, 286, 287, 288, 289, 290, 291, 292, + 293, 294, 295, 296, 297, 298, 299, 300, 279, 36, + 37, 38, 39, 140, 72, 42, 309, 49, 145, 374, + 78, 79, 129, 130, 317, 342, 343, 344, 7, 322, + 116, 117, 118, 119, 327, 328, 62, 63, 145, 332, + 147, 334, 335, 336, 51, 338, 339, 340, 341, 342, + 343, 344, 341, 342, 343, 344, 129, 130, 147, 139, + 6, 353, 354, 356, 357, 358, 359, 360, 361, 362, + 46, 146, 145, 49, 147, 51, 1038, 72, 146, 372, + 4, 374, 49, 78, 79, 72, 379, 380, 6, 147, + 72, 78, 79, 129, 130, 146, 78, 79, 391, 392, + 393, 394, 140, 396, 139, 146, 141, 145, 401, 145, + 165, 404, 167, 1104, 46, 61, 129, 130, 173, 43, + 72, 277, 46, 178, 7, 49, 78, 79, 72, 129, + 130, 486, 403, 146, 78, 79, 72, 116, 117, 118, + 119, 4, 78, 79, 1106, 145, 1108, 147, 1110, 139, + 1083, 141, 147, 309, 509, 1146, 135, 136, 1149, 4, + 147, 1152, 72, 456, 143, 147, 221, 4, 78, 79, + 463, 327, 328, 462, 120, 121, 122, 123, 124, 125, + 126, 127, 128, 129, 130, 131, 132, 133, 129, 130, + 461, 7, 138, 486, 487, 147, 489, 490, 101, 139, + 493, 494, 495, 147, 145, 129, 130, 72, 139, 139, + 141, 147, 139, 78, 79, 139, 509, 1208, 374, 512, + 513, 1183, 146, 72, 783, 784, 519, 129, 130, 78, + 79, 582, 139, 116, 117, 118, 119, 147, 531, 532, + 72, 6, 1233, 145, 537, 1236, 78, 79, 1239, 135, + 136, 1242, 135, 136, 1216, 141, 1218, 143, 1220, 72, + 101, 554, 148, 101, 1226, 78, 79, 560, 129, 130, + 139, 1262, 141, 1264, 72, 1266, 569, 101, 571, 572, + 78, 79, 147, 129, 130, 146, 6, 7, 1250, 644, + 1252, 139, 1254, 141, 645, 4, 351, 352, 147, 145, + 116, 117, 118, 119, 139, 139, 361, 129, 130, 129, + 130, 582, 139, 139, 141, 147, 139, 668, 673, 135, + 136, 150, 8, 141, 146, 143, 146, 156, 621, 622, + 486, 139, 139, 141, 147, 139, 6, 141, 494, 495, + 695, 4, 635, 636, 637, 638, 639, 640, 641, 4, + 5, 644, 181, 509, 6, 648, 512, 6, 187, 188, + 129, 130, 655, 139, 5, 141, 721, 722, 723, 724, + 129, 130, 665, 129, 130, 139, 145, 141, 139, 840, + 673, 36, 37, 38, 39, 139, 145, 42, 139, 145, + 141, 139, 3, 4, 139, 139, 141, 141, 9, 10, + 11, 139, 695, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, + 31, 32, 33, 34, 139, 139, 141, 141, 721, 722, + 723, 724, 43, 146, 120, 121, 122, 123, 124, 125, + 126, 127, 128, 129, 130, 131, 132, 133, 4, 5, + 129, 130, 138, 146, 65, 66, 67, 68, 69, 70, + 4, 147, 129, 130, 75, 76, 145, 139, 761, 762, + 146, 139, 765, 141, 139, 530, 141, 139, 145, 953, + 36, 37, 38, 39, 141, 139, 42, 141, 644, 145, + 6, 147, 135, 136, 145, 550, 147, 326, 141, 792, + 143, 112, 113, 114, 115, 148, 145, 800, 147, 780, + 145, 804, 147, 784, 145, 139, 147, 673, 129, 130, + 145, 139, 147, 134, 43, 139, 139, 46, 139, 822, + 49, 146, 51, 144, 146, 49, 147, 51, 145, 695, + 147, 146, 146, 836, 837, 838, 125, 126, 127, 128, + 129, 130, 131, 132, 133, 141, 849, 850, 141, 138, + 853, 145, 913, 147, 146, 721, 722, 723, 724, 8, + 145, 145, 147, 147, 867, 868, 869, 145, 143, 147, + 873, 874, 129, 130, 131, 132, 133, 880, 145, 96, + 147, 138, 885, 139, 122, 123, 124, 125, 126, 127, + 128, 129, 130, 131, 132, 133, 877, 139, 139, 902, + 138, 145, 901, 147, 139, 145, 671, 147, 145, 4, + 147, 6, 145, 6, 147, 918, 139, 1101, 6, 458, + 459, 6, 925, 926, 145, 141, 147, 930, 65, 66, + 67, 68, 145, 70, 147, 4, 939, 940, 75, 76, + 145, 6, 147, 1114, 146, 145, 949, 147, 5, 143, + 949, 953, 138, 718, 719, 720, 145, 145, 147, 147, + 145, 7, 147, 141, 146, 7, 7, 140, 971, 6, + 147, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 129, 130, 131, 132, 133, 988, 989, 147, 139, 138, + 7, 7, 93, 146, 140, 145, 140, 145, 147, 6, + 4, 142, 7, 1006, 12, 13, 96, 7, 7, 7, + 96, 7, 7, 1184, 1017, 96, 7, 7, 6, 140, + 7, 140, 561, 562, 140, 140, 143, 147, 101, 147, + 7, 7, 1035, 7, 143, 43, 44, 45, 46, 47, + 48, 49, 50, 51, 52, 139, 54, 139, 56, 57, + 146, 59, 60, 1056, 6, 139, 4, 1060, 7, 1062, + 6, 6, 142, 6, 6, 141, 6, 127, 1071, 77, + 49, 7, 7, 1076, 7, 146, 51, 7, 7, 7, + 88, 89, 90, 7, 7, 7, 7, 7, 853, 7, + 7, 4, 146, 146, 102, 103, 104, 6, 106, 1101, + 139, 109, 1105, 6, 1107, 49, 1109, 6, 8, 6, + 6, 6, 4, 7, 7, 1118, 7, 7, 7, 6, + 4, 1124, 1125, 6, 139, 146, 140, 140, 7, 6, + 1133, 143, 6, 6, 6, 146, 146, 146, 1141, 147, + 146, 6, 681, 682, 6, 684, 5, 686, 687, 146, + 7, 690, 691, 146, 6, 920, 6, 922, 1161, 5, + 92, 5, 143, 6, 6, 4, 6, 1228, 1171, 142, + 6, 1174, 6, 5, 1177, 6, 6, 6, 1181, 6, + 6, 6, 6, 6, 6, 1188, 6, 6, 1191, 6, + 955, 6, 957, 6, 959, 1256, 6, 1258, 6, 6, + 6, 6, 741, 742, 743, 146, 145, 4, 6, 143, + 6, 5, 7, 6, 6, 1276, 6, 6, 6, 146, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, - 130, 131, 132, 144, 138, 145, 140, 137, 722, 723, - 724, 725, 138, 673, 140, 675, 146, 138, 138, 140, - 140, 140, 326, 121, 122, 123, 124, 125, 126, 127, - 128, 129, 130, 131, 132, 138, 696, 140, 138, 137, - 140, 1104, 95, 140, 130, 131, 132, 142, 762, 763, - 528, 137, 766, 65, 66, 67, 68, 138, 70, 140, - 145, 6, 722, 723, 724, 725, 138, 79, 80, 138, - 138, 781, 140, 551, 138, 785, 134, 135, 138, 793, - 140, 138, 140, 140, 142, 6, 138, 801, 483, 147, - 138, 138, 806, 140, 144, 6, 146, 492, 493, 122, + 130, 131, 132, 133, 7, 147, 3, 4, 138, 146, + 140, 146, 9, 10, 11, 146, 6, 14, 15, 16, + 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, + 27, 28, 29, 30, 31, 32, 33, 34, 146, 808, + 91, 6, 6, 6, 140, 814, 43, 6, 94, 6, + 6, 6, 6, 146, 823, 824, 825, 6, 5, 828, + 829, 830, 831, 832, 833, 834, 147, 6, 65, 66, + 67, 68, 69, 70, 8, 61, 6, 145, 75, 76, + 849, 146, 120, 121, 122, 123, 124, 125, 126, 127, + 128, 129, 130, 131, 132, 133, 6, 6, 6, 6, + 138, 6, 871, 147, 101, 5, 5, 146, 6, 6, + 1105, 145, 1107, 6, 1109, 112, 113, 114, 115, 123, + 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, + 146, 900, 129, 130, 138, 146, 146, 134, 6, 6, + 6, 146, 139, 6, 146, 3, 4, 144, 146, 146, + 146, 9, 10, 11, 146, 6, 14, 15, 16, 17, + 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, + 28, 29, 30, 31, 32, 33, 34, 147, 6, 6, + 6, 6, 6, 6, 6, 43, 120, 121, 122, 123, + 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, + 6, 6, 0, 972, 138, 0, 975, 65, 66, 67, + 68, 69, 70, 799, 983, 585, 6, 75, 76, 1161, + 2, 990, 2, 905, -1, 994, -1, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, - 824, 140, 507, 142, 137, 510, 61, 144, 144, 146, - 146, 49, 6, 51, 838, 839, 840, 124, 125, 126, - 127, 128, 129, 130, 131, 132, 140, 851, 852, 4, - 137, 855, 144, 144, 146, 146, 915, 4, 137, 6, - 8, 455, 456, 145, 6, 869, 870, 871, 144, 5, - 146, 875, 876, 144, 144, 146, 146, 142, 882, 879, - 144, 7, 146, 887, 119, 120, 121, 122, 123, 124, - 125, 126, 127, 128, 129, 130, 131, 132, 140, 144, - 904, 146, 137, 671, 6, 144, 903, 146, 144, 46, - 146, 144, 144, 146, 146, 145, 144, 921, 146, 144, - 144, 146, 146, 7, 928, 929, 7, 139, 6, 933, - 144, 144, 146, 146, 144, 144, 146, 146, 942, 943, - 6, 138, 7, 1117, 7, 145, 92, 139, 952, 144, - 139, 719, 720, 721, 144, 952, 6, 4, 141, 644, - 145, 7, 956, 95, 7, 7, 956, 561, 562, 7, - 95, 119, 120, 121, 122, 123, 124, 125, 126, 127, - 128, 129, 130, 131, 132, 7, 990, 991, 673, 137, - 675, 139, 7, 7, 95, 7, 6, 142, 7, 139, - 139, 139, 146, 146, 1008, 139, 100, 7, 7, 7, - 138, 696, 142, 6, 1188, 138, 1020, 119, 120, 121, - 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, - 132, 145, 138, 4, 1038, 137, 6, 722, 723, 724, - 725, 119, 120, 121, 122, 123, 124, 125, 126, 127, - 128, 129, 130, 131, 132, 1059, 6, 6, 1062, 137, - 1064, 141, 6, 140, 7, 6, 126, 49, 7, 1073, - 7, 51, 7, 145, 1078, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 4, 1090, 855, 682, 683, - 145, 685, 6, 687, 688, 6, 145, 691, 692, 138, - 6, 6, 6, 6, 1108, 6, 1110, 4, 1112, 7, - 1104, 7, 7, 7, 1104, 7, 1120, 6, 4, 6, - 138, 145, 1126, 1127, 7, 142, 139, 6, 139, 145, - 6, 1135, 6, 6, 6, 6, 5, 145, 145, 145, - 1144, 145, 7, 6, 6, 91, 5, 5, 742, 743, - 744, 6, 142, 6, 4, 923, 141, 925, 6, 49, - 1164, 6, 6, 5, 145, 6, 6, 6, 6, 6, - 6, 1175, 6, 1232, 1178, 6, 6, 1181, 6, 6, - 6, 1185, 6, 6, 6, 6, 6, 144, 1192, 6, - 958, 1195, 960, 6, 962, 4, 6, 142, 6, 5, - 7, 1260, 6, 1262, 6, 145, 6, 6, 146, 145, - 6, 145, 6, 90, 7, 6, 810, 6, 6, 6, - 6, 1280, 816, 145, 145, 145, 139, 93, 6, 6, - 6, 825, 826, 827, 6, 145, 830, 831, 832, 833, - 834, 835, 836, 6, 5, 61, 146, 3, 4, 6, - 0, 6, 145, 9, 10, 11, 144, 851, 14, 15, + 133, -1, -1, 101, -1, 138, -1, -1, -1, 6, + -1, -1, -1, -1, 112, 113, 114, 115, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 129, 130, -1, -1, -1, 134, -1, -1, -1, + -1, 139, -1, -1, 1053, -1, 144, -1, 146, 3, + 4, -1, -1, -1, -1, 9, 10, 11, -1, -1, + 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, + 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, + 34, -1, -1, -1, -1, -1, -1, -1, -1, 43, + 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, + 130, 131, 132, 133, 1113, -1, -1, -1, 138, -1, + -1, 65, 66, 67, 68, 69, 70, 8, -1, -1, + -1, 75, 76, 120, 121, 122, 123, 124, 125, 126, + 127, 128, 129, 130, 131, 132, 133, -1, -1, -1, + -1, 138, -1, -1, 1153, -1, -1, 6, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 112, 113, + 114, 115, -1, -1, -1, -1, -1, -1, 6, -1, + -1, -1, -1, -1, -1, 129, 130, -1, -1, -1, + 134, -1, -1, -1, -1, 139, -1, 3, 4, -1, + 144, -1, 146, 9, 10, 11, -1, -1, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, - 26, 27, 28, 29, 30, 31, 32, 33, 34, 873, - 6, 6, 6, 6, 6, 146, 5, 43, 119, 120, + 26, 27, 28, 29, 30, 31, 32, 33, 34, -1, + -1, -1, -1, -1, -1, -1, -1, 43, -1, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, - 131, 132, 145, 6, 6, 6, 137, 6, 902, 65, - 66, 67, 68, 69, 70, 6, 145, 6, 5, 75, - 145, 6, 6, 79, 80, 119, 120, 121, 122, 123, - 124, 125, 126, 127, 128, 129, 130, 131, 132, 144, - 1108, 6, 1110, 137, 1112, 146, 6, 145, 145, 6, - 145, 6, 6, 145, 6, 111, 112, 113, 114, 6, - 6, 145, 145, 6, 6, 0, 800, 1164, 585, 2, - 2, -1, 128, 129, 907, -1, -1, 133, -1, -1, - 974, -1, 138, 977, -1, -1, -1, 143, -1, -1, - 146, 985, -1, 3, 4, -1, -1, -1, 992, 9, - 10, 11, 996, -1, 14, 15, 16, 17, 18, 19, + 131, 132, 133, -1, -1, -1, -1, 138, -1, 65, + 66, 67, 68, 69, 70, 8, -1, -1, -1, 75, + 76, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 129, 130, 131, 132, 133, -1, -1, -1, -1, 138, + -1, -1, 120, 121, 122, 123, 124, 125, 126, 127, + 128, 129, 130, 131, 132, 133, 112, 113, 114, 115, + 138, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 129, 130, -1, -1, -1, 134, -1, + -1, -1, -1, 139, -1, 3, 4, -1, 144, -1, + 146, 9, 10, 11, -1, -1, 14, 15, 16, 17, + 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, + 28, 29, 30, 31, 32, 33, 34, -1, -1, -1, + -1, -1, -1, -1, -1, 43, -1, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, + 133, -1, -1, -1, -1, 138, -1, 65, 66, 67, + 68, 69, 70, 3, 4, -1, -1, 75, 76, 9, + 10, 11, -1, -1, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, -1, -1, -1, -1, -1, - -1, -1, -1, 43, 119, 120, 121, 122, 123, 124, - 125, 126, 127, 128, 129, 130, 131, 132, -1, -1, - -1, -1, 137, -1, -1, 65, 66, 67, 68, 69, - 70, 8, 1056, -1, -1, 75, -1, -1, -1, 79, - 80, -1, -1, 119, 120, 121, 122, 123, 124, 125, - 126, 127, 128, 129, 130, 131, 132, -1, -1, -1, - 100, 137, -1, -1, -1, 6, -1, -1, -1, -1, - -1, 111, 112, 113, 114, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 128, 129, - -1, -1, 1116, 133, -1, -1, -1, -1, 138, -1, - 3, 4, -1, 143, -1, 145, 9, 10, 11, -1, - -1, 14, 15, 16, 17, 18, 19, 20, 21, 22, - 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, - 33, 34, 1156, -1, -1, -1, -1, -1, -1, -1, - 43, -1, 119, 120, 121, 122, 123, 124, 125, 126, - 127, 128, 129, 130, 131, 132, -1, -1, -1, -1, - 137, -1, 65, 66, 67, 68, 69, 70, 8, -1, - -1, -1, 75, -1, -1, -1, 79, 80, 119, 120, - 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, - 131, 132, -1, -1, -1, -1, 137, 100, -1, -1, - -1, -1, 6, -1, -1, -1, -1, -1, 111, 112, - 113, 114, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 128, 129, -1, -1, -1, - 133, -1, -1, -1, -1, 138, -1, 3, 4, -1, - 143, -1, 145, 9, 10, 11, -1, -1, 14, 15, + -1, -1, -1, -1, 112, 113, 114, 115, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 129, 130, -1, -1, -1, 134, -1, -1, -1, + -1, 139, -1, 3, 4, -1, 144, -1, 146, 9, + 10, 11, -1, -1, 14, 15, 16, 17, 18, 19, + 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, + 30, 31, 32, 33, 34, 6, -1, -1, -1, -1, + -1, -1, 112, 113, 114, 115, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 6, 129, + 130, -1, -1, -1, 134, -1, -1, -1, -1, 139, + -1, -1, 142, -1, 144, -1, 146, 3, 4, -1, + -1, -1, -1, 9, 10, 11, -1, -1, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, -1, - -1, -1, -1, -1, -1, -1, -1, 43, -1, 119, - 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, - 130, 131, 132, -1, -1, -1, -1, 137, -1, 65, - 66, 67, 68, 69, 70, 8, -1, -1, -1, 75, - -1, -1, -1, 79, 80, 119, 120, 121, 122, 123, - 124, 125, 126, 127, 128, 129, 130, 131, 132, -1, - -1, -1, -1, 137, -1, -1, -1, -1, -1, 6, - -1, -1, -1, -1, -1, 111, 112, 113, 114, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 128, 129, -1, -1, -1, 133, -1, -1, - -1, -1, 138, -1, 3, 4, -1, 143, -1, 145, - 9, 10, 11, -1, -1, 14, 15, 16, 17, 18, - 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, - 29, 30, 31, 32, 33, 34, -1, -1, -1, -1, - -1, -1, -1, -1, 43, -1, 119, 120, 121, 122, - 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, - -1, -1, -1, -1, 137, -1, 65, 66, 67, 68, - 69, 70, 8, -1, -1, -1, 75, -1, -1, -1, - 79, 80, 119, 120, 121, 122, 123, 124, 125, 126, - 127, 128, 129, 130, 131, 132, -1, -1, -1, -1, - 137, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 111, 112, 113, 114, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 128, - 129, -1, -1, -1, 133, -1, -1, -1, -1, 138, - -1, 3, 4, -1, 143, -1, 145, 9, 10, 11, + -1, -1, 112, 113, 114, 115, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 129, + 130, -1, -1, -1, 134, -1, -1, -1, -1, 139, + -1, 6, 142, -1, 144, -1, 146, -1, -1, 120, + 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, + 131, 132, 133, -1, -1, -1, -1, 138, -1, -1, + -1, -1, 120, 121, 122, 123, 124, 125, 126, 127, + 128, 129, 130, 131, 132, 133, 112, 113, 114, 115, + 138, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 129, 130, -1, -1, -1, 134, -1, + -1, -1, -1, 139, -1, 3, 4, 5, 144, 7, + 146, 9, 10, 11, -1, -1, 14, 15, 16, 17, + 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, + 28, 29, 30, 31, 32, 33, 34, 6, 36, 37, + 38, 39, -1, -1, 42, 120, 121, 122, 123, 124, + 125, 126, 127, 128, 129, 130, 131, 132, 133, -1, + -1, 3, 4, 138, -1, -1, -1, 9, 10, 11, -1, -1, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - -1, 43, -1, 119, 120, 121, 122, 123, 124, 125, - 126, 127, 128, 129, 130, 131, 132, -1, -1, -1, - -1, 137, -1, 65, 66, 67, 68, 69, 70, -1, - -1, -1, -1, 75, 3, 4, -1, 79, 80, -1, - 9, 10, 11, -1, -1, 14, 15, 16, 17, 18, - 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, - 29, 30, 31, 32, 33, 34, 6, -1, -1, 111, - 112, 113, 114, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 128, 129, -1, -1, - -1, 133, -1, -1, -1, -1, 138, -1, 3, 4, - -1, 143, -1, 145, 9, 10, 11, -1, -1, 14, - 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, - 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 111, 112, 113, 114, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 128, - 129, -1, -1, -1, 133, -1, -1, -1, -1, 138, - -1, -1, 141, -1, 143, -1, 145, -1, -1, 119, - 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, - 130, 131, 132, -1, -1, -1, -1, 137, -1, -1, - -1, -1, -1, 6, -1, -1, 111, 112, 113, 114, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 6, 128, 129, -1, -1, -1, 133, -1, - -1, -1, -1, 138, -1, -1, 141, -1, 143, -1, - 145, 3, 4, -1, -1, -1, -1, 9, 10, 11, - -1, -1, 14, 15, 16, 17, 18, 19, 20, 21, - 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, 33, 34, -1, -1, -1, 3, 4, 5, -1, - 7, -1, 9, 10, 11, -1, -1, 14, 15, 16, - 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, - 27, 28, 29, 30, 31, 32, 33, 34, -1, 36, - 37, 38, 39, -1, -1, 42, 119, 120, 121, 122, - 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, - -1, -1, -1, -1, 137, 119, 120, 121, 122, 123, - 124, 125, 126, 127, 128, 129, 130, 131, 132, 111, - 112, 113, 114, 137, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 128, 129, -1, -1, - -1, 133, -1, -1, -1, -1, 138, -1, -1, -1, - -1, 143, -1, 145, 111, 112, 113, 114, 115, 116, - 117, 118, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 128, 129, -1, -1, -1, 133, 134, 135, -1, - -1, 138, -1, 140, -1, 142, 143, 3, 4, -1, - -1, -1, -1, 9, 10, 11, -1, -1, 14, 15, - 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, - 26, 27, 28, 29, 30, 31, 32, 33, 34, -1, - -1, -1, -1, -1, -1, -1, -1, 43, -1, -1, - 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, - 129, 130, 131, 132, -1, -1, -1, -1, 137, 65, - 66, 67, 68, 69, 70, 144, -1, 146, -1, 75, - 3, 4, -1, 79, 80, -1, 9, 10, 11, -1, + -1, 43, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 112, 113, 114, 115, 116, 117, + 118, 119, -1, 65, 66, 67, 68, 69, 70, -1, + -1, 129, 130, 75, 76, -1, 134, 135, 136, -1, + -1, 139, -1, 141, -1, 143, 144, -1, 6, -1, + -1, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 129, 130, 131, 132, 133, -1, -1, 6, -1, 138, + 112, 113, 114, 115, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 129, 130, -1, + -1, -1, 134, 3, 4, 5, -1, 139, -1, 9, + 10, 11, 144, -1, 14, 15, 16, 17, 18, 19, + 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, + 30, 31, 32, 33, 34, -1, 36, 37, 38, 39, + 3, 4, 42, -1, -1, -1, 9, 10, 11, -1, -1, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, - 33, 34, -1, -1, -1, 111, 112, 113, 114, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 128, 129, -1, -1, -1, 133, 3, 4, - 5, -1, 138, -1, 9, 10, 11, 143, -1, 14, - 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, - 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, - -1, 36, 37, 38, 39, -1, -1, 42, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, - 113, 114, -1, -1, 12, 13, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 128, 129, -1, -1, -1, - 133, -1, -1, -1, -1, 138, -1, -1, -1, -1, - 143, -1, -1, -1, -1, 43, 44, 45, 46, 47, - 48, 49, 50, 51, 52, -1, 54, -1, 56, 57, - -1, 59, 60, -1, -1, -1, 111, 112, 113, 114, - -1, -1, -1, -1, -1, -1, -1, -1, 76, -1, - 12, 13, -1, 128, 129, -1, -1, -1, 133, 87, - 88, 89, -1, 138, -1, -1, -1, -1, 143, -1, - -1, -1, -1, 101, 102, 103, -1, 105, -1, -1, - 108, 43, 44, 45, 46, 47, 48, 49, 50, 51, - 52, -1, 54, -1, 56, 57, -1, 59, 60, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 76, -1, 12, 13, 146, -1, - -1, -1, -1, -1, -1, 87, 88, 89, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, - 102, 103, -1, 105, -1, -1, 108, 43, 44, 45, - 46, 47, 48, 49, 50, 51, 52, -1, 54, -1, - 56, 57, -1, 59, 60, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 76, -1, 12, 13, 146, -1, -1, -1, -1, -1, - -1, 87, 88, 89, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 101, 102, 103, -1, 105, - -1, -1, 108, 43, 44, 45, 46, 47, 48, 49, - 50, 51, 52, -1, 54, -1, 56, 57, -1, 59, - 60, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 76, -1, 12, 13, - 146, -1, -1, -1, -1, -1, -1, 87, 88, 89, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 101, 102, 103, -1, 105, -1, -1, 108, 43, + 33, 34, 120, 121, 122, 123, 124, 125, 126, 127, + 128, 129, 130, 131, 132, 133, -1, -1, -1, -1, + 138, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 129, 130, 131, 132, 133, -1, -1, -1, -1, 138, + -1, -1, 112, 113, 114, 115, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 129, + 130, -1, -1, -1, 134, -1, -1, -1, -1, 139, + -1, -1, -1, -1, 144, -1, -1, -1, -1, 112, + 113, 114, 115, 12, 13, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 129, 130, -1, -1, + -1, 134, -1, -1, -1, -1, 139, 12, 13, -1, + -1, 144, -1, -1, 43, 44, 45, 46, 47, 48, + 49, 50, 51, 52, -1, 54, -1, 56, 57, -1, + 59, 60, -1, -1, -1, -1, -1, -1, 43, 44, + 45, 46, 47, 48, 49, 50, 51, 52, 77, 54, + -1, 56, 57, -1, 59, 60, -1, -1, -1, 88, + 89, 90, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 77, 102, 103, 104, -1, 106, -1, -1, + 109, -1, -1, 88, 89, 90, -1, -1, 12, 13, + -1, -1, -1, -1, -1, -1, -1, 102, 103, 104, + -1, 106, -1, -1, 109, -1, -1, -1, -1, -1, + -1, -1, 12, 13, -1, -1, -1, -1, 147, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, -1, 54, -1, 56, 57, -1, 59, 60, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 76, -1, 12, 13, 146, -1, -1, -1, - -1, -1, -1, 87, 88, 89, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 101, 102, 103, - -1, 105, -1, -1, 108, 43, 44, 45, 46, 47, - 48, 49, 50, 51, 52, -1, 54, -1, 56, 57, - -1, 59, 60, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 76, -1, - 12, 13, 146, -1, 8, -1, -1, -1, -1, 87, - 88, 89, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 101, 102, 103, -1, 105, -1, -1, - 108, 43, 44, 45, 46, 47, 48, 49, 50, 51, - 52, -1, 54, -1, 56, 57, -1, 59, 60, -1, - 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 76, -1, 12, 13, 146, -1, - 6, -1, -1, -1, -1, 87, 88, 89, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, - 102, 103, 6, 105, -1, -1, 108, 43, 44, 45, - 46, 47, 48, 49, 50, 51, 52, -1, 54, -1, - 56, 57, -1, 59, 60, 119, 120, 121, 122, 123, - 124, 125, 126, 127, 128, 129, 130, 131, 132, 8, - 76, -1, -1, 137, 146, -1, -1, -1, -1, -1, - -1, 87, 88, 89, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 101, 102, 103, -1, 105, - -1, -1, 108, 119, 120, 121, 122, 123, 124, 125, - 126, 127, 128, 129, 130, 131, 132, -1, -1, -1, - -1, 137, -1, 119, 120, 121, 122, 123, 124, 125, - 126, 127, 128, 129, 130, 131, 132, -1, -1, -1, - 146, 137, -1, -1, -1, 119, 120, 121, 122, 123, - 124, 125, 126, 127, 128, 129, 130, 131, 132, -1, - 0, 1, -1, 137, 4, -1, -1, -1, -1, -1, - -1, -1, 12, 13, -1, -1, -1, -1, -1, -1, - 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, - 129, 130, 131, 132, -1, 35, -1, -1, 137, -1, - 40, 41, -1, 43, 44, 45, 46, 47, 48, 49, - 50, 51, 52, -1, 54, 55, 56, 57, 58, 59, - 60, -1, -1, -1, 64, 65, 66, 67, 68, 69, - 70, -1, 72, 73, 74, -1, 76, -1, -1, 79, - 80, -1, 4, -1, -1, -1, 86, 87, 88, 89, - 12, 13, 92, -1, 94, -1, 96, 97, 98, 99, - -1, 101, 102, 103, -1, 105, 106, 107, 108, 109, - 110, -1, -1, 35, -1, -1, -1, -1, 40, 41, - -1, 43, 44, 45, 46, 47, 48, 49, 50, 51, - 52, -1, 54, 55, 56, 57, 58, 59, 60, -1, - -1, -1, 64, 65, 66, 67, 68, 69, 70, -1, - 72, 73, 74, -1, 76, -1, -1, 79, 80, 12, - 13, -1, -1, -1, 86, 87, 88, 89, -1, -1, - 92, -1, 94, -1, 96, 97, 98, 99, -1, 101, - 102, 103, -1, 105, 106, 107, 108, 109, 110, -1, - 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, - -1, 54, -1, 56, 57, -1, 59, 60, 119, 120, + -1, -1, 147, 43, 44, 45, 46, 47, 48, 49, + 50, 51, 52, 77, 54, -1, 56, 57, -1, 59, + 60, -1, -1, -1, 88, 89, 90, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 77, 102, 103, + 104, -1, 106, -1, -1, 109, -1, -1, 88, 89, + 90, -1, -1, 12, 13, -1, -1, -1, -1, -1, + -1, -1, 102, 103, 104, -1, 106, -1, -1, 109, + -1, -1, -1, -1, -1, 6, -1, 12, 13, -1, + -1, -1, -1, 147, 43, 44, 45, 46, 47, 48, + 49, 50, 51, 52, -1, 54, -1, 56, 57, 6, + 59, 60, -1, -1, -1, -1, -1, 147, 43, 44, + 45, 46, 47, 48, 49, 50, 51, 52, 77, 54, + 6, 56, 57, -1, 59, 60, -1, -1, -1, 88, + 89, 90, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 8, 77, 102, 103, 104, -1, 106, -1, -1, + 109, -1, -1, 88, 89, 90, -1, -1, -1, -1, + 8, -1, -1, -1, -1, -1, -1, 102, 103, 104, + -1, 106, -1, -1, 109, -1, -1, -1, -1, 8, + -1, -1, -1, -1, -1, -1, -1, -1, 147, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, - 131, 132, -1, 76, -1, -1, 137, -1, 139, -1, - -1, -1, -1, 144, 87, 88, 89, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 101, 102, - 103, -1, 105, -1, -1, 108, 119, 120, 121, 122, - 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, - -1, -1, -1, -1, 137, -1, -1, -1, -1, -1, - -1, 144, -1, 146, 119, 120, 121, 122, 123, 124, - 125, 126, 127, 128, 129, 130, 131, 132, -1, -1, - -1, -1, 137, -1, -1, -1, -1, -1, -1, 144, - -1, 146, 119, 120, 121, 122, 123, 124, 125, 126, - 127, 128, 129, 130, 131, 132, -1, -1, -1, -1, - 137, -1, -1, -1, -1, -1, -1, -1, -1, 146, - 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, - 129, 130, 131, 132, -1, -1, -1, -1, 137, -1, - -1, -1, -1, -1, -1, -1, -1, 146, 119, 120, + 131, 132, 133, -1, -1, -1, -1, 138, -1, -1, + -1, -1, 147, 120, 121, 122, 123, 124, 125, 126, + 127, 128, 129, 130, 131, 132, 133, -1, -1, -1, + -1, 138, -1, -1, 120, 121, 122, 123, 124, 125, + 126, 127, 128, 129, 130, 131, 132, 133, -1, -1, + -1, -1, 138, 120, 121, 122, 123, 124, 125, 126, + 127, 128, 129, 130, 131, 132, 133, -1, -1, -1, + -1, 138, 120, 121, 122, 123, 124, 125, 126, 127, + 128, 129, 130, 131, 132, 133, -1, -1, -1, -1, + 138, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 129, 130, 131, 132, 133, -1, 0, 1, -1, 138, + 4, -1, -1, -1, -1, -1, -1, -1, 12, 13, + -1, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 129, 130, 131, 132, 133, -1, -1, -1, -1, 138, + -1, 35, -1, -1, -1, -1, 40, 41, 147, 43, + 44, 45, 46, 47, 48, 49, 50, 51, 52, -1, + 54, 55, 56, 57, 58, 59, 60, -1, -1, -1, + 64, 65, 66, 67, 68, 69, 70, -1, 72, 73, + 74, 75, 76, 77, -1, -1, 80, 81, -1, 4, + -1, -1, -1, 87, 88, 89, 90, 12, 13, 93, + -1, 95, -1, 97, 98, 99, 100, -1, 102, 103, + 104, -1, 106, 107, 108, 109, 110, 111, -1, -1, + 35, -1, -1, -1, -1, 40, 41, -1, 43, 44, + 45, 46, 47, 48, 49, 50, 51, 52, -1, 54, + 55, 56, 57, 58, 59, 60, -1, -1, -1, 64, + 65, 66, 67, 68, 69, 70, -1, 72, 73, 74, + 75, 76, 77, -1, -1, 80, 81, 12, 13, -1, + -1, -1, 87, 88, 89, 90, -1, -1, 93, -1, + 95, -1, 97, 98, 99, 100, -1, 102, 103, 104, + -1, 106, 107, 108, 109, 110, 111, -1, 43, 44, + 45, 46, 47, 48, 49, 50, 51, 52, -1, 54, + -1, 56, 57, -1, 59, 60, 120, 121, 122, 123, + 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, + -1, -1, 77, -1, 138, -1, 140, -1, -1, -1, + -1, 145, -1, 88, 89, 90, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 102, 103, 104, + -1, 106, -1, -1, 109, 120, 121, 122, 123, 124, + 125, 126, 127, 128, 129, 130, 131, 132, 133, -1, + -1, -1, -1, 138, -1, -1, -1, -1, -1, -1, + 145, -1, 147, 120, 121, 122, 123, 124, 125, 126, + 127, 128, 129, 130, 131, 132, 133, -1, -1, -1, + -1, 138, -1, -1, -1, -1, -1, -1, 145, -1, + 147, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 129, 130, 131, 132, 133, -1, -1, -1, -1, 138, + -1, -1, -1, -1, -1, -1, 145, -1, 147, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, - 131, 132, -1, -1, -1, -1, 137, -1, -1, -1, - -1, -1, -1, -1, -1, 146, 119, 120, 121, 122, + 131, 132, 133, -1, -1, -1, -1, 138, -1, -1, + -1, -1, -1, -1, -1, -1, 147, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, - -1, -1, -1, -1, 137, -1, -1, -1, -1, -1, - -1, -1, -1, 146, 119, 120, 121, 122, 123, 124, - 125, 126, 127, 128, 129, 130, 131, 132, -1, -1, - -1, -1, 137, -1, -1, -1, -1, -1, -1, -1, - -1, 146, 119, 120, 121, 122, 123, 124, 125, 126, - 127, 128, 129, 130, 131, 132, -1, -1, -1, -1, - 137, -1, -1, -1, -1, -1, -1, -1, -1, 146, - 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, - 129, 130, 131, 132, -1, -1, -1, -1, 137, -1, - -1, -1, -1, -1, -1, -1, -1, 146, 119, 120, + 133, -1, -1, -1, -1, 138, -1, -1, -1, -1, + -1, -1, -1, -1, 147, 120, 121, 122, 123, 124, + 125, 126, 127, 128, 129, 130, 131, 132, 133, -1, + -1, -1, -1, 138, -1, -1, -1, -1, -1, -1, + -1, -1, 147, 120, 121, 122, 123, 124, 125, 126, + 127, 128, 129, 130, 131, 132, 133, -1, -1, -1, + -1, 138, -1, -1, -1, -1, -1, -1, -1, -1, + 147, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 129, 130, 131, 132, 133, -1, -1, -1, -1, 138, + -1, -1, -1, -1, -1, -1, -1, -1, 147, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, - 131, 132, -1, -1, -1, -1, 137, -1, -1, -1, - -1, -1, -1, -1, -1, 146, 119, 120, 121, 122, + 131, 132, 133, -1, -1, -1, -1, 138, -1, -1, + -1, -1, -1, -1, -1, -1, 147, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, - -1, -1, -1, -1, 137, -1, -1, -1, -1, -1, - -1, -1, -1, 146, 119, 120, 121, 122, 123, 124, - 125, 126, 127, 128, 129, 130, 131, 132, -1, -1, - -1, -1, 137, -1, -1, -1, -1, -1, -1, -1, - -1, 146, 119, 120, 121, 122, 123, 124, 125, 126, - 127, 128, 129, 130, 131, 132, -1, -1, -1, -1, - 137, -1, -1, -1, -1, -1, -1, -1, -1, 146, - 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, - 129, 130, 131, 132, -1, -1, -1, -1, 137, -1, - -1, -1, -1, -1, -1, -1, -1, 146, 119, 120, + 133, -1, -1, -1, -1, 138, -1, -1, -1, -1, + -1, -1, -1, -1, 147, 120, 121, 122, 123, 124, + 125, 126, 127, 128, 129, 130, 131, 132, 133, -1, + -1, -1, -1, 138, -1, -1, -1, -1, -1, -1, + -1, -1, 147, 120, 121, 122, 123, 124, 125, 126, + 127, 128, 129, 130, 131, 132, 133, -1, -1, -1, + -1, 138, -1, -1, -1, -1, -1, -1, -1, -1, + 147, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 129, 130, 131, 132, 133, -1, -1, -1, -1, 138, + -1, -1, -1, -1, -1, -1, -1, -1, 147, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, - 131, 132, -1, -1, -1, -1, 137, -1, -1, -1, - -1, -1, -1, -1, -1, 146, 119, 120, 121, 122, + 131, 132, 133, -1, -1, -1, -1, 138, -1, -1, + -1, -1, -1, -1, -1, -1, 147, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, - -1, -1, -1, -1, 137, -1, -1, -1, -1, -1, - -1, -1, -1, 146, 119, 120, 121, 122, 123, 124, - 125, 126, 127, 128, 129, 130, 131, 132, -1, -1, - -1, -1, 137, -1, -1, -1, -1, -1, -1, -1, - -1, 146, 119, 120, 121, 122, 123, 124, 125, 126, - 127, 128, 129, 130, 131, 132, -1, -1, -1, -1, - 137, -1, -1, -1, -1, -1, -1, -1, -1, 146, - 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, - 129, 130, 131, 132, -1, -1, -1, -1, 137, -1, - -1, -1, -1, -1, -1, -1, -1, 146, 119, 120, + 133, -1, -1, -1, -1, 138, -1, -1, -1, -1, + -1, -1, -1, -1, 147, 120, 121, 122, 123, 124, + 125, 126, 127, 128, 129, 130, 131, 132, 133, -1, + -1, -1, -1, 138, -1, -1, -1, -1, -1, -1, + -1, -1, 147, 120, 121, 122, 123, 124, 125, 126, + 127, 128, 129, 130, 131, 132, 133, -1, -1, -1, + -1, 138, -1, -1, -1, -1, -1, -1, -1, -1, + 147, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 129, 130, 131, 132, 133, -1, -1, -1, -1, 138, + -1, -1, -1, -1, -1, -1, -1, -1, 147, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, - 131, 132, -1, -1, -1, -1, 137, -1, -1, -1, - -1, -1, -1, -1, -1, 146, 119, 120, 121, 122, + 131, 132, 133, -1, -1, -1, -1, 138, -1, -1, + -1, -1, -1, -1, -1, -1, 147, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, - -1, -1, -1, -1, 137, -1, -1, -1, -1, -1, - -1, -1, -1, 146, 119, 120, 121, 122, 123, 124, - 125, 126, 127, 128, 129, 130, 131, 132, -1, -1, - -1, -1, 137, -1, -1, -1, -1, -1, -1, -1, - -1, 146, 119, 120, 121, 122, 123, 124, 125, 126, - 127, 128, 129, 130, 131, 132, -1, -1, -1, -1, - 137, -1, -1, -1, -1, -1, -1, -1, -1, 146, - 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, - 129, 130, 131, 132, -1, -1, -1, -1, 137, -1, - -1, -1, -1, -1, -1, -1, -1, 146, 119, 120, + 133, -1, -1, -1, -1, 138, -1, -1, -1, -1, + -1, -1, -1, -1, 147, 120, 121, 122, 123, 124, + 125, 126, 127, 128, 129, 130, 131, 132, 133, -1, + -1, -1, -1, 138, -1, -1, -1, -1, -1, -1, + -1, -1, 147, 120, 121, 122, 123, 124, 125, 126, + 127, 128, 129, 130, 131, 132, 133, -1, -1, -1, + -1, 138, -1, -1, -1, -1, -1, -1, -1, -1, + 147, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 129, 130, 131, 132, 133, -1, -1, -1, -1, 138, + -1, -1, -1, -1, -1, -1, -1, -1, 147, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, - 131, 132, -1, -1, -1, -1, 137, -1, -1, -1, - -1, -1, -1, -1, -1, 146, 119, 120, 121, 122, + 131, 132, 133, -1, -1, -1, -1, 138, -1, -1, + -1, -1, -1, -1, -1, -1, 147, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, - -1, -1, -1, -1, 137, -1, -1, -1, -1, -1, - -1, -1, -1, 146, 119, 120, 121, 122, 123, 124, - 125, 126, 127, 128, 129, 130, 131, 132, -1, -1, - -1, -1, 137, -1, -1, -1, -1, -1, -1, 144, - 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, - 129, 130, 131, 132, -1, -1, -1, -1, 137, -1, - -1, -1, -1, -1, -1, 144, 119, 120, 121, 122, - 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, - -1, -1, -1, -1, 137, -1, -1, -1, -1, -1, - -1, 144, 119, 120, 121, 122, 123, 124, 125, 126, - 127, 128, 129, 130, 131, 132, -1, -1, -1, -1, - 137, -1, -1, -1, -1, -1, -1, 144, 119, 120, + 133, -1, -1, -1, -1, 138, -1, -1, -1, -1, + -1, -1, -1, -1, 147, 120, 121, 122, 123, 124, + 125, 126, 127, 128, 129, 130, 131, 132, 133, -1, + -1, -1, -1, 138, -1, -1, -1, -1, -1, -1, + -1, -1, 147, 120, 121, 122, 123, 124, 125, 126, + 127, 128, 129, 130, 131, 132, 133, -1, -1, -1, + -1, 138, -1, -1, -1, -1, -1, -1, 145, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, - 131, 132, -1, -1, -1, -1, 137, -1, -1, -1, - -1, -1, -1, 144, 119, 120, 121, 122, 123, 124, - 125, 126, 127, 128, 129, 130, 131, 132, -1, -1, - -1, -1, 137, -1, -1, -1, -1, -1, -1, 144, - 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, - 129, 130, 131, 132, -1, -1, -1, -1, 137, -1, - -1, -1, -1, -1, -1, 144, 119, 120, 121, 122, + 131, 132, 133, -1, -1, -1, -1, 138, -1, -1, + -1, -1, -1, -1, 145, 120, 121, 122, 123, 124, + 125, 126, 127, 128, 129, 130, 131, 132, 133, -1, + -1, -1, -1, 138, -1, -1, -1, -1, -1, -1, + 145, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 129, 130, 131, 132, 133, -1, -1, -1, -1, 138, + -1, -1, -1, -1, -1, -1, 145, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, - -1, -1, -1, -1, 137, -1, -1, -1, -1, -1, - -1, 144, 119, 120, 121, 122, 123, 124, 125, 126, - 127, 128, 129, 130, 131, 132, -1, -1, -1, -1, - 137, -1, -1, -1, -1, -1, -1, 144, 119, 120, + 133, -1, -1, -1, -1, 138, -1, -1, -1, -1, + -1, -1, 145, 120, 121, 122, 123, 124, 125, 126, + 127, 128, 129, 130, 131, 132, 133, -1, -1, -1, + -1, 138, -1, -1, -1, -1, -1, -1, 145, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, - 131, 132, -1, -1, -1, -1, 137, -1, -1, -1, - -1, -1, -1, 144, 119, 120, 121, 122, 123, 124, - 125, 126, 127, 128, 129, 130, 131, 132, -1, -1, - -1, -1, 137, -1, -1, -1, -1, -1, -1, 144, - 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, - 129, 130, 131, 132, -1, -1, -1, -1, 137, -1, - -1, -1, -1, -1, -1, 144, 119, 120, 121, 122, + 131, 132, 133, -1, -1, -1, -1, 138, -1, -1, + -1, -1, -1, -1, 145, 120, 121, 122, 123, 124, + 125, 126, 127, 128, 129, 130, 131, 132, 133, -1, + -1, -1, -1, 138, -1, -1, -1, -1, -1, -1, + 145, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 129, 130, 131, 132, 133, -1, -1, -1, -1, 138, + -1, -1, -1, -1, -1, -1, 145, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, - -1, -1, -1, -1, 137, -1, -1, -1, -1, -1, - -1, 144, 119, 120, 121, 122, 123, 124, 125, 126, - 127, 128, 129, 130, 131, 132, -1, -1, -1, -1, - 137, -1, -1, -1, -1, -1, -1, 144, 119, 120, + 133, -1, -1, -1, -1, 138, -1, -1, -1, -1, + -1, -1, 145, 120, 121, 122, 123, 124, 125, 126, + 127, 128, 129, 130, 131, 132, 133, -1, -1, -1, + -1, 138, -1, -1, -1, -1, -1, -1, 145, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, - 131, 132, -1, -1, -1, -1, 137, -1, -1, -1, - -1, -1, -1, 144, 119, 120, 121, 122, 123, 124, - 125, 126, 127, 128, 129, 130, 131, 132, -1, -1, - -1, -1, 137, -1, -1, -1, -1, -1, -1, 144, - 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, - 129, 130, 131, 132, -1, -1, -1, -1, 137, -1, - -1, -1, -1, -1, -1, 144, 119, 120, 121, 122, + 131, 132, 133, -1, -1, -1, -1, 138, -1, -1, + -1, -1, -1, -1, 145, 120, 121, 122, 123, 124, + 125, 126, 127, 128, 129, 130, 131, 132, 133, -1, + -1, -1, -1, 138, -1, -1, -1, -1, -1, -1, + 145, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 129, 130, 131, 132, 133, -1, -1, -1, -1, 138, + -1, -1, -1, -1, -1, -1, 145, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, - -1, -1, -1, -1, 137, -1, -1, -1, -1, -1, - -1, 144, 119, 120, 121, 122, 123, 124, 125, 126, - 127, 128, 129, 130, 131, 132, -1, -1, -1, -1, - 137, -1, -1, -1, -1, -1, -1, 144, 119, 120, + 133, -1, -1, -1, -1, 138, -1, -1, -1, -1, + -1, -1, 145, 120, 121, 122, 123, 124, 125, 126, + 127, 128, 129, 130, 131, 132, 133, -1, -1, -1, + -1, 138, -1, -1, -1, -1, -1, -1, 145, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, - 131, 132, -1, -1, -1, -1, 137, -1, -1, -1, - -1, -1, -1, 144, 119, 120, 121, 122, 123, 124, - 125, 126, 127, 128, 129, 130, 131, 132, -1, -1, - -1, -1, 137, -1, -1, -1, -1, -1, -1, 144, - 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, - 129, 130, 131, 132, -1, -1, -1, -1, 137, -1, - -1, -1, -1, -1, -1, 144, 119, 120, 121, 122, + 131, 132, 133, -1, -1, -1, -1, 138, -1, -1, + -1, -1, -1, -1, 145, 120, 121, 122, 123, 124, + 125, 126, 127, 128, 129, 130, 131, 132, 133, -1, + -1, -1, -1, 138, -1, -1, -1, -1, -1, -1, + 145, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 129, 130, 131, 132, 133, -1, -1, -1, -1, 138, + -1, -1, -1, -1, -1, -1, 145, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, - -1, -1, -1, -1, 137, -1, -1, -1, -1, -1, - -1, 144, 119, 120, 121, 122, 123, 124, 125, 126, - 127, 128, 129, 130, 131, 132, -1, -1, -1, -1, - 137, -1, -1, -1, -1, -1, -1, 144, 119, 120, + 133, -1, -1, -1, -1, 138, -1, -1, -1, -1, + -1, -1, 145, 120, 121, 122, 123, 124, 125, 126, + 127, 128, 129, 130, 131, 132, 133, -1, -1, -1, + -1, 138, -1, -1, -1, -1, -1, -1, 145, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, - 131, 132, -1, -1, -1, -1, 137, -1, -1, -1, - -1, -1, -1, 144, 119, 120, 121, 122, 123, 124, - 125, 126, 127, 128, 129, 130, 131, 132, -1, -1, - -1, -1, 137, -1, -1, -1, -1, -1, -1, 144, - 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, - 129, 130, 131, 132, -1, -1, -1, -1, 137, -1, - -1, -1, -1, -1, -1, 144, 119, 120, 121, 122, + 131, 132, 133, -1, -1, -1, -1, 138, -1, -1, + -1, -1, -1, -1, 145, 120, 121, 122, 123, 124, + 125, 126, 127, 128, 129, 130, 131, 132, 133, -1, + -1, -1, -1, 138, -1, -1, -1, -1, -1, -1, + 145, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 129, 130, 131, 132, 133, -1, -1, -1, -1, 138, + -1, -1, -1, -1, -1, -1, 145, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, - -1, -1, -1, -1, 137, -1, -1, -1, -1, -1, - -1, 144, 119, 120, 121, 122, 123, 124, 125, 126, - 127, 128, 129, 130, 131, 132, -1, -1, -1, -1, - 137, -1, -1, -1, -1, -1, -1, 144, 119, 120, + 133, -1, -1, -1, -1, 138, -1, -1, -1, -1, + -1, -1, 145, 120, 121, 122, 123, 124, 125, 126, + 127, 128, 129, 130, 131, 132, 133, -1, -1, -1, + -1, 138, -1, -1, -1, -1, -1, -1, 145, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, - 131, 132, -1, -1, -1, -1, 137, -1, -1, -1, - 141, 119, 120, 121, 122, 123, 124, 125, 126, 127, - 128, 129, 130, 131, 132, -1, -1, -1, -1, 137, - -1, -1, -1, 141, 119, 120, 121, 122, 123, 124, - 125, 126, 127, 128, 129, 130, 131, 132, -1, -1, - -1, -1, 137, -1, -1, -1, 141, 119, 120, 121, - 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, - 132, -1, -1, -1, -1, 137, -1, -1, -1, 141, - 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, - 129, 130, 131, 132, -1, -1, -1, -1, 137, -1, - -1, -1, 141, 119, 120, 121, 122, 123, 124, 125, - 126, 127, 128, 129, 130, 131, 132, -1, -1, -1, - -1, 137, -1, -1, -1, 141, 119, 120, 121, 122, + 131, 132, 133, -1, -1, -1, -1, 138, -1, -1, + -1, -1, -1, -1, 145, 120, 121, 122, 123, 124, + 125, 126, 127, 128, 129, 130, 131, 132, 133, -1, + -1, -1, -1, 138, -1, -1, -1, -1, -1, -1, + 145, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 129, 130, 131, 132, 133, -1, -1, -1, -1, 138, + -1, -1, -1, -1, -1, -1, 145, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, - -1, -1, -1, -1, 137, -1, -1, -1, 141, 119, + 133, -1, -1, -1, -1, 138, -1, -1, -1, 142, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, - 130, 131, 132, -1, -1, -1, -1, 137, -1, -1, - -1, 141, 119, 120, 121, 122, 123, 124, 125, 126, - 127, 128, 129, 130, 131, 132, -1, -1, -1, -1, - 137, -1, -1, -1, 141, 119, 120, 121, 122, 123, - 124, 125, 126, 127, 128, 129, 130, 131, 132, -1, - -1, -1, -1, 137, -1, -1, -1, 141, 119, 120, + 130, 131, 132, 133, -1, -1, -1, -1, 138, -1, + -1, -1, 142, 120, 121, 122, 123, 124, 125, 126, + 127, 128, 129, 130, 131, 132, 133, -1, -1, -1, + -1, 138, -1, -1, -1, 142, 120, 121, 122, 123, + 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, + -1, -1, -1, -1, 138, -1, -1, -1, 142, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, - 131, 132, -1, -1, -1, -1, 137, -1, -1, -1, - 141, 119, 120, 121, 122, 123, 124, 125, 126, 127, - 128, 129, 130, 131, 132, -1, -1, -1, -1, 137, - -1, -1, -1, 141, 119, 120, 121, 122, 123, 124, - 125, 126, 127, 128, 129, 130, 131, 132, -1, -1, - -1, -1, 137, -1, -1, -1, 141, 119, 120, 121, + 131, 132, 133, -1, -1, -1, -1, 138, -1, -1, + -1, 142, 120, 121, 122, 123, 124, 125, 126, 127, + 128, 129, 130, 131, 132, 133, -1, -1, -1, -1, + 138, -1, -1, -1, 142, 120, 121, 122, 123, 124, + 125, 126, 127, 128, 129, 130, 131, 132, 133, -1, + -1, -1, -1, 138, -1, -1, -1, 142, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, - 132, -1, -1, -1, -1, 137, -1, -1, -1, 141, - 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, - 129, 130, 131, 132, -1, -1, -1, -1, 137, -1, - -1, -1, 141, 119, 120, 121, 122, 123, 124, 125, - 126, 127, 128, 129, 130, 131, 132, -1, -1, -1, - -1, 137, -1, -1, -1, 141, 119, 120, 121, 122, + 132, 133, -1, -1, -1, -1, 138, -1, -1, -1, + 142, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 129, 130, 131, 132, 133, -1, -1, -1, -1, 138, + -1, -1, -1, 142, 120, 121, 122, 123, 124, 125, + 126, 127, 128, 129, 130, 131, 132, 133, -1, -1, + -1, -1, 138, -1, -1, -1, 142, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, - -1, -1, -1, -1, 137, -1, -1, -1, 141, 119, + 133, -1, -1, -1, -1, 138, -1, -1, -1, 142, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, - 130, 131, 132, -1, -1, -1, -1, 137, -1, -1, - -1, 141, 119, 120, 121, 122, 123, 124, 125, 126, - 127, 128, 129, 130, 131, 132, -1, -1, -1, -1, - 137, -1, -1, -1, 141, 119, 120, 121, 122, 123, - 124, 125, 126, 127, 128, 129, 130, 131, 132, -1, - -1, -1, -1, 137, -1, -1, -1, 141, 119, 120, + 130, 131, 132, 133, -1, -1, -1, -1, 138, -1, + -1, -1, 142, 120, 121, 122, 123, 124, 125, 126, + 127, 128, 129, 130, 131, 132, 133, -1, -1, -1, + -1, 138, -1, -1, -1, 142, 120, 121, 122, 123, + 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, + -1, -1, -1, -1, 138, -1, -1, -1, 142, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, - 131, 132, -1, -1, -1, -1, 137, -1, -1, -1, - 141, 119, 120, 121, 122, 123, 124, 125, 126, 127, - 128, 129, 130, 131, 132, -1, -1, -1, -1, 137, - -1, -1, -1, 141, 119, 120, 121, 122, 123, 124, - 125, 126, 127, 128, 129, 130, 131, 132, -1, -1, - -1, -1, 137, -1, -1, -1, 141, 119, 120, 121, + 131, 132, 133, -1, -1, -1, -1, 138, -1, -1, + -1, 142, 120, 121, 122, 123, 124, 125, 126, 127, + 128, 129, 130, 131, 132, 133, -1, -1, -1, -1, + 138, -1, -1, -1, 142, 120, 121, 122, 123, 124, + 125, 126, 127, 128, 129, 130, 131, 132, 133, -1, + -1, -1, -1, 138, -1, -1, -1, 142, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, - 132, -1, -1, -1, -1, 137, -1, -1, -1, 141, - 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, - 129, 130, 131, 132, -1, -1, -1, -1, 137, -1, - -1, -1, 141, 119, 120, 121, 122, 123, 124, 125, - 126, 127, 128, 129, 130, 131, 132, -1, -1, -1, - -1, 137, -1, -1, -1, 141, 119, 120, 121, 122, + 132, 133, -1, -1, -1, -1, 138, -1, -1, -1, + 142, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 129, 130, 131, 132, 133, -1, -1, -1, -1, 138, + -1, -1, -1, 142, 120, 121, 122, 123, 124, 125, + 126, 127, 128, 129, 130, 131, 132, 133, -1, -1, + -1, -1, 138, -1, -1, -1, 142, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, - -1, -1, -1, -1, 137, -1, -1, -1, 141, 119, + 133, -1, -1, -1, -1, 138, -1, -1, -1, 142, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, - 130, 131, 132, -1, -1, -1, -1, 137, -1, -1, - -1, 141, 119, 120, 121, 122, 123, 124, 125, 126, - 127, 128, 129, 130, 131, 132, -1, -1, -1, -1, - 137, -1, -1, -1, 141, 119, 120, 121, 122, 123, - 124, 125, 126, 127, 128, 129, 130, 131, 132, -1, - -1, -1, -1, 137, -1, -1, -1, 141, 119, 120, + 130, 131, 132, 133, -1, -1, -1, -1, 138, -1, + -1, -1, 142, 120, 121, 122, 123, 124, 125, 126, + 127, 128, 129, 130, 131, 132, 133, -1, -1, -1, + -1, 138, -1, -1, -1, 142, 120, 121, 122, 123, + 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, + -1, -1, -1, -1, 138, -1, -1, -1, 142, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, - 131, 132, -1, -1, -1, -1, 137, -1, -1, -1, - 141, 119, 120, 121, 122, 123, 124, 125, 126, 127, - 128, 129, 130, 131, 132, -1, -1, -1, -1, 137, - -1, -1, -1, 141, 119, 120, 121, 122, 123, 124, - 125, 126, 127, 128, 129, 130, 131, 132, -1, -1, - -1, -1, 137, -1, 139, 119, 120, 121, 122, 123, - 124, 125, 126, 127, 128, 129, 130, 131, 132, -1, - -1, -1, -1, 137, -1, 139, 119, 120, 121, 122, - 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, - -1, -1, -1, -1, 137, -1, 139, 119, 120, 121, + 131, 132, 133, -1, -1, -1, -1, 138, -1, -1, + -1, 142, 120, 121, 122, 123, 124, 125, 126, 127, + 128, 129, 130, 131, 132, 133, -1, -1, -1, -1, + 138, -1, -1, -1, 142, 120, 121, 122, 123, 124, + 125, 126, 127, 128, 129, 130, 131, 132, 133, -1, + -1, -1, -1, 138, -1, -1, -1, 142, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, - 132, -1, -1, -1, -1, 137, -1, 139, 119, 120, - 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, - 131, 132, -1, -1, -1, -1, 137, -1, 139, 119, + 132, 133, -1, -1, -1, -1, 138, -1, -1, -1, + 142, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 129, 130, 131, 132, 133, -1, -1, -1, -1, 138, + -1, -1, -1, 142, 120, 121, 122, 123, 124, 125, + 126, 127, 128, 129, 130, 131, 132, 133, -1, -1, + -1, -1, 138, -1, -1, -1, 142, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, + 133, -1, -1, -1, -1, 138, -1, -1, -1, 142, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, - 130, 131, 132, -1, -1, -1, -1, 137, -1, 139, - 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, - 129, 130, 131, 132, -1, -1, -1, -1, 137, -1, - 139, 119, 120, 121, 122, 123, 124, 125, 126, 127, - 128, 129, 130, 131, 132, -1, -1, -1, -1, 137, - -1, 139, 119, 120, 121, 122, 123, 124, 125, 126, - 127, 128, 129, 130, 131, 132, -1, -1, -1, -1, - 137, -1, 139, 119, 120, 121, 122, 123, 124, 125, - 126, 127, 128, 129, 130, 131, 132, -1, -1, -1, - -1, 137, -1, 139, 119, 120, 121, 122, 123, 124, - 125, 126, 127, 128, 129, 130, 131, 132, -1, -1, - -1, -1, 137, -1, 139, 119, 120, 121, 122, 123, - 124, 125, 126, 127, 128, 129, 130, 131, 132, -1, - -1, -1, -1, 137, -1, 139, 119, 120, 121, 122, + 130, 131, 132, 133, -1, -1, -1, -1, 138, -1, + 140, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 129, 130, 131, 132, 133, -1, -1, -1, -1, 138, + -1, 140, 120, 121, 122, 123, 124, 125, 126, 127, + 128, 129, 130, 131, 132, 133, -1, -1, -1, -1, + 138, -1, 140, 120, 121, 122, 123, 124, 125, 126, + 127, 128, 129, 130, 131, 132, 133, -1, -1, -1, + -1, 138, -1, 140, 120, 121, 122, 123, 124, 125, + 126, 127, 128, 129, 130, 131, 132, 133, -1, -1, + -1, -1, 138, -1, 140, 120, 121, 122, 123, 124, + 125, 126, 127, 128, 129, 130, 131, 132, 133, -1, + -1, -1, -1, 138, -1, 140, 120, 121, 122, 123, + 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, + -1, -1, -1, -1, 138, -1, 140, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, - -1, -1, -1, -1, 137, -1, 139, 119, 120, 121, + 133, -1, -1, -1, -1, 138, -1, 140, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, - 132, -1, -1, -1, -1, 137, -1, 139, 119, 120, + 132, 133, -1, -1, -1, -1, 138, -1, 140, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, - 131, 132, -1, -1, -1, -1, 137, -1, 139, 119, + 131, 132, 133, -1, -1, -1, -1, 138, -1, 140, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, - 130, 131, 132, -1, -1, -1, -1, 137, -1, 139, - 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, - 129, 130, 131, 132, -1, -1, -1, -1, 137, -1, - 139, 119, 120, 121, 122, 123, 124, 125, 126, 127, - 128, 129, 130, 131, 132, -1, -1, -1, -1, 137, - -1, 139, 119, 120, 121, 122, 123, 124, 125, 126, - 127, 128, 129, 130, 131, 132, -1, -1, -1, -1, - 137, -1, 139, 119, 120, 121, 122, 123, 124, 125, - 126, 127, 128, 129, 130, 131, 132, -1, -1, -1, - -1, 137, -1, 139, 119, 120, 121, 122, 123, 124, - 125, 126, 127, 128, 129, 130, 131, 132, -1, -1, - -1, -1, 137, -1, 139, 119, 120, 121, 122, 123, - 124, 125, 126, 127, 128, 129, 130, 131, 132, -1, - -1, -1, -1, 137, -1, 139, 119, 120, 121, 122, + 130, 131, 132, 133, -1, -1, -1, -1, 138, -1, + 140, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 129, 130, 131, 132, 133, -1, -1, -1, -1, 138, + -1, 140, 120, 121, 122, 123, 124, 125, 126, 127, + 128, 129, 130, 131, 132, 133, -1, -1, -1, -1, + 138, -1, 140, 120, 121, 122, 123, 124, 125, 126, + 127, 128, 129, 130, 131, 132, 133, -1, -1, -1, + -1, 138, -1, 140, 120, 121, 122, 123, 124, 125, + 126, 127, 128, 129, 130, 131, 132, 133, -1, -1, + -1, -1, 138, -1, 140, 120, 121, 122, 123, 124, + 125, 126, 127, 128, 129, 130, 131, 132, 133, -1, + -1, -1, -1, 138, -1, 140, 120, 121, 122, 123, + 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, + -1, -1, -1, -1, 138, -1, 140, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, - -1, -1, -1, -1, 137, -1, 139, 119, 120, 121, + 133, -1, -1, -1, -1, 138, -1, 140, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, - 132, -1, -1, -1, -1, 137, -1, 139, 119, 120, + 132, 133, -1, -1, -1, -1, 138, -1, 140, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, - 131, 132, -1, -1, -1, -1, 137, -1, 139, 119, + 131, 132, 133, -1, -1, -1, -1, 138, -1, 140, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, - 130, 131, 132, -1, -1, -1, -1, 137, -1, 139, - 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, - 129, 130, 131, 132, -1, -1, -1, -1, 137, -1, - 139, 119, 120, 121, 122, 123, 124, 125, 126, 127, - 128, 129, 130, 131, 132, -1, -1, -1, -1, 137, - -1, 139, 119, 120, 121, 122, 123, 124, 125, 126, - 127, 128, 129, 130, 131, 132, -1, -1, -1, -1, - 137, -1, 139, 119, 120, 121, 122, 123, 124, 125, - 126, 127, 128, 129, 130, 131, 132, -1, -1, -1, - -1, 137, -1, 139, 119, 120, 121, 122, 123, 124, - 125, 126, 127, 128, 129, 130, 131, 132, -1, -1, - -1, -1, 137, -1, 139, 119, 120, 121, 122, 123, - 124, 125, 126, 127, 128, 129, 130, 131, 132, -1, - -1, -1, -1, 137, -1, 139, 119, 120, 121, 122, + 130, 131, 132, 133, -1, -1, -1, -1, 138, -1, + 140, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 129, 130, 131, 132, 133, -1, -1, -1, -1, 138, + -1, 140, 120, 121, 122, 123, 124, 125, 126, 127, + 128, 129, 130, 131, 132, 133, -1, -1, -1, -1, + 138, -1, 140, 120, 121, 122, 123, 124, 125, 126, + 127, 128, 129, 130, 131, 132, 133, -1, -1, -1, + -1, 138, -1, 140, 120, 121, 122, 123, 124, 125, + 126, 127, 128, 129, 130, 131, 132, 133, -1, -1, + -1, -1, 138, -1, 140, 120, 121, 122, 123, 124, + 125, 126, 127, 128, 129, 130, 131, 132, 133, -1, + -1, -1, -1, 138, -1, 140, 120, 121, 122, 123, + 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, + -1, -1, -1, -1, 138, -1, 140, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, - -1, -1, -1, -1, 137, -1, 139, 119, 120, 121, + 133, -1, -1, -1, -1, 138, -1, 140, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, - 132, -1, -1, -1, -1, 137, -1, 139, 119, 120, + 132, 133, -1, -1, -1, -1, 138, -1, 140, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, - 131, 132, -1, -1, -1, -1, 137, -1, 139, 119, + 131, 132, 133, -1, -1, -1, -1, 138, -1, 140, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, - 130, 131, 132, -1, -1, -1, -1, 137, -1, 139, - 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, - 129, 130, 131, 132, -1, -1, -1, -1, 137, -1, - 139, 119, 120, 121, 122, 123, 124, 125, 126, 127, - 128, 129, 130, 131, 132, -1, -1, -1, -1, 137, - -1, 139, 119, 120, 121, 122, 123, 124, 125, 126, - 127, 128, 129, 130, 131, 132, -1, -1, -1, -1, - 137, -1, 139, 119, 120, 121, 122, 123, 124, 125, - 126, 127, 128, 129, 130, 131, 132, -1, -1, -1, - -1, 137, -1, 139, 119, 120, 121, 122, 123, 124, - 125, 126, 127, 128, 129, 130, 131, 132, -1, -1, - -1, -1, 137, -1, 139, 119, 120, 121, 122, 123, - 124, 125, 126, 127, 128, 129, 130, 131, 132, -1, - -1, -1, -1, 137, -1, 139, 119, 120, 121, 122, + 130, 131, 132, 133, -1, -1, -1, -1, 138, -1, + 140, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 129, 130, 131, 132, 133, -1, -1, -1, -1, 138, + -1, 140, 120, 121, 122, 123, 124, 125, 126, 127, + 128, 129, 130, 131, 132, 133, -1, -1, -1, -1, + 138, -1, 140, 120, 121, 122, 123, 124, 125, 126, + 127, 128, 129, 130, 131, 132, 133, -1, -1, -1, + -1, 138, -1, 140, 120, 121, 122, 123, 124, 125, + 126, 127, 128, 129, 130, 131, 132, 133, -1, -1, + -1, -1, 138, -1, 140, 120, 121, 122, 123, 124, + 125, 126, 127, 128, 129, 130, 131, 132, 133, -1, + -1, -1, -1, 138, -1, 140, 120, 121, 122, 123, + 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, + -1, -1, -1, -1, 138, -1, 140, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, - -1, -1, -1, -1, 137, -1, 139, 119, 120, 121, + 133, -1, -1, -1, -1, 138, -1, 140, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, - 132, -1, -1, -1, -1, 137, -1, 139, 119, 120, + 132, 133, -1, -1, -1, -1, 138, -1, 140, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, - 131, 132, -1, -1, -1, -1, 137, -1, 139, 119, + 131, 132, 133, -1, -1, -1, -1, 138, -1, 140, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, - 130, 131, 132, -1, -1, -1, -1, 137, -1, 139, - 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, - 129, 130, 131, 132, -1, -1, -1, -1, 137, -1, - 139, 119, 120, 121, 122, 123, 124, 125, 126, 127, - 128, 129, 130, 131, 132, -1, -1, -1, -1, 137, - -1, 139, 119, 120, 121, 122, 123, 124, 125, 126, - 127, 128, 129, 130, 131, 132, -1, -1, -1, -1, - 137, -1, 139, 119, 120, 121, 122, 123, 124, 125, - 126, 127, 128, 129, 130, 131, 132, -1, -1, -1, - -1, 137, -1, 139, 119, 120, 121, 122, 123, 124, - 125, 126, 127, 128, 129, 130, 131, 132, -1, -1, - -1, -1, 137, -1, 139, 119, 120, 121, 122, 123, - 124, 125, 126, 127, 128, 129, 130, 131, 132, -1, - -1, -1, -1, 137, -1, 139, 119, 120, 121, 122, + 130, 131, 132, 133, -1, -1, -1, -1, 138, -1, + 140, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 129, 130, 131, 132, 133, -1, -1, -1, -1, 138, + -1, 140, 120, 121, 122, 123, 124, 125, 126, 127, + 128, 129, 130, 131, 132, 133, -1, -1, -1, -1, + 138, -1, 140, 120, 121, 122, 123, 124, 125, 126, + 127, 128, 129, 130, 131, 132, 133, -1, -1, -1, + -1, 138, -1, 140, 120, 121, 122, 123, 124, 125, + 126, 127, 128, 129, 130, 131, 132, 133, -1, -1, + -1, -1, 138, -1, 140, 120, 121, 122, 123, 124, + 125, 126, 127, 128, 129, 130, 131, 132, 133, -1, + -1, -1, -1, 138, -1, 140, 120, 121, 122, 123, + 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, + -1, -1, -1, -1, 138, -1, 140, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, - -1, -1, -1, -1, 137, -1, 139, 119, 120, 121, + 133, -1, -1, -1, -1, 138, -1, 140, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, - 132, -1, -1, -1, -1, 137, -1, 139, 119, 120, + 132, 133, -1, -1, -1, -1, 138, -1, 140, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, - 131, 132, -1, -1, -1, -1, 137 + 131, 132, 133, -1, -1, -1, -1, 138, -1, 140, + 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, + 130, 131, 132, 133, -1, -1, -1, -1, 138, -1, + 140, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 129, 130, 131, 132, 133, -1, -1, -1, -1, 138, + -1, 140, 120, 121, 122, 123, 124, 125, 126, 127, + 128, 129, 130, 131, 132, 133, -1, -1, -1, -1, + 138, -1, 140, 120, 121, 122, 123, 124, 125, 126, + 127, 128, 129, 130, 131, 132, 133, -1, -1, -1, + -1, 138, -1, 140, 120, 121, 122, 123, 124, 125, + 126, 127, 128, 129, 130, 131, 132, 133, -1, -1, + -1, -1, 138 }; /* -*-C-*- Note some compilers choke on comments on `#line' lines. */ #line 3 "/usr/share/bison.simple" @@ -2913,7 +2859,7 @@ case 9: break;} case 10: #line 162 "Gmsh.y" -{ List_Delete(yyvsp[0].l); return 1; ; +{ return 1; ; break;} case 11: #line 163 "Gmsh.y" @@ -2925,11 +2871,11 @@ case 12: break;} case 13: #line 165 "Gmsh.y" -{ return 1; ; +{ List_Delete(yyvsp[0].l); return 1; ; break;} case 14: #line 166 "Gmsh.y" -{ List_Delete(yyvsp[0].l); return 1; ; +{ return 1; ; break;} case 15: #line 167 "Gmsh.y" @@ -2948,30 +2894,26 @@ case 18: { return 1; ; break;} case 19: -#line 171 "Gmsh.y" -{ return 1; ; - break;} -case 20: -#line 176 "Gmsh.y" +#line 175 "Gmsh.y" { yyval.c = "w"; ; break;} -case 21: -#line 180 "Gmsh.y" +case 20: +#line 179 "Gmsh.y" { yyval.c = "a"; ; break;} -case 22: -#line 187 "Gmsh.y" +case 21: +#line 186 "Gmsh.y" { Msg(DIRECT, yyvsp[-2].c); Free(yyvsp[-2].c); ; break;} -case 23: -#line 192 "Gmsh.y" +case 22: +#line 191 "Gmsh.y" { char tmpstring[1024]; FixRelativePath(yyvsp[-1].c, tmpstring); @@ -2987,8 +2929,8 @@ case 23: Free(yyvsp[-1].c); ; break;} -case 24: -#line 207 "Gmsh.y" +case 23: +#line 206 "Gmsh.y" { char tmpstring[1024]; int i = PrintListOfDouble(yyvsp[-4].c, yyvsp[-2].l, tmpstring); @@ -3002,8 +2944,8 @@ case 24: List_Delete(yyvsp[-2].l); ; break;} -case 25: -#line 220 "Gmsh.y" +case 24: +#line 219 "Gmsh.y" { char tmpstring[1024]; int i = PrintListOfDouble(yyvsp[-6].c, yyvsp[-4].l, tmpstring); @@ -3028,8 +2970,8 @@ case 25: List_Delete(yyvsp[-4].l); ; break;} -case 26: -#line 249 "Gmsh.y" +case 25: +#line 248 "Gmsh.y" { if(!strcmp(yyvsp[-5].c, "View") && !CheckViewErrorFlags(View)){ EndView(View, 0, yyname, yyvsp[-4].c); @@ -3037,8 +2979,8 @@ case 26: Free(yyvsp[-5].c); Free(yyvsp[-4].c); ; break;} -case 27: -#line 256 "Gmsh.y" +case 26: +#line 255 "Gmsh.y" { if(!strcmp(yyvsp[-7].c, "View") && !CheckViewErrorFlags(View)){ EndView(View, 0, yyname, yyvsp[-6].c); @@ -3046,8 +2988,22 @@ case 27: Free(yyvsp[-7].c); Free(yyvsp[-6].c); Free(yyvsp[-5].c); ; break;} +case 27: +#line 262 "Gmsh.y" +{ + if(!strcmp(yyvsp[-4].c, "View")) AliasView((int)yyvsp[-2].d, 0); + Free(yyvsp[-4].c); + ; + break;} case 28: -#line 266 "Gmsh.y" +#line 267 "Gmsh.y" +{ + if(!strcmp(yyvsp[-4].c, "View")) AliasView((int)yyvsp[-2].d, 1); + Free(yyvsp[-4].c); + ; + break;} +case 29: +#line 275 "Gmsh.y" { View = BeginView(1); for(int i = 0; i < VIEW_NB_ELEMENT_TYPES; i++){ @@ -3055,24 +3011,24 @@ case 28: } ; break;} -case 35: -#line 282 "Gmsh.y" -{ ViewCoord[ViewCoordIdx] = yyvsp[0].d; ViewCoordIdx++; ; - break;} case 36: -#line 284 "Gmsh.y" +#line 291 "Gmsh.y" { ViewCoord[ViewCoordIdx] = yyvsp[0].d; ViewCoordIdx++; ; break;} case 37: -#line 289 "Gmsh.y" -{ if(ViewValueList) List_Add(ViewValueList, &yyvsp[0].d); ; +#line 293 "Gmsh.y" +{ ViewCoord[ViewCoordIdx] = yyvsp[0].d; ViewCoordIdx++; ; break;} case 38: -#line 291 "Gmsh.y" +#line 298 "Gmsh.y" { if(ViewValueList) List_Add(ViewValueList, &yyvsp[0].d); ; break;} case 39: -#line 296 "Gmsh.y" +#line 300 "Gmsh.y" +{ if(ViewValueList) List_Add(ViewValueList, &yyvsp[0].d); ; + break;} +case 40: +#line 305 "Gmsh.y" { if(!strcmp(yyvsp[0].c, "SP")){ ViewElementIdx = 0; ViewNumNodes = 1; ViewNumComp = 1; @@ -3263,8 +3219,8 @@ case 39: ViewCoordIdx = 0; ; break;} -case 40: -#line 486 "Gmsh.y" +case 41: +#line 495 "Gmsh.y" { if(ViewValueList){ if(ViewCoordIdx != 3 * ViewNumNodes){ @@ -3279,8 +3235,8 @@ case 40: } ; break;} -case 41: -#line 500 "Gmsh.y" +case 42: +#line 509 "Gmsh.y" { if(ViewValueList){ if((List_Nbr(ViewValueList) - ViewNumListTmp) % (ViewNumComp * ViewCoordIdx/3)) @@ -3289,22 +3245,22 @@ case 41: } ; break;} -case 42: -#line 511 "Gmsh.y" +case 43: +#line 520 "Gmsh.y" { for(int i = 0; i < (int)strlen(yyvsp[0].c)+1; i++) List_Add(View->T2C, &yyvsp[0].c[i]); Free(yyvsp[0].c); ; break;} -case 43: -#line 516 "Gmsh.y" +case 44: +#line 525 "Gmsh.y" { for(int i = 0; i < (int)strlen(yyvsp[0].c)+1; i++) List_Add(View->T2C, &yyvsp[0].c[i]); Free(yyvsp[0].c); ; break;} -case 44: -#line 524 "Gmsh.y" +case 45: +#line 533 "Gmsh.y" { List_Add(View->T2D, &yyvsp[-5].d); List_Add(View->T2D, &yyvsp[-3].d); List_Add(View->T2D, &yyvsp[-1].d); @@ -3312,28 +3268,28 @@ case 44: List_Add(View->T2D, &d); ; break;} -case 45: -#line 531 "Gmsh.y" +case 46: +#line 540 "Gmsh.y" { View->NbT2++; ; break;} -case 46: -#line 538 "Gmsh.y" +case 47: +#line 547 "Gmsh.y" { for(int i = 0; i < (int)strlen(yyvsp[0].c)+1; i++) List_Add(View->T3C, &yyvsp[0].c[i]); Free(yyvsp[0].c); ; break;} -case 47: -#line 543 "Gmsh.y" +case 48: +#line 552 "Gmsh.y" { for(int i = 0; i < (int)strlen(yyvsp[0].c)+1; i++) List_Add(View->T3C, &yyvsp[0].c[i]); Free(yyvsp[0].c); ; break;} -case 48: -#line 551 "Gmsh.y" +case 49: +#line 560 "Gmsh.y" { List_Add(View->T3D, &yyvsp[-7].d); List_Add(View->T3D, &yyvsp[-5].d); List_Add(View->T3D, &yyvsp[-3].d); List_Add(View->T3D, &yyvsp[-1].d); @@ -3341,71 +3297,71 @@ case 48: List_Add(View->T3D, &d); ; break;} -case 49: -#line 558 "Gmsh.y" +case 50: +#line 567 "Gmsh.y" { View->NbT3++; ; break;} -case 50: -#line 566 "Gmsh.y" +case 51: +#line 575 "Gmsh.y" { View->adaptive = new Adaptive_Post_View(View, yyvsp[-5].l, yyvsp[-2].l); ; break;} -case 51: -#line 574 "Gmsh.y" +case 52: +#line 583 "Gmsh.y" { View->adaptive = new Adaptive_Post_View(View, yyvsp[-11].l, yyvsp[-8].l, yyvsp[-5].l, yyvsp[-2].l); ; break;} -case 52: -#line 581 "Gmsh.y" +case 53: +#line 590 "Gmsh.y" { ViewValueList = View->Time; ; break;} -case 53: -#line 585 "Gmsh.y" +case 54: +#line 594 "Gmsh.y" { ; break;} -case 54: -#line 590 "Gmsh.y" +case 55: +#line 599 "Gmsh.y" { (*View->Grains) [(int)yyvsp[-3].d] = yyvsp[-1].l; ; break;} -case 55: -#line 598 "Gmsh.y" +case 56: +#line 607 "Gmsh.y" { yyval.i = 0; ; break;} -case 56: -#line 599 "Gmsh.y" +case 57: +#line 608 "Gmsh.y" { yyval.i = 1; ; break;} -case 57: -#line 600 "Gmsh.y" +case 58: +#line 609 "Gmsh.y" { yyval.i = 2; ; break;} -case 58: -#line 601 "Gmsh.y" +case 59: +#line 610 "Gmsh.y" { yyval.i = 3; ; break;} -case 59: -#line 602 "Gmsh.y" +case 60: +#line 611 "Gmsh.y" { yyval.i = 4; ; break;} -case 60: -#line 606 "Gmsh.y" +case 61: +#line 615 "Gmsh.y" { yyval.i = 1; ; break;} -case 61: -#line 607 "Gmsh.y" +case 62: +#line 616 "Gmsh.y" { yyval.i = -1; ; break;} -case 62: -#line 615 "Gmsh.y" +case 63: +#line 624 "Gmsh.y" { Symbol TheSymbol; TheSymbol.Name = yyvsp[-3].c; @@ -3437,8 +3393,8 @@ case 62: } ; break;} -case 63: -#line 646 "Gmsh.y" +case 64: +#line 655 "Gmsh.y" { Symbol TheSymbol; TheSymbol.Name = yyvsp[-6].c; @@ -3478,8 +3434,8 @@ case 63: } ; break;} -case 64: -#line 685 "Gmsh.y" +case 65: +#line 694 "Gmsh.y" { if(List_Nbr(yyvsp[-5].l) != List_Nbr(yyvsp[-1].l)){ yymsg(GERROR, "Incompatible array dimensions in affectation"); @@ -3534,8 +3490,8 @@ case 64: List_Delete(yyvsp[-1].l); ; break;} -case 65: -#line 739 "Gmsh.y" +case 66: +#line 748 "Gmsh.y" { Symbol TheSymbol; TheSymbol.Name = yyvsp[-5].c; @@ -3553,8 +3509,8 @@ case 65: List_Delete(yyvsp[-1].l); ; break;} -case 66: -#line 756 "Gmsh.y" +case 67: +#line 765 "Gmsh.y" { // appends to the list Symbol TheSymbol; @@ -3573,8 +3529,8 @@ case 66: List_Delete(yyvsp[-1].l); ; break;} -case 67: -#line 774 "Gmsh.y" +case 68: +#line 783 "Gmsh.y" { Symbol TheSymbol; TheSymbol.Name = yyvsp[-2].c; @@ -3586,8 +3542,8 @@ case 67: Free(yyvsp[-2].c); ; break;} -case 68: -#line 785 "Gmsh.y" +case 69: +#line 794 "Gmsh.y" { Symbol TheSymbol; TheSymbol.Name = yyvsp[-5].c; @@ -3604,14 +3560,14 @@ case 68: Free(yyvsp[-5].c); ; break;} -case 69: -#line 802 "Gmsh.y" +case 70: +#line 811 "Gmsh.y" { Msg(WARNING, "Named string expressions not implemented yet"); ; break;} -case 70: -#line 809 "Gmsh.y" +case 71: +#line 818 "Gmsh.y" { char* (*pStrOpt)(int num, int action, char *value); StringXString *pStrCat; @@ -3626,8 +3582,8 @@ case 70: Free(yyvsp[-5].c); Free(yyvsp[-3].c); //FIXME: somtimes leak $5 ; break;} -case 71: -#line 823 "Gmsh.y" +case 72: +#line 832 "Gmsh.y" { char* (*pStrOpt)(int num, int action, char *value); StringXString *pStrCat; @@ -3642,8 +3598,8 @@ case 71: Free(yyvsp[-8].c); Free(yyvsp[-3].c); //FIXME: somtimes leak $8 ; break;} -case 72: -#line 840 "Gmsh.y" +case 73: +#line 849 "Gmsh.y" { double (*pNumOpt)(int num, int action, double value); StringXNumber *pNumCat; @@ -3670,8 +3626,8 @@ case 72: Free(yyvsp[-5].c); Free(yyvsp[-3].c); ; break;} -case 73: -#line 866 "Gmsh.y" +case 74: +#line 875 "Gmsh.y" { double (*pNumOpt)(int num, int action, double value); StringXNumber *pNumCat; @@ -3699,8 +3655,8 @@ case 73: Free(yyvsp[-8].c); Free(yyvsp[-3].c); ; break;} -case 74: -#line 893 "Gmsh.y" +case 75: +#line 902 "Gmsh.y" { double (*pNumOpt)(int num, int action, double value); StringXNumber *pNumCat; @@ -3715,8 +3671,8 @@ case 74: Free(yyvsp[-4].c); Free(yyvsp[-2].c); ; break;} -case 75: -#line 907 "Gmsh.y" +case 76: +#line 916 "Gmsh.y" { double (*pNumOpt)(int num, int action, double value); StringXNumber *pNumCat; @@ -3731,8 +3687,8 @@ case 75: Free(yyvsp[-7].c); Free(yyvsp[-2].c); ; break;} -case 76: -#line 924 "Gmsh.y" +case 77: +#line 933 "Gmsh.y" { unsigned int (*pColOpt)(int num, int action, unsigned int value); StringXColor *pColCat; @@ -3747,8 +3703,8 @@ case 76: Free(yyvsp[-7].c); Free(yyvsp[-3].c); ; break;} -case 77: -#line 938 "Gmsh.y" +case 78: +#line 947 "Gmsh.y" { unsigned int (*pColOpt)(int num, int action, unsigned int value); StringXColor *pColCat; @@ -3763,8 +3719,8 @@ case 77: Free(yyvsp[-10].c); Free(yyvsp[-3].c); ; break;} -case 78: -#line 955 "Gmsh.y" +case 79: +#line 964 "Gmsh.y" { GmshColorTable *ct = Get_ColorTable(0); if(!ct) @@ -3785,8 +3741,8 @@ case 78: List_Delete(yyvsp[-1].l); ; break;} -case 79: -#line 975 "Gmsh.y" +case 80: +#line 984 "Gmsh.y" { GmshColorTable *ct = Get_ColorTable((int)yyvsp[-6].d); if(!ct) @@ -3807,8 +3763,8 @@ case 79: List_Delete(yyvsp[-1].l); ; break;} -case 80: -#line 998 "Gmsh.y" +case 81: +#line 1007 "Gmsh.y" { try { GMSH_PluginManager::instance()->setPluginOption(yyvsp[-6].c, yyvsp[-3].c, yyvsp[-1].d); @@ -3819,8 +3775,8 @@ case 80: Free(yyvsp[-6].c); Free(yyvsp[-3].c); ; break;} -case 81: -#line 1008 "Gmsh.y" +case 82: +#line 1017 "Gmsh.y" { try { GMSH_PluginManager::instance()->setPluginOption(yyvsp[-6].c, yyvsp[-3].c, yyvsp[-1].c); @@ -3831,22 +3787,22 @@ case 81: Free(yyvsp[-6].c); Free(yyvsp[-3].c); // FIXME: sometimes leak $8 ; break;} -case 82: -#line 1023 "Gmsh.y" +case 83: +#line 1032 "Gmsh.y" { yyval.i = (int)yyvsp[0].d; ; break;} -case 83: -#line 1027 "Gmsh.y" +case 84: +#line 1036 "Gmsh.y" { yyval.i = GModel::current()->setPhysicalName(std::string(yyvsp[0].c), ++THEM->MaxPhysicalNum); Free(yyvsp[0].c); ; break;} -case 84: -#line 1040 "Gmsh.y" +case 85: +#line 1049 "Gmsh.y" { int num = (int)yyvsp[-4].d; if(FindPoint(num)){ @@ -3869,8 +3825,8 @@ case 84: yyval.s.Num = num; ; break;} -case 85: -#line 1062 "Gmsh.y" +case 86: +#line 1071 "Gmsh.y" { int num = (int)yyvsp[-4].i; if(FindPhysicalGroup(num, MSH_PHYSICAL_POINT)){ @@ -3887,8 +3843,8 @@ case 85: yyval.s.Num = num; ; break;} -case 86: -#line 1078 "Gmsh.y" +case 87: +#line 1087 "Gmsh.y" { AttractorField *att = new AttractorField(); for(int i = 0; i < List_Nbr(yyvsp[-1].l); i++){ @@ -3910,8 +3866,8 @@ case 86: yyval.s.Num = 0; ; break;} -case 87: -#line 1099 "Gmsh.y" +case 88: +#line 1108 "Gmsh.y" { fields.insert(new LatLonField(fields.get((int)yyvsp[-1].d)), (int)yyvsp[-4].d); // dummy values @@ -3919,8 +3875,8 @@ case 87: yyval.s.Num = 0; ; break;} -case 88: -#line 1106 "Gmsh.y" +case 89: +#line 1115 "Gmsh.y" { Post_View **vv = (Post_View **)List_Pointer_Test(CTX.post.list, (int)yyvsp[-1].d); if(vv) @@ -3932,8 +3888,8 @@ case 88: yyval.s.Num = 0; ; break;} -case 89: -#line 1117 "Gmsh.y" +case 90: +#line 1126 "Gmsh.y" { double pars[] = {0, CTX.lc/10, CTX.lc, CTX.lc/100, CTX.lc/20}; for(int i = 0; i < List_Nbr(yyvsp[-1].l); i++){ @@ -3949,8 +3905,8 @@ case 89: yyval.s.Num = 0; ; break;} -case 90: -#line 1132 "Gmsh.y" +case 91: +#line 1141 "Gmsh.y" { std::list<Field*> *flist = new std::list<Field*>; flist->resize(0); @@ -3966,8 +3922,8 @@ case 90: yyval.s.Num = 0; ; break;} -case 91: -#line 1147 "Gmsh.y" +case 92: +#line 1156 "Gmsh.y" { fields.insert(new StructuredField(yyvsp[-1].c), (int)yyvsp[-4].d); // dummy values @@ -3975,8 +3931,8 @@ case 91: yyval.s.Num = 0; ; break;} -case 92: -#line 1154 "Gmsh.y" +case 93: +#line 1163 "Gmsh.y" { for(int i = 0; i < List_Nbr(yyvsp[-1].l); i++){ double id; @@ -3988,8 +3944,8 @@ case 92: yyval.s.Num = 0; ; break;} -case 93: -#line 1166 "Gmsh.y" +case 94: +#line 1175 "Gmsh.y" { double pars[] = { CTX.lc/10, CTX.lc/100., CTX.lc/20, 1, 3 }; for(int i = 0; i < List_Nbr(yyvsp[-1].l); i++){ @@ -4024,8 +3980,8 @@ case 93: yyval.s.Num = 0; ; break;} -case 94: -#line 1200 "Gmsh.y" +case 95: +#line 1209 "Gmsh.y" { double pars[] = { CTX.lc/10, CTX.lc/100., CTX.lc/20, 10, 3 }; for(int i = 0; i < List_Nbr(yyvsp[-1].l); i++){ @@ -4062,8 +4018,8 @@ case 94: yyval.s.Num = 0; ; break;} -case 95: -#line 1236 "Gmsh.y" +case 96: +#line 1245 "Gmsh.y" { for(int i = 0; i < List_Nbr(yyvsp[-3].l); i++){ double d; @@ -4083,8 +4039,8 @@ case 95: yyval.s.Num = 0; ; break;} -case 96: -#line 1258 "Gmsh.y" +case 97: +#line 1267 "Gmsh.y" { int num = (int)yyvsp[-4].d; if(FindCurve(num)){ @@ -4103,8 +4059,8 @@ case 96: yyval.s.Num = num; ; break;} -case 97: -#line 1276 "Gmsh.y" +case 98: +#line 1285 "Gmsh.y" { int num = (int)yyvsp[-4].d; if(FindCurve(num)){ @@ -4123,8 +4079,8 @@ case 97: yyval.s.Num = num; ; break;} -case 98: -#line 1294 "Gmsh.y" +case 99: +#line 1303 "Gmsh.y" { int num = (int)yyvsp[-4].d; if(FindCurve(num)){ @@ -4143,8 +4099,8 @@ case 98: yyval.s.Num = num; ; break;} -case 99: -#line 1312 "Gmsh.y" +case 100: +#line 1321 "Gmsh.y" { int num = (int)yyvsp[-6].d; if(FindCurve(num)){ @@ -4171,8 +4127,8 @@ case 99: yyval.s.Num = num; ; break;} -case 100: -#line 1338 "Gmsh.y" +case 101: +#line 1347 "Gmsh.y" { int num = (int)yyvsp[-4].d; if(FindCurve(num)){ @@ -4191,8 +4147,8 @@ case 100: yyval.s.Num = num; ; break;} -case 101: -#line 1356 "Gmsh.y" +case 102: +#line 1365 "Gmsh.y" { int num = (int)yyvsp[-6].d; if(FindCurve(num)){ @@ -4219,8 +4175,8 @@ case 101: yyval.s.Num = num; ; break;} -case 102: -#line 1383 "Gmsh.y" +case 103: +#line 1392 "Gmsh.y" { int num = (int)yyvsp[-14].d; if(FindCurve(num)){ @@ -4240,8 +4196,8 @@ case 102: yyval.s.Num = num; ; break;} -case 103: -#line 1402 "Gmsh.y" +case 104: +#line 1411 "Gmsh.y" { int num = (int)yyvsp[-4].d; if(FindCurve(num)){ @@ -4260,8 +4216,8 @@ case 103: yyval.s.Num = num; ; break;} -case 104: -#line 1420 "Gmsh.y" +case 105: +#line 1429 "Gmsh.y" { int num = (int)yyvsp[-4].d; if(FindCurve(num)){ @@ -4280,8 +4236,8 @@ case 104: yyval.s.Num = num; ; break;} -case 105: -#line 1438 "Gmsh.y" +case 106: +#line 1447 "Gmsh.y" { int num = (int)yyvsp[-8].d; if(List_Nbr(yyvsp[-5].l) + (int)yyvsp[-1].d + 1 != List_Nbr(yyvsp[-3].l)){ @@ -4308,8 +4264,8 @@ case 105: yyval.s.Num = num; ; break;} -case 106: -#line 1464 "Gmsh.y" +case 107: +#line 1473 "Gmsh.y" { int num = (int)yyvsp[-4].d; if(FindEdgeLoop(num)){ @@ -4327,8 +4283,8 @@ case 106: yyval.s.Num = num; ; break;} -case 107: -#line 1481 "Gmsh.y" +case 108: +#line 1490 "Gmsh.y" { int num = (int)yyvsp[-4].i; if(FindPhysicalGroup(num, MSH_PHYSICAL_LINE)){ @@ -4345,8 +4301,8 @@ case 107: yyval.s.Num = num; ; break;} -case 108: -#line 1500 "Gmsh.y" +case 109: +#line 1509 "Gmsh.y" { int num = (int)yyvsp[-4].d; if(FindSurface(num)){ @@ -4365,8 +4321,8 @@ case 108: yyval.s.Num = num; ; break;} -case 109: -#line 1518 "Gmsh.y" +case 110: +#line 1527 "Gmsh.y" { int num = (int)yyvsp[-4].d, type = 0; if(FindSurface(num)){ @@ -4405,27 +4361,27 @@ case 109: yyval.s.Num = num; ; break;} -case 110: -#line 1556 "Gmsh.y" +case 111: +#line 1565 "Gmsh.y" { myGmshSurface = 0; ; break;} -case 111: -#line 1560 "Gmsh.y" +case 112: +#line 1569 "Gmsh.y" { myGmshSurface = gmshSurface :: surfaceByTag ( (int) yyvsp[-1].d); ; break;} -case 112: -#line 1564 "Gmsh.y" +case 113: +#line 1573 "Gmsh.y" { int num = (int)yyvsp[-6].d, type = 0; myGmshSurface = gmshParametricSurface::NewParametricSurface ((int)yyvsp[-6].d,yyvsp[-3].c,yyvsp[-2].c,yyvsp[-1].c); ; break;} -case 113: -#line 1569 "Gmsh.y" +case 114: +#line 1578 "Gmsh.y" { int num = (int)yyvsp[-4].d, type = 0; if (List_Nbr(yyvsp[-1].l) != 2){ @@ -4448,8 +4404,8 @@ case 113: } ; break;} -case 114: -#line 1591 "Gmsh.y" +case 115: +#line 1600 "Gmsh.y" { int num = (int)yyvsp[-4].d, type = 0; if (List_Nbr(yyvsp[-1].l) != 2){ @@ -4472,8 +4428,8 @@ case 114: } ; break;} -case 115: -#line 1613 "Gmsh.y" +case 116: +#line 1622 "Gmsh.y" { int num = (int)yyvsp[-4].d; if(FindSurfaceLoop(num)){ @@ -4490,8 +4446,8 @@ case 115: yyval.s.Num = num; ; break;} -case 116: -#line 1629 "Gmsh.y" +case 117: +#line 1638 "Gmsh.y" { int num = (int)yyvsp[-4].i; if(FindPhysicalGroup(num, MSH_PHYSICAL_SURFACE)){ @@ -4508,8 +4464,8 @@ case 116: yyval.s.Num = num; ; break;} -case 117: -#line 1649 "Gmsh.y" +case 118: +#line 1658 "Gmsh.y" { int num = (int)yyvsp[-4].d; if(FindVolume(num)){ @@ -4527,8 +4483,8 @@ case 117: yyval.s.Num = num; ; break;} -case 118: -#line 1666 "Gmsh.y" +case 119: +#line 1675 "Gmsh.y" { int num = (int)yyvsp[-4].d; if(FindVolume(num)){ @@ -4546,8 +4502,8 @@ case 118: yyval.s.Num = num; ; break;} -case 119: -#line 1683 "Gmsh.y" +case 120: +#line 1692 "Gmsh.y" { int num = (int)yyvsp[-4].i; if(FindPhysicalGroup(num, MSH_PHYSICAL_VOLUME)){ @@ -4564,60 +4520,85 @@ case 119: yyval.s.Num = num; ; break;} -case 120: -#line 1704 "Gmsh.y" +case 121: +#line 1713 "Gmsh.y" { TranslateShapes(yyvsp[-3].v[0], yyvsp[-3].v[1], yyvsp[-3].v[2], yyvsp[-1].l); yyval.l = yyvsp[-1].l; ; break;} -case 121: -#line 1709 "Gmsh.y" +case 122: +#line 1718 "Gmsh.y" { RotateShapes(yyvsp[-8].v[0], yyvsp[-8].v[1], yyvsp[-8].v[2], yyvsp[-6].v[0], yyvsp[-6].v[1], yyvsp[-6].v[2], yyvsp[-4].d, yyvsp[-1].l); yyval.l = yyvsp[-1].l; ; break;} -case 122: -#line 1714 "Gmsh.y" +case 123: +#line 1723 "Gmsh.y" { SymmetryShapes(yyvsp[-3].v[0], yyvsp[-3].v[1], yyvsp[-3].v[2], yyvsp[-3].v[3], yyvsp[-1].l); yyval.l = yyvsp[-1].l; ; break;} -case 123: -#line 1719 "Gmsh.y" +case 124: +#line 1728 "Gmsh.y" { DilatShapes(yyvsp[-6].v[0], yyvsp[-6].v[1], yyvsp[-6].v[2], yyvsp[-4].d, yyvsp[-1].l); yyval.l = yyvsp[-1].l; ; break;} -case 124: -#line 1726 "Gmsh.y" -{ yyval.l = yyvsp[0].l; ; - break;} case 125: -#line 1727 "Gmsh.y" -{ yyval.l = yyvsp[0].l; ; +#line 1733 "Gmsh.y" +{ + yyval.l = List_Create(3, 3, sizeof(Shape)); + for(int i = 0; i < List_Nbr(yyvsp[-1].l); i++){ + Shape TheShape; + List_Read(yyvsp[-1].l, i, &TheShape); + CopyShape(TheShape.Type, TheShape.Num, &TheShape.Num); + List_Add(yyval.l, &TheShape); + } + List_Delete(yyvsp[-1].l); + ; break;} case 126: -#line 1728 "Gmsh.y" -{ yyval.l = yyvsp[0].l; ; +#line 1744 "Gmsh.y" +{ + yyval.l = List_Create(2, 1, sizeof(Shape)); + IntersectCurvesWithSurface(yyvsp[-5].l, (int)yyvsp[-1].d, yyval.l); + List_Delete(yyvsp[-5].l); + ; break;} case 127: -#line 1733 "Gmsh.y" +#line 1750 "Gmsh.y" +{ + yyval.l = List_Create(2, 1, sizeof(Shape)); + BoundaryShapes(yyvsp[-1].l, yyval.l); + List_Delete(yyvsp[-1].l); + ; + break;} +case 128: +#line 1758 "Gmsh.y" +{ yyval.l = yyvsp[0].l; ; + break;} +case 129: +#line 1759 "Gmsh.y" +{ yyval.l = yyvsp[0].l; ; + break;} +case 130: +#line 1764 "Gmsh.y" { yyval.l = List_Create(3, 3, sizeof(Shape)); ; break;} -case 128: -#line 1737 "Gmsh.y" +case 131: +#line 1768 "Gmsh.y" { List_Add(yyval.l, &yyvsp[0].s); ; break;} -case 129: -#line 1741 "Gmsh.y" +case 132: +#line 1772 "Gmsh.y" { for(int i = 0; i < List_Nbr(yyvsp[-2].l); i++){ double d; @@ -4641,8 +4622,8 @@ case 129: } ; break;} -case 130: -#line 1764 "Gmsh.y" +case 133: +#line 1795 "Gmsh.y" { for(int i = 0; i < List_Nbr(yyvsp[-2].l); i++){ double d; @@ -4666,8 +4647,8 @@ case 130: } ; break;} -case 131: -#line 1787 "Gmsh.y" +case 134: +#line 1818 "Gmsh.y" { for(int i = 0; i < List_Nbr(yyvsp[-2].l); i++){ double d; @@ -4691,8 +4672,8 @@ case 131: } ; break;} -case 132: -#line 1810 "Gmsh.y" +case 135: +#line 1841 "Gmsh.y" { for(int i = 0; i < List_Nbr(yyvsp[-2].l); i++){ double d; @@ -4716,45 +4697,8 @@ case 132: } ; break;} -case 133: -#line 1838 "Gmsh.y" -{ - yyval.l = List_Create(3, 3, sizeof(Shape)); - for(int i = 0; i < List_Nbr(yyvsp[-1].l); i++){ - Shape TheShape; - List_Read(yyvsp[-1].l, i, &TheShape); - CopyShape(TheShape.Type, TheShape.Num, &TheShape.Num); - List_Add(yyval.l, &TheShape); - } - List_Delete(yyvsp[-1].l); - ; - break;} -case 134: -#line 1850 "Gmsh.y" -{ - if(!strcmp(yyvsp[-4].c, "View")) AliasView((int)yyvsp[-2].d, 0); - Free(yyvsp[-4].c); - yyval.l = NULL; - ; - break;} -case 135: -#line 1856 "Gmsh.y" -{ - if(!strcmp(yyvsp[-4].c, "View")) AliasView((int)yyvsp[-2].d, 0); - Free(yyvsp[-4].c); - yyval.l = NULL; - ; - break;} case 136: -#line 1862 "Gmsh.y" -{ - if(!strcmp(yyvsp[-4].c, "View")) AliasView((int)yyvsp[-2].d, 1); - Free(yyvsp[-4].c); - yyval.l = NULL; - ; - break;} -case 137: -#line 1874 "Gmsh.y" +#line 1869 "Gmsh.y" { for(int i = 0; i < List_Nbr(yyvsp[-1].l); i++){ Shape TheShape; @@ -4764,8 +4708,8 @@ case 137: List_Delete(yyvsp[-1].l); ; break;} -case 138: -#line 1883 "Gmsh.y" +case 137: +#line 1878 "Gmsh.y" { if(!strcmp(yyvsp[-4].c, "View")){ RemoveViewByIndex((int)yyvsp[-2].d); @@ -4776,8 +4720,8 @@ case 138: Free(yyvsp[-4].c); ; break;} -case 139: -#line 1893 "Gmsh.y" +case 138: +#line 1888 "Gmsh.y" { if(!strcmp(yyvsp[-1].c, "Meshes") || !strcmp(yyvsp[-1].c, "All")){ GModel::current()->destroy(); @@ -4794,8 +4738,8 @@ case 139: Free(yyvsp[-1].c); ; break;} -case 140: -#line 1909 "Gmsh.y" +case 139: +#line 1904 "Gmsh.y" { if(!strcmp(yyvsp[-2].c, "Empty") && !strcmp(yyvsp[-1].c, "Views")){ for(int i = List_Nbr(CTX.post.list) - 1; i >= 0; i--){ @@ -4810,8 +4754,8 @@ case 140: Free(yyvsp[-2].c); Free(yyvsp[-1].c); ; break;} -case 141: -#line 1928 "Gmsh.y" +case 140: +#line 1923 "Gmsh.y" { for(int i = 0; i < List_Nbr(yyvsp[-1].l); i++){ Shape TheShape; @@ -4821,24 +4765,24 @@ case 141: List_Delete(yyvsp[-1].l); ; break;} -case 142: -#line 1942 "Gmsh.y" +case 141: +#line 1937 "Gmsh.y" { for(int i = 0; i < 4; i++) VisibilityShape(yyvsp[-1].c, i, 1); Free(yyvsp[-1].c); ; break;} -case 143: -#line 1948 "Gmsh.y" +case 142: +#line 1943 "Gmsh.y" { for(int i = 0; i < 4; i++) VisibilityShape(yyvsp[-1].c, i, 0); Free(yyvsp[-1].c); ; break;} -case 144: -#line 1954 "Gmsh.y" +case 143: +#line 1949 "Gmsh.y" { for(int i = 0; i < List_Nbr(yyvsp[-1].l); i++){ Shape TheShape; @@ -4848,8 +4792,8 @@ case 144: List_Delete(yyvsp[-1].l); ; break;} -case 145: -#line 1963 "Gmsh.y" +case 144: +#line 1958 "Gmsh.y" { for(int i = 0; i < List_Nbr(yyvsp[-1].l); i++){ Shape TheShape; @@ -4859,8 +4803,8 @@ case 145: List_Delete(yyvsp[-1].l); ; break;} -case 146: -#line 1977 "Gmsh.y" +case 145: +#line 1972 "Gmsh.y" { if(!strcmp(yyvsp[-2].c, "Include")){ char tmpstring[1024]; @@ -4911,8 +4855,8 @@ case 146: Free(yyvsp[-2].c); Free(yyvsp[-1].c); ; break;} -case 147: -#line 2027 "Gmsh.y" +case 146: +#line 2022 "Gmsh.y" { if(!strcmp(yyvsp[-6].c, "Save") && !strcmp(yyvsp[-5].c, "View")){ Post_View **vv = (Post_View **)List_Pointer_Test(CTX.post.list, (int)yyvsp[-3].d); @@ -4928,8 +4872,8 @@ case 147: Free(yyvsp[-6].c); Free(yyvsp[-5].c); Free(yyvsp[-1].c); ; break;} -case 148: -#line 2042 "Gmsh.y" +case 147: +#line 2037 "Gmsh.y" { if(!strcmp(yyvsp[-6].c, "Background") && !strcmp(yyvsp[-5].c, "Mesh") && !strcmp(yyvsp[-4].c, "View")){ Post_View **vv = (Post_View **)List_Pointer_Test(CTX.post.list, (int)yyvsp[-2].d); @@ -4945,8 +4889,8 @@ case 148: Free(yyvsp[-6].c); Free(yyvsp[-5].c); Free(yyvsp[-4].c); ; break;} -case 149: -#line 2057 "Gmsh.y" +case 148: +#line 2052 "Gmsh.y" { if(!strcmp(yyvsp[-2].c, "Sleep")){ SleepInSeconds(yyvsp[-1].d); @@ -4967,8 +4911,8 @@ case 149: Free(yyvsp[-2].c); ; break;} -case 150: -#line 2077 "Gmsh.y" +case 149: +#line 2072 "Gmsh.y" { try { GMSH_PluginManager::instance()->action(yyvsp[-4].c, yyvsp[-1].c, 0); @@ -4979,8 +4923,8 @@ case 150: Free(yyvsp[-4].c); Free(yyvsp[-1].c); ; break;} -case 151: -#line 2087 "Gmsh.y" +case 150: +#line 2082 "Gmsh.y" { if(!strcmp(yyvsp[-1].c, "ElementsFromAllViews")) CombineViews(0, 1, CTX.post.combine_remove_orig); @@ -5003,36 +4947,36 @@ case 151: Free(yyvsp[-1].c); ; break;} -case 152: -#line 2109 "Gmsh.y" +case 151: +#line 2104 "Gmsh.y" { exit(0); ; break;} -case 153: -#line 2113 "Gmsh.y" +case 152: +#line 2108 "Gmsh.y" { CTX.forced_bbox = 0; SetBoundingBox(); ; break;} -case 154: -#line 2118 "Gmsh.y" +case 153: +#line 2113 "Gmsh.y" { CTX.forced_bbox = 1; SetBoundingBox(yyvsp[-12].d, yyvsp[-10].d, yyvsp[-8].d, yyvsp[-6].d, yyvsp[-4].d, yyvsp[-2].d); ; break;} -case 155: -#line 2123 "Gmsh.y" +case 154: +#line 2118 "Gmsh.y" { #if defined(HAVE_FLTK) Draw(); #endif ; break;} -case 156: -#line 2135 "Gmsh.y" +case 155: +#line 2130 "Gmsh.y" { LoopControlVariablesTab[ImbricatedLoop][0] = yyvsp[-3].d; LoopControlVariablesTab[ImbricatedLoop][1] = yyvsp[-1].d; @@ -5048,8 +4992,8 @@ case 156: if(yyvsp[-3].d > yyvsp[-1].d) skip_until("For", "EndFor"); ; break;} -case 157: -#line 2150 "Gmsh.y" +case 156: +#line 2145 "Gmsh.y" { LoopControlVariablesTab[ImbricatedLoop][0] = yyvsp[-5].d; LoopControlVariablesTab[ImbricatedLoop][1] = yyvsp[-3].d; @@ -5066,8 +5010,8 @@ case 157: skip_until("For", "EndFor"); ; break;} -case 158: -#line 2166 "Gmsh.y" +case 157: +#line 2161 "Gmsh.y" { LoopControlVariablesTab[ImbricatedLoop][0] = yyvsp[-3].d; LoopControlVariablesTab[ImbricatedLoop][1] = yyvsp[-1].d; @@ -5094,8 +5038,8 @@ case 158: if(yyvsp[-3].d > yyvsp[-1].d) skip_until("For", "EndFor"); ; break;} -case 159: -#line 2192 "Gmsh.y" +case 158: +#line 2187 "Gmsh.y" { LoopControlVariablesTab[ImbricatedLoop][0] = yyvsp[-5].d; LoopControlVariablesTab[ImbricatedLoop][1] = yyvsp[-3].d; @@ -5123,8 +5067,8 @@ case 159: skip_until("For", "EndFor"); ; break;} -case 160: -#line 2219 "Gmsh.y" +case 159: +#line 2214 "Gmsh.y" { if(ImbricatedLoop <= 0){ yymsg(GERROR, "Invalid For/EndFor loop"); @@ -5157,8 +5101,8 @@ case 160: } ; break;} -case 161: -#line 2251 "Gmsh.y" +case 160: +#line 2246 "Gmsh.y" { if(!FunctionManager::Instance()->createFunction(yyvsp[0].c, yyin, yyname, yylineno)) yymsg(GERROR, "Redefinition of function %s", yyvsp[0].c); @@ -5166,34 +5110,34 @@ case 161: //FIXME: wee leak $2 ; break;} -case 162: -#line 2258 "Gmsh.y" +case 161: +#line 2253 "Gmsh.y" { if(!FunctionManager::Instance()->leaveFunction(&yyin, yyname, yylineno)) yymsg(GERROR, "Error while exiting function"); ; break;} -case 163: -#line 2263 "Gmsh.y" +case 162: +#line 2258 "Gmsh.y" { if(!FunctionManager::Instance()->enterFunction(yyvsp[-1].c, &yyin, yyname, yylineno)) yymsg(GERROR, "Unknown function %s", yyvsp[-1].c); //FIXME: wee leak $2 ; break;} -case 164: -#line 2269 "Gmsh.y" +case 163: +#line 2264 "Gmsh.y" { if(!yyvsp[-1].d) skip_until("If", "EndIf"); ; break;} -case 165: -#line 2273 "Gmsh.y" +case 164: +#line 2268 "Gmsh.y" { ; break;} -case 166: -#line 2282 "Gmsh.y" +case 165: +#line 2277 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(TRANSLATE, yyvsp[-1].l, @@ -5202,8 +5146,8 @@ case 166: List_Delete(yyvsp[-1].l); ; break;} -case 167: -#line 2290 "Gmsh.y" +case 166: +#line 2285 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(ROTATE, yyvsp[-1].l, @@ -5212,8 +5156,8 @@ case 167: List_Delete(yyvsp[-1].l); ; break;} -case 168: -#line 2298 "Gmsh.y" +case 167: +#line 2293 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(TRANSLATE_ROTATE, yyvsp[-1].l, @@ -5222,14 +5166,14 @@ case 168: List_Delete(yyvsp[-1].l); ; break;} -case 169: -#line 2306 "Gmsh.y" +case 168: +#line 2301 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ; break;} -case 170: -#line 2310 "Gmsh.y" +case 169: +#line 2305 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(TRANSLATE, yyvsp[-3].l, @@ -5238,14 +5182,14 @@ case 170: List_Delete(yyvsp[-3].l); ; break;} -case 171: -#line 2318 "Gmsh.y" +case 170: +#line 2313 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ; break;} -case 172: -#line 2322 "Gmsh.y" +case 171: +#line 2317 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(ROTATE, yyvsp[-3].l, @@ -5254,14 +5198,14 @@ case 172: List_Delete(yyvsp[-3].l); ; break;} -case 173: -#line 2330 "Gmsh.y" +case 172: +#line 2325 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ; break;} -case 174: -#line 2334 "Gmsh.y" +case 173: +#line 2329 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(TRANSLATE_ROTATE, yyvsp[-3].l, @@ -5270,14 +5214,14 @@ case 174: List_Delete(yyvsp[-3].l); ; break;} -case 175: -#line 2342 "Gmsh.y" +case 174: +#line 2337 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ; break;} -case 176: -#line 2346 "Gmsh.y" +case 175: +#line 2341 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(BOUNDARY_LAYER, yyvsp[-3].l, 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., @@ -5285,14 +5229,14 @@ case 176: List_Delete(yyvsp[-3].l); ; break;} -case 177: -#line 2353 "Gmsh.y" +case 176: +#line 2348 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ; break;} -case 178: -#line 2357 "Gmsh.y" +case 177: +#line 2352 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(Shape)); extr.mesh.ViewIndex = (int)yyvsp[-6].d; @@ -5303,8 +5247,8 @@ case 178: List_Delete(yyvsp[-3].l); ; break;} -case 179: -#line 2369 "Gmsh.y" +case 178: +#line 2364 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_POINT, (int)yyvsp[-4].d, @@ -5312,8 +5256,8 @@ case 179: NULL, yyval.l); ; break;} -case 180: -#line 2376 "Gmsh.y" +case 179: +#line 2371 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_SEGM_LINE, (int)yyvsp[-4].d, @@ -5321,8 +5265,8 @@ case 180: NULL, yyval.l); ; break;} -case 181: -#line 2383 "Gmsh.y" +case 180: +#line 2378 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_SURF_PLAN, (int)yyvsp[-4].d, @@ -5330,8 +5274,8 @@ case 181: NULL, yyval.l); ; break;} -case 182: -#line 2390 "Gmsh.y" +case 181: +#line 2385 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_POINT, (int)yyvsp[-8].d, @@ -5339,8 +5283,8 @@ case 182: NULL, yyval.l); ; break;} -case 183: -#line 2397 "Gmsh.y" +case 182: +#line 2392 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_SEGM_LINE, (int)yyvsp[-8].d, @@ -5348,8 +5292,8 @@ case 183: NULL, yyval.l); ; break;} -case 184: -#line 2404 "Gmsh.y" +case 183: +#line 2399 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_SURF_PLAN, (int)yyvsp[-8].d, @@ -5357,8 +5301,8 @@ case 184: NULL, yyval.l); ; break;} -case 185: -#line 2411 "Gmsh.y" +case 184: +#line 2406 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_POINT, (int)yyvsp[-10].d, @@ -5366,8 +5310,8 @@ case 185: NULL, yyval.l); ; break;} -case 186: -#line 2418 "Gmsh.y" +case 185: +#line 2413 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_SEGM_LINE, (int)yyvsp[-10].d, @@ -5375,8 +5319,8 @@ case 186: NULL, yyval.l); ; break;} -case 187: -#line 2425 "Gmsh.y" +case 186: +#line 2420 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_SURF_PLAN, (int)yyvsp[-10].d, @@ -5384,14 +5328,14 @@ case 187: NULL, yyval.l); ; break;} -case 188: -#line 2432 "Gmsh.y" +case 187: +#line 2427 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ; break;} -case 189: -#line 2436 "Gmsh.y" +case 188: +#line 2431 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_POINT, (int)yyvsp[-8].d, @@ -5399,14 +5343,14 @@ case 189: &extr, yyval.l); ; break;} -case 190: -#line 2443 "Gmsh.y" +case 189: +#line 2438 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ; break;} -case 191: -#line 2447 "Gmsh.y" +case 190: +#line 2442 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_SEGM_LINE, (int)yyvsp[-8].d, @@ -5414,14 +5358,14 @@ case 191: &extr, yyval.l); ; break;} -case 192: -#line 2454 "Gmsh.y" +case 191: +#line 2449 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ; break;} -case 193: -#line 2458 "Gmsh.y" +case 192: +#line 2453 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_SURF_PLAN, (int)yyvsp[-8].d, @@ -5429,14 +5373,14 @@ case 193: &extr, yyval.l); ; break;} -case 194: -#line 2465 "Gmsh.y" +case 193: +#line 2460 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ; break;} -case 195: -#line 2469 "Gmsh.y" +case 194: +#line 2464 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_POINT, (int)yyvsp[-12].d, @@ -5444,14 +5388,14 @@ case 195: &extr, yyval.l); ; break;} -case 196: -#line 2476 "Gmsh.y" +case 195: +#line 2471 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ; break;} -case 197: -#line 2480 "Gmsh.y" +case 196: +#line 2475 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_SEGM_LINE, (int)yyvsp[-12].d, @@ -5459,14 +5403,14 @@ case 197: &extr, yyval.l); ; break;} -case 198: -#line 2487 "Gmsh.y" +case 197: +#line 2482 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ; break;} -case 199: -#line 2491 "Gmsh.y" +case 198: +#line 2486 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_SURF_PLAN, (int)yyvsp[-12].d, @@ -5474,14 +5418,14 @@ case 199: &extr, yyval.l); ; break;} -case 200: -#line 2498 "Gmsh.y" +case 199: +#line 2493 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ; break;} -case 201: -#line 2502 "Gmsh.y" +case 200: +#line 2497 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_POINT, (int)yyvsp[-14].d, @@ -5489,14 +5433,14 @@ case 201: &extr, yyval.l); ; break;} -case 202: -#line 2509 "Gmsh.y" +case 201: +#line 2504 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ; break;} -case 203: -#line 2513 "Gmsh.y" +case 202: +#line 2508 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_SEGM_LINE, (int)yyvsp[-14].d, @@ -5504,14 +5448,14 @@ case 203: &extr, yyval.l); ; break;} -case 204: -#line 2520 "Gmsh.y" +case 203: +#line 2515 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ; break;} -case 205: -#line 2524 "Gmsh.y" +case 204: +#line 2519 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_SURF_PLAN, (int)yyvsp[-14].d, @@ -5519,18 +5463,18 @@ case 205: &extr, yyval.l); ; break;} -case 206: -#line 2535 "Gmsh.y" +case 205: +#line 2530 "Gmsh.y" { ; break;} -case 207: -#line 2538 "Gmsh.y" +case 206: +#line 2533 "Gmsh.y" { ; break;} -case 208: -#line 2544 "Gmsh.y" +case 207: +#line 2539 "Gmsh.y" { extr.mesh.ExtrudeMesh = true; extr.mesh.NbLayer = 1; @@ -5540,8 +5484,8 @@ case 208: extr.mesh.hLayer.push_back(1.); ; break;} -case 209: -#line 2553 "Gmsh.y" +case 208: +#line 2548 "Gmsh.y" { double d; extr.mesh.ExtrudeMesh = true; @@ -5564,8 +5508,8 @@ case 209: List_Delete(yyvsp[-2].l); ; break;} -case 210: -#line 2575 "Gmsh.y" +case 209: +#line 2570 "Gmsh.y" { yymsg(GERROR, "Explicit region numbers in layers are deprecated"); double d; @@ -5590,14 +5534,14 @@ case 210: List_Delete(yyvsp[-2].l); ; break;} -case 211: -#line 2599 "Gmsh.y" +case 210: +#line 2594 "Gmsh.y" { extr.mesh.Recombine = true; ; break;} -case 212: -#line 2603 "Gmsh.y" +case 211: +#line 2598 "Gmsh.y" { int num = (int)yyvsp[-6].d; if(FindSurface(num)){ @@ -5617,8 +5561,8 @@ case 212: List_Delete(yyvsp[-3].l); ; break;} -case 213: -#line 2627 "Gmsh.y" +case 212: +#line 2622 "Gmsh.y" { for(int i = 0; i < List_Nbr(yyvsp[-3].l); i++){ double d; @@ -5637,8 +5581,8 @@ case 213: List_Delete(yyvsp[-3].l); ; break;} -case 214: -#line 2645 "Gmsh.y" +case 213: +#line 2640 "Gmsh.y" { for(int i = 0; i < List_Nbr(yyvsp[-6].l); i++){ double d; @@ -5657,8 +5601,8 @@ case 214: List_Delete(yyvsp[-6].l); ; break;} -case 215: -#line 2663 "Gmsh.y" +case 214: +#line 2658 "Gmsh.y" { for(int i = 0; i < List_Nbr(yyvsp[-6].l); i++){ double d; @@ -5677,8 +5621,8 @@ case 215: List_Delete(yyvsp[-6].l); ; break;} -case 216: -#line 2681 "Gmsh.y" +case 215: +#line 2676 "Gmsh.y" { Surface *s = FindSurface((int)yyvsp[-4].d); if(!s) @@ -5708,8 +5652,8 @@ case 216: List_Delete(yyvsp[-1].l); ; break;} -case 217: -#line 2710 "Gmsh.y" +case 216: +#line 2705 "Gmsh.y" { Surface *s = FindSurface((int)yyvsp[-5].d); if(!s) @@ -5745,15 +5689,15 @@ case 217: Free(yyvsp[-1].c); ; break;} -case 218: -#line 2745 "Gmsh.y" +case 217: +#line 2740 "Gmsh.y" { yymsg(WARNING, "Elliptic Surface is deprecated: use Transfinite instead (with smoothing)"); List_Delete(yyvsp[-1].l); ; break;} -case 219: -#line 2750 "Gmsh.y" +case 218: +#line 2745 "Gmsh.y" { Volume *v = FindVolume((int)yyvsp[-4].d); if(!v) @@ -5781,8 +5725,8 @@ case 219: List_Delete(yyvsp[-1].l); ; break;} -case 220: -#line 2777 "Gmsh.y" +case 219: +#line 2772 "Gmsh.y" { for(int i = 0; i < List_Nbr(yyvsp[-3].l); i++){ double d; @@ -5797,8 +5741,8 @@ case 220: List_Delete(yyvsp[-3].l); ; break;} -case 221: -#line 2791 "Gmsh.y" +case 220: +#line 2786 "Gmsh.y" { for(int i = 0; i < List_Nbr(yyvsp[-1].l); i++){ double d; @@ -5812,72 +5756,72 @@ case 221: List_Delete(yyvsp[-1].l); ; break;} -case 222: -#line 2810 "Gmsh.y" +case 221: +#line 2805 "Gmsh.y" { Surface *s = FindSurface((int)yyvsp[-2].d); if(s) setSurfaceEmbeddedPoints(s, yyvsp[-7].l); ; break;} -case 223: -#line 2816 "Gmsh.y" +case 222: +#line 2811 "Gmsh.y" { Surface *s = FindSurface((int)yyvsp[-2].d); if(s) setSurfaceEmbeddedCurves(s, yyvsp[-7].l); ; break;} -case 224: -#line 2822 "Gmsh.y" +case 223: +#line 2817 "Gmsh.y" { ; break;} -case 225: -#line 2825 "Gmsh.y" +case 224: +#line 2820 "Gmsh.y" { ; break;} -case 226: -#line 2834 "Gmsh.y" +case 225: +#line 2829 "Gmsh.y" { ReplaceAllDuplicates(); ; break;} -case 227: -#line 2843 "Gmsh.y" +case 226: +#line 2838 "Gmsh.y" { yyval.d = yyvsp[0].d; ; break;} -case 228: -#line 2844 "Gmsh.y" +case 227: +#line 2839 "Gmsh.y" { yyval.d = yyvsp[-1].d; ; break;} -case 229: -#line 2845 "Gmsh.y" +case 228: +#line 2840 "Gmsh.y" { yyval.d = -yyvsp[0].d; ; break;} -case 230: -#line 2846 "Gmsh.y" +case 229: +#line 2841 "Gmsh.y" { yyval.d = yyvsp[0].d; ; break;} -case 231: -#line 2847 "Gmsh.y" +case 230: +#line 2842 "Gmsh.y" { yyval.d = !yyvsp[0].d; ; break;} -case 232: -#line 2848 "Gmsh.y" +case 231: +#line 2843 "Gmsh.y" { yyval.d = yyvsp[-2].d - yyvsp[0].d; ; break;} -case 233: -#line 2849 "Gmsh.y" +case 232: +#line 2844 "Gmsh.y" { yyval.d = yyvsp[-2].d + yyvsp[0].d; ; break;} -case 234: -#line 2850 "Gmsh.y" +case 233: +#line 2845 "Gmsh.y" { yyval.d = yyvsp[-2].d * yyvsp[0].d; ; break;} -case 235: -#line 2852 "Gmsh.y" +case 234: +#line 2847 "Gmsh.y" { if(!yyvsp[0].d) yymsg(GERROR, "Division by zero in '%g / %g'", yyvsp[-2].d, yyvsp[0].d); @@ -5885,248 +5829,248 @@ case 235: yyval.d = yyvsp[-2].d / yyvsp[0].d; ; break;} -case 236: -#line 2858 "Gmsh.y" +case 235: +#line 2853 "Gmsh.y" { yyval.d = (int)yyvsp[-2].d % (int)yyvsp[0].d; ; break;} -case 237: -#line 2859 "Gmsh.y" +case 236: +#line 2854 "Gmsh.y" { yyval.d = pow(yyvsp[-2].d, yyvsp[0].d); ; break;} -case 238: -#line 2860 "Gmsh.y" +case 237: +#line 2855 "Gmsh.y" { yyval.d = yyvsp[-2].d < yyvsp[0].d; ; break;} -case 239: -#line 2861 "Gmsh.y" +case 238: +#line 2856 "Gmsh.y" { yyval.d = yyvsp[-2].d > yyvsp[0].d; ; break;} -case 240: -#line 2862 "Gmsh.y" +case 239: +#line 2857 "Gmsh.y" { yyval.d = yyvsp[-2].d <= yyvsp[0].d; ; break;} -case 241: -#line 2863 "Gmsh.y" +case 240: +#line 2858 "Gmsh.y" { yyval.d = yyvsp[-2].d >= yyvsp[0].d; ; break;} -case 242: -#line 2864 "Gmsh.y" +case 241: +#line 2859 "Gmsh.y" { yyval.d = yyvsp[-2].d == yyvsp[0].d; ; break;} -case 243: -#line 2865 "Gmsh.y" +case 242: +#line 2860 "Gmsh.y" { yyval.d = yyvsp[-2].d != yyvsp[0].d; ; break;} -case 244: -#line 2866 "Gmsh.y" +case 243: +#line 2861 "Gmsh.y" { yyval.d = yyvsp[-2].d && yyvsp[0].d; ; break;} -case 245: -#line 2867 "Gmsh.y" +case 244: +#line 2862 "Gmsh.y" { yyval.d = yyvsp[-2].d || yyvsp[0].d; ; break;} -case 246: -#line 2868 "Gmsh.y" +case 245: +#line 2863 "Gmsh.y" { yyval.d = yyvsp[-4].d? yyvsp[-2].d : yyvsp[0].d; ; break;} -case 247: -#line 2869 "Gmsh.y" +case 246: +#line 2864 "Gmsh.y" { yyval.d = exp(yyvsp[-1].d); ; break;} -case 248: -#line 2870 "Gmsh.y" +case 247: +#line 2865 "Gmsh.y" { yyval.d = log(yyvsp[-1].d); ; break;} -case 249: -#line 2871 "Gmsh.y" +case 248: +#line 2866 "Gmsh.y" { yyval.d = log10(yyvsp[-1].d); ; break;} -case 250: -#line 2872 "Gmsh.y" +case 249: +#line 2867 "Gmsh.y" { yyval.d = sqrt(yyvsp[-1].d); ; break;} -case 251: -#line 2873 "Gmsh.y" +case 250: +#line 2868 "Gmsh.y" { yyval.d = sin(yyvsp[-1].d); ; break;} -case 252: -#line 2874 "Gmsh.y" +case 251: +#line 2869 "Gmsh.y" { yyval.d = asin(yyvsp[-1].d); ; break;} -case 253: -#line 2875 "Gmsh.y" +case 252: +#line 2870 "Gmsh.y" { yyval.d = cos(yyvsp[-1].d); ; break;} -case 254: -#line 2876 "Gmsh.y" +case 253: +#line 2871 "Gmsh.y" { yyval.d = acos(yyvsp[-1].d); ; break;} -case 255: -#line 2877 "Gmsh.y" +case 254: +#line 2872 "Gmsh.y" { yyval.d = tan(yyvsp[-1].d); ; break;} -case 256: -#line 2878 "Gmsh.y" +case 255: +#line 2873 "Gmsh.y" { yyval.d = atan(yyvsp[-1].d); ; break;} -case 257: -#line 2879 "Gmsh.y" +case 256: +#line 2874 "Gmsh.y" { yyval.d = atan2(yyvsp[-3].d, yyvsp[-1].d);; break;} -case 258: -#line 2880 "Gmsh.y" +case 257: +#line 2875 "Gmsh.y" { yyval.d = sinh(yyvsp[-1].d); ; break;} -case 259: -#line 2881 "Gmsh.y" +case 258: +#line 2876 "Gmsh.y" { yyval.d = cosh(yyvsp[-1].d); ; break;} -case 260: -#line 2882 "Gmsh.y" +case 259: +#line 2877 "Gmsh.y" { yyval.d = tanh(yyvsp[-1].d); ; break;} -case 261: -#line 2883 "Gmsh.y" +case 260: +#line 2878 "Gmsh.y" { yyval.d = fabs(yyvsp[-1].d); ; break;} -case 262: -#line 2884 "Gmsh.y" +case 261: +#line 2879 "Gmsh.y" { yyval.d = floor(yyvsp[-1].d); ; break;} -case 263: -#line 2885 "Gmsh.y" +case 262: +#line 2880 "Gmsh.y" { yyval.d = ceil(yyvsp[-1].d); ; break;} +case 263: +#line 2881 "Gmsh.y" +{ yyval.d = fmod(yyvsp[-3].d, yyvsp[-1].d); ; + break;} case 264: -#line 2886 "Gmsh.y" +#line 2882 "Gmsh.y" { yyval.d = fmod(yyvsp[-3].d, yyvsp[-1].d); ; break;} case 265: -#line 2887 "Gmsh.y" -{ yyval.d = fmod(yyvsp[-3].d, yyvsp[-1].d); ; +#line 2883 "Gmsh.y" +{ yyval.d = sqrt(yyvsp[-3].d*yyvsp[-3].d+yyvsp[-1].d*yyvsp[-1].d); ; break;} case 266: -#line 2888 "Gmsh.y" -{ yyval.d = sqrt(yyvsp[-3].d*yyvsp[-3].d+yyvsp[-1].d*yyvsp[-1].d); ; +#line 2884 "Gmsh.y" +{ yyval.d = yyvsp[-1].d*(double)rand()/(double)RAND_MAX; ; break;} case 267: -#line 2889 "Gmsh.y" -{ yyval.d = yyvsp[-1].d*(double)rand()/(double)RAND_MAX; ; +#line 2886 "Gmsh.y" +{ yyval.d = exp(yyvsp[-1].d); ; break;} case 268: -#line 2891 "Gmsh.y" -{ yyval.d = exp(yyvsp[-1].d); ; +#line 2887 "Gmsh.y" +{ yyval.d = log(yyvsp[-1].d); ; break;} case 269: -#line 2892 "Gmsh.y" -{ yyval.d = log(yyvsp[-1].d); ; +#line 2888 "Gmsh.y" +{ yyval.d = log10(yyvsp[-1].d); ; break;} case 270: -#line 2893 "Gmsh.y" -{ yyval.d = log10(yyvsp[-1].d); ; +#line 2889 "Gmsh.y" +{ yyval.d = sqrt(yyvsp[-1].d); ; break;} case 271: -#line 2894 "Gmsh.y" -{ yyval.d = sqrt(yyvsp[-1].d); ; +#line 2890 "Gmsh.y" +{ yyval.d = sin(yyvsp[-1].d); ; break;} case 272: -#line 2895 "Gmsh.y" -{ yyval.d = sin(yyvsp[-1].d); ; +#line 2891 "Gmsh.y" +{ yyval.d = asin(yyvsp[-1].d); ; break;} case 273: -#line 2896 "Gmsh.y" -{ yyval.d = asin(yyvsp[-1].d); ; +#line 2892 "Gmsh.y" +{ yyval.d = cos(yyvsp[-1].d); ; break;} case 274: -#line 2897 "Gmsh.y" -{ yyval.d = cos(yyvsp[-1].d); ; +#line 2893 "Gmsh.y" +{ yyval.d = acos(yyvsp[-1].d); ; break;} case 275: -#line 2898 "Gmsh.y" -{ yyval.d = acos(yyvsp[-1].d); ; +#line 2894 "Gmsh.y" +{ yyval.d = tan(yyvsp[-1].d); ; break;} case 276: -#line 2899 "Gmsh.y" -{ yyval.d = tan(yyvsp[-1].d); ; +#line 2895 "Gmsh.y" +{ yyval.d = atan(yyvsp[-1].d); ; break;} case 277: -#line 2900 "Gmsh.y" -{ yyval.d = atan(yyvsp[-1].d); ; +#line 2896 "Gmsh.y" +{ yyval.d = atan2(yyvsp[-3].d, yyvsp[-1].d);; break;} case 278: -#line 2901 "Gmsh.y" -{ yyval.d = atan2(yyvsp[-3].d, yyvsp[-1].d);; +#line 2897 "Gmsh.y" +{ yyval.d = sinh(yyvsp[-1].d); ; break;} case 279: -#line 2902 "Gmsh.y" -{ yyval.d = sinh(yyvsp[-1].d); ; +#line 2898 "Gmsh.y" +{ yyval.d = cosh(yyvsp[-1].d); ; break;} case 280: -#line 2903 "Gmsh.y" -{ yyval.d = cosh(yyvsp[-1].d); ; +#line 2899 "Gmsh.y" +{ yyval.d = tanh(yyvsp[-1].d); ; break;} case 281: -#line 2904 "Gmsh.y" -{ yyval.d = tanh(yyvsp[-1].d); ; +#line 2900 "Gmsh.y" +{ yyval.d = fabs(yyvsp[-1].d); ; break;} case 282: -#line 2905 "Gmsh.y" -{ yyval.d = fabs(yyvsp[-1].d); ; +#line 2901 "Gmsh.y" +{ yyval.d = floor(yyvsp[-1].d); ; break;} case 283: -#line 2906 "Gmsh.y" -{ yyval.d = floor(yyvsp[-1].d); ; +#line 2902 "Gmsh.y" +{ yyval.d = ceil(yyvsp[-1].d); ; break;} case 284: -#line 2907 "Gmsh.y" -{ yyval.d = ceil(yyvsp[-1].d); ; +#line 2903 "Gmsh.y" +{ yyval.d = fmod(yyvsp[-3].d, yyvsp[-1].d); ; break;} case 285: -#line 2908 "Gmsh.y" +#line 2904 "Gmsh.y" { yyval.d = fmod(yyvsp[-3].d, yyvsp[-1].d); ; break;} case 286: -#line 2909 "Gmsh.y" -{ yyval.d = fmod(yyvsp[-3].d, yyvsp[-1].d); ; +#line 2905 "Gmsh.y" +{ yyval.d = sqrt(yyvsp[-3].d*yyvsp[-3].d+yyvsp[-1].d*yyvsp[-1].d); ; break;} case 287: -#line 2910 "Gmsh.y" -{ yyval.d = sqrt(yyvsp[-3].d*yyvsp[-3].d+yyvsp[-1].d*yyvsp[-1].d); ; +#line 2906 "Gmsh.y" +{ yyval.d = yyvsp[-1].d*(double)rand()/(double)RAND_MAX; ; break;} case 288: -#line 2911 "Gmsh.y" -{ yyval.d = yyvsp[-1].d*(double)rand()/(double)RAND_MAX; ; +#line 2915 "Gmsh.y" +{ yyval.d = yyvsp[0].d; ; break;} case 289: -#line 2920 "Gmsh.y" -{ yyval.d = yyvsp[0].d; ; +#line 2916 "Gmsh.y" +{ yyval.d = 3.141592653589793; ; break;} case 290: -#line 2921 "Gmsh.y" -{ yyval.d = 3.141592653589793; ; +#line 2917 "Gmsh.y" +{ yyval.d = ParUtil::Instance()->rank(); ; break;} case 291: -#line 2922 "Gmsh.y" -{ yyval.d = ParUtil::Instance()->rank(); ; +#line 2918 "Gmsh.y" +{ yyval.d = ParUtil::Instance()->size(); ; break;} case 292: -#line 2923 "Gmsh.y" -{ yyval.d = ParUtil::Instance()->size(); ; +#line 2919 "Gmsh.y" +{ yyval.d = Get_GmshMajorVersion(); ; break;} case 293: -#line 2924 "Gmsh.y" -{ yyval.d = Get_GmshMajorVersion(); ; +#line 2920 "Gmsh.y" +{ yyval.d = Get_GmshMinorVersion(); ; break;} case 294: -#line 2925 "Gmsh.y" -{ yyval.d = Get_GmshMinorVersion(); ; +#line 2921 "Gmsh.y" +{ yyval.d = Get_GmshPatchVersion(); ; break;} case 295: #line 2926 "Gmsh.y" -{ yyval.d = Get_GmshPatchVersion(); ; - break;} -case 296: -#line 2931 "Gmsh.y" { Symbol TheSymbol; TheSymbol.Name = yyvsp[0].c; @@ -6140,8 +6084,8 @@ case 296: Free(yyvsp[0].c); ; break;} -case 297: -#line 2947 "Gmsh.y" +case 296: +#line 2942 "Gmsh.y" { char tmpstring[1024]; sprintf(tmpstring, "%s_%d", yyvsp[-4].c, (int)yyvsp[-1].d) ; @@ -6157,8 +6101,8 @@ case 297: Free(yyvsp[-4].c); ; break;} -case 298: -#line 2962 "Gmsh.y" +case 297: +#line 2957 "Gmsh.y" { Symbol TheSymbol; TheSymbol.Name = yyvsp[-3].c; @@ -6179,8 +6123,8 @@ case 298: Free(yyvsp[-3].c); ; break;} -case 299: -#line 2982 "Gmsh.y" +case 298: +#line 2977 "Gmsh.y" { Symbol TheSymbol; TheSymbol.Name = yyvsp[-2].c; @@ -6195,8 +6139,8 @@ case 299: Free(yyvsp[-2].c); ; break;} -case 300: -#line 2996 "Gmsh.y" +case 299: +#line 2991 "Gmsh.y" { Symbol TheSymbol; TheSymbol.Name = yyvsp[-1].c; @@ -6210,8 +6154,8 @@ case 300: Free(yyvsp[-1].c); ; break;} -case 301: -#line 3009 "Gmsh.y" +case 300: +#line 3004 "Gmsh.y" { Symbol TheSymbol; TheSymbol.Name = yyvsp[-4].c; @@ -6232,8 +6176,8 @@ case 301: Free(yyvsp[-4].c); ; break;} -case 302: -#line 3032 "Gmsh.y" +case 301: +#line 3027 "Gmsh.y" { double (*pNumOpt)(int num, int action, double value); StringXNumber *pNumCat; @@ -6252,8 +6196,8 @@ case 302: Free(yyvsp[-2].c); Free(yyvsp[0].c); ; break;} -case 303: -#line 3050 "Gmsh.y" +case 302: +#line 3045 "Gmsh.y" { double (*pNumOpt)(int num, int action, double value); StringXNumber *pNumCat; @@ -6272,8 +6216,8 @@ case 303: Free(yyvsp[-5].c); Free(yyvsp[0].c); ; break;} -case 304: -#line 3068 "Gmsh.y" +case 303: +#line 3063 "Gmsh.y" { double (*pNumOpt)(int num, int action, double value); StringXNumber *pNumCat; @@ -6292,8 +6236,8 @@ case 304: Free(yyvsp[-3].c); Free(yyvsp[-1].c); ; break;} -case 305: -#line 3086 "Gmsh.y" +case 304: +#line 3081 "Gmsh.y" { double (*pNumOpt)(int num, int action, double value); StringXNumber *pNumCat; @@ -6312,108 +6256,108 @@ case 305: Free(yyvsp[-6].c); Free(yyvsp[-1].c); ; break;} -case 306: -#line 3104 "Gmsh.y" +case 305: +#line 3099 "Gmsh.y" { yyval.d = GetValue(yyvsp[-3].c, yyvsp[-1].d); Free(yyvsp[-3].c); ; break;} -case 307: -#line 3112 "Gmsh.y" +case 306: +#line 3107 "Gmsh.y" { memcpy(yyval.v, yyvsp[0].v, 5*sizeof(double)); ; break;} -case 308: -#line 3116 "Gmsh.y" +case 307: +#line 3111 "Gmsh.y" { for(int i = 0; i < 5; i++) yyval.v[i] = -yyvsp[0].v[i]; ; break;} -case 309: -#line 3120 "Gmsh.y" +case 308: +#line 3115 "Gmsh.y" { for(int i = 0; i < 5; i++) yyval.v[i] = yyvsp[0].v[i]; ; break;} -case 310: -#line 3124 "Gmsh.y" +case 309: +#line 3119 "Gmsh.y" { for(int i = 0; i < 5; i++) yyval.v[i] = yyvsp[-2].v[i] - yyvsp[0].v[i]; ; break;} -case 311: -#line 3128 "Gmsh.y" +case 310: +#line 3123 "Gmsh.y" { for(int i = 0; i < 5; i++) yyval.v[i] = yyvsp[-2].v[i] + yyvsp[0].v[i]; ; break;} -case 312: -#line 3135 "Gmsh.y" +case 311: +#line 3130 "Gmsh.y" { yyval.v[0] = yyvsp[-9].d; yyval.v[1] = yyvsp[-7].d; yyval.v[2] = yyvsp[-5].d; yyval.v[3] = yyvsp[-3].d; yyval.v[4] = yyvsp[-1].d; ; break;} -case 313: -#line 3139 "Gmsh.y" +case 312: +#line 3134 "Gmsh.y" { yyval.v[0] = yyvsp[-7].d; yyval.v[1] = yyvsp[-5].d; yyval.v[2] = yyvsp[-3].d; yyval.v[3] = yyvsp[-1].d; yyval.v[4] = 1.0; ; break;} -case 314: -#line 3143 "Gmsh.y" +case 313: +#line 3138 "Gmsh.y" { yyval.v[0] = yyvsp[-5].d; yyval.v[1] = yyvsp[-3].d; yyval.v[2] = yyvsp[-1].d; yyval.v[3] = 0.0; yyval.v[4] = 1.0; ; break;} -case 315: -#line 3147 "Gmsh.y" +case 314: +#line 3142 "Gmsh.y" { yyval.v[0] = yyvsp[-5].d; yyval.v[1] = yyvsp[-3].d; yyval.v[2] = yyvsp[-1].d; yyval.v[3] = 0.0; yyval.v[4] = 1.0; ; break;} -case 316: -#line 3154 "Gmsh.y" +case 315: +#line 3149 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(List_T*)); List_Add(yyval.l, &(yyvsp[0].l)); ; break;} -case 317: -#line 3159 "Gmsh.y" +case 316: +#line 3154 "Gmsh.y" { List_Add(yyval.l, &(yyvsp[0].l)); ; break;} -case 318: -#line 3167 "Gmsh.y" +case 317: +#line 3162 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(double)); List_Add(yyval.l, &(yyvsp[0].d)); ; break;} -case 319: -#line 3172 "Gmsh.y" +case 318: +#line 3167 "Gmsh.y" { yyval.l = yyvsp[0].l; ; break;} -case 320: -#line 3176 "Gmsh.y" +case 319: +#line 3171 "Gmsh.y" { // creates an empty list yyval.l = List_Create(2, 1, sizeof(double)); ; break;} -case 321: -#line 3181 "Gmsh.y" +case 320: +#line 3176 "Gmsh.y" { yyval.l = yyvsp[-1].l; ; break;} -case 322: -#line 3185 "Gmsh.y" +case 321: +#line 3180 "Gmsh.y" { yyval.l = yyvsp[-1].l; for(int i = 0; i < List_Nbr(yyval.l); i++){ @@ -6422,8 +6366,8 @@ case 322: } ; break;} -case 323: -#line 3193 "Gmsh.y" +case 322: +#line 3188 "Gmsh.y" { yyval.l = yyvsp[-1].l; for(int i = 0; i < List_Nbr(yyval.l); i++){ @@ -6432,8 +6376,8 @@ case 323: } ; break;} -case 324: -#line 3204 "Gmsh.y" +case 323: +#line 3199 "Gmsh.y" { yyval.l = yyvsp[0].l; for(int i = 0; i < List_Nbr(yyval.l); i++){ @@ -6442,8 +6386,8 @@ case 324: } ; break;} -case 325: -#line 3212 "Gmsh.y" +case 324: +#line 3207 "Gmsh.y" { yyval.l = yyvsp[0].l; for(int i = 0; i < List_Nbr(yyval.l); i++){ @@ -6452,16 +6396,16 @@ case 325: } ; break;} -case 326: -#line 3220 "Gmsh.y" +case 325: +#line 3215 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(double)); for(double d = yyvsp[-2].d; (yyvsp[-2].d < yyvsp[0].d) ? (d <= yyvsp[0].d) : (d >= yyvsp[0].d); (yyvsp[-2].d < yyvsp[0].d) ? (d += 1.) : (d -= 1.)) List_Add(yyval.l, &d); ; break;} -case 327: -#line 3226 "Gmsh.y" +case 326: +#line 3221 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(double)); if(!yyvsp[0].d || (yyvsp[-4].d < yyvsp[-2].d && yyvsp[0].d < 0) || (yyvsp[-4].d > yyvsp[-2].d && yyvsp[0].d > 0)){ @@ -6473,8 +6417,8 @@ case 327: List_Add(yyval.l, &d); ; break;} -case 328: -#line 3237 "Gmsh.y" +case 327: +#line 3232 "Gmsh.y" { // Returns the coordinates of a point and fills a list with it. // This allows to ensure e.g. that relative point positions are @@ -6482,7 +6426,7 @@ case 328: Vertex *v = FindPoint((int)yyvsp[-1].d); yyval.l = List_Create(3, 1, sizeof(double)); if(!v) { - yymsg(GERROR, "Unknown point '%d'", (int) yyvsp[-1].d); + yymsg(GERROR, "Unknown point '%d'", (int)yyvsp[-1].d); double d = 0.0; List_Add(yyval.l, &d); List_Add(yyval.l, &d); @@ -6495,27 +6439,8 @@ case 328: } ; break;} -case 329: -#line 3257 "Gmsh.y" -{ - yyval.l = List_Create(3, 1, sizeof(double)); - IntersectCurvesWithSurface(yyvsp[-5].l, (int)yyvsp[-1].d, yyval.l); - ; - break;} -case 330: -#line 3262 "Gmsh.y" -{ - yyval.l = List_Create(List_Nbr(yyvsp[0].l), 1, sizeof(double)); - for(int i = 0; i < List_Nbr(yyvsp[0].l); i++){ - Shape *s = (Shape*) List_Pointer(yyvsp[0].l, i); - double d = s->Num; - List_Add(yyval.l, &d); - } - List_Delete(yyvsp[0].l); - ; - break;} -case 331: -#line 3272 "Gmsh.y" +case 328: +#line 3252 "Gmsh.y" { yyval.l = List_Create(List_Nbr(yyvsp[0].l), 1, sizeof(double)); for(int i = 0; i < List_Nbr(yyvsp[0].l); i++){ @@ -6526,8 +6451,8 @@ case 331: List_Delete(yyvsp[0].l); ; break;} -case 332: -#line 3282 "Gmsh.y" +case 329: +#line 3262 "Gmsh.y" { yyval.l = List_Create(List_Nbr(yyvsp[0].l), 1, sizeof(double)); for(int i = 0; i < List_Nbr(yyvsp[0].l); i++){ @@ -6538,8 +6463,8 @@ case 332: List_Delete(yyvsp[0].l); ; break;} -case 333: -#line 3292 "Gmsh.y" +case 330: +#line 3272 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(double)); Symbol TheSymbol; @@ -6557,8 +6482,8 @@ case 333: Free(yyvsp[-2].c); ; break;} -case 334: -#line 3309 "Gmsh.y" +case 331: +#line 3289 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(double)); Symbol TheSymbol; @@ -6583,27 +6508,27 @@ case 334: List_Delete(yyvsp[-2].l); ; break;} -case 335: -#line 3336 "Gmsh.y" +case 332: +#line 3316 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(double)); List_Add(yyval.l, &(yyvsp[0].d)); ; break;} -case 336: -#line 3341 "Gmsh.y" +case 333: +#line 3321 "Gmsh.y" { yyval.l = yyvsp[0].l; ; break;} -case 337: -#line 3345 "Gmsh.y" +case 334: +#line 3325 "Gmsh.y" { List_Add(yyval.l, &(yyvsp[0].d)); ; break;} -case 338: -#line 3349 "Gmsh.y" +case 335: +#line 3329 "Gmsh.y" { for(int i = 0; i < List_Nbr(yyvsp[0].l); i++){ double d; @@ -6613,20 +6538,20 @@ case 338: List_Delete(yyvsp[0].l); ; break;} -case 339: -#line 3362 "Gmsh.y" +case 336: +#line 3342 "Gmsh.y" { yyval.u = CTX.PACK_COLOR((int)yyvsp[-7].d, (int)yyvsp[-5].d, (int)yyvsp[-3].d, (int)yyvsp[-1].d); ; break;} -case 340: -#line 3366 "Gmsh.y" +case 337: +#line 3346 "Gmsh.y" { yyval.u = CTX.PACK_COLOR((int)yyvsp[-5].d, (int)yyvsp[-3].d, (int)yyvsp[-1].d, 255); ; break;} -case 341: -#line 3378 "Gmsh.y" +case 338: +#line 3358 "Gmsh.y" { int flag; yyval.u = Get_ColorForString(ColorString, -1, yyvsp[0].c, &flag); @@ -6634,8 +6559,8 @@ case 341: Free(yyvsp[0].c); ; break;} -case 342: -#line 3385 "Gmsh.y" +case 339: +#line 3365 "Gmsh.y" { unsigned int (*pColOpt)(int num, int action, unsigned int value); StringXColor *pColCat; @@ -6655,14 +6580,14 @@ case 342: Free(yyvsp[-4].c); Free(yyvsp[0].c); ; break;} -case 343: -#line 3407 "Gmsh.y" +case 340: +#line 3387 "Gmsh.y" { yyval.l = yyvsp[-1].l; ; break;} -case 344: -#line 3411 "Gmsh.y" +case 341: +#line 3391 "Gmsh.y" { yyval.l = List_Create(256, 10, sizeof(unsigned int)); GmshColorTable *ct = Get_ColorTable((int)yyvsp[-3].d); @@ -6675,39 +6600,39 @@ case 344: Free(yyvsp[-5].c); ; break;} -case 345: -#line 3426 "Gmsh.y" +case 342: +#line 3406 "Gmsh.y" { yyval.l = List_Create(256, 10, sizeof(unsigned int)); List_Add(yyval.l, &(yyvsp[0].u)); ; break;} -case 346: -#line 3431 "Gmsh.y" +case 343: +#line 3411 "Gmsh.y" { List_Add(yyval.l, &(yyvsp[0].u)); ; break;} -case 347: -#line 3438 "Gmsh.y" +case 344: +#line 3418 "Gmsh.y" { yyval.c = yyvsp[0].c; ; break;} -case 348: -#line 3442 "Gmsh.y" +case 345: +#line 3422 "Gmsh.y" { Msg(WARNING, "Named string expressions not implemented yet"); ; break;} -case 349: -#line 3449 "Gmsh.y" +case 346: +#line 3429 "Gmsh.y" { yyval.c = yyvsp[0].c; ; break;} -case 350: -#line 3453 "Gmsh.y" +case 347: +#line 3433 "Gmsh.y" { yyval.c = (char *)Malloc(32*sizeof(char)); time_t now; @@ -6716,8 +6641,8 @@ case 350: yyval.c[strlen(yyval.c) - 1] = '\0'; ; break;} -case 351: -#line 3461 "Gmsh.y" +case 348: +#line 3441 "Gmsh.y" { yyval.c = (char *)Malloc((strlen(yyvsp[-3].c)+strlen(yyvsp[-1].c)+1)*sizeof(char)); strcpy(yyval.c, yyvsp[-3].c); @@ -6726,8 +6651,8 @@ case 351: Free(yyvsp[-1].c); ; break;} -case 352: -#line 3469 "Gmsh.y" +case 349: +#line 3449 "Gmsh.y" { yyval.c = (char *)Malloc((strlen(yyvsp[-1].c)+1)*sizeof(char)); int i; @@ -6742,8 +6667,8 @@ case 352: Free(yyvsp[-1].c); ; break;} -case 353: -#line 3483 "Gmsh.y" +case 350: +#line 3463 "Gmsh.y" { yyval.c = (char *)Malloc((strlen(yyvsp[-1].c)+1)*sizeof(char)); int i; @@ -6758,14 +6683,14 @@ case 353: Free(yyvsp[-1].c); ; break;} -case 354: -#line 3497 "Gmsh.y" +case 351: +#line 3477 "Gmsh.y" { yyval.c = yyvsp[-1].c; ; break;} -case 355: -#line 3501 "Gmsh.y" +case 352: +#line 3481 "Gmsh.y" { char tmpstring[1024]; int i = PrintListOfDouble(yyvsp[-3].c, yyvsp[-1].l, tmpstring); @@ -6785,8 +6710,8 @@ case 355: List_Delete(yyvsp[-1].l); ; break;} -case 356: -#line 3520 "Gmsh.y" +case 353: +#line 3500 "Gmsh.y" { char* (*pStrOpt)(int num, int action, char *value); StringXString *pStrCat; @@ -6809,8 +6734,8 @@ case 356: } ; break;} -case 357: -#line 3542 "Gmsh.y" +case 354: +#line 3522 "Gmsh.y" { char* (*pStrOpt)(int num, int action, char *value); StringXString *pStrCat; @@ -7055,7 +6980,7 @@ yyerrhandle: } return 1; } -#line 3565 "Gmsh.y" +#line 3545 "Gmsh.y" void DeleteSymbol(void *a, void *b){ diff --git a/Parser/Gmsh.tab.hpp b/Parser/Gmsh.tab.hpp index 71d9f8d0ca7af90f9130e56dc47f22909184d501..55b22ceb95655ac5fb493f9880ab8862b8b7b0ae 100644 --- a/Parser/Gmsh.tab.hpp +++ b/Parser/Gmsh.tab.hpp @@ -80,58 +80,59 @@ typedef union { #define tDelete 327 #define tCoherence 328 #define tIntersect 329 -#define tAttractor 330 -#define tLayers 331 -#define tHole 332 -#define tAlias 333 -#define tAliasWithOptions 334 -#define tText2D 335 -#define tText3D 336 -#define tInterpolationScheme 337 -#define tTime 338 -#define tGrain 339 -#define tCombine 340 -#define tBSpline 341 -#define tBezier 342 -#define tNurbs 343 -#define tOrder 344 -#define tKnots 345 -#define tColor 346 -#define tColorTable 347 -#define tFor 348 -#define tIn 349 -#define tEndFor 350 -#define tIf 351 -#define tEndIf 352 -#define tExit 353 -#define tField 354 -#define tThreshold 355 -#define tStructured 356 -#define tLatLon 357 -#define tGrad 358 -#define tPostView 359 -#define tReturn 360 -#define tCall 361 -#define tFunction 362 -#define tShow 363 -#define tHide 364 -#define tGetValue 365 -#define tGMSH_MAJOR_VERSION 366 -#define tGMSH_MINOR_VERSION 367 -#define tGMSH_PATCH_VERSION 368 -#define tAFFECTPLUS 369 -#define tAFFECTMINUS 370 -#define tAFFECTTIMES 371 -#define tAFFECTDIVIDE 372 -#define tOR 373 -#define tAND 374 -#define tEQUAL 375 -#define tNOTEQUAL 376 -#define tLESSOREQUAL 377 -#define tGREATEROREQUAL 378 -#define tPLUSPLUS 379 -#define tMINUSMINUS 380 -#define UNARYPREC 381 +#define tBoundary 330 +#define tAttractor 331 +#define tLayers 332 +#define tHole 333 +#define tAlias 334 +#define tAliasWithOptions 335 +#define tText2D 336 +#define tText3D 337 +#define tInterpolationScheme 338 +#define tTime 339 +#define tGrain 340 +#define tCombine 341 +#define tBSpline 342 +#define tBezier 343 +#define tNurbs 344 +#define tOrder 345 +#define tKnots 346 +#define tColor 347 +#define tColorTable 348 +#define tFor 349 +#define tIn 350 +#define tEndFor 351 +#define tIf 352 +#define tEndIf 353 +#define tExit 354 +#define tField 355 +#define tThreshold 356 +#define tStructured 357 +#define tLatLon 358 +#define tGrad 359 +#define tPostView 360 +#define tReturn 361 +#define tCall 362 +#define tFunction 363 +#define tShow 364 +#define tHide 365 +#define tGetValue 366 +#define tGMSH_MAJOR_VERSION 367 +#define tGMSH_MINOR_VERSION 368 +#define tGMSH_PATCH_VERSION 369 +#define tAFFECTPLUS 370 +#define tAFFECTMINUS 371 +#define tAFFECTTIMES 372 +#define tAFFECTDIVIDE 373 +#define tOR 374 +#define tAND 375 +#define tEQUAL 376 +#define tNOTEQUAL 377 +#define tLESSOREQUAL 378 +#define tGREATEROREQUAL 379 +#define tPLUSPLUS 380 +#define tMINUSMINUS 381 +#define UNARYPREC 382 extern YYSTYPE yylval; diff --git a/Parser/Gmsh.y b/Parser/Gmsh.y index fa63472a7c4272e6bdb8f6d58c35215fbebca744..57dc05f75e38be63e12eabe237281c341108128d 100644 --- a/Parser/Gmsh.y +++ b/Parser/Gmsh.y @@ -1,5 +1,5 @@ %{ -// $Id: Gmsh.y,v 1.282 2007-08-27 19:27:03 geuzaine Exp $ +// $Id: Gmsh.y,v 1.283 2007-09-05 10:11:31 geuzaine Exp $ // // Copyright (C) 1997-2007 C. Geuzaine, J.-F. Remacle // @@ -99,7 +99,7 @@ int CheckViewErrorFlags(Post_View *v); %token tPlane tRuled tTransfinite tComplex tPhysical %token tUsing tBump tProgression tPlugin %token tRotate tTranslate tSymmetry tDilate tExtrude tDuplicata -%token tLoop tRecombine tDelete tCoherence tIntersect +%token tLoop tRecombine tDelete tCoherence tIntersect tBoundary %token tAttractor tLayers tHole tAlias tAliasWithOptions %token tText2D tText3D tInterpolationScheme tTime tGrain tCombine %token tBSpline tBezier tNurbs tOrder tKnots @@ -116,7 +116,7 @@ int CheckViewErrorFlags(Post_View *v); %type <l> FExpr_Multi ListOfDouble RecursiveListOfDouble %type <l> RecursiveListOfListOfDouble %type <l> ListOfColor RecursiveListOfColor -%type <l> ListOfShapes Duplicata Transform Extrude MultipleShape +%type <l> ListOfShapes Transform Extrude MultipleShape %type <s> Shape // Operators (with ascending priority): cf. C language @@ -159,7 +159,6 @@ GeoFormatItem : | Affectation { return 1; } | Shape { return 1; } | Transform { List_Delete($1); return 1; } - | Duplicata { List_Delete($1); return 1; } | Delete { return 1; } | Colorify { return 1; } | Visibility { return 1; } @@ -259,6 +258,16 @@ View : } Free($1); Free($2); Free($3); } + | tAlias tSTRING '[' FExpr ']' tEND + { + if(!strcmp($2, "View")) AliasView((int)$4, 0); + Free($2); + } + | tAliasWithOptions tSTRING '[' FExpr ']' tEND + { + if(!strcmp($2, "View")) AliasView((int)$4, 1); + Free($2); + } ; Views : @@ -1710,7 +1719,7 @@ Transform : RotateShapes($3[0], $3[1], $3[2], $5[0], $5[1], $5[2], $7, $10); $$ = $10; } - | tSymmetry VExpr '{' MultipleShape '}' + | tSymmetry VExpr '{' MultipleShape '}' { SymmetryShapes($2[0], $2[1], $2[2], $2[3], $4); $$ = $4; @@ -1720,11 +1729,33 @@ Transform : DilatShapes($3[0], $3[1], $3[2], $5, $8); $$ = $8; } + | tDuplicata '{' MultipleShape '}' + { + $$ = List_Create(3, 3, sizeof(Shape)); + for(int i = 0; i < List_Nbr($3); i++){ + Shape TheShape; + List_Read($3, i, &TheShape); + CopyShape(TheShape.Type, TheShape.Num, &TheShape.Num); + List_Add($$, &TheShape); + } + List_Delete($3); + } + | tIntersect tLine '{' RecursiveListOfDouble '}' tSurface '{' FExpr '}' + { + $$ = List_Create(2, 1, sizeof(Shape)); + IntersectCurvesWithSurface($4, (int)$8, $$); + List_Delete($4); + } + | tBoundary '{' MultipleShape '}' + { + $$ = List_Create(2, 1, sizeof(Shape)); + BoundaryShapes($3, $$); + List_Delete($3); + } ; MultipleShape : - Duplicata { $$ = $1; } - | ListOfShapes { $$ = $1; } + ListOfShapes { $$ = $1; } | Transform { $$ = $1; } ; @@ -1831,42 +1862,6 @@ ListOfShapes : } ; -// D U P L I C A T A - -Duplicata : - tDuplicata '{' ListOfShapes '}' - { - $$ = List_Create(3, 3, sizeof(Shape)); - for(int i = 0; i < List_Nbr($3); i++){ - Shape TheShape; - List_Read($3, i, &TheShape); - CopyShape(TheShape.Type, TheShape.Num, &TheShape.Num); - List_Add($$, &TheShape); - } - List_Delete($3); - } - // for backward compatibility: - | tDuplicata tSTRING '[' FExpr ']' tEND - { - if(!strcmp($2, "View")) AliasView((int)$4, 0); - Free($2); - $$ = NULL; - } - | tAlias tSTRING '[' FExpr ']' tEND - { - if(!strcmp($2, "View")) AliasView((int)$4, 0); - Free($2); - $$ = NULL; - } - | tAliasWithOptions tSTRING '[' FExpr ']' tEND - { - if(!strcmp($2, "View")) AliasView((int)$4, 1); - Free($2); - $$ = NULL; - } -; - - // D E L E T E Delete : @@ -3241,7 +3236,7 @@ FExpr_Multi : Vertex *v = FindPoint((int)$3); $$ = List_Create(3, 1, sizeof(double)); if(!v) { - yymsg(GERROR, "Unknown point '%d'", (int) $3); + yymsg(GERROR, "Unknown point '%d'", (int)$3); double d = 0.0; List_Add($$, &d); List_Add($$, &d); @@ -3253,11 +3248,6 @@ FExpr_Multi : List_Add($$, &v->Pos.Z); } } - | tIntersect tLine '{' RecursiveListOfDouble '}' tSurface '{' FExpr '}' - { - $$ = List_Create(3, 1, sizeof(double)); - IntersectCurvesWithSurface($4, (int)$8, $$); - } | Transform { $$ = List_Create(List_Nbr($1), 1, sizeof(double)); @@ -3268,16 +3258,6 @@ FExpr_Multi : } List_Delete($1); } - | Duplicata - { - $$ = 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)); diff --git a/Parser/Gmsh.yy.cpp b/Parser/Gmsh.yy.cpp index b16a18e2827764fec62342a30a3ecd759d8dcab8..188787106032ae9c6928d71e55f2612964fba913 100644 --- a/Parser/Gmsh.yy.cpp +++ b/Parser/Gmsh.yy.cpp @@ -2,7 +2,7 @@ /* A lexical scanner generated by flex */ /* Scanner skeleton version: - * $Header: /cvsroot/gmsh/Parser/Gmsh.yy.cpp,v 1.327 2007-09-04 13:47:04 remacle Exp $ + * $Header: /cvsroot/gmsh/Parser/Gmsh.yy.cpp,v 1.328 2007-09-05 10:11:31 geuzaine Exp $ */ #define FLEX_SCANNER @@ -283,80 +283,81 @@ static void yy_fatal_error YY_PROTO(( yyconst char msg[] )); *yy_cp = '\0'; \ yy_c_buf_p = yy_cp; -#define YY_NUM_RULES 149 -#define YY_END_OF_BUFFER 150 -static yyconst short int yy_accept[641] = +#define YY_NUM_RULES 150 +#define YY_END_OF_BUFFER 151 +static yyconst short int yy_accept[644] = { 0, - 0, 0, 150, 148, 1, 1, 148, 5, 148, 6, - 148, 148, 148, 148, 148, 143, 20, 2, 148, 15, - 148, 147, 147, 147, 147, 147, 147, 147, 147, 147, - 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, - 147, 147, 147, 148, 27, 23, 18, 24, 16, 25, - 17, 0, 145, 3, 4, 19, 144, 143, 0, 28, - 26, 29, 147, 147, 147, 147, 147, 147, 147, 147, - 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, - 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, - 147, 147, 147, 147, 147, 147, 147, 147, 147, 86, - - 85, 147, 147, 147, 147, 147, 147, 147, 147, 147, - 147, 147, 102, 147, 147, 147, 147, 147, 147, 147, - 147, 147, 147, 147, 147, 147, 147, 138, 139, 147, - 147, 147, 147, 147, 147, 147, 147, 22, 21, 0, - 144, 0, 0, 146, 147, 147, 147, 147, 147, 147, - 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, - 147, 147, 147, 50, 147, 147, 147, 147, 147, 147, - 147, 147, 62, 147, 147, 147, 147, 147, 75, 147, - 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, - 147, 147, 147, 147, 93, 147, 147, 147, 147, 147, - - 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, - 147, 147, 147, 147, 147, 147, 117, 147, 147, 147, - 147, 147, 147, 147, 147, 132, 147, 147, 147, 147, - 147, 147, 0, 145, 0, 0, 144, 30, 147, 147, - 147, 147, 34, 36, 147, 147, 147, 147, 42, 57, - 147, 45, 147, 147, 147, 147, 147, 147, 147, 49, - 147, 147, 61, 147, 147, 147, 147, 147, 70, 147, - 71, 147, 147, 74, 147, 147, 147, 147, 78, 82, - 83, 147, 147, 147, 147, 147, 147, 147, 91, 147, - 92, 147, 147, 147, 147, 147, 147, 147, 147, 147, - - 147, 147, 147, 147, 147, 114, 147, 147, 147, 147, - 128, 118, 147, 147, 147, 116, 147, 147, 147, 147, - 147, 147, 141, 131, 147, 147, 147, 147, 147, 10, - 9, 8, 147, 12, 14, 0, 144, 32, 147, 147, - 147, 38, 147, 147, 147, 147, 147, 147, 147, 147, - 53, 147, 147, 147, 147, 147, 147, 147, 147, 68, - 147, 147, 72, 73, 147, 147, 142, 147, 84, 147, - 147, 88, 147, 147, 147, 94, 147, 147, 147, 99, - 100, 147, 147, 103, 147, 104, 147, 147, 105, 147, - 147, 147, 147, 147, 113, 147, 147, 147, 147, 147, - - 147, 147, 147, 147, 147, 134, 147, 135, 147, 11, - 147, 13, 147, 31, 35, 37, 147, 147, 41, 147, - 147, 147, 46, 147, 147, 147, 147, 147, 58, 59, - 147, 147, 147, 67, 147, 147, 147, 147, 147, 147, - 147, 147, 89, 95, 90, 147, 147, 96, 147, 147, - 110, 147, 147, 109, 147, 147, 115, 112, 119, 120, - 147, 124, 147, 147, 147, 147, 147, 147, 147, 147, - 136, 7, 147, 39, 147, 43, 147, 147, 147, 147, - 147, 48, 52, 147, 147, 64, 147, 147, 147, 65, - 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, - - 147, 147, 147, 147, 147, 123, 147, 147, 147, 121, - 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, - 147, 147, 147, 63, 66, 147, 76, 147, 147, 147, - 77, 147, 147, 97, 98, 147, 101, 147, 137, 147, - 147, 147, 147, 147, 122, 147, 147, 147, 147, 40, - 147, 147, 147, 47, 147, 147, 60, 69, 147, 147, - 147, 147, 87, 147, 147, 147, 111, 125, 147, 147, - 133, 147, 130, 147, 147, 56, 147, 54, 147, 147, - 147, 147, 147, 107, 147, 147, 147, 127, 147, 147, - 44, 147, 55, 147, 147, 147, 147, 108, 106, 126, - - 129, 147, 147, 147, 147, 147, 147, 147, 147, 147, - 147, 147, 147, 147, 51, 147, 147, 147, 147, 147, - 147, 147, 147, 147, 33, 147, 147, 147, 147, 147, - 147, 147, 147, 79, 80, 81, 147, 147, 140, 0 + 0, 0, 151, 149, 1, 1, 149, 5, 149, 6, + 149, 149, 149, 149, 149, 144, 20, 2, 149, 15, + 149, 148, 148, 148, 148, 148, 148, 148, 148, 148, + 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, + 148, 148, 148, 149, 27, 23, 18, 24, 16, 25, + 17, 0, 146, 3, 4, 19, 145, 144, 0, 28, + 26, 29, 148, 148, 148, 148, 148, 148, 148, 148, + 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, + 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, + 148, 148, 148, 148, 148, 148, 148, 148, 148, 87, + + 86, 148, 148, 148, 148, 148, 148, 148, 148, 148, + 148, 148, 103, 148, 148, 148, 148, 148, 148, 148, + 148, 148, 148, 148, 148, 148, 148, 139, 140, 148, + 148, 148, 148, 148, 148, 148, 148, 22, 21, 0, + 145, 0, 0, 147, 148, 148, 148, 148, 148, 148, + 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, + 148, 148, 148, 51, 148, 148, 148, 148, 148, 148, + 148, 148, 63, 148, 148, 148, 148, 148, 76, 148, + 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, + 148, 148, 148, 148, 94, 148, 148, 148, 148, 148, + + 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, + 148, 148, 148, 148, 148, 148, 118, 148, 148, 148, + 148, 148, 148, 148, 148, 133, 148, 148, 148, 148, + 148, 148, 0, 146, 0, 0, 145, 30, 148, 148, + 148, 148, 34, 36, 148, 148, 148, 148, 43, 58, + 148, 46, 148, 148, 148, 148, 148, 148, 148, 50, + 148, 148, 62, 148, 148, 148, 148, 148, 71, 148, + 72, 148, 148, 75, 148, 148, 148, 148, 79, 83, + 84, 148, 148, 148, 148, 148, 148, 148, 92, 148, + 93, 148, 148, 148, 148, 148, 148, 148, 148, 148, + + 148, 148, 148, 148, 148, 115, 148, 148, 148, 148, + 129, 119, 148, 148, 148, 117, 148, 148, 148, 148, + 148, 148, 142, 132, 148, 148, 148, 148, 148, 10, + 9, 8, 148, 12, 14, 0, 145, 32, 148, 148, + 148, 38, 148, 148, 148, 148, 148, 148, 148, 148, + 54, 148, 148, 148, 148, 148, 148, 148, 148, 69, + 148, 148, 73, 74, 148, 148, 143, 148, 85, 148, + 148, 89, 148, 148, 148, 95, 148, 148, 148, 100, + 101, 148, 148, 104, 148, 105, 148, 148, 106, 148, + 148, 148, 148, 148, 114, 148, 148, 148, 148, 148, + + 148, 148, 148, 148, 148, 135, 148, 136, 148, 11, + 148, 13, 148, 31, 35, 37, 148, 148, 41, 148, + 148, 148, 148, 47, 148, 148, 148, 148, 148, 59, + 60, 148, 148, 148, 68, 148, 148, 148, 148, 148, + 148, 148, 148, 90, 96, 91, 148, 148, 97, 148, + 148, 111, 148, 148, 110, 148, 148, 116, 113, 120, + 121, 148, 125, 148, 148, 148, 148, 148, 148, 148, + 148, 137, 7, 148, 39, 148, 44, 148, 148, 148, + 148, 148, 148, 49, 53, 148, 148, 65, 148, 148, + 148, 66, 148, 148, 148, 148, 148, 148, 148, 148, + + 148, 148, 148, 148, 148, 148, 148, 124, 148, 148, + 148, 122, 148, 148, 148, 148, 148, 148, 42, 148, + 148, 148, 148, 148, 148, 148, 64, 67, 148, 77, + 148, 148, 148, 78, 148, 148, 98, 99, 148, 102, + 148, 138, 148, 148, 148, 148, 148, 123, 148, 148, + 148, 148, 40, 148, 148, 148, 48, 148, 148, 61, + 70, 148, 148, 148, 148, 88, 148, 148, 148, 112, + 126, 148, 148, 134, 148, 131, 148, 148, 57, 148, + 55, 148, 148, 148, 148, 148, 108, 148, 148, 148, + 128, 148, 148, 45, 148, 56, 148, 148, 148, 148, + + 109, 107, 127, 130, 148, 148, 148, 148, 148, 148, + 148, 148, 148, 148, 148, 148, 148, 52, 148, 148, + 148, 148, 148, 148, 148, 148, 148, 33, 148, 148, + 148, 148, 148, 148, 148, 148, 80, 81, 82, 148, + 148, 141, 0 } ; static yyconst int yy_ec[256] = @@ -403,157 +404,157 @@ static yyconst int yy_meta[73] = 2, 1 } ; -static yyconst short int yy_base[642] = +static yyconst short int yy_base[645] = { 0, - 0, 0, 762, 763, 763, 763, 740, 763, 754, 763, - 738, 64, 65, 63, 75, 77, 763, 763, 737, 736, - 735, 46, 48, 65, 66, 65, 80, 67, 45, 90, - 0, 696, 92, 46, 688, 690, 101, 94, 108, 135, - 688, 691, 699, 677, 763, 763, 763, 763, 763, 763, - 763, 737, 170, 763, 763, 763, 177, 192, 201, 763, - 763, 763, 0, 687, 691, 696, 689, 106, 682, 671, - 675, 682, 79, 684, 691, 674, 166, 679, 678, 687, - 672, 675, 681, 681, 170, 681, 677, 667, 666, 662, - 665, 682, 699, 656, 673, 669, 661, 656, 674, 0, - - 650, 654, 102, 654, 653, 115, 680, 660, 646, 658, - 644, 636, 0, 35, 172, 121, 646, 32, 639, 646, - 642, 642, 184, 637, 636, 635, 639, 0, 0, 661, - 636, 631, 643, 645, 636, 633, 621, 763, 763, 235, - 240, 249, 255, 260, 624, 640, 171, 627, 626, 621, - 626, 627, 622, 619, 622, 620, 620, 613, 626, 623, - 613, 140, 609, 617, 619, 622, 600, 610, 611, 149, - 608, 599, 0, 600, 598, 604, 600, 609, 0, 609, - 627, 625, 611, 604, 602, 601, 591, 623, 598, 583, - 613, 595, 592, 593, 629, 581, 595, 574, 591, 587, - - 590, 572, 576, 581, 574, 585, 566, 579, 570, 575, - 577, 566, 559, 577, 572, 554, 567, 569, 564, 563, - 552, 254, 564, 557, 587, 559, 561, 564, 551, 550, - 542, 232, 269, 287, 296, 301, 308, 0, 543, 546, - 550, 557, 0, 588, 555, 546, 549, 549, 0, 0, - 532, 0, 550, 539, 532, 531, 538, 535, 541, 0, - 525, 524, 0, 533, 526, 526, 533, 529, 0, 517, - 0, 532, 518, 0, 515, 533, 542, 530, 0, 0, - 0, 511, 535, 511, 509, 512, 508, 505, 0, 556, - 0, 159, 511, 503, 503, 507, 509, 512, 507, 496, - - 497, 515, 495, 492, 493, 0, 497, 491, 488, 502, - 0, 0, 488, 491, 490, 0, 501, 484, 495, 496, - 497, 492, 0, 0, 478, 471, 476, 486, 480, 0, - 480, 0, 485, 478, 0, 313, 318, 489, 469, 473, - 472, 0, 481, 470, 465, 472, 469, 476, 473, 472, - 480, 462, 469, 464, 467, 466, 467, 168, 452, 0, - 464, 463, 0, 0, 457, 199, 0, 454, 0, 472, - 445, 0, 449, 443, 452, 0, 458, 449, 443, 0, - 0, 451, 452, 0, 441, 0, 458, 443, 0, 445, - 445, 447, 435, 442, 0, 441, 440, 425, 424, 437, - - 430, 421, 436, 419, 429, 0, 284, 0, 431, 0, - 428, 0, 425, 0, 0, 464, 413, 426, 0, 417, - 418, 409, 0, 414, 425, 420, 401, 410, 0, 0, - 421, 191, 412, 0, 411, 414, 404, 134, 440, 396, - 424, 409, 0, 0, 0, 400, 387, 0, 392, 409, - 0, 394, 403, 0, 389, 397, 0, 0, 0, 0, - 399, 0, 398, 402, 382, 396, 383, 385, 389, 396, - 0, 0, 377, 0, 381, 0, 387, 399, 387, 388, - 388, 0, 0, 388, 369, 0, 369, 383, 384, 0, - 371, 397, 392, 385, 375, 391, 375, 367, 371, 358, - - 363, 365, 350, 353, 357, 0, 360, 349, 350, 0, - 342, 354, 351, 344, 354, 344, 382, 345, 341, 352, - 345, 336, 353, 0, 0, 340, 0, 361, 360, 371, - 0, 372, 329, 0, 0, 338, 0, 341, 0, 336, - 339, 320, 333, 336, 0, 336, 330, 333, 346, 0, - 322, 323, 325, 0, 328, 327, 0, 0, 337, 336, - 345, 332, 0, 324, 309, 311, 0, 0, 303, 319, - 0, 303, 0, 306, 297, 0, 301, 0, 300, 317, - 316, 315, 329, 0, 308, 299, 306, 0, 305, 290, - 0, 289, 0, 309, 308, 307, 313, 0, 0, 0, - - 0, 294, 293, 320, 319, 318, 308, 283, 293, 300, - 299, 298, 291, 260, 0, 267, 266, 257, 256, 226, - 257, 256, 249, 253, 0, 224, 223, 202, 192, 166, - 143, 123, 106, 0, 0, 0, 88, 86, 0, 763, - 96 + 0, 0, 765, 766, 766, 766, 743, 766, 757, 766, + 741, 64, 65, 63, 75, 77, 766, 766, 740, 739, + 738, 46, 48, 65, 66, 65, 80, 67, 45, 90, + 0, 699, 92, 46, 691, 693, 101, 94, 108, 135, + 691, 694, 702, 680, 766, 766, 766, 766, 766, 766, + 766, 740, 170, 766, 766, 766, 177, 192, 201, 766, + 766, 766, 0, 690, 694, 699, 692, 106, 685, 674, + 678, 685, 79, 687, 694, 677, 166, 682, 681, 690, + 675, 678, 684, 684, 170, 684, 680, 670, 669, 665, + 668, 685, 702, 659, 676, 672, 664, 659, 677, 0, + + 653, 657, 102, 657, 656, 115, 683, 663, 649, 661, + 647, 639, 0, 35, 172, 121, 649, 32, 642, 649, + 645, 645, 184, 640, 639, 638, 642, 0, 0, 664, + 639, 634, 646, 648, 639, 636, 624, 766, 766, 235, + 240, 249, 255, 260, 627, 643, 171, 630, 629, 624, + 629, 630, 625, 622, 625, 623, 623, 616, 629, 626, + 616, 140, 612, 620, 622, 625, 603, 613, 614, 149, + 611, 602, 0, 603, 601, 607, 603, 612, 0, 612, + 630, 628, 614, 607, 605, 604, 594, 626, 601, 586, + 616, 598, 595, 596, 632, 584, 598, 577, 594, 590, + + 593, 575, 579, 584, 577, 588, 569, 582, 573, 578, + 580, 569, 562, 580, 575, 557, 570, 572, 567, 566, + 555, 254, 567, 560, 590, 562, 564, 567, 554, 553, + 545, 232, 269, 287, 296, 301, 308, 0, 546, 549, + 553, 560, 0, 591, 558, 549, 552, 552, 0, 0, + 535, 0, 553, 542, 535, 534, 541, 538, 544, 0, + 528, 527, 0, 536, 529, 529, 536, 532, 0, 520, + 0, 535, 521, 0, 518, 536, 545, 533, 0, 0, + 0, 514, 538, 514, 512, 515, 511, 508, 0, 559, + 0, 159, 514, 506, 506, 510, 512, 515, 510, 499, + + 500, 518, 498, 495, 496, 0, 500, 494, 491, 505, + 0, 0, 491, 494, 493, 0, 504, 487, 498, 499, + 500, 495, 0, 0, 481, 474, 479, 489, 483, 0, + 483, 0, 488, 481, 0, 313, 318, 492, 472, 476, + 475, 0, 484, 473, 468, 110, 473, 480, 477, 476, + 484, 466, 473, 468, 471, 470, 471, 168, 456, 0, + 468, 467, 0, 0, 461, 199, 0, 458, 0, 476, + 449, 0, 453, 447, 456, 0, 462, 453, 447, 0, + 0, 455, 456, 0, 445, 0, 462, 447, 0, 449, + 449, 451, 439, 446, 0, 445, 444, 429, 428, 441, + + 434, 425, 440, 423, 433, 0, 284, 0, 435, 0, + 432, 0, 429, 0, 0, 468, 417, 430, 0, 417, + 420, 421, 412, 0, 417, 428, 423, 404, 413, 0, + 0, 424, 191, 415, 0, 414, 417, 407, 257, 443, + 399, 427, 412, 0, 0, 0, 403, 390, 0, 395, + 412, 0, 397, 406, 0, 392, 400, 0, 0, 0, + 0, 402, 0, 401, 405, 385, 399, 386, 388, 392, + 399, 0, 0, 380, 0, 384, 0, 373, 389, 401, + 389, 390, 390, 0, 0, 390, 371, 0, 371, 385, + 386, 0, 373, 399, 394, 387, 377, 393, 377, 369, + + 373, 360, 365, 367, 352, 355, 359, 0, 362, 351, + 352, 0, 344, 356, 353, 346, 356, 346, 0, 384, + 347, 343, 354, 347, 338, 355, 0, 0, 342, 0, + 363, 362, 373, 0, 374, 331, 0, 0, 340, 0, + 343, 0, 338, 341, 322, 335, 338, 0, 338, 332, + 335, 348, 0, 324, 325, 327, 0, 330, 329, 0, + 0, 339, 338, 347, 334, 0, 326, 311, 313, 0, + 0, 305, 321, 0, 305, 0, 308, 299, 0, 303, + 0, 302, 319, 318, 317, 331, 0, 310, 301, 308, + 0, 307, 292, 0, 291, 0, 311, 310, 309, 315, + + 0, 0, 0, 0, 296, 295, 322, 321, 320, 310, + 285, 295, 303, 302, 300, 293, 279, 0, 296, 278, + 267, 266, 234, 266, 259, 256, 253, 0, 224, 223, + 202, 192, 166, 143, 123, 106, 0, 0, 0, 88, + 86, 0, 766, 96 } ; -static yyconst short int yy_def[642] = +static yyconst short int yy_def[645] = { 0, - 640, 1, 640, 640, 640, 640, 640, 640, 640, 640, - 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, - 640, 641, 641, 641, 641, 641, 641, 641, 641, 641, - 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, - 641, 641, 641, 640, 640, 640, 640, 640, 640, 640, - 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, - 640, 640, 641, 641, 641, 641, 641, 641, 641, 641, - 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, - 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, - 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, - - 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, - 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, - 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, - 641, 641, 641, 641, 641, 641, 641, 640, 640, 640, - 640, 640, 640, 640, 641, 641, 641, 641, 641, 641, - 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, - 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, - 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, - 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, - 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, - - 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, - 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, - 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, - 641, 641, 640, 640, 640, 640, 640, 641, 641, 641, - 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, - 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, - 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, - 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, - 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, - 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, - - 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, - 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, - 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, - 641, 641, 641, 641, 641, 640, 640, 641, 641, 641, - 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, - 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, - 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, - 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, - 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, - 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, - - 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, - 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, - 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, - 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, - 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, - 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, - 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, - 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, - 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, - 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, - - 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, - 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, - 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, - 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, - 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, - 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, - 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, - 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, - 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, - 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, - - 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, - 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, - 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, - 641, 641, 641, 641, 641, 641, 641, 641, 641, 0, - 640 + 643, 1, 643, 643, 643, 643, 643, 643, 643, 643, + 643, 643, 643, 643, 643, 643, 643, 643, 643, 643, + 643, 644, 644, 644, 644, 644, 644, 644, 644, 644, + 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, + 644, 644, 644, 643, 643, 643, 643, 643, 643, 643, + 643, 643, 643, 643, 643, 643, 643, 643, 643, 643, + 643, 643, 644, 644, 644, 644, 644, 644, 644, 644, + 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, + 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, + 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, + + 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, + 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, + 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, + 644, 644, 644, 644, 644, 644, 644, 643, 643, 643, + 643, 643, 643, 643, 644, 644, 644, 644, 644, 644, + 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, + 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, + 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, + 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, + 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, + + 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, + 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, + 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, + 644, 644, 643, 643, 643, 643, 643, 644, 644, 644, + 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, + 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, + 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, + 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, + 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, + 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, + + 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, + 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, + 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, + 644, 644, 644, 644, 644, 643, 643, 644, 644, 644, + 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, + 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, + 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, + 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, + 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, + 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, + + 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, + 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, + 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, + 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, + 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, + 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, + 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, + 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, + 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, + 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, + + 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, + 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, + 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, + 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, + 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, + 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, + 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, + 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, + 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, + 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, + + 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, + 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, + 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, + 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, + 644, 644, 0, 643 } ; -static yyconst short int yy_nxt[836] = +static yyconst short int yy_nxt[839] = { 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 16, 16, 16, 16, 17, 18, 19, @@ -567,89 +568,89 @@ static yyconst short int yy_nxt[836] = 58, 58, 58, 58, 64, 56, 213, 63, 70, 96, 204, 92, 65, 59, 97, 108, 93, 71, 66, 67, - 68, 73, 639, 72, 98, 74, 78, 94, 75, 76, - 79, 82, 638, 83, 77, 99, 86, 59, 80, 95, - 84, 81, 637, 85, 87, 155, 88, 89, 103, 90, + 68, 73, 642, 72, 98, 74, 78, 94, 75, 76, + 79, 82, 641, 83, 77, 99, 86, 59, 80, 95, + 84, 81, 640, 85, 87, 155, 88, 89, 103, 90, 117, 100, 104, 156, 118, 91, 105, 111, 101, 128, - 129, 106, 149, 119, 112, 113, 492, 114, 636, 120, - 115, 121, 122, 116, 493, 130, 191, 195, 123, 124, - 150, 192, 125, 126, 196, 209, 266, 127, 635, 267, + 129, 106, 149, 119, 112, 113, 420, 114, 639, 120, + 115, 121, 122, 116, 421, 130, 191, 195, 123, 124, + 150, 192, 125, 126, 196, 209, 266, 127, 638, 267, 210, 131, 53, 53, 53, 53, 53, 257, 132, 141, 141, 141, 141, 141, 133, 240, 140, 134, 377, 378, - 258, 634, 57, 142, 58, 58, 58, 58, 58, 143, + 258, 637, 57, 142, 58, 58, 58, 58, 58, 143, 143, 241, 242, 144, 144, 144, 144, 144, 59, 160, - 140, 633, 161, 162, 172, 163, 205, 142, 206, 164, - 173, 432, 433, 438, 174, 207, 439, 218, 632, 208, - 219, 486, 59, 233, 233, 487, 220, 234, 234, 234, - 234, 234, 141, 141, 141, 141, 141, 236, 236, 631, - 630, 237, 237, 237, 237, 237, 235, 144, 144, 144, - 144, 144, 144, 144, 144, 144, 144, 629, 317, 628, - 330, 234, 234, 234, 234, 234, 627, 626, 331, 625, - 235, 318, 332, 319, 333, 334, 624, 623, 335, 234, - - 234, 234, 234, 234, 336, 336, 622, 621, 337, 337, - 337, 337, 337, 237, 237, 237, 237, 237, 620, 320, + 140, 636, 161, 162, 172, 163, 205, 142, 206, 164, + 173, 433, 434, 439, 174, 207, 440, 218, 635, 208, + 219, 488, 59, 233, 233, 489, 220, 234, 234, 234, + 234, 234, 141, 141, 141, 141, 141, 236, 236, 634, + 633, 237, 237, 237, 237, 237, 235, 144, 144, 144, + 144, 144, 144, 144, 144, 144, 144, 632, 317, 494, + 330, 234, 234, 234, 234, 234, 631, 495, 331, 630, + 235, 318, 332, 319, 333, 334, 629, 628, 335, 234, + + 234, 234, 234, 234, 336, 336, 627, 626, 337, 337, + 337, 337, 337, 237, 237, 237, 237, 237, 625, 320, 237, 237, 237, 237, 237, 337, 337, 337, 337, 337, - 337, 337, 337, 337, 337, 469, 619, 618, 617, 616, - 470, 615, 614, 613, 612, 611, 610, 609, 608, 607, - 606, 605, 604, 603, 602, 601, 600, 599, 598, 597, - 596, 595, 594, 593, 592, 591, 590, 589, 588, 587, - 586, 585, 584, 583, 582, 581, 580, 579, 578, 577, - 576, 575, 574, 573, 572, 571, 570, 569, 568, 567, - 566, 565, 564, 563, 562, 561, 560, 559, 558, 557, - - 556, 555, 554, 553, 552, 551, 550, 549, 548, 547, - 546, 545, 544, 543, 542, 541, 540, 539, 538, 537, - 536, 535, 534, 533, 532, 531, 530, 529, 528, 527, - 526, 525, 524, 523, 522, 521, 520, 519, 518, 517, - 516, 515, 514, 513, 512, 511, 510, 509, 508, 507, - 506, 505, 504, 503, 502, 501, 500, 499, 498, 497, - 496, 495, 494, 491, 490, 489, 488, 485, 484, 483, - 482, 481, 480, 479, 478, 477, 476, 475, 474, 473, - 472, 471, 468, 467, 466, 465, 464, 463, 462, 461, - 460, 459, 458, 457, 456, 455, 454, 453, 452, 451, - - 450, 449, 448, 447, 446, 445, 444, 443, 442, 441, - 440, 437, 436, 435, 434, 431, 430, 429, 428, 427, - 426, 425, 424, 423, 422, 421, 420, 419, 418, 417, - 416, 415, 414, 413, 412, 411, 410, 409, 408, 407, - 406, 405, 404, 403, 402, 401, 400, 399, 398, 397, - 396, 395, 394, 393, 392, 391, 390, 389, 388, 387, - 386, 385, 384, 383, 382, 381, 380, 379, 376, 375, - 374, 373, 372, 371, 370, 369, 368, 367, 366, 365, - 364, 363, 362, 361, 360, 359, 358, 357, 356, 355, - 354, 353, 352, 351, 350, 349, 348, 347, 346, 345, - - 344, 343, 342, 341, 340, 339, 338, 329, 328, 327, - 326, 325, 324, 323, 322, 321, 316, 315, 314, 313, - 312, 311, 310, 309, 308, 307, 306, 305, 304, 303, - 302, 301, 300, 299, 298, 297, 296, 295, 294, 293, - 292, 291, 290, 289, 288, 287, 286, 285, 284, 283, - 282, 281, 280, 279, 278, 277, 276, 275, 274, 273, - 272, 271, 270, 269, 268, 265, 264, 263, 262, 261, - 260, 259, 256, 255, 254, 253, 252, 251, 250, 249, - 248, 247, 246, 245, 244, 243, 239, 238, 232, 231, - 230, 229, 228, 227, 226, 225, 224, 223, 222, 221, - - 217, 216, 215, 214, 211, 202, 201, 200, 199, 198, - 197, 194, 193, 190, 189, 188, 187, 186, 185, 184, - 183, 182, 181, 180, 179, 178, 177, 176, 175, 171, - 170, 169, 168, 167, 166, 165, 159, 158, 157, 154, - 153, 152, 151, 148, 147, 146, 145, 139, 138, 137, - 136, 135, 110, 109, 102, 62, 61, 60, 47, 46, - 45, 640, 3, 640, 640, 640, 640, 640, 640, 640, - 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, - 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, - 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, - - 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, - 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, - 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, - 640, 640, 640, 640, 640 + 337, 337, 337, 337, 337, 470, 624, 623, 622, 621, + 471, 620, 619, 618, 617, 616, 615, 614, 613, 612, + 611, 610, 609, 608, 607, 606, 605, 604, 603, 602, + 601, 600, 599, 598, 597, 596, 595, 594, 593, 592, + 591, 590, 589, 588, 587, 586, 585, 584, 583, 582, + 581, 580, 579, 578, 577, 576, 575, 574, 573, 572, + 571, 570, 569, 568, 567, 566, 565, 564, 563, 562, + + 561, 560, 559, 558, 557, 556, 555, 554, 553, 552, + 551, 550, 549, 548, 547, 546, 545, 544, 543, 542, + 541, 540, 539, 538, 537, 536, 535, 534, 533, 532, + 531, 530, 529, 528, 527, 526, 525, 524, 523, 522, + 521, 520, 519, 518, 517, 516, 515, 514, 513, 512, + 511, 510, 509, 508, 507, 506, 505, 504, 503, 502, + 501, 500, 499, 498, 497, 496, 493, 492, 491, 490, + 487, 486, 485, 484, 483, 482, 481, 480, 479, 478, + 477, 476, 475, 474, 473, 472, 469, 468, 467, 466, + 465, 464, 463, 462, 461, 460, 459, 458, 457, 456, + + 455, 454, 453, 452, 451, 450, 449, 448, 447, 446, + 445, 444, 443, 442, 441, 438, 437, 436, 435, 432, + 431, 430, 429, 428, 427, 426, 425, 424, 423, 422, + 419, 418, 417, 416, 415, 414, 413, 412, 411, 410, + 409, 408, 407, 406, 405, 404, 403, 402, 401, 400, + 399, 398, 397, 396, 395, 394, 393, 392, 391, 390, + 389, 388, 387, 386, 385, 384, 383, 382, 381, 380, + 379, 376, 375, 374, 373, 372, 371, 370, 369, 368, + 367, 366, 365, 364, 363, 362, 361, 360, 359, 358, + 357, 356, 355, 354, 353, 352, 351, 350, 349, 348, + + 347, 346, 345, 344, 343, 342, 341, 340, 339, 338, + 329, 328, 327, 326, 325, 324, 323, 322, 321, 316, + 315, 314, 313, 312, 311, 310, 309, 308, 307, 306, + 305, 304, 303, 302, 301, 300, 299, 298, 297, 296, + 295, 294, 293, 292, 291, 290, 289, 288, 287, 286, + 285, 284, 283, 282, 281, 280, 279, 278, 277, 276, + 275, 274, 273, 272, 271, 270, 269, 268, 265, 264, + 263, 262, 261, 260, 259, 256, 255, 254, 253, 252, + 251, 250, 249, 248, 247, 246, 245, 244, 243, 239, + 238, 232, 231, 230, 229, 228, 227, 226, 225, 224, + + 223, 222, 221, 217, 216, 215, 214, 211, 202, 201, + 200, 199, 198, 197, 194, 193, 190, 189, 188, 187, + 186, 185, 184, 183, 182, 181, 180, 179, 178, 177, + 176, 175, 171, 170, 169, 168, 167, 166, 165, 159, + 158, 157, 154, 153, 152, 151, 148, 147, 146, 145, + 139, 138, 137, 136, 135, 110, 109, 102, 62, 61, + 60, 47, 46, 45, 643, 3, 643, 643, 643, 643, + 643, 643, 643, 643, 643, 643, 643, 643, 643, 643, + 643, 643, 643, 643, 643, 643, 643, 643, 643, 643, + 643, 643, 643, 643, 643, 643, 643, 643, 643, 643, + + 643, 643, 643, 643, 643, 643, 643, 643, 643, 643, + 643, 643, 643, 643, 643, 643, 643, 643, 643, 643, + 643, 643, 643, 643, 643, 643, 643, 643, 643, 643, + 643, 643, 643, 643, 643, 643, 643, 643 } ; -static yyconst short int yy_chk[836] = +static yyconst short int yy_chk[839] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -660,89 +661,89 @@ static yyconst short int yy_chk[836] = 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 12, 14, 13, 14, 14, 14, 14, 14, 118, 114, 15, 34, 12, 13, 15, 16, 23, 16, - 16, 16, 16, 16, 22, 15, 118, 641, 23, 29, + 16, 16, 16, 16, 22, 15, 118, 644, 23, 29, 114, 28, 22, 16, 29, 34, 28, 23, 22, 22, - 22, 24, 638, 23, 29, 24, 25, 28, 24, 24, - 25, 26, 637, 26, 24, 30, 27, 16, 25, 28, - 26, 25, 633, 26, 27, 73, 27, 27, 33, 27, + 22, 24, 641, 23, 29, 24, 25, 28, 24, 24, + 25, 26, 640, 26, 24, 30, 27, 16, 25, 28, + 26, 25, 636, 26, 27, 73, 27, 27, 33, 27, 38, 30, 33, 73, 38, 27, 33, 37, 30, 40, - 40, 33, 68, 38, 37, 37, 438, 37, 632, 38, - 37, 39, 39, 37, 438, 40, 103, 106, 39, 39, - 68, 103, 39, 39, 106, 116, 170, 39, 631, 170, + 40, 33, 68, 38, 37, 37, 346, 37, 635, 38, + 37, 39, 39, 37, 346, 40, 103, 106, 39, 39, + 68, 103, 39, 39, 106, 116, 170, 39, 634, 170, 116, 40, 53, 53, 53, 53, 53, 162, 40, 57, 57, 57, 57, 57, 40, 147, 53, 40, 292, 292, - 162, 630, 58, 57, 58, 58, 58, 58, 58, 59, + 162, 633, 58, 57, 58, 58, 58, 58, 58, 59, 59, 147, 147, 59, 59, 59, 59, 59, 58, 77, - 53, 629, 77, 77, 85, 77, 115, 57, 115, 77, - 85, 358, 358, 366, 85, 115, 366, 123, 628, 115, - 123, 432, 58, 140, 140, 432, 123, 140, 140, 140, - 140, 140, 141, 141, 141, 141, 141, 142, 142, 627, - 626, 142, 142, 142, 142, 142, 141, 143, 143, 143, - 143, 143, 144, 144, 144, 144, 144, 624, 222, 623, - 232, 233, 233, 233, 233, 233, 622, 621, 232, 620, - 141, 222, 232, 222, 232, 232, 619, 618, 232, 234, - - 234, 234, 234, 234, 235, 235, 617, 616, 235, 235, - 235, 235, 235, 236, 236, 236, 236, 236, 614, 222, + 53, 632, 77, 77, 85, 77, 115, 57, 115, 77, + 85, 358, 358, 366, 85, 115, 366, 123, 631, 115, + 123, 433, 58, 140, 140, 433, 123, 140, 140, 140, + 140, 140, 141, 141, 141, 141, 141, 142, 142, 630, + 629, 142, 142, 142, 142, 142, 141, 143, 143, 143, + 143, 143, 144, 144, 144, 144, 144, 627, 222, 439, + 232, 233, 233, 233, 233, 233, 626, 439, 232, 625, + 141, 222, 232, 222, 232, 232, 624, 623, 232, 234, + + 234, 234, 234, 234, 235, 235, 622, 621, 235, 235, + 235, 235, 235, 236, 236, 236, 236, 236, 620, 222, 237, 237, 237, 237, 237, 336, 336, 336, 336, 336, - 337, 337, 337, 337, 337, 407, 613, 612, 611, 610, - 407, 609, 608, 607, 606, 605, 604, 603, 602, 597, - 596, 595, 594, 592, 590, 589, 587, 586, 585, 583, - 582, 581, 580, 579, 577, 575, 574, 572, 570, 569, - 566, 565, 564, 562, 561, 560, 559, 556, 555, 553, - 552, 551, 549, 548, 547, 546, 544, 543, 542, 541, - 540, 538, 536, 533, 532, 530, 529, 528, 526, 523, - - 522, 521, 520, 519, 518, 517, 516, 515, 514, 513, - 512, 511, 509, 508, 507, 505, 504, 503, 502, 501, - 500, 499, 498, 497, 496, 495, 494, 493, 492, 491, - 489, 488, 487, 485, 484, 481, 480, 479, 478, 477, - 475, 473, 470, 469, 468, 467, 466, 465, 464, 463, - 461, 456, 455, 453, 452, 450, 449, 447, 446, 442, - 441, 440, 439, 437, 436, 435, 433, 431, 428, 427, - 426, 425, 424, 422, 421, 420, 418, 417, 416, 413, - 411, 409, 405, 404, 403, 402, 401, 400, 399, 398, - 397, 396, 394, 393, 392, 391, 390, 388, 387, 385, - - 383, 382, 379, 378, 377, 375, 374, 373, 371, 370, - 368, 365, 362, 361, 359, 357, 356, 355, 354, 353, - 352, 351, 350, 349, 348, 347, 346, 345, 344, 343, - 341, 340, 339, 338, 334, 333, 331, 329, 328, 327, - 326, 325, 322, 321, 320, 319, 318, 317, 315, 314, - 313, 310, 309, 308, 307, 305, 304, 303, 302, 301, - 300, 299, 298, 297, 296, 295, 294, 293, 290, 288, - 287, 286, 285, 284, 283, 282, 278, 277, 276, 275, - 273, 272, 270, 268, 267, 266, 265, 264, 262, 261, - 259, 258, 257, 256, 255, 254, 253, 251, 248, 247, - - 246, 245, 244, 242, 241, 240, 239, 231, 230, 229, - 228, 227, 226, 225, 224, 223, 221, 220, 219, 218, - 217, 216, 215, 214, 213, 212, 211, 210, 209, 208, - 207, 206, 205, 204, 203, 202, 201, 200, 199, 198, - 197, 196, 195, 194, 193, 192, 191, 190, 189, 188, - 187, 186, 185, 184, 183, 182, 181, 180, 178, 177, - 176, 175, 174, 172, 171, 169, 168, 167, 166, 165, - 164, 163, 161, 160, 159, 158, 157, 156, 155, 154, - 153, 152, 151, 150, 149, 148, 146, 145, 137, 136, - 135, 134, 133, 132, 131, 130, 127, 126, 125, 124, - - 122, 121, 120, 119, 117, 112, 111, 110, 109, 108, - 107, 105, 104, 102, 101, 99, 98, 97, 96, 95, - 94, 93, 92, 91, 90, 89, 88, 87, 86, 84, - 83, 82, 81, 80, 79, 78, 76, 75, 74, 72, - 71, 70, 69, 67, 66, 65, 64, 52, 44, 43, - 42, 41, 36, 35, 32, 21, 20, 19, 11, 9, - 7, 3, 640, 640, 640, 640, 640, 640, 640, 640, - 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, - 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, - 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, - - 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, - 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, - 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, - 640, 640, 640, 640, 640 + 337, 337, 337, 337, 337, 407, 619, 617, 616, 615, + 407, 614, 613, 612, 611, 610, 609, 608, 607, 606, + 605, 600, 599, 598, 597, 595, 593, 592, 590, 589, + 588, 586, 585, 584, 583, 582, 580, 578, 577, 575, + 573, 572, 569, 568, 567, 565, 564, 563, 562, 559, + 558, 556, 555, 554, 552, 551, 550, 549, 547, 546, + 545, 544, 543, 541, 539, 536, 535, 533, 532, 531, + + 529, 526, 525, 524, 523, 522, 521, 520, 518, 517, + 516, 515, 514, 513, 511, 510, 509, 507, 506, 505, + 504, 503, 502, 501, 500, 499, 498, 497, 496, 495, + 494, 493, 491, 490, 489, 487, 486, 483, 482, 481, + 480, 479, 478, 476, 474, 471, 470, 469, 468, 467, + 466, 465, 464, 462, 457, 456, 454, 453, 451, 450, + 448, 447, 443, 442, 441, 440, 438, 437, 436, 434, + 432, 429, 428, 427, 426, 425, 423, 422, 421, 420, + 418, 417, 416, 413, 411, 409, 405, 404, 403, 402, + 401, 400, 399, 398, 397, 396, 394, 393, 392, 391, + + 390, 388, 387, 385, 383, 382, 379, 378, 377, 375, + 374, 373, 371, 370, 368, 365, 362, 361, 359, 357, + 356, 355, 354, 353, 352, 351, 350, 349, 348, 347, + 345, 344, 343, 341, 340, 339, 338, 334, 333, 331, + 329, 328, 327, 326, 325, 322, 321, 320, 319, 318, + 317, 315, 314, 313, 310, 309, 308, 307, 305, 304, + 303, 302, 301, 300, 299, 298, 297, 296, 295, 294, + 293, 290, 288, 287, 286, 285, 284, 283, 282, 278, + 277, 276, 275, 273, 272, 270, 268, 267, 266, 265, + 264, 262, 261, 259, 258, 257, 256, 255, 254, 253, + + 251, 248, 247, 246, 245, 244, 242, 241, 240, 239, + 231, 230, 229, 228, 227, 226, 225, 224, 223, 221, + 220, 219, 218, 217, 216, 215, 214, 213, 212, 211, + 210, 209, 208, 207, 206, 205, 204, 203, 202, 201, + 200, 199, 198, 197, 196, 195, 194, 193, 192, 191, + 190, 189, 188, 187, 186, 185, 184, 183, 182, 181, + 180, 178, 177, 176, 175, 174, 172, 171, 169, 168, + 167, 166, 165, 164, 163, 161, 160, 159, 158, 157, + 156, 155, 154, 153, 152, 151, 150, 149, 148, 146, + 145, 137, 136, 135, 134, 133, 132, 131, 130, 127, + + 126, 125, 124, 122, 121, 120, 119, 117, 112, 111, + 110, 109, 108, 107, 105, 104, 102, 101, 99, 98, + 97, 96, 95, 94, 93, 92, 91, 90, 89, 88, + 87, 86, 84, 83, 82, 81, 80, 79, 78, 76, + 75, 74, 72, 71, 70, 69, 67, 66, 65, 64, + 52, 44, 43, 42, 41, 36, 35, 32, 21, 20, + 19, 11, 9, 7, 3, 643, 643, 643, 643, 643, + 643, 643, 643, 643, 643, 643, 643, 643, 643, 643, + 643, 643, 643, 643, 643, 643, 643, 643, 643, 643, + 643, 643, 643, 643, 643, 643, 643, 643, 643, 643, + + 643, 643, 643, 643, 643, 643, 643, 643, 643, 643, + 643, 643, 643, 643, 643, 643, 643, 643, 643, 643, + 643, 643, 643, 643, 643, 643, 643, 643, 643, 643, + 643, 643, 643, 643, 643, 643, 643, 643 } ; static yy_state_type yy_last_accepting_state; @@ -759,7 +760,7 @@ char *yytext; #line 1 "Gmsh.l" #define INITIAL 0 #line 2 "Gmsh.l" -// $Id: Gmsh.yy.cpp,v 1.327 2007-09-04 13:47:04 remacle Exp $ +// $Id: Gmsh.yy.cpp,v 1.328 2007-09-05 10:11:31 geuzaine Exp $ // // Copyright (C) 1997-2007 C. Geuzaine, J.-F. Remacle // @@ -820,7 +821,7 @@ void skipline(void); && ferror( yyin ) ) \ Msg(FATAL, "Input in flex scanner failed"); -#line 824 "Gmsh.yy.cpp" +#line 825 "Gmsh.yy.cpp" /* Macros after this point can all be overridden by user definitions in * section 1. @@ -974,7 +975,7 @@ YY_DECL #line 79 "Gmsh.l" -#line 978 "Gmsh.yy.cpp" +#line 979 "Gmsh.yy.cpp" if ( yy_init ) { @@ -1025,13 +1026,13 @@ yy_match: while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 641 ) + if ( yy_current_state >= 644 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; ++yy_cp; } - while ( yy_base[yy_current_state] != 763 ); + while ( yy_base[yy_current_state] != 766 ); yy_find_action: yy_act = yy_accept[yy_current_state]; @@ -1265,112 +1266,112 @@ return tBezier; case 42: YY_RULE_SETUP #line 124 "Gmsh.l" -return tBump; +return tBoundary; YY_BREAK case 43: YY_RULE_SETUP #line 125 "Gmsh.l" -return tBSpline; +return tBump; YY_BREAK case 44: YY_RULE_SETUP #line 126 "Gmsh.l" -return tBoundingBox; +return tBSpline; YY_BREAK case 45: YY_RULE_SETUP -#line 128 "Gmsh.l" -return tCeil; +#line 127 "Gmsh.l" +return tBoundingBox; YY_BREAK case 46: YY_RULE_SETUP #line 129 "Gmsh.l" -return tCircle; +return tCeil; YY_BREAK case 47: YY_RULE_SETUP #line 130 "Gmsh.l" -return tCoherence; +return tCircle; YY_BREAK case 48: YY_RULE_SETUP #line 131 "Gmsh.l" -return tCombine; +return tCoherence; YY_BREAK case 49: YY_RULE_SETUP #line 132 "Gmsh.l" -return tCosh; +return tCombine; YY_BREAK case 50: YY_RULE_SETUP #line 133 "Gmsh.l" -return tCos; +return tCosh; YY_BREAK case 51: YY_RULE_SETUP #line 134 "Gmsh.l" -return tCharacteristic; +return tCos; YY_BREAK case 52: YY_RULE_SETUP #line 135 "Gmsh.l" -return tComplex; +return tCharacteristic; YY_BREAK case 53: YY_RULE_SETUP #line 136 "Gmsh.l" -return tColor; +return tComplex; YY_BREAK case 54: YY_RULE_SETUP #line 137 "Gmsh.l" -return tColorTable; +return tColor; YY_BREAK case 55: YY_RULE_SETUP #line 138 "Gmsh.l" -return tCoordinates; +return tColorTable; YY_BREAK case 56: YY_RULE_SETUP #line 139 "Gmsh.l" -return tSpline; +return tCoordinates; YY_BREAK case 57: YY_RULE_SETUP #line 140 "Gmsh.l" -return tCall; +return tSpline; YY_BREAK case 58: YY_RULE_SETUP -#line 142 "Gmsh.l" -return tDelete; +#line 141 "Gmsh.l" +return tCall; YY_BREAK case 59: YY_RULE_SETUP #line 143 "Gmsh.l" -return tDilate; +return tDelete; YY_BREAK case 60: YY_RULE_SETUP #line 144 "Gmsh.l" -return tDuplicata; +return tDilate; YY_BREAK case 61: YY_RULE_SETUP #line 145 "Gmsh.l" -return tDraw; +return tDuplicata; YY_BREAK case 62: YY_RULE_SETUP -#line 147 "Gmsh.l" -return tExp; +#line 146 "Gmsh.l" +return tDraw; YY_BREAK case 63: YY_RULE_SETUP #line 148 "Gmsh.l" -return tEllipse; +return tExp; YY_BREAK case 64: YY_RULE_SETUP @@ -1380,207 +1381,207 @@ return tEllipse; case 65: YY_RULE_SETUP #line 150 "Gmsh.l" -return tExtrude; +return tEllipse; YY_BREAK case 66: YY_RULE_SETUP #line 151 "Gmsh.l" -return tElliptic; +return tExtrude; YY_BREAK case 67: YY_RULE_SETUP #line 152 "Gmsh.l" -return tEndFor; +return tElliptic; YY_BREAK case 68: YY_RULE_SETUP #line 153 "Gmsh.l" -return tEndIf; +return tEndFor; YY_BREAK case 69: YY_RULE_SETUP #line 154 "Gmsh.l" -return tEuclidian; +return tEndIf; YY_BREAK case 70: YY_RULE_SETUP #line 155 "Gmsh.l" -return tExit; +return tEuclidian; YY_BREAK case 71: YY_RULE_SETUP -#line 157 "Gmsh.l" -return tFabs; +#line 156 "Gmsh.l" +return tExit; YY_BREAK case 72: YY_RULE_SETUP #line 158 "Gmsh.l" -return tField; +return tFabs; YY_BREAK case 73: YY_RULE_SETUP #line 159 "Gmsh.l" -return tFloor; +return tField; YY_BREAK case 74: YY_RULE_SETUP #line 160 "Gmsh.l" -return tFmod; +return tFloor; YY_BREAK case 75: YY_RULE_SETUP #line 161 "Gmsh.l" -return tFor; +return tFmod; YY_BREAK case 76: YY_RULE_SETUP #line 162 "Gmsh.l" -return tFunction; +return tFor; YY_BREAK case 77: YY_RULE_SETUP -#line 164 "Gmsh.l" -return tGetValue; +#line 163 "Gmsh.l" +return tFunction; YY_BREAK case 78: YY_RULE_SETUP #line 165 "Gmsh.l" -return tGrad; +return tGetValue; YY_BREAK case 79: YY_RULE_SETUP #line 166 "Gmsh.l" -return tGMSH_MAJOR_VERSION; +return tGrad; YY_BREAK case 80: YY_RULE_SETUP #line 167 "Gmsh.l" -return tGMSH_MINOR_VERSION; +return tGMSH_MAJOR_VERSION; YY_BREAK case 81: YY_RULE_SETUP #line 168 "Gmsh.l" -return tGMSH_PATCH_VERSION; +return tGMSH_MINOR_VERSION; YY_BREAK case 82: YY_RULE_SETUP -#line 170 "Gmsh.l" -return tHide; +#line 169 "Gmsh.l" +return tGMSH_PATCH_VERSION; YY_BREAK case 83: YY_RULE_SETUP #line 171 "Gmsh.l" -return tHole; +return tHide; YY_BREAK case 84: YY_RULE_SETUP #line 172 "Gmsh.l" -return tHypot; +return tHole; YY_BREAK case 85: YY_RULE_SETUP -#line 174 "Gmsh.l" -return tIn; +#line 173 "Gmsh.l" +return tHypot; YY_BREAK case 86: YY_RULE_SETUP #line 175 "Gmsh.l" -return tIf; +return tIn; YY_BREAK case 87: YY_RULE_SETUP #line 176 "Gmsh.l" -return tIntersect; +return tIf; YY_BREAK case 88: YY_RULE_SETUP -#line 178 "Gmsh.l" -return tKnots; +#line 177 "Gmsh.l" +return tIntersect; YY_BREAK case 89: YY_RULE_SETUP -#line 180 "Gmsh.l" -return tLatLon; +#line 179 "Gmsh.l" +return tKnots; YY_BREAK case 90: YY_RULE_SETUP #line 181 "Gmsh.l" -return tLength; +return tLatLon; YY_BREAK case 91: YY_RULE_SETUP #line 182 "Gmsh.l" -return tLine; +return tLength; YY_BREAK case 92: YY_RULE_SETUP #line 183 "Gmsh.l" -return tLoop; +return tLine; YY_BREAK case 93: YY_RULE_SETUP #line 184 "Gmsh.l" -return tLog; +return tLoop; YY_BREAK case 94: YY_RULE_SETUP #line 185 "Gmsh.l" -return tLog10; +return tLog; YY_BREAK case 95: YY_RULE_SETUP #line 186 "Gmsh.l" -return tLayers; +return tLog10; YY_BREAK case 96: YY_RULE_SETUP -#line 188 "Gmsh.l" -return tModulo; +#line 187 "Gmsh.l" +return tLayers; YY_BREAK case 97: YY_RULE_SETUP #line 189 "Gmsh.l" -return tMPI_Rank; +return tModulo; YY_BREAK case 98: YY_RULE_SETUP #line 190 "Gmsh.l" -return tMPI_Size; +return tMPI_Rank; YY_BREAK case 99: YY_RULE_SETUP -#line 192 "Gmsh.l" -return tNurbs; +#line 191 "Gmsh.l" +return tMPI_Size; YY_BREAK case 100: YY_RULE_SETUP -#line 194 "Gmsh.l" -return tOrder; +#line 193 "Gmsh.l" +return tNurbs; YY_BREAK case 101: YY_RULE_SETUP -#line 196 "Gmsh.l" -return tPhysical; +#line 195 "Gmsh.l" +return tOrder; YY_BREAK case 102: YY_RULE_SETUP #line 197 "Gmsh.l" -return tPi; +return tPhysical; YY_BREAK case 103: YY_RULE_SETUP #line 198 "Gmsh.l" -return tPlane; +return tPi; YY_BREAK case 104: YY_RULE_SETUP #line 199 "Gmsh.l" -return tPoint; +return tPlane; YY_BREAK case 105: YY_RULE_SETUP #line 200 "Gmsh.l" -return tProgression; +return tPoint; YY_BREAK case 106: YY_RULE_SETUP @@ -1590,210 +1591,215 @@ return tProgression; case 107: YY_RULE_SETUP #line 202 "Gmsh.l" -return tParametric; +return tProgression; YY_BREAK case 108: YY_RULE_SETUP #line 203 "Gmsh.l" -return tPolarSphere; +return tParametric; YY_BREAK case 109: YY_RULE_SETUP #line 204 "Gmsh.l" -return tPrintf; +return tPolarSphere; YY_BREAK case 110: YY_RULE_SETUP #line 205 "Gmsh.l" -return tPlugin; +return tPrintf; YY_BREAK case 111: YY_RULE_SETUP -#line 207 "Gmsh.l" -return tRecombine; +#line 206 "Gmsh.l" +return tPlugin; YY_BREAK case 112: YY_RULE_SETUP #line 208 "Gmsh.l" -return tRotate; +return tRecombine; YY_BREAK case 113: YY_RULE_SETUP #line 209 "Gmsh.l" -return tRuled; +return tRotate; YY_BREAK case 114: YY_RULE_SETUP #line 210 "Gmsh.l" -return tRand; +return tRuled; YY_BREAK case 115: YY_RULE_SETUP #line 211 "Gmsh.l" -return tReturn; +return tRand; YY_BREAK case 116: YY_RULE_SETUP -#line 213 "Gmsh.l" -return tSqrt; +#line 212 "Gmsh.l" +return tReturn; YY_BREAK case 117: YY_RULE_SETUP #line 214 "Gmsh.l" -return tSin; +return tSqrt; YY_BREAK case 118: YY_RULE_SETUP #line 215 "Gmsh.l" -return tSinh; +return tSin; YY_BREAK case 119: YY_RULE_SETUP #line 216 "Gmsh.l" -return tSphere; +return tSinh; YY_BREAK case 120: YY_RULE_SETUP #line 217 "Gmsh.l" -return tSpline; +return tSphere; YY_BREAK case 121: YY_RULE_SETUP #line 218 "Gmsh.l" -return tSurface; +return tSpline; YY_BREAK case 122: YY_RULE_SETUP #line 219 "Gmsh.l" -return tSymmetry; +return tSurface; YY_BREAK case 123: YY_RULE_SETUP #line 220 "Gmsh.l" -return tSprintf; +return tSymmetry; YY_BREAK case 124: YY_RULE_SETUP #line 221 "Gmsh.l" -return tStrCat; +return tSprintf; YY_BREAK case 125: YY_RULE_SETUP #line 222 "Gmsh.l" -return tStrPrefix; +return tStrCat; YY_BREAK case 126: YY_RULE_SETUP #line 223 "Gmsh.l" -return tStrRelative; +return tStrPrefix; YY_BREAK case 127: YY_RULE_SETUP #line 224 "Gmsh.l" -return tStructured; +return tStrRelative; YY_BREAK case 128: YY_RULE_SETUP #line 225 "Gmsh.l" -return tShow; +return tStructured; YY_BREAK case 129: YY_RULE_SETUP -#line 227 "Gmsh.l" -return tTransfinite; +#line 226 "Gmsh.l" +return tShow; YY_BREAK case 130: YY_RULE_SETUP #line 228 "Gmsh.l" -return tTranslate; +return tTransfinite; YY_BREAK case 131: YY_RULE_SETUP #line 229 "Gmsh.l" -return tTanh; +return tTranslate; YY_BREAK case 132: YY_RULE_SETUP #line 230 "Gmsh.l" -return tTan; +return tTanh; YY_BREAK case 133: YY_RULE_SETUP #line 231 "Gmsh.l" -return tThreshold; +return tTan; YY_BREAK case 134: YY_RULE_SETUP #line 232 "Gmsh.l" -return tToday; +return tThreshold; YY_BREAK case 135: YY_RULE_SETUP -#line 234 "Gmsh.l" -return tUsing; +#line 233 "Gmsh.l" +return tToday; YY_BREAK case 136: YY_RULE_SETUP -#line 236 "Gmsh.l" -return tVolume; +#line 235 "Gmsh.l" +return tUsing; YY_BREAK case 137: YY_RULE_SETUP #line 237 "Gmsh.l" -return tPostView; +return tVolume; YY_BREAK case 138: YY_RULE_SETUP -#line 239 "Gmsh.l" -return tText2D; +#line 238 "Gmsh.l" +return tPostView; YY_BREAK case 139: YY_RULE_SETUP #line 240 "Gmsh.l" -return tText3D; +return tText2D; YY_BREAK case 140: YY_RULE_SETUP #line 241 "Gmsh.l" -return tInterpolationScheme; +return tText3D; YY_BREAK case 141: YY_RULE_SETUP #line 242 "Gmsh.l" -return tTime; +return tInterpolationScheme; YY_BREAK case 142: YY_RULE_SETUP #line 243 "Gmsh.l" -return tGrain; +return tTime; YY_BREAK case 143: -#line 246 "Gmsh.l" +YY_RULE_SETUP +#line 244 "Gmsh.l" +return tGrain; + YY_BREAK case 144: #line 247 "Gmsh.l" case 145: #line 248 "Gmsh.l" case 146: +#line 249 "Gmsh.l" +case 147: YY_RULE_SETUP -#line 248 "Gmsh.l" +#line 249 "Gmsh.l" {yylval.d = atof((char *)yytext); return tDOUBLE;} YY_BREAK -case 147: +case 148: YY_RULE_SETUP -#line 250 "Gmsh.l" +#line 251 "Gmsh.l" {yylval.c = strsave((char*)yytext); return tSTRING;} YY_BREAK -case 148: +case 149: YY_RULE_SETUP -#line 252 "Gmsh.l" +#line 253 "Gmsh.l" return yytext[0]; YY_BREAK -case 149: +case 150: YY_RULE_SETUP -#line 254 "Gmsh.l" +#line 255 "Gmsh.l" ECHO; YY_BREAK -#line 1797 "Gmsh.yy.cpp" +#line 1803 "Gmsh.yy.cpp" case YY_STATE_EOF(INITIAL): yyterminate(); @@ -2085,7 +2091,7 @@ static yy_state_type yy_get_previous_state() while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 641 ) + if ( yy_current_state >= 644 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; @@ -2120,11 +2126,11 @@ yy_state_type yy_current_state; while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 641 ) + if ( yy_current_state >= 644 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; - yy_is_jam = (yy_current_state == 640); + yy_is_jam = (yy_current_state == 643); return yy_is_jam ? 0 : yy_current_state; } @@ -2679,7 +2685,7 @@ int main() return 0; } #endif -#line 254 "Gmsh.l" +#line 255 "Gmsh.l" #undef yywrap diff --git a/doc/texinfo/gmsh.texi b/doc/texinfo/gmsh.texi index e5910569b3332608a44705bd5353641cf0e9d46b..10896884aca151d7f8e9e7faeb94adfcb8fd0989 100644 --- a/doc/texinfo/gmsh.texi +++ b/doc/texinfo/gmsh.texi @@ -1,5 +1,5 @@ \input texinfo.tex @c -*-texinfo-*- -@c $Id: gmsh.texi,v 1.233 2007-07-25 15:48:35 geuzaine Exp $ +@c $Id: gmsh.texi,v 1.234 2007-09-05 10:11:32 geuzaine Exp $ @c @c Copyright (C) 1997-2007 C. Geuzaine, J.-F. Remacle @c @@ -1751,6 +1751,14 @@ Translates all elementary entities (points, lines or surfaces) in @var{transform-list}. The @var{expression-list} should contain three @w{@var{expression}s} giving the X, Y and Z components of the translation vector. + +@item Boundary @{ @var{transform-list} @} +(Not a transformation per-se.) Returns the boundary of the elementary +entities in @var{transform-list}. + +@c @item Intersect Line @{ @var{expression-list} @} Surface @{ @var{expression} @} +@c (Not a transformation per-se.) Returns the intersections of the lines +@c given in @var{expression-list} with the specified surface. @end ftable @noindent with