diff --git a/Fltk/Callbacks.cpp b/Fltk/Callbacks.cpp index a4efc378c6269e1b8a6924030e8896a5cb90aad5..328dd2fc6eb27c0fd11eb3551895c3ddf3c77189 100644 --- a/Fltk/Callbacks.cpp +++ b/Fltk/Callbacks.cpp @@ -1,4 +1,4 @@ -// $Id: Callbacks.cpp,v 1.355 2005-06-09 17:22:04 geuzaine Exp $ +// $Id: Callbacks.cpp,v 1.356 2005-06-10 20:59:14 geuzaine Exp $ // // Copyright (C) 1997-2005 C. Geuzaine, J.-F. Remacle // @@ -567,7 +567,8 @@ int _save_options(char *name) int _save_geo(char *name) { - return geo_dialog(name); + CreateOutputFile(name, FORMAT_GEO); + return 1; } int _save_msh(char *name) diff --git a/Fltk/GUI_Extras.cpp b/Fltk/GUI_Extras.cpp index 9854962c572e8c006907d321c24d346e7988cfb2..9c5d2b0d93fa7fd01686de4763978a9eecb81a76 100644 --- a/Fltk/GUI_Extras.cpp +++ b/Fltk/GUI_Extras.cpp @@ -1,4 +1,4 @@ -// $Id: GUI_Extras.cpp,v 1.10 2005-02-20 06:36:54 geuzaine Exp $ +// $Id: GUI_Extras.cpp,v 1.11 2005-06-10 20:59:15 geuzaine Exp $ // // Copyright (C) 1997-2005 C. Geuzaine, J.-F. Remacle // @@ -509,59 +509,3 @@ int msh_dialog(char *name) return 0; } -// geo options dialog - -int geo_dialog(char *name) -{ - struct _geo_dialog{ - Fl_Window *window; - Fl_Check_Button *b[2]; - Fl_Button *ok, *cancel; - }; - static _geo_dialog *dialog = NULL; - - if(!dialog){ - dialog = new _geo_dialog; - int h = 3*10 + 25 + 2*25, y = 0; - // not a "Dialog_Window" since it is modal - dialog->window = new Fl_Double_Window(200, h, "GEO options"); y = 10; - dialog->window->box(GMSH_WINDOW_BOX); - dialog->b[0] = new Fl_Check_Button(10, y, 180, 25, "Save discrete curves"); y += 25; - dialog->b[0]->value(1); - dialog->b[0]->type(FL_TOGGLE_BUTTON); - dialog->b[0]->down_box(GMSH_TOGGLE_BOX); - dialog->b[0]->selection_color(GMSH_TOGGLE_COLOR); - dialog->b[1] = new Fl_Check_Button(10, y, 180, 25, "Save discrete surfaces"); y += 25; - dialog->b[1]->value(1); - dialog->b[1]->type(FL_TOGGLE_BUTTON); - dialog->b[1]->down_box(GMSH_TOGGLE_BOX); - dialog->b[1]->selection_color(GMSH_TOGGLE_COLOR); - dialog->ok = new Fl_Return_Button(10, y+10, 85, 25, "OK"); - dialog->cancel = new Fl_Button(105, y+10, 85, 25, "Cancel"); - dialog->window->set_modal(); - dialog->window->end(); - dialog->window->hotspot(dialog->window); - } - - dialog->window->show(); - - extern Mesh *THEM; - - while(dialog->window->shown()){ - Fl::wait(); - for (;;) { - Fl_Widget* o = Fl::readqueue(); - if (!o) break; - if (o == dialog->ok) { - Print_Geo(THEM, name, dialog->b[0]->value(), dialog->b[1]->value()); - dialog->window->hide(); - return 1; - } - if (o == dialog->window || o == dialog->cancel){ - dialog->window->hide(); - return 0; - } - } - } - return 0; -} diff --git a/Fltk/GUI_Extras.h b/Fltk/GUI_Extras.h index 18a2e30bf0134d9a7c9c7d1955d9e62028d7b115..6fafea95ab3392d300b12d4110a0f7ff6beaa5ff 100644 --- a/Fltk/GUI_Extras.h +++ b/Fltk/GUI_Extras.h @@ -33,7 +33,6 @@ int gif_dialog(char *filename); int gl2ps_dialog(char *filename, char *title, int format, int TeX); int options_dialog(char *filename); int msh_dialog(char *filename); -int geo_dialog(char *filename); #endif diff --git a/Geo/Print_Geo.cpp b/Geo/Print_Geo.cpp index 25bf22ba83a86b81628195a51a1c86208546b38e..4739a0a864884b51c3c7304605939c838fcfa986 100644 --- a/Geo/Print_Geo.cpp +++ b/Geo/Print_Geo.cpp @@ -1,4 +1,4 @@ -// $Id: Print_Geo.cpp,v 1.40 2005-05-15 01:44:25 geuzaine Exp $ +// $Id: Print_Geo.cpp,v 1.41 2005-06-10 20:59:15 geuzaine Exp $ // // Copyright (C) 1997-2005 C. Geuzaine, J.-F. Remacle // @@ -274,7 +274,7 @@ void Print_PhysicalGroups(void *a, void *b) } -void Print_Geo(Mesh * M, char *filename, int discrete_curve, int discrete_surface) +void Print_Geo(Mesh * M, char *filename) { if(filename) { FOUT = fopen(filename, "w"); diff --git a/Mesh/2D_Mesh.cpp b/Mesh/2D_Mesh.cpp index f98c1a40ec3a259001b88dd9b07e382870090bd0..cb520c0f371b9a1fdee6297a32a49c07ba98a83e 100644 --- a/Mesh/2D_Mesh.cpp +++ b/Mesh/2D_Mesh.cpp @@ -1,4 +1,4 @@ -// $Id: 2D_Mesh.cpp,v 1.77 2005-06-09 22:19:02 geuzaine Exp $ +// $Id: 2D_Mesh.cpp,v 1.78 2005-06-10 20:59:15 geuzaine Exp $ // // Copyright (C) 1997-2005 C. Geuzaine, J.-F. Remacle // @@ -66,12 +66,10 @@ void Plan_Moyen(void *data, void *dum) int i, j; Vertex *v; Curve *pC; - Surface **pS, *s; static List_T *points; static int deb = 1; - pS = (Surface **) data; - s = *pS; + Surface *s = *(Surface **) data; if(deb) { points = List_Create(10, 10, sizeof(Vertex *)); @@ -842,16 +840,23 @@ void ReOrientSurfaceMesh(Surface *s) void Maillage_Surface(void *data, void *dum) { - Surface **pS, *s; Tree_T *tnxe; int ori; - pS = (Surface **) data; - s = *pS; + Surface *s = *(Surface **) data; if(!s->Support) return; + Msg(STATUS3, "Meshing surface %d", s->Num); + + if(MeshDiscreteSurface(s)){ + Tree_Action(THEM->Points, PutVertex_OnSurf); + Tree_Action(s->Vertices, PutVertex_OnSurf); + Tree_Action(s->Vertices, Add_In_Mesh); + return; + } + THESUPPORT = s->Support; THESURFACE = s; @@ -862,10 +867,7 @@ void Maillage_Surface(void *data, void *dum) Tree_Delete(s->Vertices); s->Vertices = Tree_Create(sizeof(Vertex *), compareVertex); - Msg(STATUS3, "Meshing surface %d", s->Num); - - if(MeshDiscreteSurface(s) || - MeshTransfiniteSurface(s) || + if(MeshTransfiniteSurface(s) || MeshEllipticSurface(s) || MeshCylindricalSurface(s) || MeshParametricSurface(s) || @@ -882,7 +884,7 @@ void Maillage_Surface(void *data, void *dum) } int TypSurface = s->Typ; - Plan_Moyen(pS, dum); + Plan_Moyen(&s, dum); Tree_Action(THEM->Points, Freeze_Vertex); Tree_Action(s->Vertices, Freeze_Vertex); Tree_Action(THEM->Points, Projette_Plan_Moyen); diff --git a/Mesh/3D_Extrude.cpp b/Mesh/3D_Extrude.cpp index a608735f0a00c66e67125651a609e253053ddbaf..3c37ee28d4b6593ba8574cf58d8a919699da4750 100644 --- a/Mesh/3D_Extrude.cpp +++ b/Mesh/3D_Extrude.cpp @@ -1,4 +1,4 @@ -// $Id: 3D_Extrude.cpp,v 1.88 2005-05-17 22:03:18 geuzaine Exp $ +// $Id: 3D_Extrude.cpp,v 1.89 2005-06-10 20:59:15 geuzaine Exp $ // // Copyright (C) 1997-2005 C. Geuzaine, J.-F. Remacle // @@ -611,24 +611,20 @@ void Extrude_Surface1(Surface * s) { THES = s; Tree_Action(s->Vertices, Extrude_Vertex); - if(!ep->mesh.Recombine){ + if(!ep->mesh.Recombine) Tree_Action(s->Simplexes, Extrude_Simplex_Phase1); - Tree_Action(s->SimplexesBase, Extrude_Simplex_Phase1); - } } void Extrude_Surface2(Surface * s) { THES = s; Tree_Action(s->Simplexes, Extrude_Simplex_Phase2); - Tree_Action(s->SimplexesBase, Extrude_Simplex_Phase2); } void Extrude_Surface3(Surface * s) { THES = s; Tree_Action(s->Simplexes, Extrude_Simplex_Phase3); - Tree_Action(s->SimplexesBase, Extrude_Simplex_Phase3); Tree_Action(s->Quadrangles, Extrude_Quadrangle_Phase3); } @@ -1037,7 +1033,6 @@ int Extrude_Mesh(Surface * s) } Tree_Action(s->Simplexes, AddSimVertsInSurf); - Tree_Action(s->SimplexesBase, AddSimVertsInSurf); Tree_Action(s->Quadrangles, AddQuadVertsInSurf); ReOrientSurfaceMesh(s); diff --git a/Mesh/3D_Extrude_Old.cpp b/Mesh/3D_Extrude_Old.cpp index 54e309ac8ae7f890c2ef57e4f392dbbbfd0a8258..779cae54a4fcac44501c2729edffa7fdf2a9369d 100644 --- a/Mesh/3D_Extrude_Old.cpp +++ b/Mesh/3D_Extrude_Old.cpp @@ -1,4 +1,4 @@ -// $Id: 3D_Extrude_Old.cpp,v 1.33 2005-06-10 16:46:30 geuzaine Exp $ +// $Id: 3D_Extrude_Old.cpp,v 1.34 2005-06-10 20:59:15 geuzaine Exp $ // // Copyright (C) 1997-2005 C. Geuzaine, J.-F. Remacle // @@ -483,10 +483,8 @@ static void Extrude_Surface1(void *data, void *dum) Tree_Action(s->Vertices, Extrude_Vertex); - if(!CTX.mesh.oldxtrude_recombine){ + if(!CTX.mesh.oldxtrude_recombine) Tree_Action(s->Simplexes, Extrude_Simplex_Phase1); - Tree_Action(s->SimplexesBase, Extrude_Simplex_Phase1); - } } static void Extrude_Surface2(void *data, void *dum) @@ -497,7 +495,6 @@ static void Extrude_Surface2(void *data, void *dum) THES = s; Tree_Action(s->Simplexes, Extrude_Simplex_Phase2); - Tree_Action(s->SimplexesBase, Extrude_Simplex_Phase2); } static void Extrude_Surface3(void *data, void *dum) @@ -519,7 +516,6 @@ static void Extrude_Surface3(void *data, void *dum) } Tree_Action(s->Simplexes, Extrude_Simplex_Phase3); - Tree_Action(s->SimplexesBase, Extrude_Simplex_Phase3); Tree_Action(s->Quadrangles, Extrude_Quadrangle_Phase3); } @@ -608,7 +604,6 @@ static void Extrude_Curve(void *data, void *dum) // This is better than extruding based on c->Vertices (since it also // works if for some reason v->Vertices is not ordered) Tree_Action(c->Simplexes, Extrude_Seg); - Tree_Action(c->SimplexesBase, Extrude_Seg); } static void Extrude_Pnt(Vertex * V1) diff --git a/Mesh/Generator.cpp b/Mesh/Generator.cpp index 143922f3f6a0e445af0ba50818f47ce6557d485e..38d062f8547c66f0f8e8f34d3f903adeaa7a2f03 100644 --- a/Mesh/Generator.cpp +++ b/Mesh/Generator.cpp @@ -1,4 +1,4 @@ -// $Id: Generator.cpp,v 1.69 2005-06-10 00:31:28 geuzaine Exp $ +// $Id: Generator.cpp,v 1.70 2005-06-10 20:59:15 geuzaine Exp $ // // Copyright (C) 1997-2005 C. Geuzaine, J.-F. Remacle // @@ -198,11 +198,47 @@ void ApplyLcFactor(Mesh * M) List_Action(M->Metric->Attractors, ApplyLcFactor_Attractor); } +void Move_SimplexBaseToSimplex(Mesh * M, int dimension) +{ + if(dimension >= 1){ + List_T *Curves = Tree2List(M->Curves); + for(int i = 0; i < List_Nbr(Curves); i++) { + Curve *c; + List_Read(Curves, i, &c); + Move_SimplexBaseToSimplex(&c->SimplexesBase, c->Simplexes); + } + List_Delete(Curves); + } + + if(dimension >= 2){ + List_T *Surfaces = Tree2List(M->Surfaces); + for(int i = 0; i < List_Nbr(Surfaces); i++){ + Surface *s; + List_Read(Surfaces, i, &s); + Move_SimplexBaseToSimplex(&s->SimplexesBase, s->Simplexes); + } + List_Delete(Surfaces); + } + + if(dimension >= 3){ + List_T *Volumes = Tree2List(M->Volumes); + for(int i = 0; i < List_Nbr(Volumes); i++){ + Volume *v; + List_Read(Volumes, i, &v); + Move_SimplexBaseToSimplex(&v->SimplexesBase, v->Simplexes); + } + List_Delete(Volumes); + } +} + void Maillage_Dimension_1(Mesh * M) { double t1, t2; t1 = Cpu(); + + Move_SimplexBaseToSimplex(M, 1); + Tree_Action(M->Curves, Maillage_Curve); t2 = Cpu(); M->timing[0] = t2 - t1; @@ -216,6 +252,8 @@ void Maillage_Dimension_2(Mesh * M) t1 = Cpu(); + Move_SimplexBaseToSimplex(M, 2); + // create reverse 1D meshes List_T *Curves = Tree2List(M->Curves); @@ -270,6 +308,8 @@ void Maillage_Dimension_3(Mesh * M) t1 = Cpu(); + Move_SimplexBaseToSimplex(M, 3); + // merge all the delaunay parts in a single special volume v = Create_Volume(99999, 99999); List_T *list = Tree2List(M->Volumes); diff --git a/Mesh/Makefile b/Mesh/Makefile index 908e26e62856f3e1ae0d7add9e62bb35733d2e78..08441e20011466d6720c8a068be0ec377863740e 100644 --- a/Mesh/Makefile +++ b/Mesh/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.87 2005-06-10 00:31:28 geuzaine Exp $ +# $Id: Makefile,v 1.88 2005-06-10 20:59:15 geuzaine Exp $ # # Copyright (C) 1997-2005 C. Geuzaine, J.-F. Remacle # @@ -385,7 +385,7 @@ Read_Mesh.o: Read_Mesh.cpp ../Common/Gmsh.h ../Common/Message.h \ ../Common/SmoothNormals.h ../Mesh/Metric.h ../Mesh/Vertex.h \ ../Mesh/Simplex.h ../Mesh/Mesh.h ../Mesh/Matrix.h \ ../Geo/ExtrudeParams.h Mesh.h 3D_Mesh.h Create.h Vertex.h \ - ../Geo/MinMax.h ../Common/Context.h + ../Geo/MinMax.h ../Numeric/Numeric.h ../Common/Context.h # 1 "/Users/geuzaine/.gmsh/Mesh//" DiscreteSurface.o: DiscreteSurface.cpp ../Common/Gmsh.h \ ../Common/Message.h ../DataStr/Malloc.h ../DataStr/List.h \ diff --git a/Mesh/Mesh.h b/Mesh/Mesh.h index 7b76dd8041a3739e865d4624678997a8b745ee5b..95db93d30a7990263df4cc669294e63037759a0d 100644 --- a/Mesh/Mesh.h +++ b/Mesh/Mesh.h @@ -442,7 +442,7 @@ void mai3d(Mesh *M, int Asked); void Init_Mesh0(Mesh *M); void Init_Mesh(Mesh *M); void Create_BgMesh(int i, double d, Mesh *m); -void Print_Geo(Mesh *M, char *c, int discrete_curve=0, int discrete_surface=0); +void Print_Geo(Mesh *M, char *c); void Print_Mesh(Mesh *M, char *c, int Type); void Read_Mesh(Mesh *M, FILE *fp, char *filename, int Type); void GetStatistics(double s[50]); diff --git a/Mesh/Read_Mesh.cpp b/Mesh/Read_Mesh.cpp index 6e11a5f58d54e7eca94805d55c515a4c38b93545..8f091d6671a52225dd6390655054191e4d280789 100644 --- a/Mesh/Read_Mesh.cpp +++ b/Mesh/Read_Mesh.cpp @@ -1,4 +1,4 @@ -// $Id: Read_Mesh.cpp,v 1.90 2005-06-10 16:46:30 geuzaine Exp $ +// $Id: Read_Mesh.cpp,v 1.91 2005-06-10 20:59:15 geuzaine Exp $ // // Copyright (C) 1997-2005 C. Geuzaine, J.-F. Remacle // @@ -26,6 +26,7 @@ #include "3D_Mesh.h" #include "Create.h" #include "MinMax.h" +#include "Numeric.h" #include "Context.h" extern Context_T CTX; @@ -144,6 +145,23 @@ int getNbrNodes(int Type) } } +double SetLC(Vertex *v1, Vertex *v2, Vertex *v3, Vertex *v4 = 0) +{ + double lc1 = sqrt((v1->Pos.X - v2->Pos.X) * (v1->Pos.X - v2->Pos.X) + + (v1->Pos.Y - v2->Pos.Y) * (v1->Pos.Y - v2->Pos.Y) + + (v1->Pos.Z - v2->Pos.Z) * (v1->Pos.Z - v2->Pos.Z)); + double lc2 = sqrt((v1->Pos.X - v3->Pos.X) * (v1->Pos.X - v3->Pos.X) + + (v1->Pos.Y - v3->Pos.Y) * (v1->Pos.Y - v3->Pos.Y) + + (v1->Pos.Z - v3->Pos.Z) * (v1->Pos.Z - v3->Pos.Z)); + double lc3 = sqrt((v2->Pos.X - v3->Pos.X) * (v2->Pos.X - v3->Pos.X) + + (v2->Pos.Y - v3->Pos.Y) * (v2->Pos.Y - v3->Pos.Y) + + (v2->Pos.Z - v3->Pos.Z) * (v2->Pos.Z - v3->Pos.Z)); + double lc = DMAX(lc1, DMAX(lc2, lc3)) * CTX.mesh.lc_factor; + v1->lc = v2->lc = v3->lc = lc; + if(v4) v4->lc = lc; + return lc; +} + static Curve *theCurve = NULL; static void TransferVertex(void *a, void *b) @@ -389,6 +407,7 @@ void Read_Mesh_MSH(Mesh * M, FILE * fp) simp->Num = Num; simp->iEnt = Elementary; simp->iPart = addMeshPartition(Partition, M); + SetLC(vertsp[0], vertsp[1], vertsp[2]); if(Type == TRI2){ simp->VSUP = (Vertex **) Malloc(3 * sizeof(Vertex *)); for(i = 0; i < 3; i++){ @@ -413,6 +432,7 @@ void Read_Mesh_MSH(Mesh * M, FILE * fp) quad->Num = Num; quad->iEnt = Elementary; quad->iPart = addMeshPartition(Partition, M); + SetLC(vertsp[0], vertsp[1], vertsp[2], vertsp[3]); if(Type == QUA2){ quad->VSUP = (Vertex **) Malloc((4 + 1) * sizeof(Vertex *)); for(i = 0; i < 4 + 1; i++){ diff --git a/Mesh/Simplex.cpp b/Mesh/Simplex.cpp index 88cd8222f8fdc2669401f13bda71a0ef1ddff286..306acbfbdffe62153545fcfa846209c909e2ed20 100644 --- a/Mesh/Simplex.cpp +++ b/Mesh/Simplex.cpp @@ -1,4 +1,4 @@ -// $Id: Simplex.cpp,v 1.42 2005-06-08 19:12:05 geuzaine Exp $ +// $Id: Simplex.cpp,v 1.43 2005-06-10 20:59:15 geuzaine Exp $ // // Copyright (C) 1997-2005 C. Geuzaine, J.-F. Remacle // @@ -862,3 +862,43 @@ bool Simplex::SwapFace(int iFac, List_T * newsimp, List_T * delsimp) return true; } +// Transfer SimplexBase to Simplex + +static Tree_T *simptree = NULL; + +void Copy_SimplexBaseToSimplex(void *a, void *b) +{ + SimplexBase *base = *(SimplexBase**)a; + Simplex *s = Create_Simplex(base->V[0], base->V[1], base->V[2], base->V[3]); + s->iEnt = base->iEnt; + s->Num = base->Num; + s->iPart = base->iPart; + s->Visible = base->Visible; + if(base->VSUP){ + int ns; + if(base->V[3]) + ns = 6; + else if(base->V[2]) + ns = 3; + else if(base->V[1]) + ns = 1; + else + ns = 0; + if(ns){ + s->VSUP = (Vertex **) Malloc(ns * sizeof(Vertex *)); + memcpy(s->VSUP, base->VSUP, ns * sizeof(Vertex *)); + } + } + Tree_Insert(simptree, &s); +} + +void Move_SimplexBaseToSimplex(Tree_T **base, Tree_T *simp) +{ + if(!Tree_Nbr(*base)) return; + simptree = simp; + Tree_Action(*base, Copy_SimplexBaseToSimplex); + Tree_Action(*base, Free_SimplexBase); + Tree_Delete(*base); + *base = Tree_Create(sizeof(SimplexBase *), compareSimplexBase); +} + diff --git a/Mesh/Simplex.h b/Mesh/Simplex.h index c6db93b2ff134803af6daff05d97a62e6ecef74d..ffe68f78894f30d932176d7b21b8b9a3be2f89aa 100644 --- a/Mesh/Simplex.h +++ b/Mesh/Simplex.h @@ -21,6 +21,7 @@ // Please report all bugs and problems to <gmsh@geuz.org>. #include "List.h" +#include "Tree.h" #include "Vertex.h" #include "Element.h" #include "Face.h" @@ -81,4 +82,6 @@ int compareFace(const void *a, const void *b); Simplex *Create_Simplex (Vertex *v1, Vertex *v2, Vertex *v3, Vertex *v4); void Free_Simplex(void *a, void *b); +void Move_SimplexBaseToSimplex(Tree_T **base, Tree_T *simp); + #endif diff --git a/Parser/Gmsh.tab.cpp b/Parser/Gmsh.tab.cpp index 56dba196dca18d5197be17773e2b49fef26886b6..6b7b84fe95f5d0480c8948a790f0140d73790be1 100644 --- a/Parser/Gmsh.tab.cpp +++ b/Parser/Gmsh.tab.cpp @@ -1,390 +1,174 @@ -/* A Bison parser, made by GNU Bison 1.875. */ -/* Skeleton parser for Yacc-like parsing with Bison, - Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002 Free Software Foundation, Inc. +/* A Bison parser, made from Gmsh.y + by GNU Bison version 1.28 */ + +#define YYBISON 1 /* Identify Bison output. */ + +#define tDOUBLE 257 +#define tSTRING 258 +#define tBIGSTR 259 +#define tEND 260 +#define tAFFECT 261 +#define tDOTS 262 +#define tPi 263 +#define tMPI_Rank 264 +#define tMPI_Size 265 +#define tExp 266 +#define tLog 267 +#define tLog10 268 +#define tSqrt 269 +#define tSin 270 +#define tAsin 271 +#define tCos 272 +#define tAcos 273 +#define tTan 274 +#define tRand 275 +#define tAtan 276 +#define tAtan2 277 +#define tSinh 278 +#define tCosh 279 +#define tTanh 280 +#define tFabs 281 +#define tFloor 282 +#define tCeil 283 +#define tFmod 284 +#define tModulo 285 +#define tHypot 286 +#define tPrintf 287 +#define tSprintf 288 +#define tStrCat 289 +#define tStrPrefix 290 +#define tStrRelative 291 +#define tBoundingBox 292 +#define tDraw 293 +#define tToday 294 +#define tPoint 295 +#define tCircle 296 +#define tEllipse 297 +#define tLine 298 +#define tSurface 299 +#define tSpline 300 +#define tVolume 301 +#define tCharacteristic 302 +#define tLength 303 +#define tParametric 304 +#define tElliptic 305 +#define tPlane 306 +#define tRuled 307 +#define tTransfinite 308 +#define tComplex 309 +#define tPhysical 310 +#define tUsing 311 +#define tBump 312 +#define tProgression 313 +#define tPlugin 314 +#define tRotate 315 +#define tTranslate 316 +#define tSymmetry 317 +#define tDilate 318 +#define tExtrude 319 +#define tDuplicata 320 +#define tLoop 321 +#define tRecombine 322 +#define tDelete 323 +#define tCoherence 324 +#define tIntersect 325 +#define tAttractor 326 +#define tLayers 327 +#define tAlias 328 +#define tAliasWithOptions 329 +#define tText2D 330 +#define tText3D 331 +#define tInterpolationScheme 332 +#define tTime 333 +#define tCombine 334 +#define tBSpline 335 +#define tBezier 336 +#define tNurbs 337 +#define tOrder 338 +#define tWith 339 +#define tBounds 340 +#define tKnots 341 +#define tColor 342 +#define tColorTable 343 +#define tFor 344 +#define tIn 345 +#define tEndFor 346 +#define tIf 347 +#define tEndIf 348 +#define tExit 349 +#define tReturn 350 +#define tCall 351 +#define tFunction 352 +#define tTrimmed 353 +#define tShow 354 +#define tHide 355 +#define tGetValue 356 +#define tGMSH_MAJOR_VERSION 357 +#define tGMSH_MINOR_VERSION 358 +#define tGMSH_PATCH_VERSION 359 +#define tB_SPLINE_SURFACE_WITH_KNOTS 360 +#define tB_SPLINE_CURVE_WITH_KNOTS 361 +#define tCARTESIAN_POINT 362 +#define tTRUE 363 +#define tFALSE 364 +#define tUNSPECIFIED 365 +#define tU 366 +#define tV 367 +#define tEDGE_CURVE 368 +#define tVERTEX_POINT 369 +#define tORIENTED_EDGE 370 +#define tPLANE 371 +#define tFACE_OUTER_BOUND 372 +#define tEDGE_LOOP 373 +#define tADVANCED_FACE 374 +#define tVECTOR 375 +#define tDIRECTION 376 +#define tAXIS2_PLACEMENT_3D 377 +#define tISO 378 +#define tENDISO 379 +#define tENDSEC 380 +#define tDATA 381 +#define tHEADER 382 +#define tFILE_DESCRIPTION 383 +#define tFILE_SCHEMA 384 +#define tFILE_NAME 385 +#define tMANIFOLD_SOLID_BREP 386 +#define tCLOSED_SHELL 387 +#define tADVANCED_BREP_SHAPE_REPRESENTATION 388 +#define tFACE_BOUND 389 +#define tCYLINDRICAL_SURFACE 390 +#define tCONICAL_SURFACE 391 +#define tCIRCLE 392 +#define tTRIMMED_CURVE 393 +#define tGEOMETRIC_SET 394 +#define tCOMPOSITE_CURVE_SEGMENT 395 +#define tCONTINUOUS 396 +#define tCOMPOSITE_CURVE 397 +#define tTOROIDAL_SURFACE 398 +#define tPRODUCT_DEFINITION 399 +#define tPRODUCT_DEFINITION_SHAPE 400 +#define tSHAPE_DEFINITION_REPRESENTATION 401 +#define tELLIPSE 402 +#define tAFFECTPLUS 403 +#define tAFFECTMINUS 404 +#define tAFFECTTIMES 405 +#define tAFFECTDIVIDE 406 +#define tOR 407 +#define tAND 408 +#define tEQUAL 409 +#define tNOTEQUAL 410 +#define tAPPROXEQUAL 411 +#define tLESSOREQUAL 412 +#define tGREATEROREQUAL 413 +#define tCROSSPRODUCT 414 +#define tPLUSPLUS 415 +#define tMINUSMINUS 416 +#define UNARYPREC 417 - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) - any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. */ - -/* As a special exception, when this file is copied by Bison into a - Bison output file, you may use that output file without restriction. - This special exception was added by the Free Software Foundation - in version 1.24 of Bison. */ - -/* Written by Richard Stallman by simplifying the original so called - ``semantic'' parser. */ - -/* All symbols defined below should begin with yy or YY, to avoid - infringing on user name space. This should be done even for local - variables, as they might otherwise be expanded by user macros. - There are some unavoidable exceptions within include files to - define necessary library symbols; they are noted "INFRINGES ON - USER NAME SPACE" below. */ - -/* Identify Bison output. */ -#define YYBISON 1 - -/* Skeleton name. */ -#define YYSKELETON_NAME "yacc.c" - -/* Pure parsers. */ -#define YYPURE 0 - -/* Using locations. */ -#define YYLSP_NEEDED 0 - - - -/* Tokens. */ -#ifndef YYTOKENTYPE -# define YYTOKENTYPE - /* Put the tokens into the symbol table, so that GDB and other debuggers - know about them. */ - enum yytokentype { - tDOUBLE = 258, - tSTRING = 259, - tBIGSTR = 260, - tEND = 261, - tAFFECT = 262, - tDOTS = 263, - tPi = 264, - tMPI_Rank = 265, - tMPI_Size = 266, - tExp = 267, - tLog = 268, - tLog10 = 269, - tSqrt = 270, - tSin = 271, - tAsin = 272, - tCos = 273, - tAcos = 274, - tTan = 275, - tRand = 276, - tAtan = 277, - tAtan2 = 278, - tSinh = 279, - tCosh = 280, - tTanh = 281, - tFabs = 282, - tFloor = 283, - tCeil = 284, - tFmod = 285, - tModulo = 286, - tHypot = 287, - tPrintf = 288, - tSprintf = 289, - tStrCat = 290, - tStrPrefix = 291, - tStrRelative = 292, - tBoundingBox = 293, - tDraw = 294, - tToday = 295, - tPoint = 296, - tCircle = 297, - tEllipse = 298, - tLine = 299, - tSurface = 300, - tSpline = 301, - tVolume = 302, - tCharacteristic = 303, - tLength = 304, - tParametric = 305, - tElliptic = 306, - tPlane = 307, - tRuled = 308, - tTransfinite = 309, - tComplex = 310, - tPhysical = 311, - tUsing = 312, - tBump = 313, - tProgression = 314, - tPlugin = 315, - tRotate = 316, - tTranslate = 317, - tSymmetry = 318, - tDilate = 319, - tExtrude = 320, - tDuplicata = 321, - tLoop = 322, - tRecombine = 323, - tDelete = 324, - tCoherence = 325, - tIntersect = 326, - tAttractor = 327, - tLayers = 328, - tAlias = 329, - tAliasWithOptions = 330, - tText2D = 331, - tText3D = 332, - tInterpolationScheme = 333, - tTime = 334, - tCombine = 335, - tBSpline = 336, - tBezier = 337, - tNurbs = 338, - tOrder = 339, - tWith = 340, - tBounds = 341, - tKnots = 342, - tColor = 343, - tColorTable = 344, - tFor = 345, - tIn = 346, - tEndFor = 347, - tIf = 348, - tEndIf = 349, - tExit = 350, - tReturn = 351, - tCall = 352, - tFunction = 353, - tTrimmed = 354, - tShow = 355, - tHide = 356, - tGetValue = 357, - tGMSH_MAJOR_VERSION = 358, - tGMSH_MINOR_VERSION = 359, - tGMSH_PATCH_VERSION = 360, - tB_SPLINE_SURFACE_WITH_KNOTS = 361, - tB_SPLINE_CURVE_WITH_KNOTS = 362, - tCARTESIAN_POINT = 363, - tTRUE = 364, - tFALSE = 365, - tUNSPECIFIED = 366, - tU = 367, - tV = 368, - tEDGE_CURVE = 369, - tVERTEX_POINT = 370, - tORIENTED_EDGE = 371, - tPLANE = 372, - tFACE_OUTER_BOUND = 373, - tEDGE_LOOP = 374, - tADVANCED_FACE = 375, - tVECTOR = 376, - tDIRECTION = 377, - tAXIS2_PLACEMENT_3D = 378, - tISO = 379, - tENDISO = 380, - tENDSEC = 381, - tDATA = 382, - tHEADER = 383, - tFILE_DESCRIPTION = 384, - tFILE_SCHEMA = 385, - tFILE_NAME = 386, - tMANIFOLD_SOLID_BREP = 387, - tCLOSED_SHELL = 388, - tADVANCED_BREP_SHAPE_REPRESENTATION = 389, - tFACE_BOUND = 390, - tCYLINDRICAL_SURFACE = 391, - tCONICAL_SURFACE = 392, - tCIRCLE = 393, - tTRIMMED_CURVE = 394, - tGEOMETRIC_SET = 395, - tCOMPOSITE_CURVE_SEGMENT = 396, - tCONTINUOUS = 397, - tCOMPOSITE_CURVE = 398, - tTOROIDAL_SURFACE = 399, - tPRODUCT_DEFINITION = 400, - tPRODUCT_DEFINITION_SHAPE = 401, - tSHAPE_DEFINITION_REPRESENTATION = 402, - tELLIPSE = 403, - tAFFECTDIVIDE = 404, - tAFFECTTIMES = 405, - tAFFECTMINUS = 406, - tAFFECTPLUS = 407, - tOR = 408, - tAND = 409, - tAPPROXEQUAL = 410, - tNOTEQUAL = 411, - tEQUAL = 412, - tGREATEROREQUAL = 413, - tLESSOREQUAL = 414, - tCROSSPRODUCT = 415, - UNARYPREC = 416, - tMINUSMINUS = 417, - tPLUSPLUS = 418 - }; -#endif -#define tDOUBLE 258 -#define tSTRING 259 -#define tBIGSTR 260 -#define tEND 261 -#define tAFFECT 262 -#define tDOTS 263 -#define tPi 264 -#define tMPI_Rank 265 -#define tMPI_Size 266 -#define tExp 267 -#define tLog 268 -#define tLog10 269 -#define tSqrt 270 -#define tSin 271 -#define tAsin 272 -#define tCos 273 -#define tAcos 274 -#define tTan 275 -#define tRand 276 -#define tAtan 277 -#define tAtan2 278 -#define tSinh 279 -#define tCosh 280 -#define tTanh 281 -#define tFabs 282 -#define tFloor 283 -#define tCeil 284 -#define tFmod 285 -#define tModulo 286 -#define tHypot 287 -#define tPrintf 288 -#define tSprintf 289 -#define tStrCat 290 -#define tStrPrefix 291 -#define tStrRelative 292 -#define tBoundingBox 293 -#define tDraw 294 -#define tToday 295 -#define tPoint 296 -#define tCircle 297 -#define tEllipse 298 -#define tLine 299 -#define tSurface 300 -#define tSpline 301 -#define tVolume 302 -#define tCharacteristic 303 -#define tLength 304 -#define tParametric 305 -#define tElliptic 306 -#define tPlane 307 -#define tRuled 308 -#define tTransfinite 309 -#define tComplex 310 -#define tPhysical 311 -#define tUsing 312 -#define tBump 313 -#define tProgression 314 -#define tPlugin 315 -#define tRotate 316 -#define tTranslate 317 -#define tSymmetry 318 -#define tDilate 319 -#define tExtrude 320 -#define tDuplicata 321 -#define tLoop 322 -#define tRecombine 323 -#define tDelete 324 -#define tCoherence 325 -#define tIntersect 326 -#define tAttractor 327 -#define tLayers 328 -#define tAlias 329 -#define tAliasWithOptions 330 -#define tText2D 331 -#define tText3D 332 -#define tInterpolationScheme 333 -#define tTime 334 -#define tCombine 335 -#define tBSpline 336 -#define tBezier 337 -#define tNurbs 338 -#define tOrder 339 -#define tWith 340 -#define tBounds 341 -#define tKnots 342 -#define tColor 343 -#define tColorTable 344 -#define tFor 345 -#define tIn 346 -#define tEndFor 347 -#define tIf 348 -#define tEndIf 349 -#define tExit 350 -#define tReturn 351 -#define tCall 352 -#define tFunction 353 -#define tTrimmed 354 -#define tShow 355 -#define tHide 356 -#define tGetValue 357 -#define tGMSH_MAJOR_VERSION 358 -#define tGMSH_MINOR_VERSION 359 -#define tGMSH_PATCH_VERSION 360 -#define tB_SPLINE_SURFACE_WITH_KNOTS 361 -#define tB_SPLINE_CURVE_WITH_KNOTS 362 -#define tCARTESIAN_POINT 363 -#define tTRUE 364 -#define tFALSE 365 -#define tUNSPECIFIED 366 -#define tU 367 -#define tV 368 -#define tEDGE_CURVE 369 -#define tVERTEX_POINT 370 -#define tORIENTED_EDGE 371 -#define tPLANE 372 -#define tFACE_OUTER_BOUND 373 -#define tEDGE_LOOP 374 -#define tADVANCED_FACE 375 -#define tVECTOR 376 -#define tDIRECTION 377 -#define tAXIS2_PLACEMENT_3D 378 -#define tISO 379 -#define tENDISO 380 -#define tENDSEC 381 -#define tDATA 382 -#define tHEADER 383 -#define tFILE_DESCRIPTION 384 -#define tFILE_SCHEMA 385 -#define tFILE_NAME 386 -#define tMANIFOLD_SOLID_BREP 387 -#define tCLOSED_SHELL 388 -#define tADVANCED_BREP_SHAPE_REPRESENTATION 389 -#define tFACE_BOUND 390 -#define tCYLINDRICAL_SURFACE 391 -#define tCONICAL_SURFACE 392 -#define tCIRCLE 393 -#define tTRIMMED_CURVE 394 -#define tGEOMETRIC_SET 395 -#define tCOMPOSITE_CURVE_SEGMENT 396 -#define tCONTINUOUS 397 -#define tCOMPOSITE_CURVE 398 -#define tTOROIDAL_SURFACE 399 -#define tPRODUCT_DEFINITION 400 -#define tPRODUCT_DEFINITION_SHAPE 401 -#define tSHAPE_DEFINITION_REPRESENTATION 402 -#define tELLIPSE 403 -#define tAFFECTDIVIDE 404 -#define tAFFECTTIMES 405 -#define tAFFECTMINUS 406 -#define tAFFECTPLUS 407 -#define tOR 408 -#define tAND 409 -#define tAPPROXEQUAL 410 -#define tNOTEQUAL 411 -#define tEQUAL 412 -#define tGREATEROREQUAL 413 -#define tLESSOREQUAL 414 -#define tCROSSPRODUCT 415 -#define UNARYPREC 416 -#define tMINUSMINUS 417 -#define tPLUSPLUS 418 - - - - -/* Copy the first part of user declarations. */ #line 1 "Gmsh.y" -// $Id: Gmsh.tab.cpp,v 1.237 2005-04-19 16:03:11 remacle Exp $ +// $Id: Gmsh.tab.cpp,v 1.238 2005-06-10 20:59:15 geuzaine Exp $ // // Copyright (C) 1997-2005 C. Geuzaine, J.-F. Remacle // @@ -460,23 +244,8 @@ void skip_until(char *skip, char *until); int PrintListOfDouble(char *format, List_T *list, char *buffer); int CheckViewErrorFlags(Post_View *v); - -/* Enabling traces. */ -#ifndef YYDEBUG -# define YYDEBUG 0 -#endif - -/* Enabling verbose error messages. */ -#ifdef YYERROR_VERBOSE -# undef YYERROR_VERBOSE -# define YYERROR_VERBOSE 1 -#else -# define YYERROR_VERBOSE 0 -#endif - -#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED) #line 79 "Gmsh.y" -typedef union YYSTYPE { +typedef union { char *c; int i; unsigned int u; @@ -485,2845 +254,2411 @@ typedef union YYSTYPE { Shape s; List_T *l; } YYSTYPE; -/* Line 191 of yacc.c. */ -#line 489 "Gmsh.tab.cpp" -# define yystype YYSTYPE /* obsolescent; will be withdrawn */ -# define YYSTYPE_IS_DECLARED 1 -# define YYSTYPE_IS_TRIVIAL 1 -#endif - - - -/* Copy the second part of user declarations. */ - - -/* Line 214 of yacc.c. */ -#line 501 "Gmsh.tab.cpp" - -#if ! defined (yyoverflow) || YYERROR_VERBOSE - -/* The parser invokes alloca or malloc; define the necessary symbols. */ - -# if YYSTACK_USE_ALLOCA -# define YYSTACK_ALLOC alloca -# else -# ifndef YYSTACK_USE_ALLOCA -# if defined (alloca) || defined (_ALLOCA_H) -# define YYSTACK_ALLOC alloca -# else -# ifdef __GNUC__ -# define YYSTACK_ALLOC __builtin_alloca -# endif -# endif -# endif -# endif - -# ifdef YYSTACK_ALLOC - /* Pacify GCC's `empty if-body' warning. */ -# define YYSTACK_FREE(Ptr) do { /* empty */; } while (0) -# else -# if defined (__STDC__) || defined (__cplusplus) -# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ -# define YYSIZE_T size_t -# endif -# define YYSTACK_ALLOC malloc -# define YYSTACK_FREE free -# endif -#endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */ - - -#if (! defined (yyoverflow) \ - && (! defined (__cplusplus) \ - || (YYSTYPE_IS_TRIVIAL))) - -/* A type that is properly aligned for any stack member. */ -union yyalloc -{ - short yyss; - YYSTYPE yyvs; - }; - -/* The size of the maximum gap between one aligned stack and the next. */ -# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) - -/* The size of an array large to enough to hold all stacks, each with - N elements. */ -# define YYSTACK_BYTES(N) \ - ((N) * (sizeof (short) + sizeof (YYSTYPE)) \ - + YYSTACK_GAP_MAXIMUM) - -/* Copy COUNT objects from FROM to TO. The source and destination do - not overlap. */ -# ifndef YYCOPY -# if 1 < __GNUC__ -# define YYCOPY(To, From, Count) \ - __builtin_memcpy (To, From, (Count) * sizeof (*(From))) -# else -# define YYCOPY(To, From, Count) \ - do \ - { \ - register YYSIZE_T yyi; \ - for (yyi = 0; yyi < (Count); yyi++) \ - (To)[yyi] = (From)[yyi]; \ - } \ - while (0) -# endif -# endif - -/* Relocate STACK from its old location to the new one. The - local variables YYSIZE and YYSTACKSIZE give the old and new number of - elements in the stack, and YYPTR gives the new location of the - stack. Advance YYPTR to a properly aligned location for the next - stack. */ -# define YYSTACK_RELOCATE(Stack) \ - do \ - { \ - YYSIZE_T yynewbytes; \ - YYCOPY (&yyptr->Stack, Stack, yysize); \ - Stack = &yyptr->Stack; \ - yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ - yyptr += yynewbytes / sizeof (*yyptr); \ - } \ - while (0) +#include <stdio.h> +#ifndef __cplusplus +#ifndef __STDC__ +#define const #endif - -#if defined (__STDC__) || defined (__cplusplus) - typedef signed char yysigned_char; -#else - typedef short yysigned_char; #endif -/* YYFINAL -- State number of the termination state. */ -#define YYFINAL 6 -/* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 6252 - -/* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 183 -/* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 69 -/* YYNRULES -- Number of rules. */ -#define YYNRULES 367 -/* YYNRULES -- Number of states. */ -#define YYNSTATES 1504 - -/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ -#define YYUNDEFTOK 2 -#define YYMAXUTOK 418 - -#define YYTRANSLATE(YYX) \ - ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) - -/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */ -static const unsigned char 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, 169, 2, 179, 2, 167, 2, 2, - 174, 175, 165, 163, 180, 164, 178, 166, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 159, 2, 160, 153, 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, 176, 2, 177, 173, 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, 181, 2, 182, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 1, 2, 3, 4, - 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, - 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, - 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, - 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, - 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, - 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, - 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, - 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, - 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, - 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, - 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, - 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, - 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, - 145, 146, 147, 148, 149, 150, 151, 152, 154, 155, - 156, 157, 158, 161, 162, 168, 170, 171, 172 -}; -#if YYDEBUG -/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in - YYRHS. */ -static const unsigned short yyprhs[] = -{ - 0, 0, 3, 5, 7, 10, 11, 14, 16, 18, - 20, 23, 26, 29, 32, 35, 43, 49, 67, 77, - 101, 133, 149, 161, 173, 189, 199, 213, 223, 235, - 249, 259, 269, 281, 291, 303, 313, 325, 339, 353, - 365, 379, 397, 407, 419, 431, 445, 457, 467, 468, - 471, 473, 475, 477, 479, 481, 483, 485, 487, 489, - 491, 493, 495, 497, 499, 505, 513, 520, 529, 530, - 533, 536, 539, 542, 545, 547, 551, 553, 557, 558, - 559, 570, 572, 576, 577, 591, 593, 597, 598, 614, - 623, 624, 631, 633, 635, 637, 639, 641, 643, 645, - 650, 658, 668, 675, 679, 686, 693, 703, 710, 720, - 726, 735, 744, 756, 763, 773, 783, 793, 801, 810, - 823, 830, 838, 846, 854, 864, 872, 882, 900, 908, - 916, 928, 937, 950, 959, 968, 977, 990, 1013, 1034, - 1043, 1052, 1061, 1069, 1078, 1084, 1096, 1102, 1112, 1114, - 1116, 1118, 1119, 1122, 1129, 1136, 1143, 1150, 1155, 1162, - 1169, 1176, 1181, 1188, 1192, 1197, 1203, 1207, 1211, 1216, - 1221, 1225, 1233, 1237, 1245, 1249, 1252, 1255, 1271, 1274, - 1281, 1290, 1299, 1310, 1312, 1315, 1317, 1321, 1326, 1328, - 1337, 1350, 1365, 1366, 1379, 1380, 1397, 1398, 1417, 1426, - 1439, 1454, 1455, 1468, 1469, 1486, 1487, 1506, 1515, 1528, - 1543, 1544, 1557, 1558, 1575, 1576, 1595, 1597, 1600, 1610, - 1618, 1621, 1628, 1638, 1648, 1657, 1666, 1675, 1682, 1687, - 1690, 1693, 1695, 1697, 1699, 1701, 1703, 1705, 1709, 1712, - 1715, 1718, 1722, 1726, 1730, 1734, 1738, 1742, 1746, 1750, - 1754, 1758, 1762, 1766, 1770, 1774, 1780, 1785, 1790, 1795, - 1800, 1805, 1810, 1815, 1820, 1825, 1830, 1837, 1842, 1847, - 1852, 1857, 1862, 1867, 1874, 1881, 1888, 1893, 1898, 1903, - 1908, 1913, 1918, 1923, 1928, 1933, 1938, 1943, 1950, 1955, - 1960, 1965, 1970, 1975, 1980, 1987, 1994, 2001, 2006, 2008, - 2010, 2012, 2014, 2016, 2018, 2020, 2022, 2027, 2032, 2035, - 2041, 2045, 2052, 2057, 2065, 2072, 2074, 2077, 2080, 2084, - 2088, 2100, 2110, 2118, 2126, 2127, 2131, 2133, 2137, 2138, - 2142, 2146, 2148, 2152, 2154, 2156, 2160, 2165, 2169, 2175, - 2180, 2182, 2184, 2186, 2190, 2195, 2202, 2210, 2212, 2214, - 2218, 2222, 2232, 2240, 2242, 2248, 2252, 2259, 2261, 2265, - 2267, 2269, 2276, 2281, 2286, 2291, 2298, 2305 + +#define YYFINAL 1504 +#define YYFLAG -32768 +#define YYNTBASE 183 + +#define YYTRANSLATE(x) ((unsigned)(x) <= 417 ? yytranslate[x] : 251) + +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, 169, 2, 179, 2, 167, 2, 2, 174, + 175, 165, 163, 180, 164, 178, 166, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 159, + 2, 161, 153, 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, + 176, 2, 177, 173, 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, 181, 2, 182, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 1, 3, 4, 5, 6, + 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, + 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, + 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, + 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, + 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, + 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, + 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, + 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, + 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, + 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, + 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, + 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, + 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, + 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, + 147, 148, 149, 150, 151, 152, 154, 155, 156, 157, + 158, 160, 162, 168, 170, 171, 172 }; -/* YYRHS -- A `-1'-separated list of the rules' RHS. */ -static const short yyrhs[] = -{ - 184, 0, -1, 185, -1, 190, -1, 1, 6, -1, - -1, 185, 186, -1, 187, -1, 189, -1, 188, -1, - 124, 6, -1, 125, 6, -1, 127, 6, -1, 126, - 6, -1, 128, 6, -1, 129, 174, 241, 180, 5, - 175, 6, -1, 130, 174, 241, 175, 6, -1, 131, - 174, 5, 180, 5, 180, 241, 180, 241, 180, 5, - 180, 5, 180, 5, 175, 6, -1, 3, 7, 108, - 174, 5, 180, 239, 175, 6, -1, 3, 7, 107, - 174, 5, 180, 237, 180, 245, 180, 236, 180, 236, - 180, 236, 180, 245, 180, 245, 180, 236, 175, 6, - -1, 3, 7, 106, 174, 5, 180, 237, 180, 237, - 180, 243, 180, 236, 180, 236, 180, 236, 180, 236, - 180, 245, 180, 245, 180, 245, 180, 245, 180, 236, - 175, 6, -1, 3, 7, 114, 174, 5, 180, 3, - 180, 3, 180, 3, 180, 236, 175, 6, -1, 3, - 7, 118, 174, 5, 180, 3, 180, 236, 175, 6, - -1, 3, 7, 135, 174, 5, 180, 3, 180, 236, - 175, 6, -1, 3, 7, 116, 174, 5, 180, 165, - 180, 165, 180, 237, 180, 236, 175, 6, -1, 3, - 7, 119, 174, 5, 180, 245, 175, 6, -1, 3, - 7, 120, 174, 5, 180, 245, 180, 3, 180, 236, - 175, 6, -1, 3, 7, 115, 174, 5, 180, 3, - 175, 6, -1, 3, 7, 121, 174, 5, 180, 3, - 180, 237, 175, 6, -1, 3, 7, 123, 174, 5, - 180, 3, 180, 3, 180, 3, 175, 6, -1, 3, - 7, 122, 174, 5, 180, 239, 175, 6, -1, 3, - 7, 117, 174, 5, 180, 3, 175, 6, -1, 3, - 7, 44, 174, 5, 180, 3, 180, 3, 175, 6, - -1, 3, 7, 133, 174, 5, 180, 245, 175, 6, - -1, 3, 7, 134, 174, 5, 180, 245, 180, 3, - 175, 6, -1, 3, 7, 132, 174, 5, 180, 3, - 175, 6, -1, 3, 7, 136, 174, 5, 180, 3, - 180, 237, 175, 6, -1, 3, 7, 137, 174, 5, - 180, 3, 180, 237, 180, 237, 175, 6, -1, 3, - 7, 144, 174, 5, 180, 3, 180, 237, 180, 237, - 175, 6, -1, 3, 7, 138, 174, 5, 180, 3, - 180, 237, 175, 6, -1, 3, 7, 148, 174, 5, - 180, 3, 180, 237, 180, 237, 175, 6, -1, 3, - 7, 139, 174, 5, 180, 3, 180, 245, 180, 245, - 180, 236, 180, 236, 175, 6, -1, 3, 7, 140, - 174, 5, 180, 245, 175, 6, -1, 3, 7, 141, - 174, 142, 180, 236, 180, 3, 175, 6, -1, 3, - 7, 143, 174, 5, 180, 245, 180, 236, 175, 6, - -1, 3, 7, 145, 174, 5, 180, 5, 180, 3, - 180, 3, 175, 6, -1, 3, 7, 146, 174, 5, - 180, 5, 180, 3, 175, 6, -1, 3, 7, 147, - 174, 3, 180, 3, 175, 6, -1, -1, 190, 191, - -1, 193, -1, 192, -1, 211, -1, 212, -1, 213, - -1, 216, -1, 217, -1, 218, -1, 219, -1, 222, - -1, 234, -1, 235, -1, 221, -1, 220, -1, 33, - 174, 5, 175, 6, -1, 33, 174, 5, 180, 247, - 175, 6, -1, 4, 5, 181, 194, 182, 6, -1, - 4, 5, 4, 239, 181, 194, 182, 6, -1, -1, - 194, 197, -1, 194, 201, -1, 194, 204, -1, 194, - 206, -1, 194, 207, -1, 237, -1, 195, 180, 237, - -1, 237, -1, 196, 180, 237, -1, -1, -1, 4, - 198, 174, 195, 175, 199, 181, 196, 182, 6, -1, - 251, -1, 200, 180, 251, -1, -1, 76, 174, 237, - 180, 237, 180, 237, 175, 202, 181, 200, 182, 6, - -1, 251, -1, 203, 180, 251, -1, -1, 77, 174, - 237, 180, 237, 180, 237, 180, 237, 175, 205, 181, - 203, 182, 6, -1, 78, 181, 244, 182, 181, 244, - 182, 6, -1, -1, 79, 208, 181, 196, 182, 6, - -1, 7, -1, 152, -1, 151, -1, 150, -1, 149, - -1, 172, -1, 171, -1, 4, 209, 237, 6, -1, - 4, 176, 237, 177, 209, 237, 6, -1, 4, 176, - 181, 247, 182, 177, 209, 245, 6, -1, 4, 176, - 177, 7, 245, 6, -1, 4, 210, 6, -1, 4, - 176, 237, 177, 210, 6, -1, 4, 178, 4, 7, - 251, 6, -1, 4, 176, 237, 177, 178, 4, 7, - 251, 6, -1, 4, 178, 4, 209, 237, 6, -1, - 4, 176, 237, 177, 178, 4, 209, 237, 6, -1, - 4, 178, 4, 210, 6, -1, 4, 176, 237, 177, - 178, 4, 210, 6, -1, 4, 178, 88, 178, 4, - 7, 248, 6, -1, 4, 176, 237, 177, 178, 88, - 178, 4, 7, 248, 6, -1, 4, 178, 89, 7, - 249, 6, -1, 4, 176, 237, 177, 178, 89, 7, - 249, 6, -1, 60, 174, 4, 175, 178, 4, 7, - 237, 6, -1, 60, 174, 4, 175, 178, 4, 7, - 251, 6, -1, 41, 174, 237, 175, 7, 239, 6, - -1, 56, 41, 174, 237, 175, 7, 245, 6, -1, - 72, 41, 245, 7, 181, 237, 180, 237, 180, 237, - 182, 6, -1, 48, 49, 245, 7, 237, 6, -1, - 44, 174, 237, 175, 7, 245, 6, -1, 46, 174, - 237, 175, 7, 245, 6, -1, 42, 174, 237, 175, - 7, 245, 6, -1, 42, 174, 237, 175, 7, 245, - 52, 239, 6, -1, 43, 174, 237, 175, 7, 245, - 6, -1, 43, 174, 237, 175, 7, 245, 52, 239, - 6, -1, 50, 174, 237, 175, 7, 181, 237, 180, - 237, 180, 5, 180, 5, 180, 5, 182, 6, -1, - 81, 174, 237, 175, 7, 245, 6, -1, 82, 174, - 237, 175, 7, 245, 6, -1, 83, 174, 237, 175, - 7, 245, 87, 245, 84, 237, 6, -1, 44, 67, - 174, 237, 175, 7, 245, 6, -1, 72, 44, 245, - 7, 181, 237, 180, 237, 180, 237, 182, 6, -1, - 56, 44, 174, 237, 175, 7, 245, 6, -1, 52, - 45, 174, 237, 175, 7, 245, 6, -1, 53, 45, - 174, 237, 175, 7, 245, 6, -1, 99, 45, 174, - 237, 175, 7, 181, 237, 180, 245, 182, 6, -1, - 83, 45, 85, 86, 174, 237, 175, 7, 243, 87, - 181, 245, 180, 245, 182, 84, 181, 237, 180, 237, - 182, 6, -1, 83, 45, 174, 237, 175, 7, 243, - 87, 181, 245, 180, 245, 182, 84, 181, 237, 180, - 237, 182, 6, -1, 45, 67, 174, 237, 175, 7, - 245, 6, -1, 56, 45, 174, 237, 175, 7, 245, - 6, -1, 55, 47, 174, 237, 175, 7, 245, 6, - -1, 47, 174, 237, 175, 7, 245, 6, -1, 56, - 47, 174, 237, 175, 7, 245, 6, -1, 62, 239, - 181, 214, 182, -1, 61, 181, 239, 180, 239, 180, - 237, 182, 181, 214, 182, -1, 63, 239, 181, 214, - 182, -1, 64, 181, 239, 180, 237, 182, 181, 214, - 182, -1, 216, -1, 215, -1, 213, -1, -1, 215, - 212, -1, 215, 41, 181, 247, 182, 6, -1, 215, - 44, 181, 247, 182, 6, -1, 215, 45, 181, 247, - 182, 6, -1, 215, 47, 181, 247, 182, 6, -1, - 66, 181, 215, 182, -1, 66, 4, 176, 237, 177, - 6, -1, 74, 4, 176, 237, 177, 6, -1, 75, - 4, 176, 237, 177, 6, -1, 69, 181, 215, 182, - -1, 69, 4, 176, 237, 177, 6, -1, 69, 4, - 6, -1, 69, 4, 4, 6, -1, 88, 248, 181, - 215, 182, -1, 100, 251, 6, -1, 101, 251, 6, - -1, 100, 181, 215, 182, -1, 101, 181, 215, 182, - -1, 4, 251, 6, -1, 4, 4, 176, 237, 177, - 251, 6, -1, 4, 237, 6, -1, 60, 174, 4, - 175, 178, 4, 6, -1, 80, 4, 6, -1, 95, - 6, -1, 38, 6, -1, 38, 181, 237, 180, 237, - 180, 237, 180, 237, 180, 237, 180, 237, 182, 6, - -1, 39, 6, -1, 90, 174, 237, 8, 237, 175, - -1, 90, 174, 237, 8, 237, 8, 237, 175, -1, - 90, 4, 91, 181, 237, 8, 237, 182, -1, 90, - 4, 91, 181, 237, 8, 237, 8, 237, 182, -1, - 92, -1, 98, 4, -1, 96, -1, 97, 4, 6, - -1, 93, 174, 237, 175, -1, 94, -1, 65, 41, - 181, 237, 180, 239, 182, 6, -1, 65, 41, 181, - 237, 180, 239, 180, 239, 180, 237, 182, 6, -1, - 65, 41, 181, 237, 180, 239, 180, 239, 180, 239, - 180, 237, 182, 6, -1, -1, 65, 41, 181, 237, - 180, 239, 182, 223, 181, 232, 182, 6, -1, -1, - 65, 41, 181, 237, 180, 239, 180, 239, 180, 237, - 182, 224, 181, 232, 182, 6, -1, -1, 65, 41, - 181, 237, 180, 239, 180, 239, 180, 239, 180, 237, - 182, 225, 181, 232, 182, 6, -1, 65, 44, 181, - 237, 180, 239, 182, 6, -1, 65, 44, 181, 237, - 180, 239, 180, 239, 180, 237, 182, 6, -1, 65, - 44, 181, 237, 180, 239, 180, 239, 180, 239, 180, - 237, 182, 6, -1, -1, 65, 44, 181, 237, 180, - 239, 182, 226, 181, 232, 182, 6, -1, -1, 65, - 44, 181, 237, 180, 239, 180, 239, 180, 237, 182, - 227, 181, 232, 182, 6, -1, -1, 65, 44, 181, - 237, 180, 239, 180, 239, 180, 239, 180, 237, 182, - 228, 181, 232, 182, 6, -1, 65, 45, 181, 237, - 180, 239, 182, 6, -1, 65, 45, 181, 237, 180, - 239, 180, 239, 180, 237, 182, 6, -1, 65, 45, - 181, 237, 180, 239, 180, 239, 180, 239, 180, 237, - 182, 6, -1, -1, 65, 45, 181, 237, 180, 239, - 182, 229, 181, 232, 182, 6, -1, -1, 65, 45, - 181, 237, 180, 239, 180, 239, 180, 237, 182, 230, - 181, 232, 182, 6, -1, -1, 65, 45, 181, 237, - 180, 239, 180, 239, 180, 239, 180, 237, 182, 231, - 181, 232, 182, 6, -1, 233, -1, 232, 233, -1, - 73, 181, 245, 180, 245, 180, 245, 182, 6, -1, - 73, 181, 245, 180, 245, 182, 6, -1, 68, 6, - -1, 54, 44, 245, 7, 237, 6, -1, 54, 44, - 245, 7, 237, 57, 59, 237, 6, -1, 54, 44, - 245, 7, 237, 57, 58, 237, 6, -1, 54, 45, - 181, 237, 182, 7, 245, 6, -1, 51, 45, 181, - 237, 182, 7, 245, 6, -1, 54, 47, 181, 237, - 182, 7, 245, 6, -1, 68, 45, 245, 7, 237, - 6, -1, 68, 45, 245, 6, -1, 70, 6, -1, - 71, 6, -1, 109, -1, 110, -1, 111, -1, 112, - -1, 113, -1, 238, -1, 174, 237, 175, -1, 164, - 237, -1, 163, 237, -1, 169, 237, -1, 237, 164, - 237, -1, 237, 163, 237, -1, 237, 165, 237, -1, - 237, 166, 237, -1, 237, 167, 237, -1, 237, 173, - 237, -1, 237, 159, 237, -1, 237, 160, 237, -1, - 237, 162, 237, -1, 237, 161, 237, -1, 237, 158, - 237, -1, 237, 157, 237, -1, 237, 155, 237, -1, - 237, 154, 237, -1, 237, 153, 237, 8, 237, -1, - 12, 174, 237, 175, -1, 13, 174, 237, 175, -1, - 14, 174, 237, 175, -1, 15, 174, 237, 175, -1, - 16, 174, 237, 175, -1, 17, 174, 237, 175, -1, - 18, 174, 237, 175, -1, 19, 174, 237, 175, -1, - 20, 174, 237, 175, -1, 22, 174, 237, 175, -1, - 23, 174, 237, 180, 237, 175, -1, 24, 174, 237, - 175, -1, 25, 174, 237, 175, -1, 26, 174, 237, - 175, -1, 27, 174, 237, 175, -1, 28, 174, 237, - 175, -1, 29, 174, 237, 175, -1, 30, 174, 237, - 180, 237, 175, -1, 31, 174, 237, 180, 237, 175, - -1, 32, 174, 237, 180, 237, 175, -1, 21, 174, - 237, 175, -1, 12, 176, 237, 177, -1, 13, 176, - 237, 177, -1, 14, 176, 237, 177, -1, 15, 176, - 237, 177, -1, 16, 176, 237, 177, -1, 17, 176, - 237, 177, -1, 18, 176, 237, 177, -1, 19, 176, - 237, 177, -1, 20, 176, 237, 177, -1, 22, 176, - 237, 177, -1, 23, 176, 237, 180, 237, 177, -1, - 24, 176, 237, 177, -1, 25, 176, 237, 177, -1, - 26, 176, 237, 177, -1, 27, 176, 237, 177, -1, - 28, 176, 237, 177, -1, 29, 176, 237, 177, -1, - 30, 176, 237, 180, 237, 177, -1, 31, 176, 237, - 180, 237, 177, -1, 32, 176, 237, 180, 237, 177, - -1, 21, 176, 237, 177, -1, 3, -1, 9, -1, - 10, -1, 11, -1, 103, -1, 104, -1, 105, -1, - 4, -1, 4, 176, 237, 177, -1, 179, 4, 176, - 177, -1, 4, 210, -1, 4, 176, 237, 177, 210, - -1, 4, 178, 4, -1, 4, 176, 237, 177, 178, - 4, -1, 4, 178, 4, 210, -1, 4, 176, 237, - 177, 178, 4, 210, -1, 102, 174, 5, 180, 237, - 175, -1, 240, -1, 164, 239, -1, 163, 239, -1, - 239, 164, 239, -1, 239, 163, 239, -1, 181, 237, - 180, 237, 180, 237, 180, 237, 180, 237, 182, -1, - 181, 237, 180, 237, 180, 237, 180, 237, 182, -1, - 181, 237, 180, 237, 180, 237, 182, -1, 174, 237, - 180, 237, 180, 237, 175, -1, -1, 174, 242, 175, - -1, 5, -1, 242, 180, 5, -1, -1, 181, 244, - 182, -1, 174, 244, 175, -1, 245, -1, 244, 180, - 245, -1, 237, -1, 246, -1, 181, 247, 182, -1, - 164, 181, 247, 182, -1, 237, 8, 237, -1, 237, - 8, 237, 8, 237, -1, 41, 181, 237, 182, -1, - 213, -1, 216, -1, 222, -1, 4, 176, 177, -1, - 164, 4, 176, 177, -1, 4, 176, 181, 247, 182, - 177, -1, 164, 4, 176, 181, 247, 182, 177, -1, - 237, -1, 246, -1, 247, 180, 237, -1, 247, 180, - 246, -1, 181, 237, 180, 237, 180, 237, 180, 237, - 182, -1, 181, 237, 180, 237, 180, 237, 182, -1, - 4, -1, 4, 178, 88, 178, 4, -1, 181, 250, - 182, -1, 4, 176, 237, 177, 178, 89, -1, 248, - -1, 250, 180, 248, -1, 5, -1, 40, -1, 35, - 174, 251, 180, 251, 175, -1, 36, 174, 251, 175, - -1, 37, 174, 251, 175, -1, 34, 174, 251, 175, - -1, 34, 174, 251, 180, 247, 175, -1, 34, 174, - 4, 178, 4, 175, -1, 34, 174, 4, 176, 237, - 177, 178, 4, 175, -1 +#if YYDEBUG != 0 +static const short yyprhs[] = { 0, + 0, 2, 4, 7, 8, 11, 13, 15, 17, 20, + 23, 26, 29, 32, 40, 46, 64, 74, 98, 130, + 146, 158, 170, 186, 196, 210, 220, 232, 246, 256, + 266, 278, 288, 300, 310, 322, 336, 350, 362, 376, + 394, 404, 416, 428, 442, 454, 464, 465, 468, 470, + 472, 474, 476, 478, 480, 482, 484, 486, 488, 490, + 492, 494, 496, 502, 510, 517, 526, 527, 530, 533, + 536, 539, 542, 544, 548, 550, 554, 555, 556, 567, + 569, 573, 574, 588, 590, 594, 595, 611, 620, 621, + 628, 630, 632, 634, 636, 638, 640, 642, 647, 655, + 665, 672, 676, 683, 690, 700, 707, 717, 723, 732, + 741, 753, 760, 770, 780, 790, 798, 807, 820, 827, + 835, 843, 851, 861, 869, 879, 897, 905, 913, 925, + 934, 947, 956, 965, 974, 987, 1010, 1031, 1040, 1049, + 1058, 1066, 1075, 1081, 1093, 1099, 1109, 1111, 1113, 1115, + 1116, 1119, 1126, 1133, 1140, 1147, 1152, 1159, 1166, 1173, + 1178, 1185, 1189, 1194, 1200, 1204, 1208, 1213, 1218, 1222, + 1230, 1234, 1242, 1246, 1249, 1252, 1268, 1271, 1278, 1287, + 1296, 1307, 1309, 1312, 1314, 1318, 1323, 1325, 1334, 1347, + 1362, 1363, 1376, 1377, 1394, 1395, 1414, 1423, 1436, 1451, + 1452, 1465, 1466, 1483, 1484, 1503, 1512, 1525, 1540, 1541, + 1554, 1555, 1572, 1573, 1592, 1594, 1597, 1607, 1615, 1618, + 1625, 1635, 1645, 1654, 1663, 1672, 1679, 1684, 1687, 1690, + 1692, 1694, 1696, 1698, 1700, 1702, 1706, 1709, 1712, 1715, + 1719, 1723, 1727, 1731, 1735, 1739, 1743, 1747, 1751, 1755, + 1759, 1763, 1767, 1771, 1777, 1782, 1787, 1792, 1797, 1802, + 1807, 1812, 1817, 1822, 1827, 1834, 1839, 1844, 1849, 1854, + 1859, 1864, 1871, 1878, 1885, 1890, 1895, 1900, 1905, 1910, + 1915, 1920, 1925, 1930, 1935, 1940, 1947, 1952, 1957, 1962, + 1967, 1972, 1977, 1984, 1991, 1998, 2003, 2005, 2007, 2009, + 2011, 2013, 2015, 2017, 2019, 2024, 2029, 2032, 2038, 2042, + 2049, 2054, 2062, 2069, 2071, 2074, 2077, 2081, 2085, 2097, + 2107, 2115, 2123, 2124, 2128, 2130, 2134, 2135, 2139, 2143, + 2145, 2149, 2151, 2153, 2157, 2162, 2166, 2172, 2177, 2179, + 2181, 2183, 2187, 2192, 2199, 2207, 2209, 2211, 2215, 2219, + 2229, 2237, 2239, 2245, 2249, 2256, 2258, 2262, 2264, 2266, + 2273, 2278, 2283, 2288, 2295, 2302 }; -/* YYRLINE[YYN] -- source line where rule number YYN was defined. */ -static const unsigned short yyrline[] = -{ - 0, 158, 158, 159, 160, 170, 172, 176, 177, 178, - 182, 187, 192, 193, 194, 198, 201, 204, 211, 215, - 221, 229, 234, 238, 244, 249, 253, 258, 262, 265, - 270, 274, 278, 282, 287, 291, 294, 298, 302, 306, - 310, 314, 318, 321, 325, 328, 332, 335, 342, 344, - 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, - 358, 359, 360, 361, 365, 370, 388, 395, 406, 412, - 413, 414, 415, 416, 420, 422, 427, 429, 435, 625, - 434, 653, 658, 667, 666, 680, 685, 694, 693, 707, - 716, 715, 727, 728, 729, 730, 731, 735, 736, 743, - 774, 813, 867, 884, 895, 914, 928, 945, 971, 998, - 1012, 1029, 1043, 1060, 1080, 1103, 1113, 1132, 1148, 1164, - 1183, 1202, 1220, 1238, 1256, 1282, 1300, 1326, 1346, 1370, - 1394, 1420, 1437, 1455, 1474, 1493, 1532, 1557, 1576, 1595, - 1611, 1631, 1648, 1665, 1686, 1691, 1696, 1701, 1709, 1710, - 1711, 1716, 1719, 1723, 1739, 1755, 1771, 1792, 1806, 1812, - 1818, 1830, 1839, 1849, 1859, 1878, 1892, 1900, 1906, 1917, - 1931, 1975, 1990, 2006, 2016, 2038, 2042, 2046, 2050, 2063, - 2078, 2094, 2120, 2147, 2179, 2186, 2191, 2197, 2201, 2212, - 2228, 2244, 2261, 2260, 2282, 2281, 2303, 2302, 2325, 2348, - 2371, 2395, 2394, 2423, 2422, 2451, 2450, 2481, 2504, 2527, - 2551, 2550, 2579, 2578, 2608, 2607, 2639, 2642, 2648, 2674, - 2698, 2707, 2725, 2743, 2761, 2788, 2814, 2840, 2854, 2873, - 2877, 2887, 2888, 2889, 2890, 2891, 2895, 2896, 2897, 2898, - 2899, 2900, 2901, 2902, 2903, 2910, 2911, 2912, 2913, 2914, - 2915, 2916, 2917, 2918, 2919, 2920, 2921, 2922, 2923, 2924, - 2925, 2926, 2927, 2928, 2929, 2930, 2931, 2932, 2933, 2934, - 2935, 2936, 2937, 2938, 2939, 2940, 2941, 2943, 2944, 2945, - 2946, 2947, 2948, 2949, 2950, 2951, 2952, 2953, 2954, 2955, - 2956, 2957, 2958, 2959, 2960, 2961, 2962, 2963, 2972, 2973, - 2974, 2975, 2976, 2977, 2978, 2982, 2995, 3015, 3029, 3042, - 3065, 3083, 3101, 3119, 3137, 3145, 3149, 3153, 3157, 3161, - 3168, 3172, 3176, 3180, 3188, 3190, 3196, 3199, 3206, 3208, - 3212, 3219, 3224, 3232, 3237, 3241, 3245, 3257, 3263, 3274, - 3294, 3304, 3314, 3326, 3343, 3362, 3386, 3415, 3420, 3424, - 3428, 3441, 3445, 3457, 3464, 3486, 3490, 3505, 3510, 3517, - 3521, 3529, 3537, 3551, 3565, 3569, 3588, 3610 +static const short yyrhs[] = { 184, + 0, 189, 0, 1, 6, 0, 0, 184, 185, 0, + 186, 0, 188, 0, 187, 0, 124, 6, 0, 125, + 6, 0, 127, 6, 0, 126, 6, 0, 128, 6, + 0, 129, 174, 240, 180, 5, 175, 6, 0, 130, + 174, 240, 175, 6, 0, 131, 174, 5, 180, 5, + 180, 240, 180, 240, 180, 5, 180, 5, 180, 5, + 175, 6, 0, 3, 7, 108, 174, 5, 180, 238, + 175, 6, 0, 3, 7, 107, 174, 5, 180, 236, + 180, 244, 180, 235, 180, 235, 180, 235, 180, 244, + 180, 244, 180, 235, 175, 6, 0, 3, 7, 106, + 174, 5, 180, 236, 180, 236, 180, 242, 180, 235, + 180, 235, 180, 235, 180, 235, 180, 244, 180, 244, + 180, 244, 180, 244, 180, 235, 175, 6, 0, 3, + 7, 114, 174, 5, 180, 3, 180, 3, 180, 3, + 180, 235, 175, 6, 0, 3, 7, 118, 174, 5, + 180, 3, 180, 235, 175, 6, 0, 3, 7, 135, + 174, 5, 180, 3, 180, 235, 175, 6, 0, 3, + 7, 116, 174, 5, 180, 165, 180, 165, 180, 236, + 180, 235, 175, 6, 0, 3, 7, 119, 174, 5, + 180, 244, 175, 6, 0, 3, 7, 120, 174, 5, + 180, 244, 180, 3, 180, 235, 175, 6, 0, 3, + 7, 115, 174, 5, 180, 3, 175, 6, 0, 3, + 7, 121, 174, 5, 180, 3, 180, 236, 175, 6, + 0, 3, 7, 123, 174, 5, 180, 3, 180, 3, + 180, 3, 175, 6, 0, 3, 7, 122, 174, 5, + 180, 238, 175, 6, 0, 3, 7, 117, 174, 5, + 180, 3, 175, 6, 0, 3, 7, 44, 174, 5, + 180, 3, 180, 3, 175, 6, 0, 3, 7, 133, + 174, 5, 180, 244, 175, 6, 0, 3, 7, 134, + 174, 5, 180, 244, 180, 3, 175, 6, 0, 3, + 7, 132, 174, 5, 180, 3, 175, 6, 0, 3, + 7, 136, 174, 5, 180, 3, 180, 236, 175, 6, + 0, 3, 7, 137, 174, 5, 180, 3, 180, 236, + 180, 236, 175, 6, 0, 3, 7, 144, 174, 5, + 180, 3, 180, 236, 180, 236, 175, 6, 0, 3, + 7, 138, 174, 5, 180, 3, 180, 236, 175, 6, + 0, 3, 7, 148, 174, 5, 180, 3, 180, 236, + 180, 236, 175, 6, 0, 3, 7, 139, 174, 5, + 180, 3, 180, 244, 180, 244, 180, 235, 180, 235, + 175, 6, 0, 3, 7, 140, 174, 5, 180, 244, + 175, 6, 0, 3, 7, 141, 174, 142, 180, 235, + 180, 3, 175, 6, 0, 3, 7, 143, 174, 5, + 180, 244, 180, 235, 175, 6, 0, 3, 7, 145, + 174, 5, 180, 5, 180, 3, 180, 3, 175, 6, + 0, 3, 7, 146, 174, 5, 180, 5, 180, 3, + 175, 6, 0, 3, 7, 147, 174, 3, 180, 3, + 175, 6, 0, 0, 189, 190, 0, 192, 0, 191, + 0, 210, 0, 211, 0, 212, 0, 215, 0, 216, + 0, 217, 0, 218, 0, 221, 0, 233, 0, 234, + 0, 220, 0, 219, 0, 33, 174, 5, 175, 6, + 0, 33, 174, 5, 180, 246, 175, 6, 0, 4, + 5, 181, 193, 182, 6, 0, 4, 5, 4, 238, + 181, 193, 182, 6, 0, 0, 193, 196, 0, 193, + 200, 0, 193, 203, 0, 193, 205, 0, 193, 206, + 0, 236, 0, 194, 180, 236, 0, 236, 0, 195, + 180, 236, 0, 0, 0, 4, 197, 174, 194, 175, + 198, 181, 195, 182, 6, 0, 250, 0, 199, 180, + 250, 0, 0, 76, 174, 236, 180, 236, 180, 236, + 175, 201, 181, 199, 182, 6, 0, 250, 0, 202, + 180, 250, 0, 0, 77, 174, 236, 180, 236, 180, + 236, 180, 236, 175, 204, 181, 202, 182, 6, 0, + 78, 181, 243, 182, 181, 243, 182, 6, 0, 0, + 79, 207, 181, 195, 182, 6, 0, 7, 0, 149, + 0, 150, 0, 151, 0, 152, 0, 170, 0, 171, + 0, 4, 208, 236, 6, 0, 4, 176, 236, 177, + 208, 236, 6, 0, 4, 176, 181, 246, 182, 177, + 208, 244, 6, 0, 4, 176, 177, 7, 244, 6, + 0, 4, 209, 6, 0, 4, 176, 236, 177, 209, + 6, 0, 4, 178, 4, 7, 250, 6, 0, 4, + 176, 236, 177, 178, 4, 7, 250, 6, 0, 4, + 178, 4, 208, 236, 6, 0, 4, 176, 236, 177, + 178, 4, 208, 236, 6, 0, 4, 178, 4, 209, + 6, 0, 4, 176, 236, 177, 178, 4, 209, 6, + 0, 4, 178, 88, 178, 4, 7, 247, 6, 0, + 4, 176, 236, 177, 178, 88, 178, 4, 7, 247, + 6, 0, 4, 178, 89, 7, 248, 6, 0, 4, + 176, 236, 177, 178, 89, 7, 248, 6, 0, 60, + 174, 4, 175, 178, 4, 7, 236, 6, 0, 60, + 174, 4, 175, 178, 4, 7, 250, 6, 0, 41, + 174, 236, 175, 7, 238, 6, 0, 56, 41, 174, + 236, 175, 7, 244, 6, 0, 72, 41, 244, 7, + 181, 236, 180, 236, 180, 236, 182, 6, 0, 48, + 49, 244, 7, 236, 6, 0, 44, 174, 236, 175, + 7, 244, 6, 0, 46, 174, 236, 175, 7, 244, + 6, 0, 42, 174, 236, 175, 7, 244, 6, 0, + 42, 174, 236, 175, 7, 244, 52, 238, 6, 0, + 43, 174, 236, 175, 7, 244, 6, 0, 43, 174, + 236, 175, 7, 244, 52, 238, 6, 0, 50, 174, + 236, 175, 7, 181, 236, 180, 236, 180, 5, 180, + 5, 180, 5, 182, 6, 0, 81, 174, 236, 175, + 7, 244, 6, 0, 82, 174, 236, 175, 7, 244, + 6, 0, 83, 174, 236, 175, 7, 244, 87, 244, + 84, 236, 6, 0, 44, 67, 174, 236, 175, 7, + 244, 6, 0, 72, 44, 244, 7, 181, 236, 180, + 236, 180, 236, 182, 6, 0, 56, 44, 174, 236, + 175, 7, 244, 6, 0, 52, 45, 174, 236, 175, + 7, 244, 6, 0, 53, 45, 174, 236, 175, 7, + 244, 6, 0, 99, 45, 174, 236, 175, 7, 181, + 236, 180, 244, 182, 6, 0, 83, 45, 85, 86, + 174, 236, 175, 7, 242, 87, 181, 244, 180, 244, + 182, 84, 181, 236, 180, 236, 182, 6, 0, 83, + 45, 174, 236, 175, 7, 242, 87, 181, 244, 180, + 244, 182, 84, 181, 236, 180, 236, 182, 6, 0, + 45, 67, 174, 236, 175, 7, 244, 6, 0, 56, + 45, 174, 236, 175, 7, 244, 6, 0, 55, 47, + 174, 236, 175, 7, 244, 6, 0, 47, 174, 236, + 175, 7, 244, 6, 0, 56, 47, 174, 236, 175, + 7, 244, 6, 0, 62, 238, 181, 213, 182, 0, + 61, 181, 238, 180, 238, 180, 236, 182, 181, 213, + 182, 0, 63, 238, 181, 213, 182, 0, 64, 181, + 238, 180, 236, 182, 181, 213, 182, 0, 215, 0, + 214, 0, 212, 0, 0, 214, 211, 0, 214, 41, + 181, 246, 182, 6, 0, 214, 44, 181, 246, 182, + 6, 0, 214, 45, 181, 246, 182, 6, 0, 214, + 47, 181, 246, 182, 6, 0, 66, 181, 214, 182, + 0, 66, 4, 176, 236, 177, 6, 0, 74, 4, + 176, 236, 177, 6, 0, 75, 4, 176, 236, 177, + 6, 0, 69, 181, 214, 182, 0, 69, 4, 176, + 236, 177, 6, 0, 69, 4, 6, 0, 69, 4, + 4, 6, 0, 88, 247, 181, 214, 182, 0, 100, + 250, 6, 0, 101, 250, 6, 0, 100, 181, 214, + 182, 0, 101, 181, 214, 182, 0, 4, 250, 6, + 0, 4, 4, 176, 236, 177, 250, 6, 0, 4, + 236, 6, 0, 60, 174, 4, 175, 178, 4, 6, + 0, 80, 4, 6, 0, 95, 6, 0, 38, 6, + 0, 38, 181, 236, 180, 236, 180, 236, 180, 236, + 180, 236, 180, 236, 182, 6, 0, 39, 6, 0, + 90, 174, 236, 8, 236, 175, 0, 90, 174, 236, + 8, 236, 8, 236, 175, 0, 90, 4, 91, 181, + 236, 8, 236, 182, 0, 90, 4, 91, 181, 236, + 8, 236, 8, 236, 182, 0, 92, 0, 98, 4, + 0, 96, 0, 97, 4, 6, 0, 93, 174, 236, + 175, 0, 94, 0, 65, 41, 181, 236, 180, 238, + 182, 6, 0, 65, 41, 181, 236, 180, 238, 180, + 238, 180, 236, 182, 6, 0, 65, 41, 181, 236, + 180, 238, 180, 238, 180, 238, 180, 236, 182, 6, + 0, 0, 65, 41, 181, 236, 180, 238, 182, 222, + 181, 231, 182, 6, 0, 0, 65, 41, 181, 236, + 180, 238, 180, 238, 180, 236, 182, 223, 181, 231, + 182, 6, 0, 0, 65, 41, 181, 236, 180, 238, + 180, 238, 180, 238, 180, 236, 182, 224, 181, 231, + 182, 6, 0, 65, 44, 181, 236, 180, 238, 182, + 6, 0, 65, 44, 181, 236, 180, 238, 180, 238, + 180, 236, 182, 6, 0, 65, 44, 181, 236, 180, + 238, 180, 238, 180, 238, 180, 236, 182, 6, 0, + 0, 65, 44, 181, 236, 180, 238, 182, 225, 181, + 231, 182, 6, 0, 0, 65, 44, 181, 236, 180, + 238, 180, 238, 180, 236, 182, 226, 181, 231, 182, + 6, 0, 0, 65, 44, 181, 236, 180, 238, 180, + 238, 180, 238, 180, 236, 182, 227, 181, 231, 182, + 6, 0, 65, 45, 181, 236, 180, 238, 182, 6, + 0, 65, 45, 181, 236, 180, 238, 180, 238, 180, + 236, 182, 6, 0, 65, 45, 181, 236, 180, 238, + 180, 238, 180, 238, 180, 236, 182, 6, 0, 0, + 65, 45, 181, 236, 180, 238, 182, 228, 181, 231, + 182, 6, 0, 0, 65, 45, 181, 236, 180, 238, + 180, 238, 180, 236, 182, 229, 181, 231, 182, 6, + 0, 0, 65, 45, 181, 236, 180, 238, 180, 238, + 180, 238, 180, 236, 182, 230, 181, 231, 182, 6, + 0, 232, 0, 231, 232, 0, 73, 181, 244, 180, + 244, 180, 244, 182, 6, 0, 73, 181, 244, 180, + 244, 182, 6, 0, 68, 6, 0, 54, 44, 244, + 7, 236, 6, 0, 54, 44, 244, 7, 236, 57, + 59, 236, 6, 0, 54, 44, 244, 7, 236, 57, + 58, 236, 6, 0, 54, 45, 181, 236, 182, 7, + 244, 6, 0, 51, 45, 181, 236, 182, 7, 244, + 6, 0, 54, 47, 181, 236, 182, 7, 244, 6, + 0, 68, 45, 244, 7, 236, 6, 0, 68, 45, + 244, 6, 0, 70, 6, 0, 71, 6, 0, 109, + 0, 110, 0, 111, 0, 112, 0, 113, 0, 237, + 0, 174, 236, 175, 0, 164, 236, 0, 163, 236, + 0, 169, 236, 0, 236, 164, 236, 0, 236, 163, + 236, 0, 236, 165, 236, 0, 236, 166, 236, 0, + 236, 167, 236, 0, 236, 173, 236, 0, 236, 159, + 236, 0, 236, 161, 236, 0, 236, 160, 236, 0, + 236, 162, 236, 0, 236, 156, 236, 0, 236, 157, + 236, 0, 236, 155, 236, 0, 236, 154, 236, 0, + 236, 153, 236, 8, 236, 0, 12, 174, 236, 175, + 0, 13, 174, 236, 175, 0, 14, 174, 236, 175, + 0, 15, 174, 236, 175, 0, 16, 174, 236, 175, + 0, 17, 174, 236, 175, 0, 18, 174, 236, 175, + 0, 19, 174, 236, 175, 0, 20, 174, 236, 175, + 0, 22, 174, 236, 175, 0, 23, 174, 236, 180, + 236, 175, 0, 24, 174, 236, 175, 0, 25, 174, + 236, 175, 0, 26, 174, 236, 175, 0, 27, 174, + 236, 175, 0, 28, 174, 236, 175, 0, 29, 174, + 236, 175, 0, 30, 174, 236, 180, 236, 175, 0, + 31, 174, 236, 180, 236, 175, 0, 32, 174, 236, + 180, 236, 175, 0, 21, 174, 236, 175, 0, 12, + 176, 236, 177, 0, 13, 176, 236, 177, 0, 14, + 176, 236, 177, 0, 15, 176, 236, 177, 0, 16, + 176, 236, 177, 0, 17, 176, 236, 177, 0, 18, + 176, 236, 177, 0, 19, 176, 236, 177, 0, 20, + 176, 236, 177, 0, 22, 176, 236, 177, 0, 23, + 176, 236, 180, 236, 177, 0, 24, 176, 236, 177, + 0, 25, 176, 236, 177, 0, 26, 176, 236, 177, + 0, 27, 176, 236, 177, 0, 28, 176, 236, 177, + 0, 29, 176, 236, 177, 0, 30, 176, 236, 180, + 236, 177, 0, 31, 176, 236, 180, 236, 177, 0, + 32, 176, 236, 180, 236, 177, 0, 21, 176, 236, + 177, 0, 3, 0, 9, 0, 10, 0, 11, 0, + 103, 0, 104, 0, 105, 0, 4, 0, 4, 176, + 236, 177, 0, 179, 4, 176, 177, 0, 4, 209, + 0, 4, 176, 236, 177, 209, 0, 4, 178, 4, + 0, 4, 176, 236, 177, 178, 4, 0, 4, 178, + 4, 209, 0, 4, 176, 236, 177, 178, 4, 209, + 0, 102, 174, 5, 180, 236, 175, 0, 239, 0, + 164, 238, 0, 163, 238, 0, 238, 164, 238, 0, + 238, 163, 238, 0, 181, 236, 180, 236, 180, 236, + 180, 236, 180, 236, 182, 0, 181, 236, 180, 236, + 180, 236, 180, 236, 182, 0, 181, 236, 180, 236, + 180, 236, 182, 0, 174, 236, 180, 236, 180, 236, + 175, 0, 0, 174, 241, 175, 0, 5, 0, 241, + 180, 5, 0, 0, 181, 243, 182, 0, 174, 243, + 175, 0, 244, 0, 243, 180, 244, 0, 236, 0, + 245, 0, 181, 246, 182, 0, 164, 181, 246, 182, + 0, 236, 8, 236, 0, 236, 8, 236, 8, 236, + 0, 41, 181, 236, 182, 0, 212, 0, 215, 0, + 221, 0, 4, 176, 177, 0, 164, 4, 176, 177, + 0, 4, 176, 181, 246, 182, 177, 0, 164, 4, + 176, 181, 246, 182, 177, 0, 236, 0, 245, 0, + 246, 180, 236, 0, 246, 180, 245, 0, 181, 236, + 180, 236, 180, 236, 180, 236, 182, 0, 181, 236, + 180, 236, 180, 236, 182, 0, 4, 0, 4, 178, + 88, 178, 4, 0, 181, 249, 182, 0, 4, 176, + 236, 177, 178, 89, 0, 247, 0, 249, 180, 247, + 0, 5, 0, 40, 0, 35, 174, 250, 180, 250, + 175, 0, 36, 174, 250, 175, 0, 37, 174, 250, + 175, 0, 34, 174, 250, 175, 0, 34, 174, 250, + 180, 246, 175, 0, 34, 174, 4, 178, 4, 175, + 0, 34, 174, 4, 176, 236, 177, 178, 4, 175, + 0 }; + #endif -#if YYDEBUG || YYERROR_VERBOSE -/* YYTNME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. - First, the terminals, then, starting at YYNTOKENS, nonterminals. */ -static const char *const yytname[] = -{ - "$end", "error", "$undefined", "tDOUBLE", "tSTRING", "tBIGSTR", "tEND", - "tAFFECT", "tDOTS", "tPi", "tMPI_Rank", "tMPI_Size", "tExp", "tLog", - "tLog10", "tSqrt", "tSin", "tAsin", "tCos", "tAcos", "tTan", "tRand", - "tAtan", "tAtan2", "tSinh", "tCosh", "tTanh", "tFabs", "tFloor", - "tCeil", "tFmod", "tModulo", "tHypot", "tPrintf", "tSprintf", "tStrCat", - "tStrPrefix", "tStrRelative", "tBoundingBox", "tDraw", "tToday", - "tPoint", "tCircle", "tEllipse", "tLine", "tSurface", "tSpline", - "tVolume", "tCharacteristic", "tLength", "tParametric", "tElliptic", - "tPlane", "tRuled", "tTransfinite", "tComplex", "tPhysical", "tUsing", - "tBump", "tProgression", "tPlugin", "tRotate", "tTranslate", - "tSymmetry", "tDilate", "tExtrude", "tDuplicata", "tLoop", "tRecombine", - "tDelete", "tCoherence", "tIntersect", "tAttractor", "tLayers", - "tAlias", "tAliasWithOptions", "tText2D", "tText3D", - "tInterpolationScheme", "tTime", "tCombine", "tBSpline", "tBezier", - "tNurbs", "tOrder", "tWith", "tBounds", "tKnots", "tColor", - "tColorTable", "tFor", "tIn", "tEndFor", "tIf", "tEndIf", "tExit", - "tReturn", "tCall", "tFunction", "tTrimmed", "tShow", "tHide", - "tGetValue", "tGMSH_MAJOR_VERSION", "tGMSH_MINOR_VERSION", - "tGMSH_PATCH_VERSION", "tB_SPLINE_SURFACE_WITH_KNOTS", - "tB_SPLINE_CURVE_WITH_KNOTS", "tCARTESIAN_POINT", "tTRUE", "tFALSE", - "tUNSPECIFIED", "tU", "tV", "tEDGE_CURVE", "tVERTEX_POINT", - "tORIENTED_EDGE", "tPLANE", "tFACE_OUTER_BOUND", "tEDGE_LOOP", - "tADVANCED_FACE", "tVECTOR", "tDIRECTION", "tAXIS2_PLACEMENT_3D", - "tISO", "tENDISO", "tENDSEC", "tDATA", "tHEADER", "tFILE_DESCRIPTION", - "tFILE_SCHEMA", "tFILE_NAME", "tMANIFOLD_SOLID_BREP", "tCLOSED_SHELL", - "tADVANCED_BREP_SHAPE_REPRESENTATION", "tFACE_BOUND", - "tCYLINDRICAL_SURFACE", "tCONICAL_SURFACE", "tCIRCLE", "tTRIMMED_CURVE", - "tGEOMETRIC_SET", "tCOMPOSITE_CURVE_SEGMENT", "tCONTINUOUS", - "tCOMPOSITE_CURVE", "tTOROIDAL_SURFACE", "tPRODUCT_DEFINITION", - "tPRODUCT_DEFINITION_SHAPE", "tSHAPE_DEFINITION_REPRESENTATION", - "tELLIPSE", "tAFFECTDIVIDE", "tAFFECTTIMES", "tAFFECTMINUS", - "tAFFECTPLUS", "'?'", "tOR", "tAND", "tAPPROXEQUAL", "tNOTEQUAL", - "tEQUAL", "'<'", "'>'", "tGREATEROREQUAL", "tLESSOREQUAL", "'+'", "'-'", - "'*'", "'/'", "'%'", "tCROSSPRODUCT", "'!'", "UNARYPREC", "tMINUSMINUS", - "tPLUSPLUS", "'^'", "'('", "')'", "'['", "']'", "'.'", "'#'", "','", - "'{'", "'}'", "$accept", "All", "StepFormatItems", "StepFormatItem", - "StepSpecial", "StepHeaderItem", "StepDataItem", "GeoFormatItems", - "GeoFormatItem", "Printf", "View", "Views", "ElementCoords", - "ElementValues", "Element", "@1", "@2", "Text2DValues", "Text2D", "@3", - "Text3DValues", "Text3D", "@4", "InterpolationMatrix", "Time", "@5", - "NumericAffectation", "NumericIncrement", "Affectation", "Shape", - "Transform", "MultipleShape", "ListOfShapes", "Duplicata", "Delete", - "Colorify", "Visibility", "Command", "Loop", "Extrude", "@6", "@7", - "@8", "@9", "@10", "@11", "@12", "@13", "@14", "ExtrudeParameters", - "ExtrudeParameter", "Transfinite", "Coherence", "BoolExpr", "FExpr", - "FExpr_Single", "VExpr", "VExpr_Single", "ListOfStrings", - "RecursiveListOfStrings", "ListOfListOfDouble", - "RecursiveListOfListOfDouble", "ListOfDouble", "FExpr_Multi", - "RecursiveListOfDouble", "ColorExpr", "ListOfColor", - "RecursiveListOfColor", "StringExpr", 0 +#if YYDEBUG != 0 +static const short yyrline[] = { 0, + 157, 159, 160, 170, 172, 175, 177, 178, 181, 187, + 192, 193, 194, 197, 201, 204, 210, 215, 221, 229, + 234, 238, 244, 249, 253, 258, 262, 265, 270, 274, + 278, 282, 287, 291, 294, 298, 302, 306, 310, 314, + 318, 321, 325, 328, 332, 335, 342, 344, 347, 349, + 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, + 360, 361, 364, 370, 387, 395, 404, 412, 413, 414, + 415, 416, 419, 422, 426, 429, 433, 624, 642, 652, + 658, 665, 673, 679, 685, 692, 700, 706, 714, 719, + 726, 728, 729, 730, 731, 734, 736, 739, 774, 813, + 867, 884, 895, 914, 928, 945, 971, 998, 1012, 1029, + 1043, 1060, 1080, 1103, 1113, 1128, 1148, 1164, 1183, 1202, + 1220, 1238, 1256, 1282, 1300, 1326, 1346, 1370, 1394, 1420, + 1437, 1455, 1474, 1493, 1532, 1557, 1576, 1595, 1611, 1631, + 1648, 1665, 1685, 1691, 1696, 1701, 1708, 1710, 1711, 1714, + 1719, 1723, 1739, 1755, 1771, 1791, 1806, 1812, 1818, 1829, + 1839, 1849, 1863, 1881, 1895, 1904, 1910, 1921, 1934, 1979, + 1994, 2010, 2020, 2042, 2046, 2050, 2054, 2065, 2082, 2098, + 2124, 2151, 2183, 2190, 2195, 2201, 2205, 2213, 2232, 2248, + 2264, 2269, 2285, 2290, 2306, 2311, 2329, 2352, 2375, 2398, + 2403, 2426, 2431, 2454, 2459, 2485, 2508, 2531, 2554, 2559, + 2582, 2588, 2611, 2617, 2642, 2646, 2651, 2678, 2702, 2710, + 2729, 2747, 2765, 2792, 2818, 2844, 2858, 2876, 2881, 2890, + 2892, 2893, 2894, 2895, 2898, 2900, 2901, 2902, 2903, 2904, + 2905, 2906, 2907, 2914, 2915, 2916, 2917, 2918, 2919, 2920, + 2921, 2922, 2923, 2924, 2925, 2926, 2927, 2928, 2929, 2930, + 2931, 2932, 2933, 2934, 2935, 2936, 2937, 2938, 2939, 2940, + 2941, 2942, 2943, 2944, 2945, 2947, 2948, 2949, 2950, 2951, + 2952, 2953, 2954, 2955, 2956, 2957, 2958, 2959, 2960, 2961, + 2962, 2963, 2964, 2965, 2966, 2967, 2972, 2977, 2978, 2979, + 2980, 2981, 2982, 2986, 2999, 3019, 3033, 3046, 3069, 3087, + 3105, 3123, 3141, 3148, 3153, 3157, 3161, 3165, 3171, 3176, + 3180, 3184, 3190, 3194, 3199, 3203, 3208, 3212, 3216, 3222, + 3228, 3235, 3241, 3245, 3249, 3260, 3267, 3278, 3298, 3308, + 3318, 3330, 3347, 3366, 3390, 3418, 3424, 3428, 3432, 3444, + 3449, 3461, 3468, 3489, 3494, 3508, 3514, 3520, 3525, 3533, + 3541, 3555, 3569, 3573, 3592, 3614 }; #endif -# ifdef YYPRINT -/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to - token YYLEX-NUM. */ -static const unsigned short yytoknum[] = -{ - 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, - 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, - 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, - 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, - 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, - 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, - 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, - 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, - 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, - 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, - 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, - 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, - 405, 406, 407, 63, 408, 409, 410, 411, 412, 60, - 62, 413, 414, 43, 45, 42, 47, 37, 415, 33, - 416, 417, 418, 94, 40, 41, 91, 93, 46, 35, - 44, 123, 125 -}; -# endif - -/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ -static const unsigned char yyr1[] = -{ - 0, 183, 184, 184, 184, 185, 185, 186, 186, 186, - 187, 187, 187, 187, 187, 188, 188, 188, 189, 189, - 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, - 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, - 189, 189, 189, 189, 189, 189, 189, 189, 190, 190, - 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, - 191, 191, 191, 191, 192, 192, 193, 193, 194, 194, - 194, 194, 194, 194, 195, 195, 196, 196, 198, 199, - 197, 200, 200, 202, 201, 203, 203, 205, 204, 206, - 208, 207, 209, 209, 209, 209, 209, 210, 210, 211, - 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, - 211, 211, 211, 211, 211, 211, 211, 212, 212, 212, - 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, - 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, - 212, 212, 212, 212, 213, 213, 213, 213, 214, 214, - 214, 215, 215, 215, 215, 215, 215, 216, 216, 216, - 216, 217, 217, 217, 217, 218, 219, 219, 219, 219, - 220, 220, 220, 220, 220, 220, 220, 220, 220, 221, - 221, 221, 221, 221, 221, 221, 221, 221, 221, 222, - 222, 222, 223, 222, 224, 222, 225, 222, 222, 222, - 222, 226, 222, 227, 222, 228, 222, 222, 222, 222, - 229, 222, 230, 222, 231, 222, 232, 232, 233, 233, - 233, 234, 234, 234, 234, 234, 234, 234, 234, 235, - 235, 236, 236, 236, 236, 236, 237, 237, 237, 237, - 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, - 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, - 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, - 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, - 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, - 237, 237, 237, 237, 237, 237, 237, 237, 238, 238, - 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, - 238, 238, 238, 238, 238, 239, 239, 239, 239, 239, - 240, 240, 240, 240, 241, 241, 242, 242, 243, 243, - 243, 244, 244, 245, 245, 245, 245, 246, 246, 246, - 246, 246, 246, 246, 246, 246, 246, 247, 247, 247, - 247, 248, 248, 248, 248, 249, 249, 250, 250, 251, - 251, 251, 251, 251, 251, 251, 251, 251 + +#if YYDEBUG != 0 || defined (YYERROR_VERBOSE) + +static const char * const yytname[] = { "$","error","$undefined.","tDOUBLE", +"tSTRING","tBIGSTR","tEND","tAFFECT","tDOTS","tPi","tMPI_Rank","tMPI_Size","tExp", +"tLog","tLog10","tSqrt","tSin","tAsin","tCos","tAcos","tTan","tRand","tAtan", +"tAtan2","tSinh","tCosh","tTanh","tFabs","tFloor","tCeil","tFmod","tModulo", +"tHypot","tPrintf","tSprintf","tStrCat","tStrPrefix","tStrRelative","tBoundingBox", +"tDraw","tToday","tPoint","tCircle","tEllipse","tLine","tSurface","tSpline", +"tVolume","tCharacteristic","tLength","tParametric","tElliptic","tPlane","tRuled", +"tTransfinite","tComplex","tPhysical","tUsing","tBump","tProgression","tPlugin", +"tRotate","tTranslate","tSymmetry","tDilate","tExtrude","tDuplicata","tLoop", +"tRecombine","tDelete","tCoherence","tIntersect","tAttractor","tLayers","tAlias", +"tAliasWithOptions","tText2D","tText3D","tInterpolationScheme","tTime","tCombine", +"tBSpline","tBezier","tNurbs","tOrder","tWith","tBounds","tKnots","tColor","tColorTable", +"tFor","tIn","tEndFor","tIf","tEndIf","tExit","tReturn","tCall","tFunction", +"tTrimmed","tShow","tHide","tGetValue","tGMSH_MAJOR_VERSION","tGMSH_MINOR_VERSION", +"tGMSH_PATCH_VERSION","tB_SPLINE_SURFACE_WITH_KNOTS","tB_SPLINE_CURVE_WITH_KNOTS", +"tCARTESIAN_POINT","tTRUE","tFALSE","tUNSPECIFIED","tU","tV","tEDGE_CURVE","tVERTEX_POINT", +"tORIENTED_EDGE","tPLANE","tFACE_OUTER_BOUND","tEDGE_LOOP","tADVANCED_FACE", +"tVECTOR","tDIRECTION","tAXIS2_PLACEMENT_3D","tISO","tENDISO","tENDSEC","tDATA", +"tHEADER","tFILE_DESCRIPTION","tFILE_SCHEMA","tFILE_NAME","tMANIFOLD_SOLID_BREP", +"tCLOSED_SHELL","tADVANCED_BREP_SHAPE_REPRESENTATION","tFACE_BOUND","tCYLINDRICAL_SURFACE", +"tCONICAL_SURFACE","tCIRCLE","tTRIMMED_CURVE","tGEOMETRIC_SET","tCOMPOSITE_CURVE_SEGMENT", +"tCONTINUOUS","tCOMPOSITE_CURVE","tTOROIDAL_SURFACE","tPRODUCT_DEFINITION","tPRODUCT_DEFINITION_SHAPE", +"tSHAPE_DEFINITION_REPRESENTATION","tELLIPSE","tAFFECTPLUS","tAFFECTMINUS","tAFFECTTIMES", +"tAFFECTDIVIDE","'?'","tOR","tAND","tEQUAL","tNOTEQUAL","tAPPROXEQUAL","'<'", +"tLESSOREQUAL","'>'","tGREATEROREQUAL","'+'","'-'","'*'","'/'","'%'","tCROSSPRODUCT", +"'!'","tPLUSPLUS","tMINUSMINUS","UNARYPREC","'^'","'('","')'","'['","']'","'.'", +"'#'","','","'{'","'}'","All","StepFormatItems","StepFormatItem","StepSpecial", +"StepHeaderItem","StepDataItem","GeoFormatItems","GeoFormatItem","Printf","View", +"Views","ElementCoords","ElementValues","Element","@1","@2","Text2DValues","Text2D", +"@3","Text3DValues","Text3D","@4","InterpolationMatrix","Time","@5","NumericAffectation", +"NumericIncrement","Affectation","Shape","Transform","MultipleShape","ListOfShapes", +"Duplicata","Delete","Colorify","Visibility","Command","Loop","Extrude","@6", +"@7","@8","@9","@10","@11","@12","@13","@14","ExtrudeParameters","ExtrudeParameter", +"Transfinite","Coherence","BoolExpr","FExpr","FExpr_Single","VExpr","VExpr_Single", +"ListOfStrings","RecursiveListOfStrings","ListOfListOfDouble","RecursiveListOfListOfDouble", +"ListOfDouble","FExpr_Multi","RecursiveListOfDouble","ColorExpr","ListOfColor", +"RecursiveListOfColor","StringExpr", NULL }; +#endif -/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ -static const unsigned char yyr2[] = -{ - 0, 2, 1, 1, 2, 0, 2, 1, 1, 1, - 2, 2, 2, 2, 2, 7, 5, 17, 9, 23, - 31, 15, 11, 11, 15, 9, 13, 9, 11, 13, - 9, 9, 11, 9, 11, 9, 11, 13, 13, 11, - 13, 17, 9, 11, 11, 13, 11, 9, 0, 2, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 5, 7, 6, 8, 0, 2, - 2, 2, 2, 2, 1, 3, 1, 3, 0, 0, - 10, 1, 3, 0, 13, 1, 3, 0, 15, 8, - 0, 6, 1, 1, 1, 1, 1, 1, 1, 4, - 7, 9, 6, 3, 6, 6, 9, 6, 9, 5, - 8, 8, 11, 6, 9, 9, 9, 7, 8, 12, - 6, 7, 7, 7, 9, 7, 9, 17, 7, 7, - 11, 8, 12, 8, 8, 8, 12, 22, 20, 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, 3, 7, 3, 2, 2, 15, 2, 6, - 8, 8, 10, 1, 2, 1, 3, 4, 1, 8, - 12, 14, 0, 12, 0, 16, 0, 18, 8, 12, - 14, 0, 12, 0, 16, 0, 18, 8, 12, 14, - 0, 12, 0, 16, 0, 18, 1, 2, 9, 7, - 2, 6, 9, 9, 8, 8, 8, 6, 4, 2, - 2, 1, 1, 1, 1, 1, 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, 1, 1, - 1, 1, 1, 1, 1, 1, 4, 4, 2, 5, - 3, 6, 4, 7, 6, 1, 2, 2, 3, 3, - 11, 9, 7, 7, 0, 3, 1, 3, 0, 3, - 3, 1, 3, 1, 1, 3, 4, 3, 5, 4, - 1, 1, 1, 3, 4, 6, 7, 1, 1, 3, - 3, 9, 7, 1, 5, 3, 6, 1, 3, 1, - 1, 6, 4, 4, 4, 6, 6, 9 +static const short yyr1[] = { 0, + 183, 183, 183, 184, 184, 185, 185, 185, 186, 186, + 186, 186, 186, 187, 187, 187, 188, 188, 188, 188, + 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, + 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, + 188, 188, 188, 188, 188, 188, 189, 189, 190, 190, + 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, + 190, 190, 191, 191, 192, 192, 193, 193, 193, 193, + 193, 193, 194, 194, 195, 195, 197, 198, 196, 199, + 199, 201, 200, 202, 202, 204, 203, 205, 207, 206, + 208, 208, 208, 208, 208, 209, 209, 210, 210, 210, + 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, + 210, 210, 210, 210, 210, 211, 211, 211, 211, 211, + 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, + 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, + 211, 211, 212, 212, 212, 212, 213, 213, 213, 214, + 214, 214, 214, 214, 214, 215, 215, 215, 215, 216, + 216, 216, 216, 217, 218, 218, 218, 218, 219, 219, + 219, 219, 219, 219, 219, 219, 219, 220, 220, 220, + 220, 220, 220, 220, 220, 220, 220, 221, 221, 221, + 222, 221, 223, 221, 224, 221, 221, 221, 221, 225, + 221, 226, 221, 227, 221, 221, 221, 221, 228, 221, + 229, 221, 230, 221, 231, 231, 232, 232, 232, 233, + 233, 233, 233, 233, 233, 233, 233, 234, 234, 235, + 235, 235, 235, 235, 236, 236, 236, 236, 236, 236, + 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, + 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, + 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, + 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, + 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, + 236, 236, 236, 236, 236, 236, 237, 237, 237, 237, + 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, + 237, 237, 237, 238, 238, 238, 238, 238, 239, 239, + 239, 239, 240, 240, 241, 241, 242, 242, 242, 243, + 243, 244, 244, 244, 244, 245, 245, 245, 245, 245, + 245, 245, 245, 245, 245, 246, 246, 246, 246, 247, + 247, 247, 247, 248, 248, 249, 249, 250, 250, 250, + 250, 250, 250, 250, 250, 250 }; -/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state - STATE-NUM when YYTABLE doesn't specify something else to do. Zero - means the default is an error. */ -static const unsigned short yydefact[] = -{ - 0, 0, 0, 2, 3, 4, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 6, 7, 9, 8, - 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, 183, - 0, 188, 0, 185, 0, 0, 0, 0, 0, 49, - 51, 50, 52, 53, 54, 55, 56, 57, 58, 63, - 62, 59, 60, 61, 0, 10, 11, 13, 12, 14, - 324, 324, 0, 298, 305, 359, 92, 299, 300, 301, - 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, 360, 0, 302, 303, 304, - 96, 95, 94, 93, 0, 0, 0, 98, 97, 0, - 0, 0, 0, 0, 0, 0, 236, 0, 0, 176, - 0, 178, 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, - 315, 0, 0, 0, 0, 0, 0, 151, 0, 0, - 151, 229, 230, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 353, 0, 0, 0, 0, 0, 175, 0, - 184, 0, 359, 151, 0, 151, 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, 308, 0, 68, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 305, 239, 238, 240, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 103, 172, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 170, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 305, 0, 0, 0, 340, 341, - 342, 333, 0, 334, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 317, 316, - 0, 0, 0, 0, 151, 151, 0, 0, 0, 0, - 0, 0, 0, 0, 163, 0, 0, 0, 0, 0, - 0, 174, 0, 0, 0, 0, 0, 0, 0, 151, - 0, 0, 0, 186, 0, 0, 166, 0, 167, 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, 326, - 0, 0, 0, 0, 0, 310, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 237, 0, 0, - 347, 348, 0, 0, 92, 0, 0, 0, 0, 0, - 99, 0, 254, 253, 252, 251, 247, 248, 250, 249, - 242, 241, 243, 244, 245, 246, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 305, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 319, 318, 150, 0, 149, 148, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 157, 152, 228, 0, - 164, 0, 161, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 187, 0, 168, - 169, 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, 325, 0, 0, 16, 0, 306, 312, 68, 78, - 0, 0, 0, 90, 0, 69, 70, 71, 72, 73, - 256, 277, 257, 278, 258, 279, 259, 280, 260, 281, - 261, 282, 262, 283, 263, 284, 264, 285, 276, 297, - 265, 286, 0, 0, 267, 288, 268, 289, 269, 290, - 270, 291, 271, 292, 272, 293, 0, 0, 0, 0, - 0, 0, 0, 0, 364, 0, 0, 362, 363, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 109, - 0, 0, 0, 0, 307, 0, 64, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 343, 0, 0, - 0, 0, 335, 337, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 144, 146, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 165, 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, 327, - 0, 324, 0, 309, 0, 0, 0, 0, 0, 0, - 0, 66, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 306, 102, 349, 350, 0, - 0, 0, 0, 0, 104, 105, 107, 0, 0, 357, - 0, 113, 255, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 339, 344, 0, 336, 0, 120, - 0, 0, 0, 0, 221, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 158, 0, 0, 0, 0, 227, 162, 0, 0, - 159, 160, 0, 0, 0, 328, 0, 354, 0, 0, - 0, 179, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 231, 232, 233, 234, - 235, 0, 0, 0, 0, 0, 0, 0, 15, 0, - 311, 171, 0, 0, 0, 0, 0, 331, 0, 266, - 287, 273, 294, 274, 295, 275, 296, 0, 366, 365, - 361, 314, 0, 92, 0, 0, 0, 0, 100, 0, - 0, 0, 355, 65, 0, 117, 123, 0, 125, 0, - 0, 121, 0, 122, 142, 0, 0, 338, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 173, 0, 0, 0, 0, 151, 0, 192, 0, - 201, 0, 210, 0, 0, 0, 0, 0, 0, 128, - 129, 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, - 324, 313, 67, 0, 74, 0, 0, 0, 0, 0, - 76, 0, 0, 0, 0, 110, 0, 0, 111, 0, - 358, 0, 0, 0, 131, 139, 345, 0, 0, 225, - 134, 135, 0, 0, 224, 226, 141, 118, 133, 140, - 143, 0, 0, 0, 323, 0, 322, 0, 0, 189, - 0, 0, 198, 0, 0, 207, 0, 153, 154, 155, - 156, 0, 0, 328, 0, 0, 0, 0, 0, 352, - 0, 181, 180, 0, 0, 0, 0, 18, 0, 27, - 0, 31, 0, 25, 0, 0, 30, 0, 35, 33, - 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, - 0, 0, 47, 0, 0, 79, 0, 0, 0, 332, - 0, 0, 0, 0, 101, 106, 108, 0, 114, 0, - 0, 124, 126, 346, 0, 223, 222, 115, 116, 151, - 0, 147, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 330, 329, 0, 0, 0, 0, 0, 0, 328, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 75, 0, 0, 0, 77, 91, 367, 0, 356, - 0, 0, 0, 0, 321, 0, 0, 0, 0, 0, - 0, 0, 0, 216, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 351, 182, 0, 32, 0, - 0, 0, 0, 22, 0, 28, 0, 34, 23, 36, - 0, 39, 0, 43, 44, 0, 0, 46, 0, 0, - 0, 0, 0, 0, 112, 0, 0, 145, 0, 0, - 194, 0, 220, 0, 0, 217, 203, 0, 0, 212, - 0, 0, 0, 0, 0, 0, 130, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 83, 0, 89, 0, 0, 320, 190, 0, 0, - 0, 193, 199, 0, 0, 202, 208, 0, 0, 211, - 119, 132, 0, 0, 136, 0, 0, 0, 0, 26, - 29, 37, 0, 38, 45, 40, 0, 0, 0, 0, - 0, 0, 0, 196, 0, 0, 205, 0, 214, 0, - 0, 0, 0, 0, 0, 0, 0, 80, 0, 87, - 0, 0, 0, 191, 0, 0, 0, 200, 0, 0, - 209, 0, 0, 0, 0, 0, 21, 24, 0, 0, - 0, 81, 0, 177, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 195, 0, 0, 219, 204, 0, 213, - 0, 0, 0, 0, 0, 41, 17, 82, 84, 0, - 85, 127, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 197, 218, 206, 215, 0, 0, 0, 0, - 86, 88, 0, 0, 0, 0, 0, 138, 0, 0, - 0, 0, 0, 137, 0, 19, 0, 0, 0, 0, - 0, 0, 0, 20 +static const short yyr2[] = { 0, + 1, 1, 2, 0, 2, 1, 1, 1, 2, 2, + 2, 2, 2, 7, 5, 17, 9, 23, 31, 15, + 11, 11, 15, 9, 13, 9, 11, 13, 9, 9, + 11, 9, 11, 9, 11, 13, 13, 11, 13, 17, + 9, 11, 11, 13, 11, 9, 0, 2, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 5, 7, 6, 8, 0, 2, 2, 2, + 2, 2, 1, 3, 1, 3, 0, 0, 10, 1, + 3, 0, 13, 1, 3, 0, 15, 8, 0, 6, + 1, 1, 1, 1, 1, 1, 1, 4, 7, 9, + 6, 3, 6, 6, 9, 6, 9, 5, 8, 8, + 11, 6, 9, 9, 9, 7, 8, 12, 6, 7, + 7, 7, 9, 7, 9, 17, 7, 7, 11, 8, + 12, 8, 8, 8, 12, 22, 20, 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, + 3, 7, 3, 2, 2, 15, 2, 6, 8, 8, + 10, 1, 2, 1, 3, 4, 1, 8, 12, 14, + 0, 12, 0, 16, 0, 18, 8, 12, 14, 0, + 12, 0, 16, 0, 18, 8, 12, 14, 0, 12, + 0, 16, 0, 18, 1, 2, 9, 7, 2, 6, + 9, 9, 8, 8, 8, 6, 4, 2, 2, 1, + 1, 1, 1, 1, 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, 1, 1, 1, 1, + 1, 1, 1, 1, 4, 4, 2, 5, 3, 6, + 4, 7, 6, 1, 2, 2, 3, 3, 11, 9, + 7, 7, 0, 3, 1, 3, 0, 3, 3, 1, + 3, 1, 1, 3, 4, 3, 5, 4, 1, 1, + 1, 3, 4, 6, 7, 1, 1, 3, 3, 9, + 7, 1, 5, 3, 6, 1, 3, 1, 1, 6, + 4, 4, 4, 6, 6, 9 }; -/* YYDEFGOTO[NTERM-NUM]. */ -static const short yydefgoto[] = -{ - -1, 2, 3, 16, 17, 18, 19, 4, 69, 70, - 71, 447, 1073, 1079, 645, 816, 1240, 1420, 646, 1378, - 1459, 647, 1422, 648, 649, 820, 143, 253, 72, 577, - 348, 563, 564, 349, 76, 77, 78, 79, 80, 350, - 1120, 1348, 1404, 1123, 1353, 1408, 1126, 1357, 1411, 1262, - 1263, 82, 83, 941, 351, 146, 368, 180, 248, 440, - 1034, 956, 957, 353, 502, 204, 713, 850, 147 +static const short yydefact[] = { 0, + 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 5, 6, 8, 7, 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, 182, 0, 187, 0, + 184, 0, 0, 0, 0, 0, 48, 50, 49, 51, + 52, 53, 54, 55, 56, 57, 62, 61, 58, 59, + 60, 0, 9, 10, 12, 11, 13, 323, 323, 0, + 297, 304, 358, 91, 298, 299, 300, 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, 359, 0, 301, 302, 303, 92, 93, 94, + 95, 0, 0, 0, 96, 97, 0, 0, 0, 0, + 0, 0, 0, 235, 0, 0, 175, 0, 177, 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, 314, 0, 0, + 0, 0, 0, 0, 150, 0, 0, 150, 228, 229, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 352, + 0, 0, 0, 0, 0, 174, 0, 183, 0, 358, + 150, 0, 150, 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, + 307, 0, 67, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 304, 238, 237, 239, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 102, 171, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 169, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 304, 0, 0, 0, 339, 340, 341, 332, 0, + 333, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 316, 315, 0, 0, 0, + 0, 150, 150, 0, 0, 0, 0, 0, 0, 0, + 0, 162, 0, 0, 0, 0, 0, 0, 173, 0, + 0, 0, 0, 0, 0, 0, 150, 0, 0, 0, + 185, 0, 0, 165, 0, 166, 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, 325, 0, 0, 0, + 0, 0, 309, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 236, 0, 0, 346, 347, 0, + 0, 91, 0, 0, 0, 0, 0, 98, 0, 253, + 252, 250, 251, 246, 248, 247, 249, 241, 240, 242, + 243, 244, 245, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 304, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 318, 317, 149, + 0, 148, 147, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 156, 151, 227, 0, 163, 0, 160, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 186, 0, 167, 168, 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, 324, 0, + 0, 15, 0, 305, 311, 67, 77, 0, 0, 0, + 89, 0, 68, 69, 70, 71, 72, 255, 276, 256, + 277, 257, 278, 258, 279, 259, 280, 260, 281, 261, + 282, 262, 283, 263, 284, 275, 296, 264, 285, 0, + 0, 266, 287, 267, 288, 268, 289, 269, 290, 270, + 291, 271, 292, 0, 0, 0, 0, 0, 0, 0, + 0, 363, 0, 0, 361, 362, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 108, 0, 0, 0, + 0, 306, 0, 63, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 342, 0, 0, 0, 0, 334, + 336, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 143, 145, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 164, 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, 326, 0, 323, 0, + 308, 0, 0, 0, 0, 0, 0, 0, 65, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 305, 101, 348, 349, 0, 0, 0, 0, + 0, 103, 104, 106, 0, 0, 356, 0, 112, 254, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 338, 343, 0, 335, 0, 119, 0, 0, 0, + 0, 220, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 157, 0, + 0, 0, 0, 226, 161, 0, 0, 158, 159, 0, + 0, 0, 327, 0, 353, 0, 0, 0, 178, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 230, 231, 232, 233, 234, 0, 0, + 0, 0, 0, 0, 0, 14, 0, 310, 170, 0, + 0, 0, 0, 0, 330, 0, 265, 286, 272, 293, + 273, 294, 274, 295, 0, 365, 364, 360, 313, 0, + 91, 0, 0, 0, 0, 99, 0, 0, 0, 354, + 64, 0, 116, 122, 0, 124, 0, 0, 120, 0, + 121, 141, 0, 0, 337, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 172, 0, + 0, 0, 0, 150, 0, 191, 0, 200, 0, 209, + 0, 0, 0, 0, 0, 0, 127, 128, 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, 323, 312, 66, + 0, 73, 0, 0, 0, 0, 0, 75, 0, 0, + 0, 0, 109, 0, 0, 110, 0, 357, 0, 0, + 0, 130, 138, 344, 0, 0, 224, 133, 134, 0, + 0, 223, 225, 140, 117, 132, 139, 142, 0, 0, + 0, 322, 0, 321, 0, 0, 188, 0, 0, 197, + 0, 0, 206, 0, 152, 153, 154, 155, 0, 0, + 327, 0, 0, 0, 0, 0, 351, 0, 180, 179, + 0, 0, 0, 0, 17, 0, 26, 0, 30, 0, + 24, 0, 0, 29, 0, 34, 32, 0, 0, 0, + 0, 0, 0, 41, 0, 0, 0, 0, 0, 46, + 0, 0, 78, 0, 0, 0, 331, 0, 0, 0, + 0, 100, 105, 107, 0, 113, 0, 0, 123, 125, + 345, 0, 222, 221, 114, 115, 150, 0, 146, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 329, 328, + 0, 0, 0, 0, 0, 0, 327, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 74, 0, + 0, 0, 76, 90, 366, 0, 355, 0, 0, 0, + 0, 320, 0, 0, 0, 0, 0, 0, 0, 0, + 215, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 350, 181, 0, 31, 0, 0, 0, 0, + 21, 0, 27, 0, 33, 22, 35, 0, 38, 0, + 42, 43, 0, 0, 45, 0, 0, 0, 0, 0, + 0, 111, 0, 0, 144, 0, 0, 193, 0, 219, + 0, 0, 216, 202, 0, 0, 211, 0, 0, 0, + 0, 0, 0, 129, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 82, 0, + 88, 0, 0, 319, 189, 0, 0, 0, 192, 198, + 0, 0, 201, 207, 0, 0, 210, 118, 131, 0, + 0, 135, 0, 0, 0, 0, 25, 28, 36, 0, + 37, 44, 39, 0, 0, 0, 0, 0, 0, 0, + 195, 0, 0, 204, 0, 213, 0, 0, 0, 0, + 0, 0, 0, 0, 79, 0, 86, 0, 0, 0, + 190, 0, 0, 0, 199, 0, 0, 208, 0, 0, + 0, 0, 0, 20, 23, 0, 0, 0, 80, 0, + 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 194, 0, 0, 218, 203, 0, 212, 0, 0, 0, + 0, 0, 40, 16, 81, 83, 0, 84, 126, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 196, + 217, 205, 214, 0, 0, 0, 0, 85, 87, 0, + 0, 0, 0, 0, 137, 0, 0, 0, 0, 0, + 136, 0, 18, 0, 0, 0, 0, 0, 0, 0, + 19, 0, 0, 0 }; -/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing - STATE-NUM. */ -#define YYPACT_NINF -1251 -static const short yypact[] = -{ - 2449, 39, 64, 38, 2598, -1251, -1251, 90, 107, 116, - 125, 134, 155, 1, 18, 29, -1251, -1251, -1251, -1251, - 1901, 36, 24, 178, 40, 55, 114, -29, 230, 146, - 150, 289, 172, 319, 337, 344, 457, 350, 702, 251, - 224, -82, -82, 258, 465, 9, 397, 10, 430, 439, - 311, 459, 474, 511, 352, 356, -14, 16, 14, -1251, - 362, -1251, 521, -1251, 542, 552, 512, 12, 23, -1251, - -1251, -1251, -1251, -1251, -1251, -1251, -1251, -1251, -1251, -1251, - -1251, -1251, -1251, -1251, 2478, -1251, -1251, -1251, -1251, -1251, - 386, 386, 556, -1251, 353, 20, -1251, -1251, -1251, -1251, - -87, -25, -21, 54, 140, 156, 259, 314, 345, 361, - 374, 395, 420, 421, 461, 469, 470, 475, 500, 522, - 523, 398, 404, 408, 451, -1251, 452, -1251, -1251, -1251, - -1251, -1251, -1251, -1251, 2146, 2146, 2146, -1251, -1251, 2146, - 900, 84, 596, 2146, 598, 610, -1251, 614, 624, -1251, - 2146, -1251, 2146, 2146, 2146, 462, 2146, 476, 2146, 2146, - 1454, 2146, 479, 491, 499, 1454, 483, 496, 506, 507, - 510, 535, 539, 697, -82, -82, -82, 2146, 2146, 170, - -1251, 204, -82, 533, 537, 540, 583, -1251, 1454, 33, - -1251, -1251, -1251, 1454, 1454, 586, 590, 742, 2146, 2146, - -56, 2146, 600, 2146, 615, 688, 2146, 2146, -1251, 789, - -1251, 625, -1251, -1251, 798, -1251, 826, 661, 666, 670, - 682, 684, 685, 686, 687, 689, 696, 708, 709, 710, - 711, 712, 717, 718, 719, 720, 721, 722, 723, 724, - 726, 727, 728, 731, 732, 734, 763, 857, 759, 765, - 761, 2146, 938, -1251, -82, -1251, 2146, 2146, 2146, 2146, - 2146, 2146, 2146, 2146, 2146, 2146, 2146, 2146, 2146, 2146, - 2146, 2146, 2146, 2146, 2146, 2146, 2146, 2146, 2146, 2146, - 2146, 2146, 2146, 2146, 2146, 2146, 2146, 2146, 2146, 2146, - 2146, 2146, 2146, 2146, 2146, 2146, 2146, 2146, 372, 313, - 313, 313, 942, 373, 770, 770, 770, 4812, 937, 2078, - 4182, 391, 771, 941, 774, 627, -1251, -1251, 2146, 2146, - 2146, 2146, 2146, 2146, 2146, 2146, 2146, 2146, 2146, 2146, - 2146, 2146, 2146, -1251, -101, 3150, 4835, 4858, 4881, 2146, - 4904, 2146, 4927, 4950, 446, 772, 1665, 2078, -1251, -1251, - -1251, 569, 944, -1251, 4973, 2146, 2146, 2146, 948, 2146, - 2146, 2146, 2146, 2146, 2146, 2146, 781, -113, -1251, -1251, - 3174, 3198, -82, -82, 641, 641, 231, 2146, 2146, 2146, - 2146, 2182, 70, 951, -1251, 2146, 2247, 952, 953, 2146, - 2146, -1251, 4996, 5019, 872, 2146, 5042, 873, 3222, -1251, - 782, 1599, 5065, -1251, 2146, 2324, -1251, 2345, -1251, 959, - 960, 961, 962, 963, 964, 965, 967, 970, 971, 972, - 973, 974, 975, 976, 980, 981, 982, 983, 984, 988, - 989, 990, 831, 991, 992, 993, 994, 987, 995, -1251, - -54, 996, 1000, 1004, 4203, 246, 229, 7, 5088, 4224, - 5111, 4245, 5134, 4266, 5157, 4287, 5180, 4308, 5203, 4329, - 5226, 4350, 5249, 4371, 5272, 4392, 5295, 4413, 5318, 4434, - 3246, 3270, 5341, 4455, 5364, 4476, 5387, 4497, 5410, 4518, - 5433, 4539, 5456, 4560, 3294, 3318, 3342, 3366, 3390, 3414, - 541, 186, 830, 836, 837, 833, 2146, -1251, 1454, 2181, - 569, -1251, 571, 272, 313, 2146, 1008, 1013, 21, 841, - -1251, 1621, 1267, 1014, 527, 527, 401, 401, 401, 401, - -19, -19, 770, 770, 770, 770, 1016, 2078, 2146, 1017, - 1018, 1019, 5479, 1020, 5502, 1021, 1022, 1242, 2146, 456, - 2078, 572, 2146, 2146, 1023, 1339, 5525, 5548, 2146, 2632, - 2658, 5571, 5594, 5617, 5640, 5663, 845, -82, 2146, 2146, - -1251, -1251, -1251, 850, 2659, -1251, 851, 2146, 3438, 3462, - 3486, 4581, -69, -31, -44, -57, -1251, -1251, -1251, 2146, - -1251, 4602, -1251, 853, 854, 4623, 4644, 1029, 1030, 867, - 5686, 1035, 865, 2146, 2390, 2146, 2146, -1251, 5709, -1251, - -1251, 864, 866, 868, 870, 871, 874, 877, 878, 879, - 880, 881, 882, 885, 886, 887, 888, 890, 892, 893, - 895, 896, 902, 903, 904, 905, 906, 907, 908, 909, - 910, -1251, 1042, 916, -1251, 927, 35, -1251, -1251, -1251, - 934, 935, 899, -1251, 1046, -1251, -1251, -1251, -1251, -1251, - -1251, -1251, -1251, -1251, -1251, -1251, -1251, -1251, -1251, -1251, - -1251, -1251, -1251, -1251, -1251, -1251, -1251, -1251, -1251, -1251, - -1251, -1251, 2146, 2146, -1251, -1251, -1251, -1251, -1251, -1251, - -1251, -1251, -1251, -1251, -1251, -1251, 2146, 2146, 2146, 2146, - 2146, 2146, 2146, 1049, -1251, 2078, 313, -1251, -1251, 2146, - 4665, 1104, 2078, 936, 292, 2146, 1105, 1108, 648, -1251, - 1109, 943, 16, 1111, -1251, 2146, -1251, 211, 3510, -82, - 1454, 1454, 1117, 1454, 1129, 1454, 1454, -1251, 2078, 2684, - 1634, 575, -1251, 1726, 714, 956, 1146, 1147, 1148, 426, - 1150, 1152, 1153, 1155, 1156, 1157, 1158, 1162, 236, 3534, - 3558, -1251, -1251, 2710, -82, -82, -82, 1164, 2078, 2078, - 2078, 2078, 939, 1177, 2146, 2146, 1179, 1184, 1454, 1454, - 2146, 1161, 1454, 1187, 3582, -1251, 1864, 448, 1185, 1112, - 2146, 2146, -82, 1190, 1192, 1031, 1197, 1202, 1454, 1454, - 1203, -82, 1204, 1205, 1454, 1454, 1206, 1208, 1209, 1210, - 1211, 1454, 546, 1454, 1213, 1212, 1214, 1217, 1218, -1251, - 1219, 386, 1220, -1251, 1221, 17, 1052, 2146, 2146, 1454, - 1047, -1251, 5732, 4686, 5755, 4707, 5778, 4728, 5801, 4749, - 4770, 1054, 240, 1056, 5824, -70, -1251, 569, -1251, 66, - 490, 1062, 1225, 968, -1251, -1251, -1251, 16, 2146, -1251, - 576, -1251, 1176, 1228, 2146, 60, 26, 28, 1454, 1236, - 1454, 1241, 1243, 636, -1251, -1251, 2078, -1251, 2146, -1251, - 2146, 1454, 1454, 1454, -1251, 394, 1454, 1454, 1454, 1454, - 1454, 1454, 1454, 489, 2146, 2146, 2146, 1067, -73, -53, - 208, -1251, 637, 640, 643, 644, -1251, -1251, 3606, 3630, - -1251, -1251, 1244, 1269, 5847, -39, 1189, -1251, 2146, 2146, - 2146, -1251, 1096, 1098, 3654, 3678, -120, 1099, 1106, 1102, - 1110, 1103, 1113, 1114, 1115, -110, 1116, 1118, 1123, 1119, - 1121, 1122, 1124, 1125, 1128, 1134, -1251, -1251, -1251, -1251, - -1251, 1130, 1131, 1135, 1136, 1137, 1139, 1138, -1251, 1140, - 246, -1251, 1278, 2146, 3702, 3726, 647, -1251, 2146, -1251, - -1251, -1251, -1251, -1251, -1251, -1251, -1251, 1145, -1251, -1251, - -1251, -1251, 1454, 313, 2146, 1283, 1288, 21, -1251, 1297, - 4791, 16, -1251, -1251, 3750, -1251, -1251, -82, -1251, -82, - 1319, -1251, 1320, -1251, -1251, 1151, 651, 1176, 3774, 1321, - 1342, 1344, 2146, 2146, 1348, 1360, 1361, 1362, 1363, 1364, - 1366, -1251, 1954, 2736, 5870, 1881, 641, -82, 1368, -82, - 1371, -82, 1373, 1374, 1375, 1379, 1381, 2146, 2146, -1251, - -1251, 1385, 1454, 1454, 1301, 1454, 2563, 307, 5893, 2146, - 1390, 2146, 1454, 1395, 1399, 1397, 1245, 1401, 546, 1402, - 1406, 2146, 1407, 1414, 1412, 1429, 1417, 546, 2146, 2146, - 2146, 1454, 1431, 1435, 546, 2146, 1436, 1438, 1437, 2146, - 386, -1251, -1251, 271, 1176, 2146, 2146, 1454, 1231, 656, - 1176, 1440, 1442, 1443, 985, -1251, 1444, 1446, -1251, 1264, - -1251, 2146, 62, 119, -1251, -1251, -1251, 1273, 2146, -1251, - -1251, -1251, 1198, 1377, -1251, -1251, -1251, -1251, -1251, -1251, - -1251, 1409, 1447, 1274, -1251, 2146, -1251, 1272, 239, -1251, - 1275, 250, -1251, 1279, 277, -1251, 1280, -1251, -1251, -1251, - -1251, 3798, 3822, -39, 274, 659, 1306, 1404, 2146, -1251, - 2146, -1251, -1251, 3846, 1284, 3870, 1309, -1251, 1311, -1251, - 1327, -1251, 1333, -1251, 1329, 5916, -1251, 1330, -1251, -1251, - 1336, 1338, 5939, 3894, 5962, 1334, -1251, 1347, 1349, 3918, - 1343, 1350, -1251, 3942, 1346, -1251, 2146, 3966, 3990, -1251, - 1454, 2146, 1521, 1358, -1251, -1251, -1251, 16, -1251, 1456, - 4014, -1251, -1251, -1251, 4038, -1251, -1251, -1251, -1251, 641, - 2602, -1251, 1697, 409, 1697, 409, 1697, 409, 2146, 2146, - 1459, -1251, -1251, 1454, 2146, 2762, 2788, 1454, 1541, -39, - 546, 1545, 2146, 1543, 546, 1546, 1548, 1549, 1555, 1559, - 2146, 1571, 1454, 1572, 1574, 2146, 1551, 1575, 2146, 1578, - 1403, 1176, 2146, 2146, 663, 1176, -1251, -1251, 1579, -1251, - 2146, 1581, 1405, 2146, -1251, 1697, 1697, 2146, 2814, 295, - 1582, 1408, -12, -1251, 2840, 323, 30, 2866, 336, 103, - 2892, 2918, 1410, 1428, 1439, -1251, -1251, 1427, -1251, 1430, - 1433, 1434, 4062, -1251, 1415, -1251, 1441, -1251, -1251, -1251, - 5985, -1251, 1445, -1251, -1251, 6008, 1449, -1251, 6031, 1450, - 2146, 6054, 4086, 1605, -1251, 4110, 1451, -1251, 2944, 3126, - 1609, 2146, -1251, 1454, 1613, -1251, 1614, 2146, 1615, 1616, - 2146, 1620, 1626, 1628, 1454, 1454, -1251, 1630, 546, 546, - 546, 546, 1633, 1635, 1636, 546, 1661, 1664, 1666, 1622, - 667, -1251, 2146, -1251, 2146, 1668, -1251, -1251, 1490, 2970, - 1460, -1251, -1251, 1517, 2996, -1251, -1251, 1518, 3022, -1251, - -1251, -1251, 1522, 1523, -1251, 1524, 1550, 1528, 1557, -1251, - -1251, -1251, 1553, -1251, -1251, -1251, 1560, 1735, 1561, 6077, - 3048, 1563, 409, 1738, 1454, 409, 1739, 409, 1740, 1454, - 1663, 546, 546, 1742, 1743, 546, 1746, -1251, 313, -1251, - 1749, 1766, 109, -1251, 1592, 671, 112, -1251, 1596, 219, - -1251, 1608, 1610, 1612, 1611, 1624, -1251, -1251, 1631, 1632, - 672, -1251, 1629, -1251, 1623, 1784, 409, 1454, 1789, 1790, - 409, 1803, 409, 1728, 2146, 546, 1454, 1808, 1810, 313, - 1811, 313, 1812, -1251, 222, 1637, -1251, -1251, 249, -1251, - 255, 1639, 4134, 1641, 1642, -1251, -1251, -1251, -1251, 675, - -1251, -1251, 1817, 1818, 1819, 1820, 2146, 2146, 546, 1454, - 313, 1821, -1251, -1251, -1251, -1251, 4158, 3074, 1650, 1652, - -1251, -1251, 2146, 1827, 1454, 546, 3100, -1251, 1655, 1662, - 1830, 1454, 1832, -1251, 1660, -1251, 1454, 1667, 1454, 1669, - 546, 1670, 1835, -1251 +static const short yydefgoto[] = { 1502, + 2, 14, 15, 16, 17, 3, 67, 68, 69, 445, + 1071, 1077, 643, 814, 1238, 1418, 644, 1376, 1457, 645, + 1420, 646, 647, 818, 141, 251, 70, 575, 346, 561, + 562, 347, 74, 75, 76, 77, 78, 348, 1118, 1346, + 1402, 1121, 1351, 1406, 1124, 1355, 1409, 1260, 1261, 80, + 81, 939, 349, 144, 366, 178, 246, 438, 1032, 954, + 955, 351, 500, 202, 711, 848, 145 }; -/* YYPGOTO[NTERM-NUM]. */ -static const short yypgoto[] = -{ - -1251, -1251, -1251, -1251, -1251, -1251, -1251, -1251, -1251, -1251, - -1251, 1215, -1251, 548, -1251, -1251, -1251, -1251, -1251, -1251, - -1251, -1251, -1251, -1251, -1251, -1251, -307, 2, -1251, 1846, - -1, -369, -180, 4, -1251, -1251, -1251, -1251, -1251, 1847, - -1251, -1251, -1251, -1251, -1251, -1251, -1251, -1251, -1251, -1101, - -1250, -1251, -1251, -837, -20, -1251, 180, -1251, -86, -1251, - -1091, -1006, 518, -247, -332, -703, 875, -1251, -66 +static const short yypact[] = { 2486, + 36, 25, 2635,-32768, 38, 65, 91, 104, 134, 142, + -92, -7, 29,-32768,-32768,-32768,-32768, 1901, 54, 15, + 206, 118, 144, 150, -31, 151, 154, 164, 318, 212, + 347, 364, 372, 124, 353, 392, 256, 262, -46, -46, + 294, 492, 10, 433, 11, 482, 510, 242, 502, 526, + 540, 386, 389, -28, 14, 30,-32768, 394,-32768, 565, +-32768, 580, 596, 561, 3, 19,-32768,-32768,-32768,-32768, +-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, +-32768, 2515,-32768,-32768,-32768,-32768,-32768, 443, 443, 620, +-32768, 274, 16,-32768,-32768,-32768,-32768, 175, 179, 192, + 232, 310, 345, 355, 374, 398, 420, 421, 444, 475, + 486, 500, 522, 523, 528, 529, 533, 539, 459, 463, + 468, 472,-32768, 476,-32768,-32768,-32768,-32768,-32768,-32768, +-32768, 2146, 2146, 2146,-32768,-32768, 2146, 900, 76, 657, + 2146, 658, 610,-32768, 659, 668,-32768, 2146,-32768, 2146, + 2146, 2146, 506, 2146, 507, 2146, 2146, 1454, 2146, 496, + 544, 562, 1454, 545, 554, 568, 569, 585, 588, 594, + 680, -46, -46, -46, 2146, 2146, -100,-32768, -94, -46, + 601, 603, 604, 525,-32768, 1454, 23,-32768,-32768,-32768, + 1454, 1454, 611, 612, 780, 2146, 2146, -53, 2146, 613, + 2146, 608, 699, 2146, 2146,-32768, 786,-32768, 619,-32768, +-32768, 788,-32768, 789, 625, 626, 632, 642, 643, 644, + 646, 649, 650, 651, 652, 655, 656, 661, 662, 664, + 665, 666, 667, 669, 670, 671, 673, 675, 677, 678, + 679, 681, 682, 683, 791, 653, 647, 674, 2146, 827, +-32768, -46,-32768, 2146, 2146, 2146, 2146, 2146, 2146, 2146, + 2146, 2146, 2146, 2146, 2146, 2146, 2146, 2146, 2146, 2146, + 2146, 2146, 2146, 2146, 2146, 2146, 2146, 2146, 2146, 2146, + 2146, 2146, 2146, 2146, 2146, 2146, 2146, 2146, 2146, 2146, + 2146, 2146, 2146, 2146, 2146, 367, 376, 376, 376, 853, + 456, 686, 686, 686, 4901, 825, 2078, 4151, 375, 684, + 854, 687, 648,-32768,-32768, 2146, 2146, 2146, 2146, 2146, + 2146, 2146, 2146, 2146, 2146, 2146, 2146, 2146, 2146, 2146, +-32768, -108, 3205, 4924, 4947, 4970, 2146, 4993, 2146, 5016, + 5039, 465, 691, 1665, 2078,-32768,-32768,-32768, 1618, 875, +-32768, 5062, 2146, 2146, 2146, 876, 2146, 2146, 2146, 2146, + 2146, 2146, 2146, 685, -86,-32768,-32768, 3227, 3249, -46, + -46, 503, 503, -38, 2146, 2146, 2146, 2146, 2247, 370, + 878,-32768, 2146, 2320, 879, 884, 2146, 2146,-32768, 5085, + 5108, 799, 2146, 5131, 804, 3271,-32768, 712, 1726, 5154, +-32768, 2146, 2341,-32768, 2389,-32768, 889, 890, 891, 892, + 893, 895, 896, 897, 901, 903, 932, 934, 935, 936, + 939, 940, 942, 943, 944, 945, 946, 948, 950, 763, + 951, 952, 953, 954, 957, 956,-32768, -77, 958, 959, + 980, 4176, 283, 133, 7, 5177, 4201, 5200, 4226, 5223, + 4251, 5246, 4276, 5269, 4301, 5292, 4326, 5315, 4351, 5338, + 4376, 5361, 4401, 5384, 4426, 5407, 4451, 3293, 3315, 5430, + 4476, 5453, 4501, 5476, 4526, 5499, 4551, 5522, 4576, 5545, + 4601, 3337, 3359, 3381, 3403, 3425, 3447, 373, 145, 762, + 812, 814, 784, 2146,-32768, 1454, 2181, 1618,-32768, 8, + 271, 376, 2146, 982, 986, 21, 816,-32768, 1864, 1337, + 1014, 527, 527, 336, 336, 336, 336, 292, 292, 686, + 686, 686, 686, 985, 2078, 2146, 987, 988, 989, 5568, + 990, 5591, 991, 992, 1242, 2146, 469, 2078, 442, 2146, + 2146, 993, 2697, 5614, 5637, 2146, 2721, 2745, 5660, 5683, + 5706, 5729, 5752, 823, -46, 2146, 2146,-32768,-32768,-32768, + 824, 2696,-32768, 828, 2146, 3469, 3491, 3513, 4626, -116, + -37, -19, -73,-32768,-32768,-32768, 2146,-32768, 4651,-32768, + 830, 831, 4676, 4701, 1002, 1006, 840, 5775, 1010, 844, + 2146, 2410, 2146, 2146,-32768, 5798,-32768,-32768, 838, 843, + 845, 846, 847, 848, 849, 850, 852, 855, 856, 857, + 861, 862, 863, 864, 866, 867, 868, 870, 871, 872, + 873, 874, 877, 880, 881, 882, 885, 886,-32768, 1019, + 858,-32768, 887, 39,-32768,-32768,-32768, 860, 894, 899, +-32768, 1052,-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, 2146, + 2146,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, +-32768,-32768,-32768, 2146, 2146, 2146, 2146, 2146, 2146, 2146, + 1055,-32768, 2078, 376,-32768,-32768, 2146, 4726, 1064, 2078, + 898, 141, 2146, 1066, 1067, 714,-32768, 1069, 906, 14, + 1077,-32768, 2146,-32768, 210, 3535, -46, 1454, 1454, 1078, + 1454, 1079, 1454, 1454,-32768, 2078, 2769, 1634, 534,-32768, + 2061, 813, 907, 1080, 1082, 1098, 426, 1099, 1100, 1101, + 1102, 1104, 1105, 1106, 1110, 153, 3557, 3579,-32768,-32768, + 2793, -46, -46, -46, 1109, 2078, 2078, 2078, 2078, 937, + 1111, 2146, 2146, 1113, 1115, 1454, 1454, 2146, 1116, 1454, + 1112, 3601,-32768, 2105, 448, 1117, 1081, 2146, 2146, -46, + 1119, 1122, 961, 1124, 1130, 1454, 1454, 1140, -46, 1141, + 1142, 1454, 1454, 1143, 1144, 1146, 1147, 1148, 1454, 546, + 1454, 1149, 1150, 1152, 1151, 1155,-32768, 1153, 443, 1156, +-32768, 1157, 12, 979, 2146, 2146, 1454, 981,-32768, 5821, + 4751, 5844, 4776, 5867, 4801, 5890, 4826, 4851, 997, 302, + 1008, 5913, 326,-32768, 1618,-32768, 24, 391, 1007, 1158, + 975,-32768,-32768,-32768, 14, 2146,-32768, 537,-32768, 1592, + 1160, 2146, 51, 43, 44, 1454, 1162, 1454, 1184, 1185, + 541,-32768,-32768, 2078,-32768, 2146,-32768, 2146, 1454, 1454, + 1454,-32768, 498, 1454, 1454, 1454, 1454, 1454, 1454, 1454, + 622, 2146, 2146, 2146, 983, -71, -58, -51,-32768, 542, + 547, 548, 551,-32768,-32768, 3623, 3645,-32768,-32768, 1186, + 1187, 5936, 114, 1108,-32768, 2146, 2146, 2146,-32768, 1015, + 1020, 3667, 3689, 159, 1025, 1031, 1027, 1033, 1029, 1036, + 1032, 1034, 265, 1037, 1038, 1041, 1039, 1040, 1044, 1045, + 1046, 1047, 1053,-32768,-32768,-32768,-32768,-32768, 1049, 1051, + 1054, 1060, 1062, 1057, 1068,-32768, 1070, 283,-32768, 1215, + 2146, 3711, 3733, 552,-32768, 2146,-32768,-32768,-32768,-32768, +-32768,-32768,-32768,-32768, 1071,-32768,-32768,-32768,-32768, 1454, + 376, 2146, 1241, 1271, 21,-32768, 1270, 4876, 14,-32768, +-32768, 3755,-32768,-32768, -46,-32768, -46, 1272,-32768, 1273, +-32768,-32768, 1118, 566, 1592, 3777, 1275, 1276, 1277, 2146, + 2146, 1279, 1282, 1283, 1286, 1287, 1288, 1290,-32768, 1954, + 2817, 5959, 2600, 503, -46, 1292, -46, 1293, -46, 1295, + 1296, 1297, 1298, 1299, 2146, 2146,-32768,-32768, 1301, 1454, + 1454, 1190, 1454, 2637, 307, 5982, 2146, 1306, 2146, 1454, + 1304, 1308, 1309, 1161, 1310, 546, 1311, 1315, 2146, 1314, + 1320, 1319, 1321, 1325, 546, 2146, 2146, 2146, 1454, 1323, + 1327, 546, 2146, 1328, 1330, 1329, 2146, 443,-32768,-32768, + 315, 1592, 2146, 2146, 1454, 1133, 567, 1592, 1332, 1331, + 1333, 1198,-32768, 1334, 1336,-32768, 1165,-32768, 2146, 60, + 62,-32768,-32768,-32768, 1163, 2146,-32768,-32768,-32768, 1278, + 1377,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1409, 1342, + 1168,-32768, 2146,-32768, 1174, 166,-32768, 1169, 168,-32768, + 1188, 200,-32768, 1189,-32768,-32768,-32768,-32768, 3799, 3821, + 114, 335, 571, 1191, 1250, 2146,-32768, 2146,-32768,-32768, + 3843, 1192, 3865, 1194,-32768, 1197,-32768, 1199,-32768, 1193, +-32768, 1200, 6005,-32768, 1201,-32768,-32768, 1210, 1212, 6028, + 3887, 6051, 1208,-32768, 1217, 1218, 3909, 1221, 1227,-32768, + 3931, 1223,-32768, 2146, 3953, 3975,-32768, 1454, 2146, 1360, + 1232,-32768,-32768,-32768, 14,-32768, 1249, 3997,-32768,-32768, +-32768, 4019,-32768,-32768,-32768,-32768, 503, 2667,-32768, 1697, + 378, 1697, 378, 1697, 378, 2146, 2146, 1322,-32768,-32768, + 1454, 2146, 2841, 2865, 1454, 1402, 114, 546, 1407, 2146, + 1406, 546, 1411, 1410, 1412, 1414, 1416, 2146, 1418, 1454, + 1419, 1420, 2146, 1424, 1422, 2146, 1425, 1248, 1592, 2146, + 2146, 572, 1592,-32768,-32768, 1442,-32768, 2146, 1445, 1274, + 2146,-32768, 1697, 1697, 2146, 2889, 225, 1446, 1280, -22, +-32768, 2913, 251, -21, 2937, 255, 31, 2961, 2985, 1307, + 1326, 1443,-32768,-32768, 1305,-32768, 1341, 1343, 1344, 4041, +-32768, 1284,-32768, 1285,-32768,-32768,-32768, 6074,-32768, 1345, +-32768,-32768, 6097, 1316,-32768, 6120, 1346, 2146, 6143, 4063, + 1447,-32768, 4085, 1347,-32768, 3009, 3177, 1448, 2146,-32768, + 1454, 1449,-32768, 1483, 2146, 1499, 1501, 2146, 1502, 1503, + 1505, 1454, 1454,-32768, 1506, 546, 546, 546, 546, 1507, + 1508, 1516, 546, 1529, 1539, 1540, 1542, 575,-32768, 2146, +-32768, 2146, 1543,-32768,-32768, 1368, 3033, 1371,-32768,-32768, + 1373, 3057,-32768,-32768, 1374, 3081,-32768,-32768,-32768, 1372, + 1379,-32768, 1387, 1397, 1403, 1405,-32768,-32768,-32768, 1401, +-32768,-32768,-32768, 1404, 1577, 1408, 6166, 3105, 1413, 378, + 1579, 1454, 378, 1580, 378, 1581, 1454, 1504, 546, 546, + 1584, 1585, 546, 1587,-32768, 376,-32768, 1588, 1596, 34, +-32768, 1430, 576, 109,-32768, 1431, 112,-32768, 1432, 1433, + 1438, 1434, 1440,-32768,-32768, 1450, 1452, 598,-32768, 1441, +-32768, 1439, 1623, 378, 1454, 1624, 1625, 378, 1626, 378, + 1550, 2146, 546, 1454, 1630, 1633, 376, 1635, 376, 1636, +-32768, 211, 1458,-32768,-32768, 214,-32768, 217, 1486, 4107, + 1444, 1490,-32768,-32768,-32768,-32768, 599,-32768,-32768, 1666, + 1667, 1692, 1693, 2146, 2146, 546, 1454, 376, 1696,-32768, +-32768,-32768,-32768, 4129, 3129, 1491, 1523,-32768,-32768, 2146, + 1698, 1454, 546, 3153,-32768, 1525, 1555, 1727, 1454, 1734, +-32768, 1552,-32768, 1454, 1561, 1454, 1562, 546, 1568, 1738, +-32768, 1760, 1761,-32768 }; -/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If - positive, shift that token. If negative, reduce the rule which - number is the opposite. If zero, do what YYDEFACT says. - If YYTABLE_NINF, syntax error. */ -#define YYTABLE_NINF -49 -static const short yytable[] = -{ - 145, 214, 216, 74, 505, 249, 566, 381, 75, 849, - 386, 639, 1315, 186, 189, 541, 1315, 212, 205, 1315, - 202, 639, 144, 157, 254, 711, 1134, 1135, 212, 394, - 149, 200, 986, 405, 988, 407, 155, 383, 155, 384, - 212, 7, 1210, 372, 373, 5, 121, 122, 123, 124, - 372, 373, 125, 372, 373, 1043, 1260, 121, 122, 123, - 124, 1261, 501, 125, 6, 1052, 985, 557, 1191, 121, - 122, 123, 124, 96, 526, 125, 578, 579, 987, 527, - 989, 175, 176, 640, 641, 642, 643, 256, 311, 257, - 372, 373, 177, 640, 641, 642, 643, 84, 1260, 178, - 501, 137, 138, 1261, 1266, 152, 1269, 1017, 812, 1018, - 372, 373, 758, 85, 304, 305, 306, 159, 395, 307, - 310, 631, 86, 315, 761, 1192, 632, 1019, 1279, 1020, - 335, 87, 336, 337, 338, 1032, 340, 760, 342, 343, - 88, 354, 1033, 156, 979, 156, 329, 330, 331, 258, - 759, 259, 1315, 260, 332, 261, 1315, 370, 371, 1315, - 201, 89, 8, 9, 10, 11, 12, 13, 14, 15, - 1314, 1260, 312, 313, 1244, 90, 1261, 1260, 392, 393, - 1260, 396, 1261, 398, 151, 1261, 401, 402, 206, 644, - 187, 190, 91, 213, 1315, 717, 705, 203, 1315, 952, - 1315, 255, 712, 92, 215, 150, 137, 138, 731, 385, - 148, 1152, 1318, 812, 152, 130, 131, 132, 133, 594, - 1161, 179, 181, 372, 373, 372, 373, 1168, 262, 153, - 263, 444, 491, 492, 493, 494, 448, 449, 450, 451, - 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, - 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, - 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 1090, 96, - 501, 1402, 372, 373, 1406, 1321, 1409, 1260, 154, 500, - 1260, 1425, 1261, 501, 1429, 1261, 840, 157, 511, 512, - 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, - 523, 524, 525, 506, 264, 1140, 265, 1260, 212, 532, - 158, 534, 1261, 1260, 159, 1444, 305, 500, 1261, 1448, - 266, 1450, 267, 372, 373, 545, 546, 547, 160, 549, - 550, 551, 552, 553, 554, 555, 161, 121, 122, 123, - 124, 374, 193, 125, 367, 194, 369, 568, 569, 570, - 571, 694, 376, 832, 162, 581, 695, 372, 373, 585, - 586, 372, 373, 562, 562, 590, 490, 212, 565, 565, - 841, 842, 163, 1280, 598, 375, 853, 1284, 1021, 164, - 1022, 702, 372, 373, 372, 373, 863, 168, 504, 372, - 373, 1431, 372, 373, 1462, 174, 121, 122, 123, 124, - 638, 567, 125, 372, 373, 969, 884, 137, 138, 1202, - 702, 130, 131, 132, 133, 173, 892, 893, 894, 895, - 1204, 1464, 874, 268, 446, 269, 191, 1465, 707, 182, - 372, 373, 188, 137, 138, 192, 1175, 637, 501, 1211, - 704, 1176, 1002, 1003, 1077, 838, 910, 1206, 372, 373, - 318, 319, 320, 195, 321, 322, 323, 324, 325, 326, - 327, 328, 329, 330, 331, 1311, 700, 1260, 196, 305, - 332, 501, 1261, 875, 1248, 708, 372, 373, 270, 1141, - 271, 1365, 1366, 1367, 1368, 1011, 1012, 973, 1372, 372, - 373, 165, 166, 1317, 167, 706, 183, 500, 718, 184, - 185, 501, 501, 501, 501, 197, 1320, 700, 729, 272, - 500, 273, 733, 734, 137, 138, 198, 208, 739, 251, - 199, 252, 972, 974, 996, 274, 207, 275, 749, 750, - 130, 131, 132, 133, 137, 138, 209, 753, 276, 496, - 277, 252, 560, 561, 1414, 1415, 210, 211, 1418, 762, - 247, 250, 137, 138, 327, 328, 329, 330, 331, 278, - 814, 279, 298, 774, 332, 776, 777, 542, 299, 318, - 319, 320, 300, 321, 322, 323, 324, 325, 326, 327, - 328, 329, 330, 331, 280, 282, 281, 283, 1453, 332, - 314, 318, 319, 320, 316, 321, 322, 323, 324, 325, - 326, 327, 328, 329, 330, 331, 317, 137, 138, 501, - 333, 332, 537, 911, 252, 301, 302, 137, 138, 334, - 833, 1478, 730, 510, 252, 284, 339, 285, 813, 130, - 131, 132, 133, 286, 288, 287, 289, 1117, 1489, 290, - 341, 291, 822, 823, 846, 936, 937, 938, 939, 940, - 355, 137, 138, 1501, 359, 356, 824, 825, 826, 827, - 828, 829, 830, 357, 292, 500, 293, 360, 352, 834, - 361, 362, 837, 358, 363, 843, 323, 324, 325, 326, - 327, 328, 329, 330, 331, 852, 294, 296, 295, 297, - 332, 366, 40, 41, 42, 43, 382, 45, 500, 364, - 700, 387, 388, 365, 377, 51, 52, 692, 378, 693, - 869, 379, 318, 319, 320, 949, 321, 322, 323, 324, - 325, 326, 327, 328, 329, 330, 331, 748, 500, 500, - 500, 500, 332, 169, 898, 899, 170, 171, 391, 172, - 904, 702, 702, 703, 732, 702, 981, 867, 982, 380, - 914, 915, 389, 318, 319, 320, 390, 321, 322, 323, - 324, 325, 326, 327, 328, 329, 330, 331, 397, 400, - 318, 319, 320, 332, 321, 322, 323, 324, 325, 326, - 327, 328, 329, 330, 331, 403, 399, 954, 955, 404, - 332, 318, 319, 320, 406, 321, 322, 323, 324, 325, - 326, 327, 328, 329, 330, 331, 702, 702, 995, 1023, - 702, 332, 1024, 702, 702, 1025, 1026, 1077, 980, 1078, - 1252, 702, 408, 1097, 984, 409, 1181, 813, 1182, 1077, - 410, 1212, 975, 1077, 411, 1303, 500, 1181, 997, 1377, - 998, 1427, 1439, 1428, 1440, 1470, 412, 1471, 413, 414, - 415, 416, 439, 417, 1013, 1014, 1015, 318, 319, 320, - 418, 321, 322, 323, 324, 325, 326, 327, 328, 329, - 330, 331, 419, 420, 421, 422, 423, 332, 1036, 1037, - 1038, 424, 425, 426, 427, 428, 429, 430, 431, 855, - 432, 433, 434, 93, 303, 435, 436, 1083, 437, 97, - 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, - 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, - 118, 119, 120, 1074, 888, 889, 890, 438, 1080, 441, - 442, 443, 445, 332, 498, 896, 1112, 495, 508, 507, - 509, 543, 1071, 538, 1084, 548, 556, 580, 589, 583, - 584, 592, 916, 595, 601, 602, 603, 604, 605, 606, - 607, 925, 608, 624, 978, 609, 610, 611, 612, 613, - 614, 615, 1102, 1103, 1174, 616, 617, 618, 619, 620, - 629, 1186, 1111, 621, 622, 623, 625, 626, 627, 628, - 630, 633, 126, 127, 128, 129, 634, 1131, 1132, 635, - 696, 697, 698, 699, 709, 562, 701, 710, 714, 1143, - 565, 1145, 716, 747, 719, 720, 721, 723, 725, 726, - 735, 1155, 751, 752, 764, 765, 768, 769, 1162, 1163, - 1164, 770, 772, 773, 779, 1169, 780, 809, 781, 1173, - 782, 783, 821, 831, 784, 1177, 1178, 785, 786, 787, - 788, 789, 790, 134, 135, 791, 792, 793, 794, 136, - 795, 1190, 796, 797, 139, 798, 799, 308, 1194, 142, - 819, 309, 800, 801, 802, 803, 804, 805, 806, 807, - 808, 810, 318, 319, 320, 1200, 321, 322, 323, 324, - 325, 326, 327, 328, 329, 330, 331, 811, 817, 818, - 836, 844, 332, 839, 845, 913, 847, 851, 1215, 848, - 1216, 318, 319, 320, 858, 321, 322, 323, 324, 325, - 326, 327, 328, 329, 330, 331, 860, 870, 318, 319, - 320, 332, 321, 322, 323, 324, 325, 326, 327, 328, - 329, 330, 331, 871, 872, 873, 1241, 876, 332, 877, - 878, 1245, 879, 880, 881, 882, 883, 1092, 905, 1093, - 891, 321, 322, 323, 324, 325, 326, 327, 328, 329, - 330, 331, 1258, 897, 1264, 900, 1267, 332, 1270, 1271, - 901, 907, 912, 917, 1274, 918, 919, 1118, 562, 1121, - 920, 1124, 1282, 565, 1195, 921, 924, 926, 927, 930, - 1290, 931, 932, 933, 934, 1295, 943, 944, 1298, 945, - 946, 947, 1301, 1302, 950, 948, 953, 951, 958, 968, - 1305, 970, 977, 1308, 983, 304, 305, 1309, 856, 857, - 976, 859, 991, 861, 862, 93, 303, 993, 1016, 994, - 1029, 97, 98, 99, 100, 101, 102, 103, 104, 105, - 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, - 116, 117, 118, 119, 120, 1030, 1035, 1039, 1040, 1044, - 1080, 1045, 1046, 1048, 1072, 1047, 902, 903, 1049, 1085, - 906, 1349, 1086, 1054, 1050, 1051, 1053, 1354, 1055, 1056, - 1358, 1057, 1058, 1088, 1059, 1060, 922, 923, 1061, 1062, - 1063, 1064, 928, 929, 1068, 1065, 1066, 1067, 1069, 935, - 1070, 942, 1379, 1081, 1380, 1094, 1095, 1099, 1096, 318, - 319, 320, 1421, 321, 322, 323, 324, 325, 326, 327, - 328, 329, 330, 331, 126, 127, 128, 129, 1100, 332, - 1101, 318, 319, 320, 1104, 321, 322, 323, 324, 325, - 326, 327, 328, 329, 330, 331, 1105, 1106, 1107, 1108, - 1109, 332, 1110, 1457, 1119, 1460, 990, 1122, 992, 1125, - 1127, 1128, 1259, 1196, 1265, 1129, 1268, 1130, 1136, 999, - 1000, 1001, 1133, 1144, 1004, 1005, 1006, 1007, 1008, 1009, - 1010, 1147, 1148, 1149, 1480, 134, 135, 1151, 1153, 1154, - 1150, 136, 1180, 1156, 1452, 1197, 139, 1157, 1158, 727, - 1160, 142, 320, 728, 321, 322, 323, 324, 325, 326, - 327, 328, 329, 330, 331, 1159, 369, 1166, 1167, 1170, - 332, 1171, 1189, 1172, 1183, 1326, 1476, 1477, 1184, 1185, - 1193, 1187, 1188, 1198, 1201, 1199, 1203, 93, 344, 1218, - 1205, 1207, 1486, 97, 98, 99, 100, 101, 102, 103, - 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, - 114, 115, 116, 117, 118, 119, 120, 1213, 1214, 1220, - 1082, 1221, 318, 319, 320, 345, 321, 322, 323, 324, - 325, 326, 327, 328, 329, 330, 331, 1222, 1223, 1224, - 1226, 1227, 332, 1228, 1232, 40, 41, 42, 43, 44, - 45, 736, 1233, 1236, 1234, 1237, 1239, 1246, 51, 52, - 318, 319, 320, 1247, 321, 322, 323, 324, 325, 326, - 327, 328, 329, 330, 331, 1249, 1272, 1278, 1281, 1283, - 332, 1286, 1285, 1137, 1296, 1287, 126, 127, 128, 129, - 1146, 1288, 318, 319, 320, 1289, 321, 322, 323, 324, - 325, 326, 327, 328, 329, 330, 331, 1291, 1293, 1165, - 1294, 1297, 332, 1299, 1300, 1304, 1306, 1307, 1312, 1313, - 1332, 1324, 318, 319, 320, 1179, 321, 322, 323, 324, - 325, 326, 327, 328, 329, 330, 331, 596, 1325, 1327, - 1328, 1343, 332, 1329, 1330, 1347, 1333, 134, 346, 1351, - 1352, 1355, 1356, 136, 1337, 1335, 1359, 1376, 139, 715, - 1339, 1345, 1360, 142, 1361, 347, 1364, 93, 303, 1369, - 1384, 1370, 1371, 97, 98, 99, 100, 101, 102, 103, - 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, - 114, 115, 116, 117, 118, 119, 120, 1373, 93, 539, - 1374, 1382, 1375, 1381, 97, 98, 99, 100, 101, 102, - 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, - 113, 114, 115, 116, 117, 118, 119, 120, 1385, 1387, - 93, 303, 1389, 1393, 1391, 1390, 97, 98, 99, 100, - 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, - 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, - 1392, 1273, 1394, 1395, 868, 1277, 126, 127, 128, 129, - 1396, 1397, 1398, 1401, 1403, 1407, 1410, 1413, 1416, 1417, - 1292, 1419, 318, 319, 320, 1423, 321, 322, 323, 324, - 325, 326, 327, 328, 329, 330, 331, 126, 127, 128, - 129, 1424, 332, 1426, 318, 319, 320, 1430, 321, 322, - 323, 324, 325, 326, 327, 328, 329, 330, 331, 1432, - 1443, 1435, 1433, 1434, 332, 1446, 1447, 134, 135, 126, - 127, 128, 129, 136, 1436, 1442, 1437, 1438, 139, 1449, - 1441, 865, 1451, 142, 1455, 866, 1456, 1458, 1461, 1463, - 1466, 1468, 1469, 1472, 1473, 1474, 1475, 1481, 134, 135, - 1484, 1350, 1485, 1487, 136, 1491, 1493, 1492, 1495, 139, - 1496, 1503, 1362, 1363, 142, 1502, 540, 1498, 1340, 1500, - 73, 81, 1087, 815, 0, 0, 0, 0, 0, 0, - 1255, 1256, 0, 0, 0, 0, 136, 0, 0, 0, - 0, 1257, 909, 0, 0, 0, 142, 0, 178, 318, - 319, 320, 0, 321, 322, 323, 324, 325, 326, 327, - 328, 329, 330, 331, 0, 0, 0, 0, 0, 332, - 0, 0, 1405, 0, 93, 94, 95, 1412, 96, 0, - 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, - 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, - 117, 118, 119, 120, 0, 121, 122, 123, 124, 0, - 0, 125, 0, 0, 0, 1445, 0, 0, 0, 0, - 0, 0, 0, 0, 1454, 0, 0, 93, 303, 212, - 0, 0, 0, 97, 98, 99, 100, 101, 102, 103, - 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, - 114, 115, 116, 117, 118, 119, 120, 1479, 121, 122, - 123, 124, 0, 0, 125, 0, 0, 0, 0, 0, - 0, 0, 1488, 126, 127, 128, 129, 0, 0, 1494, - 0, 0, 0, 0, 1497, 0, 1499, 318, 319, 320, - 0, 321, 322, 323, 324, 325, 326, 327, 328, 329, - 330, 331, 0, 0, 318, 319, 320, 332, 321, 322, - 323, 324, 325, 326, 327, 328, 329, 330, 331, 0, - 130, 131, 132, 133, 332, 0, 126, 127, 128, 129, - 0, 1115, 0, 1116, 134, 135, 0, 0, 0, 0, - 136, 0, 137, 138, 0, 139, 0, 140, 0, 141, - 142, 93, 344, 0, 0, 0, 0, 97, 98, 99, - 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, - 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, - 120, 0, 0, 0, 0, 0, 0, 134, 135, 345, - 0, 0, 0, 136, 0, 0, 0, 0, 139, 0, - 0, 0, 0, 142, 0, 0, 0, 0, 0, 40, - 41, 42, 43, 44, 45, 0, 0, 0, 0, 93, - 303, 0, 51, 52, 0, 97, 98, 99, 100, 101, - 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, - 112, 113, 114, 115, 116, 117, 118, 119, 120, 0, - 126, 127, 128, 129, 93, 539, 0, 0, 0, 0, - 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, - 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, - 117, 118, 119, 120, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 572, 25, 26, 573, 574, 29, 575, - 31, 0, 32, 0, 34, 35, 0, 37, 38, 0, - 0, 134, 499, 0, 0, 0, 0, 136, 126, 127, - 128, 129, 139, 0, 50, 0, 0, 142, 0, 0, - 0, 0, 0, 54, 55, 56, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 66, 0, 126, 127, 128, 129, 0, 572, 25, - 26, 573, 574, 29, 575, 31, 0, 32, 0, 34, - 35, 0, 37, 38, 0, 0, 0, 0, 0, 134, - 135, 0, 0, 0, 0, 136, 0, 0, 0, 50, - 139, 0, 0, 0, 0, 142, 0, 0, 54, 55, - 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 134, 135, 66, 0, 0, 0, - 136, 0, 0, 0, 0, 139, 0, 0, 0, 0, - 142, 0, 0, 0, 576, 572, 25, 26, 573, 574, - 29, 575, 31, 0, 32, 0, 34, 35, 0, 37, - 38, 0, 0, 0, 0, 0, 572, 25, 26, 573, - 574, 29, 575, 31, 0, 32, 50, 34, 35, 0, - 37, 38, 0, 0, 0, 54, 55, 56, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 50, 0, 0, - 0, 0, 0, 66, 0, 0, 54, 55, 56, 582, - 0, 572, 25, 26, 573, 574, 29, 575, 31, 0, - 32, 0, 34, 35, 66, 37, 38, 0, 0, -5, - 1, 0, -5, -48, 0, 0, 0, 0, 0, 0, - 0, 0, 50, 0, 0, 0, 0, 0, 0, 0, - 0, 54, 55, 56, 0, 0, 0, 0, 0, 0, - 0, 0, -48, 0, 0, 0, 0, -48, -48, 66, - -48, -48, -48, -48, -48, -48, -48, -48, 0, -48, - -48, -48, -48, -48, -48, -48, 599, 0, 0, -48, - -48, -48, -48, -48, -48, -48, 0, -48, -48, -48, - -48, -48, 217, -48, -48, 0, 0, 600, 0, -48, - -48, -48, -48, 0, 0, 0, 0, -48, 0, -48, - 0, -48, -48, -48, -48, -48, -48, -48, -48, -48, - -48, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 775, -5, -5, -5, -5, -5, -5, -5, - -5, 0, 0, 0, 218, 219, 220, 0, 0, 0, - 0, 0, 221, 222, 223, 224, 225, 226, 227, 228, - 229, 230, 20, 0, 0, 0, 0, 0, 0, 0, - 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, - 0, 241, 242, 243, 244, 245, 246, 0, 0, 0, - 0, 21, 0, 0, 0, 0, 22, 23, 0, 24, - 25, 26, 27, 28, 29, 30, 31, 0, 32, 33, - 34, 35, 36, 37, 38, 0, 0, 0, 39, 40, - 41, 42, 43, 44, 45, 0, 46, 47, 48, 49, - 50, 0, 51, 52, 0, 0, 0, 0, 53, 54, - 55, 56, 0, 0, 0, 0, 57, 0, 58, 0, - 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, - 572, 25, 26, 573, 574, 29, 575, 31, 0, 32, - 0, 34, 35, 0, 37, 38, 318, 319, 320, 0, - 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, - 331, 50, 0, 0, 0, 0, 332, 0, 0, 0, - 54, 55, 56, 1138, 0, 1139, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 318, 319, 320, 66, 321, - 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, - 0, 0, 0, 0, 0, 332, 0, 0, 0, 0, - 0, 0, 1253, 0, 1254, 318, 319, 320, 0, 321, - 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, - 0, 0, 0, 0, 0, 332, 0, 0, 0, 0, - 0, 318, 319, 320, 740, 321, 322, 323, 324, 325, - 326, 327, 328, 329, 330, 331, 0, 0, 0, 0, - 0, 332, 0, 0, 0, 0, 0, 318, 319, 320, - 741, 321, 322, 323, 324, 325, 326, 327, 328, 329, - 330, 331, 0, 0, 0, 0, 0, 332, 0, 0, - 0, 0, 0, 318, 319, 320, 864, 321, 322, 323, - 324, 325, 326, 327, 328, 329, 330, 331, 0, 0, - 0, 0, 0, 332, 0, 0, 0, 0, 0, 318, - 319, 320, 887, 321, 322, 323, 324, 325, 326, 327, - 328, 329, 330, 331, 0, 0, 0, 0, 0, 332, - 0, 0, 0, 0, 0, 318, 319, 320, 1113, 321, - 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, - 0, 0, 0, 0, 0, 332, 0, 0, 0, 0, - 0, 318, 319, 320, 1275, 321, 322, 323, 324, 325, - 326, 327, 328, 329, 330, 331, 0, 0, 0, 0, - 0, 332, 0, 0, 0, 0, 0, 318, 319, 320, - 1276, 321, 322, 323, 324, 325, 326, 327, 328, 329, - 330, 331, 0, 0, 0, 0, 0, 332, 0, 0, - 0, 0, 0, 318, 319, 320, 1310, 321, 322, 323, - 324, 325, 326, 327, 328, 329, 330, 331, 0, 0, - 0, 0, 0, 332, 0, 0, 0, 0, 0, 318, - 319, 320, 1316, 321, 322, 323, 324, 325, 326, 327, - 328, 329, 330, 331, 0, 0, 0, 0, 0, 332, - 0, 0, 0, 0, 0, 318, 319, 320, 1319, 321, - 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, - 0, 0, 0, 0, 0, 332, 0, 0, 0, 0, - 0, 318, 319, 320, 1322, 321, 322, 323, 324, 325, - 326, 327, 328, 329, 330, 331, 0, 0, 0, 0, - 0, 332, 0, 0, 0, 0, 0, 318, 319, 320, - 1323, 321, 322, 323, 324, 325, 326, 327, 328, 329, - 330, 331, 0, 0, 0, 0, 0, 332, 0, 0, - 0, 0, 0, 318, 319, 320, 1346, 321, 322, 323, - 324, 325, 326, 327, 328, 329, 330, 331, 0, 0, - 0, 0, 0, 332, 0, 0, 0, 0, 0, 318, - 319, 320, 1383, 321, 322, 323, 324, 325, 326, 327, - 328, 329, 330, 331, 0, 0, 0, 0, 0, 332, - 0, 0, 0, 0, 0, 318, 319, 320, 1386, 321, - 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, - 0, 0, 0, 0, 0, 332, 0, 0, 0, 0, - 0, 318, 319, 320, 1388, 321, 322, 323, 324, 325, - 326, 327, 328, 329, 330, 331, 0, 0, 0, 0, - 0, 332, 0, 0, 0, 0, 0, 318, 319, 320, - 1400, 321, 322, 323, 324, 325, 326, 327, 328, 329, - 330, 331, 0, 0, 0, 0, 0, 332, 0, 0, - 0, 0, 0, 318, 319, 320, 1483, 321, 322, 323, - 324, 325, 326, 327, 328, 329, 330, 331, 0, 0, - 0, 0, 0, 332, 0, 0, 0, 0, 0, 318, - 319, 320, 1490, 321, 322, 323, 324, 325, 326, 327, - 328, 329, 330, 331, 0, 0, 0, 0, 0, 332, - 0, 497, 0, 318, 319, 320, 558, 321, 322, 323, - 324, 325, 326, 327, 328, 329, 330, 331, 0, 0, - 0, 0, 0, 332, 0, 0, 0, 318, 319, 320, - 528, 321, 322, 323, 324, 325, 326, 327, 328, 329, - 330, 331, 0, 0, 0, 0, 0, 332, 0, 0, - 0, 318, 319, 320, 558, 321, 322, 323, 324, 325, - 326, 327, 328, 329, 330, 331, 0, 0, 0, 0, - 0, 332, 0, 0, 0, 318, 319, 320, 559, 321, - 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, - 0, 0, 0, 0, 0, 332, 0, 0, 0, 318, - 319, 320, 593, 321, 322, 323, 324, 325, 326, 327, - 328, 329, 330, 331, 0, 0, 0, 0, 0, 332, - 0, 0, 0, 318, 319, 320, 672, 321, 322, 323, - 324, 325, 326, 327, 328, 329, 330, 331, 0, 0, - 0, 0, 0, 332, 0, 0, 0, 318, 319, 320, - 673, 321, 322, 323, 324, 325, 326, 327, 328, 329, - 330, 331, 0, 0, 0, 0, 0, 332, 0, 0, - 0, 318, 319, 320, 686, 321, 322, 323, 324, 325, - 326, 327, 328, 329, 330, 331, 0, 0, 0, 0, - 0, 332, 0, 0, 0, 318, 319, 320, 687, 321, - 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, - 0, 0, 0, 0, 0, 332, 0, 0, 0, 318, - 319, 320, 688, 321, 322, 323, 324, 325, 326, 327, - 328, 329, 330, 331, 0, 0, 0, 0, 0, 332, - 0, 0, 0, 318, 319, 320, 689, 321, 322, 323, - 324, 325, 326, 327, 328, 329, 330, 331, 0, 0, - 0, 0, 0, 332, 0, 0, 0, 318, 319, 320, - 690, 321, 322, 323, 324, 325, 326, 327, 328, 329, - 330, 331, 0, 0, 0, 0, 0, 332, 0, 0, - 0, 318, 319, 320, 691, 321, 322, 323, 324, 325, - 326, 327, 328, 329, 330, 331, 0, 0, 0, 0, - 0, 332, 0, 0, 0, 318, 319, 320, 754, 321, - 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, - 0, 0, 0, 0, 0, 332, 0, 0, 0, 318, - 319, 320, 755, 321, 322, 323, 324, 325, 326, 327, - 328, 329, 330, 331, 0, 0, 0, 0, 0, 332, - 0, 0, 0, 318, 319, 320, 756, 321, 322, 323, - 324, 325, 326, 327, 328, 329, 330, 331, 0, 0, - 0, 0, 0, 332, 0, 0, 0, 318, 319, 320, - 854, 321, 322, 323, 324, 325, 326, 327, 328, 329, - 330, 331, 0, 0, 0, 0, 0, 332, 0, 0, - 0, 318, 319, 320, 885, 321, 322, 323, 324, 325, - 326, 327, 328, 329, 330, 331, 0, 0, 0, 0, - 0, 332, 0, 0, 0, 318, 319, 320, 886, 321, - 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, - 0, 0, 0, 0, 0, 332, 0, 0, 0, 318, - 319, 320, 908, 321, 322, 323, 324, 325, 326, 327, - 328, 329, 330, 331, 0, 0, 0, 0, 0, 332, - 0, 0, 0, 318, 319, 320, 1027, 321, 322, 323, - 324, 325, 326, 327, 328, 329, 330, 331, 0, 0, - 0, 0, 0, 332, 0, 0, 0, 318, 319, 320, - 1028, 321, 322, 323, 324, 325, 326, 327, 328, 329, - 330, 331, 0, 0, 0, 0, 0, 332, 0, 0, - 0, 318, 319, 320, 1041, 321, 322, 323, 324, 325, - 326, 327, 328, 329, 330, 331, 0, 0, 0, 0, - 0, 332, 0, 0, 0, 318, 319, 320, 1042, 321, - 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, - 0, 0, 0, 0, 0, 332, 0, 0, 0, 318, - 319, 320, 1075, 321, 322, 323, 324, 325, 326, 327, - 328, 329, 330, 331, 0, 0, 0, 0, 0, 332, - 0, 0, 0, 318, 319, 320, 1076, 321, 322, 323, - 324, 325, 326, 327, 328, 329, 330, 331, 0, 0, - 0, 0, 0, 332, 0, 0, 0, 318, 319, 320, - 1091, 321, 322, 323, 324, 325, 326, 327, 328, 329, - 330, 331, 0, 0, 0, 0, 0, 332, 0, 0, - 0, 318, 319, 320, 1098, 321, 322, 323, 324, 325, - 326, 327, 328, 329, 330, 331, 0, 0, 0, 0, - 0, 332, 0, 0, 0, 318, 319, 320, 1208, 321, - 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, - 0, 0, 0, 0, 0, 332, 0, 0, 0, 318, - 319, 320, 1209, 321, 322, 323, 324, 325, 326, 327, - 328, 329, 330, 331, 0, 0, 0, 0, 0, 332, - 0, 0, 0, 318, 319, 320, 1217, 321, 322, 323, - 324, 325, 326, 327, 328, 329, 330, 331, 0, 0, - 0, 0, 0, 332, 0, 0, 0, 318, 319, 320, - 1219, 321, 322, 323, 324, 325, 326, 327, 328, 329, - 330, 331, 0, 0, 0, 0, 0, 332, 0, 0, - 0, 318, 319, 320, 1230, 321, 322, 323, 324, 325, - 326, 327, 328, 329, 330, 331, 0, 0, 0, 0, - 0, 332, 0, 0, 0, 318, 319, 320, 1235, 321, - 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, - 0, 0, 0, 0, 0, 332, 0, 0, 0, 318, - 319, 320, 1238, 321, 322, 323, 324, 325, 326, 327, - 328, 329, 330, 331, 0, 0, 0, 0, 0, 332, - 0, 0, 0, 318, 319, 320, 1242, 321, 322, 323, - 324, 325, 326, 327, 328, 329, 330, 331, 0, 0, - 0, 0, 0, 332, 0, 0, 0, 318, 319, 320, - 1243, 321, 322, 323, 324, 325, 326, 327, 328, 329, - 330, 331, 0, 0, 0, 0, 0, 332, 0, 0, - 0, 318, 319, 320, 1250, 321, 322, 323, 324, 325, - 326, 327, 328, 329, 330, 331, 0, 0, 0, 0, - 0, 332, 0, 0, 0, 318, 319, 320, 1251, 321, - 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, - 0, 0, 0, 0, 0, 332, 0, 0, 0, 318, - 319, 320, 1331, 321, 322, 323, 324, 325, 326, 327, - 328, 329, 330, 331, 0, 0, 0, 0, 0, 332, - 0, 0, 0, 318, 319, 320, 1342, 321, 322, 323, - 324, 325, 326, 327, 328, 329, 330, 331, 0, 0, - 0, 0, 0, 332, 0, 0, 0, 318, 319, 320, - 1344, 321, 322, 323, 324, 325, 326, 327, 328, 329, - 330, 331, 0, 0, 0, 0, 0, 332, 0, 0, - 0, 318, 319, 320, 1467, 321, 322, 323, 324, 325, - 326, 327, 328, 329, 330, 331, 0, 0, 0, 0, - 0, 332, 0, 0, 0, 318, 319, 320, 1482, 321, - 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, - 0, 0, 0, 0, 0, 332, 318, 319, 320, 503, - 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, - 331, 0, 0, 0, 0, 0, 332, 318, 319, 320, - 636, 321, 322, 323, 324, 325, 326, 327, 328, 329, - 330, 331, 0, 0, 0, 0, 0, 332, 318, 319, - 320, 651, 321, 322, 323, 324, 325, 326, 327, 328, - 329, 330, 331, 0, 0, 0, 0, 0, 332, 318, - 319, 320, 653, 321, 322, 323, 324, 325, 326, 327, - 328, 329, 330, 331, 0, 0, 0, 0, 0, 332, - 318, 319, 320, 655, 321, 322, 323, 324, 325, 326, - 327, 328, 329, 330, 331, 0, 0, 0, 0, 0, - 332, 318, 319, 320, 657, 321, 322, 323, 324, 325, - 326, 327, 328, 329, 330, 331, 0, 0, 0, 0, - 0, 332, 318, 319, 320, 659, 321, 322, 323, 324, - 325, 326, 327, 328, 329, 330, 331, 0, 0, 0, - 0, 0, 332, 318, 319, 320, 661, 321, 322, 323, - 324, 325, 326, 327, 328, 329, 330, 331, 0, 0, - 0, 0, 0, 332, 318, 319, 320, 663, 321, 322, - 323, 324, 325, 326, 327, 328, 329, 330, 331, 0, - 0, 0, 0, 0, 332, 318, 319, 320, 665, 321, - 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, - 0, 0, 0, 0, 0, 332, 318, 319, 320, 667, - 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, - 331, 0, 0, 0, 0, 0, 332, 318, 319, 320, - 669, 321, 322, 323, 324, 325, 326, 327, 328, 329, - 330, 331, 0, 0, 0, 0, 0, 332, 318, 319, - 320, 671, 321, 322, 323, 324, 325, 326, 327, 328, - 329, 330, 331, 0, 0, 0, 0, 0, 332, 318, - 319, 320, 675, 321, 322, 323, 324, 325, 326, 327, - 328, 329, 330, 331, 0, 0, 0, 0, 0, 332, - 318, 319, 320, 677, 321, 322, 323, 324, 325, 326, - 327, 328, 329, 330, 331, 0, 0, 0, 0, 0, - 332, 318, 319, 320, 679, 321, 322, 323, 324, 325, - 326, 327, 328, 329, 330, 331, 0, 0, 0, 0, - 0, 332, 318, 319, 320, 681, 321, 322, 323, 324, - 325, 326, 327, 328, 329, 330, 331, 0, 0, 0, - 0, 0, 332, 318, 319, 320, 683, 321, 322, 323, - 324, 325, 326, 327, 328, 329, 330, 331, 0, 0, - 0, 0, 0, 332, 318, 319, 320, 685, 321, 322, - 323, 324, 325, 326, 327, 328, 329, 330, 331, 0, - 0, 0, 0, 0, 332, 318, 319, 320, 757, 321, - 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, - 0, 0, 0, 0, 0, 332, 318, 319, 320, 763, - 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, - 331, 0, 0, 0, 0, 0, 332, 318, 319, 320, - 766, 321, 322, 323, 324, 325, 326, 327, 328, 329, - 330, 331, 0, 0, 0, 0, 0, 332, 318, 319, - 320, 767, 321, 322, 323, 324, 325, 326, 327, 328, - 329, 330, 331, 0, 0, 0, 0, 0, 332, 318, - 319, 320, 835, 321, 322, 323, 324, 325, 326, 327, - 328, 329, 330, 331, 0, 0, 0, 0, 0, 332, - 318, 319, 320, 960, 321, 322, 323, 324, 325, 326, - 327, 328, 329, 330, 331, 0, 0, 0, 0, 0, - 332, 318, 319, 320, 962, 321, 322, 323, 324, 325, - 326, 327, 328, 329, 330, 331, 0, 0, 0, 0, - 0, 332, 318, 319, 320, 964, 321, 322, 323, 324, - 325, 326, 327, 328, 329, 330, 331, 0, 0, 0, - 0, 0, 332, 318, 319, 320, 966, 321, 322, 323, - 324, 325, 326, 327, 328, 329, 330, 331, 0, 0, - 0, 0, 0, 332, 318, 319, 320, 967, 321, 322, - 323, 324, 325, 326, 327, 328, 329, 330, 331, 0, - 0, 0, 0, 0, 332, 318, 319, 320, 1089, 321, - 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, - 0, 0, 0, 0, 0, 332, 0, 497, 318, 319, - 320, 0, 321, 322, 323, 324, 325, 326, 327, 328, - 329, 330, 331, 0, 0, 0, 0, 0, 332, 0, - 529, 318, 319, 320, 0, 321, 322, 323, 324, 325, - 326, 327, 328, 329, 330, 331, 0, 0, 0, 0, - 0, 332, 0, 530, 318, 319, 320, 0, 321, 322, - 323, 324, 325, 326, 327, 328, 329, 330, 331, 0, - 0, 0, 0, 0, 332, 0, 531, 318, 319, 320, - 0, 321, 322, 323, 324, 325, 326, 327, 328, 329, - 330, 331, 0, 0, 0, 0, 0, 332, 0, 533, - 318, 319, 320, 0, 321, 322, 323, 324, 325, 326, - 327, 328, 329, 330, 331, 0, 0, 0, 0, 0, - 332, 0, 535, 318, 319, 320, 0, 321, 322, 323, - 324, 325, 326, 327, 328, 329, 330, 331, 0, 0, - 0, 0, 0, 332, 0, 536, 318, 319, 320, 0, - 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, - 331, 0, 0, 0, 0, 0, 332, 0, 544, 318, - 319, 320, 0, 321, 322, 323, 324, 325, 326, 327, - 328, 329, 330, 331, 0, 0, 0, 0, 0, 332, - 0, 587, 318, 319, 320, 0, 321, 322, 323, 324, - 325, 326, 327, 328, 329, 330, 331, 0, 0, 0, - 0, 0, 332, 0, 588, 318, 319, 320, 0, 321, - 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, - 0, 0, 0, 0, 0, 332, 0, 591, 318, 319, - 320, 0, 321, 322, 323, 324, 325, 326, 327, 328, - 329, 330, 331, 0, 0, 0, 0, 0, 332, 0, - 597, 318, 319, 320, 0, 321, 322, 323, 324, 325, - 326, 327, 328, 329, 330, 331, 0, 0, 0, 0, - 0, 332, 0, 650, 318, 319, 320, 0, 321, 322, - 323, 324, 325, 326, 327, 328, 329, 330, 331, 0, - 0, 0, 0, 0, 332, 0, 652, 318, 319, 320, - 0, 321, 322, 323, 324, 325, 326, 327, 328, 329, - 330, 331, 0, 0, 0, 0, 0, 332, 0, 654, - 318, 319, 320, 0, 321, 322, 323, 324, 325, 326, - 327, 328, 329, 330, 331, 0, 0, 0, 0, 0, - 332, 0, 656, 318, 319, 320, 0, 321, 322, 323, - 324, 325, 326, 327, 328, 329, 330, 331, 0, 0, - 0, 0, 0, 332, 0, 658, 318, 319, 320, 0, - 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, - 331, 0, 0, 0, 0, 0, 332, 0, 660, 318, - 319, 320, 0, 321, 322, 323, 324, 325, 326, 327, - 328, 329, 330, 331, 0, 0, 0, 0, 0, 332, - 0, 662, 318, 319, 320, 0, 321, 322, 323, 324, - 325, 326, 327, 328, 329, 330, 331, 0, 0, 0, - 0, 0, 332, 0, 664, 318, 319, 320, 0, 321, - 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, - 0, 0, 0, 0, 0, 332, 0, 666, 318, 319, - 320, 0, 321, 322, 323, 324, 325, 326, 327, 328, - 329, 330, 331, 0, 0, 0, 0, 0, 332, 0, - 668, 318, 319, 320, 0, 321, 322, 323, 324, 325, - 326, 327, 328, 329, 330, 331, 0, 0, 0, 0, - 0, 332, 0, 670, 318, 319, 320, 0, 321, 322, - 323, 324, 325, 326, 327, 328, 329, 330, 331, 0, - 0, 0, 0, 0, 332, 0, 674, 318, 319, 320, - 0, 321, 322, 323, 324, 325, 326, 327, 328, 329, - 330, 331, 0, 0, 0, 0, 0, 332, 0, 676, - 318, 319, 320, 0, 321, 322, 323, 324, 325, 326, - 327, 328, 329, 330, 331, 0, 0, 0, 0, 0, - 332, 0, 678, 318, 319, 320, 0, 321, 322, 323, - 324, 325, 326, 327, 328, 329, 330, 331, 0, 0, - 0, 0, 0, 332, 0, 680, 318, 319, 320, 0, - 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, - 331, 0, 0, 0, 0, 0, 332, 0, 682, 318, - 319, 320, 0, 321, 322, 323, 324, 325, 326, 327, - 328, 329, 330, 331, 0, 0, 0, 0, 0, 332, - 0, 684, 318, 319, 320, 0, 321, 322, 323, 324, - 325, 326, 327, 328, 329, 330, 331, 0, 0, 0, - 0, 0, 332, 0, 722, 318, 319, 320, 0, 321, - 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, - 0, 0, 0, 0, 0, 332, 0, 724, 318, 319, - 320, 0, 321, 322, 323, 324, 325, 326, 327, 328, - 329, 330, 331, 0, 0, 0, 0, 0, 332, 0, - 737, 318, 319, 320, 0, 321, 322, 323, 324, 325, - 326, 327, 328, 329, 330, 331, 0, 0, 0, 0, - 0, 332, 0, 738, 318, 319, 320, 0, 321, 322, - 323, 324, 325, 326, 327, 328, 329, 330, 331, 0, - 0, 0, 0, 0, 332, 0, 742, 318, 319, 320, - 0, 321, 322, 323, 324, 325, 326, 327, 328, 329, - 330, 331, 0, 0, 0, 0, 0, 332, 0, 743, - 318, 319, 320, 0, 321, 322, 323, 324, 325, 326, - 327, 328, 329, 330, 331, 0, 0, 0, 0, 0, - 332, 0, 744, 318, 319, 320, 0, 321, 322, 323, - 324, 325, 326, 327, 328, 329, 330, 331, 0, 0, - 0, 0, 0, 332, 0, 745, 318, 319, 320, 0, - 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, - 331, 0, 0, 0, 0, 0, 332, 0, 746, 318, - 319, 320, 0, 321, 322, 323, 324, 325, 326, 327, - 328, 329, 330, 331, 0, 0, 0, 0, 0, 332, - 0, 771, 318, 319, 320, 0, 321, 322, 323, 324, - 325, 326, 327, 328, 329, 330, 331, 0, 0, 0, - 0, 0, 332, 0, 778, 318, 319, 320, 0, 321, - 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, - 0, 0, 0, 0, 0, 332, 0, 959, 318, 319, - 320, 0, 321, 322, 323, 324, 325, 326, 327, 328, - 329, 330, 331, 0, 0, 0, 0, 0, 332, 0, - 961, 318, 319, 320, 0, 321, 322, 323, 324, 325, - 326, 327, 328, 329, 330, 331, 0, 0, 0, 0, - 0, 332, 0, 963, 318, 319, 320, 0, 321, 322, - 323, 324, 325, 326, 327, 328, 329, 330, 331, 0, - 0, 0, 0, 0, 332, 0, 965, 318, 319, 320, - 0, 321, 322, 323, 324, 325, 326, 327, 328, 329, - 330, 331, 0, 0, 0, 0, 0, 332, 0, 971, - 318, 319, 320, 0, 321, 322, 323, 324, 325, 326, - 327, 328, 329, 330, 331, 0, 0, 0, 0, 0, - 332, 0, 1031, 318, 319, 320, 0, 321, 322, 323, - 324, 325, 326, 327, 328, 329, 330, 331, 0, 0, - 0, 0, 0, 332, 0, 1114, 318, 319, 320, 0, - 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, - 331, 0, 0, 0, 0, 0, 332, 0, 1142, 318, - 319, 320, 0, 321, 322, 323, 324, 325, 326, 327, - 328, 329, 330, 331, 0, 0, 0, 0, 0, 332, - 0, 1225, 318, 319, 320, 0, 321, 322, 323, 324, - 325, 326, 327, 328, 329, 330, 331, 0, 0, 0, - 0, 0, 332, 0, 1229, 318, 319, 320, 0, 321, - 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, - 0, 0, 0, 0, 0, 332, 0, 1231, 318, 319, - 320, 0, 321, 322, 323, 324, 325, 326, 327, 328, - 329, 330, 331, 0, 0, 0, 0, 0, 332, 0, - 1334, 318, 319, 320, 0, 321, 322, 323, 324, 325, - 326, 327, 328, 329, 330, 331, 0, 0, 0, 0, - 0, 332, 0, 1336, 318, 319, 320, 0, 321, 322, - 323, 324, 325, 326, 327, 328, 329, 330, 331, 0, - 0, 0, 0, 0, 332, 0, 1338, 318, 319, 320, - 0, 321, 322, 323, 324, 325, 326, 327, 328, 329, - 330, 331, 0, 0, 0, 0, 0, 332, 0, 1341, - 318, 319, 320, 0, 321, 322, 323, 324, 325, 326, - 327, 328, 329, 330, 331, 0, 0, 0, 0, 0, - 332, 0, 1399 +static const short yypgoto[] = {-32768, +-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1126, +-32768, 466,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, +-32768,-32768,-32768,-32768, -303, 4,-32768, 1763, 1, -370, + -178, 6,-32768,-32768,-32768,-32768,-32768, 1773,-32768,-32768, +-32768,-32768,-32768,-32768,-32768,-32768,-32768, -1033, -1241,-32768, +-32768, -835, -18,-32768, 182,-32768, -84,-32768, -1090, -970, + 520, -245, -332, -698, 811,-32768, -64 }; -static const short yycheck[] = -{ - 20, 67, 68, 4, 311, 91, 375, 187, 4, 712, - 190, 4, 1262, 4, 4, 347, 1266, 5, 4, 1269, - 4, 4, 20, 67, 4, 4, 1032, 1033, 5, 85, - 6, 45, 6, 213, 6, 215, 67, 4, 67, 6, - 5, 3, 1133, 163, 164, 6, 34, 35, 36, 37, - 163, 164, 40, 163, 164, 175, 68, 34, 35, 36, - 37, 73, 309, 40, 0, 175, 6, 180, 6, 34, - 35, 36, 37, 7, 175, 40, 6, 7, 52, 180, - 52, 163, 164, 76, 77, 78, 79, 174, 4, 176, - 163, 164, 174, 76, 77, 78, 79, 7, 68, 181, - 347, 171, 172, 73, 1205, 174, 1207, 180, 178, 182, - 163, 164, 181, 6, 134, 135, 136, 174, 174, 139, - 140, 175, 6, 143, 181, 6, 180, 180, 1219, 182, - 150, 6, 152, 153, 154, 174, 156, 181, 158, 159, - 6, 161, 181, 174, 847, 174, 165, 166, 167, 174, - 181, 176, 1402, 174, 173, 176, 1406, 177, 178, 1409, - 174, 6, 124, 125, 126, 127, 128, 129, 130, 131, - 182, 68, 88, 89, 1180, 174, 73, 68, 198, 199, - 68, 201, 73, 203, 6, 73, 206, 207, 174, 182, - 181, 181, 174, 181, 1444, 527, 503, 181, 1448, 182, - 1450, 181, 181, 174, 181, 181, 171, 172, 540, 176, - 174, 1048, 182, 178, 174, 149, 150, 151, 152, 399, - 1057, 41, 42, 163, 164, 163, 164, 1064, 174, 174, - 176, 251, 298, 299, 300, 301, 256, 257, 258, 259, - 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, - 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, - 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, - 290, 291, 292, 293, 294, 295, 296, 297, 981, 7, - 527, 1382, 163, 164, 1385, 182, 1387, 68, 174, 309, - 68, 182, 73, 540, 182, 73, 4, 67, 318, 319, - 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, - 330, 331, 332, 311, 174, 8, 176, 68, 5, 339, - 174, 341, 73, 68, 174, 1426, 346, 347, 73, 1430, - 174, 1432, 176, 163, 164, 355, 356, 357, 49, 359, - 360, 361, 362, 363, 364, 365, 174, 34, 35, 36, - 37, 181, 41, 40, 174, 44, 176, 377, 378, 379, - 380, 175, 182, 695, 45, 385, 180, 163, 164, 389, - 390, 163, 164, 374, 375, 395, 4, 5, 374, 375, - 88, 89, 45, 1220, 404, 181, 175, 1224, 180, 45, - 182, 180, 163, 164, 163, 164, 728, 47, 7, 163, - 164, 182, 163, 164, 182, 181, 34, 35, 36, 37, - 181, 180, 40, 163, 164, 175, 180, 171, 172, 180, - 180, 149, 150, 151, 152, 174, 758, 759, 760, 761, - 180, 182, 6, 174, 254, 176, 6, 182, 504, 181, - 163, 164, 45, 171, 172, 6, 175, 445, 695, 175, - 178, 180, 58, 59, 180, 702, 8, 180, 163, 164, - 153, 154, 155, 4, 157, 158, 159, 160, 161, 162, - 163, 164, 165, 166, 167, 180, 496, 68, 4, 499, - 173, 728, 73, 57, 1187, 505, 163, 164, 174, 182, - 176, 1328, 1329, 1330, 1331, 6, 7, 7, 1335, 163, - 164, 44, 45, 180, 47, 503, 41, 527, 528, 44, - 45, 758, 759, 760, 761, 4, 180, 537, 538, 174, - 540, 176, 542, 543, 171, 172, 174, 6, 548, 176, - 174, 178, 839, 840, 866, 174, 174, 176, 558, 559, - 149, 150, 151, 152, 171, 172, 4, 567, 174, 176, - 176, 178, 372, 373, 1391, 1392, 4, 45, 1395, 579, - 174, 5, 171, 172, 163, 164, 165, 166, 167, 174, - 636, 176, 174, 593, 173, 595, 596, 8, 174, 153, - 154, 155, 174, 157, 158, 159, 160, 161, 162, 163, - 164, 165, 166, 167, 174, 174, 176, 176, 1435, 173, - 4, 153, 154, 155, 6, 157, 158, 159, 160, 161, - 162, 163, 164, 165, 166, 167, 6, 171, 172, 866, - 6, 173, 176, 175, 178, 174, 174, 171, 172, 5, - 696, 1468, 176, 6, 178, 174, 174, 176, 636, 149, - 150, 151, 152, 174, 174, 176, 176, 1016, 1485, 174, - 174, 176, 672, 673, 6, 109, 110, 111, 112, 113, - 181, 171, 172, 1500, 181, 174, 686, 687, 688, 689, - 690, 691, 692, 174, 174, 695, 176, 181, 160, 699, - 174, 174, 702, 165, 174, 705, 159, 160, 161, 162, - 163, 164, 165, 166, 167, 715, 174, 174, 176, 176, - 173, 4, 61, 62, 63, 64, 188, 66, 728, 174, - 730, 193, 194, 174, 181, 74, 75, 176, 181, 178, - 6, 181, 153, 154, 155, 811, 157, 158, 159, 160, - 161, 162, 163, 164, 165, 166, 167, 557, 758, 759, - 760, 761, 173, 41, 764, 765, 44, 45, 6, 47, - 770, 180, 180, 182, 182, 180, 180, 182, 182, 176, - 780, 781, 176, 153, 154, 155, 176, 157, 158, 159, - 160, 161, 162, 163, 164, 165, 166, 167, 178, 91, - 153, 154, 155, 173, 157, 158, 159, 160, 161, 162, - 163, 164, 165, 166, 167, 6, 181, 817, 818, 174, - 173, 153, 154, 155, 6, 157, 158, 159, 160, 161, - 162, 163, 164, 165, 166, 167, 180, 180, 182, 182, - 180, 173, 182, 180, 180, 182, 182, 180, 848, 182, - 1199, 180, 6, 182, 854, 174, 180, 835, 182, 180, - 174, 182, 840, 180, 174, 182, 866, 180, 868, 182, - 870, 180, 180, 182, 182, 180, 174, 182, 174, 174, - 174, 174, 5, 174, 884, 885, 886, 153, 154, 155, - 174, 157, 158, 159, 160, 161, 162, 163, 164, 165, - 166, 167, 174, 174, 174, 174, 174, 173, 908, 909, - 910, 174, 174, 174, 174, 174, 174, 174, 174, 719, - 174, 174, 174, 3, 4, 174, 174, 973, 174, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 953, 754, 755, 756, 174, 958, 180, - 175, 180, 4, 173, 7, 6, 1012, 5, 7, 178, - 176, 7, 950, 181, 974, 7, 175, 6, 86, 7, - 7, 88, 782, 181, 5, 5, 5, 5, 5, 5, - 5, 791, 5, 142, 6, 5, 5, 5, 5, 5, - 5, 5, 1002, 1003, 1070, 5, 5, 5, 5, 5, - 3, 6, 1012, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 102, 103, 104, 105, 6, 1027, 1028, 5, - 180, 175, 175, 180, 6, 1016, 498, 4, 177, 1039, - 1016, 1041, 6, 178, 7, 7, 7, 7, 7, 7, - 7, 1051, 182, 182, 181, 181, 7, 7, 1058, 1059, - 1060, 174, 7, 178, 180, 1065, 180, 5, 180, 1069, - 180, 180, 6, 4, 180, 1075, 1076, 180, 180, 180, - 180, 180, 180, 163, 164, 180, 180, 180, 180, 169, - 180, 1091, 180, 180, 174, 180, 180, 177, 1098, 179, - 181, 181, 180, 180, 180, 180, 180, 180, 180, 180, - 180, 175, 153, 154, 155, 1115, 157, 158, 159, 160, - 161, 162, 163, 164, 165, 166, 167, 180, 174, 174, - 6, 6, 173, 177, 6, 3, 7, 6, 1138, 176, - 1140, 153, 154, 155, 7, 157, 158, 159, 160, 161, - 162, 163, 164, 165, 166, 167, 7, 181, 153, 154, - 155, 173, 157, 158, 159, 160, 161, 162, 163, 164, - 165, 166, 167, 7, 7, 7, 1176, 7, 173, 7, - 7, 1181, 7, 7, 7, 7, 4, 987, 7, 989, - 6, 157, 158, 159, 160, 161, 162, 163, 164, 165, - 166, 167, 1202, 6, 1204, 6, 1206, 173, 1208, 1209, - 6, 4, 7, 3, 1214, 3, 165, 1017, 1199, 1019, - 3, 1021, 1222, 1199, 6, 3, 3, 3, 3, 3, - 1230, 3, 3, 3, 3, 1235, 3, 5, 1238, 5, - 3, 3, 1242, 1243, 4, 6, 174, 6, 181, 175, - 1250, 175, 7, 1253, 6, 1255, 1256, 1257, 720, 721, - 178, 723, 6, 725, 726, 3, 4, 6, 181, 6, - 6, 9, 10, 11, 12, 13, 14, 15, 16, 17, - 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, - 28, 29, 30, 31, 32, 6, 87, 181, 180, 180, - 1300, 175, 180, 180, 6, 175, 768, 769, 175, 6, - 772, 1311, 4, 175, 180, 180, 180, 1317, 175, 180, - 1320, 180, 180, 6, 180, 180, 788, 789, 180, 175, - 180, 180, 794, 795, 175, 180, 180, 180, 180, 801, - 180, 803, 1342, 178, 1344, 6, 6, 6, 177, 153, - 154, 155, 1398, 157, 158, 159, 160, 161, 162, 163, - 164, 165, 166, 167, 102, 103, 104, 105, 6, 173, - 6, 153, 154, 155, 6, 157, 158, 159, 160, 161, - 162, 163, 164, 165, 166, 167, 6, 6, 6, 6, - 6, 173, 6, 1439, 6, 1441, 858, 6, 860, 6, - 6, 6, 1202, 6, 1204, 6, 1206, 6, 87, 871, - 872, 873, 7, 3, 876, 877, 878, 879, 880, 881, - 882, 6, 3, 6, 1470, 163, 164, 6, 6, 3, - 165, 169, 181, 6, 1434, 6, 174, 3, 6, 177, - 3, 179, 155, 181, 157, 158, 159, 160, 161, 162, - 163, 164, 165, 166, 167, 6, 1256, 6, 3, 3, - 173, 3, 178, 6, 4, 6, 1466, 1467, 6, 6, - 177, 7, 6, 6, 182, 181, 181, 3, 4, 175, - 181, 181, 1482, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, - 26, 27, 28, 29, 30, 31, 32, 181, 84, 180, - 972, 180, 153, 154, 155, 41, 157, 158, 159, 160, - 161, 162, 163, 164, 165, 166, 167, 180, 175, 180, - 180, 175, 173, 175, 180, 61, 62, 63, 64, 65, - 66, 182, 175, 180, 175, 175, 180, 6, 74, 75, - 153, 154, 155, 175, 157, 158, 159, 160, 161, 162, - 163, 164, 165, 166, 167, 89, 87, 6, 3, 6, - 173, 3, 6, 1035, 3, 6, 102, 103, 104, 105, - 1042, 6, 153, 154, 155, 6, 157, 158, 159, 160, - 161, 162, 163, 164, 165, 166, 167, 6, 6, 1061, - 6, 6, 173, 5, 181, 6, 5, 182, 6, 181, - 175, 181, 153, 154, 155, 1077, 157, 158, 159, 160, - 161, 162, 163, 164, 165, 166, 167, 8, 180, 182, - 180, 6, 173, 180, 180, 6, 175, 163, 164, 6, - 6, 6, 6, 169, 175, 180, 6, 5, 174, 8, - 180, 180, 6, 179, 6, 181, 6, 3, 4, 6, - 180, 6, 6, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, - 26, 27, 28, 29, 30, 31, 32, 6, 3, 4, - 6, 181, 6, 5, 9, 10, 11, 12, 13, 14, - 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, - 25, 26, 27, 28, 29, 30, 31, 32, 181, 181, - 3, 4, 180, 175, 180, 182, 9, 10, 11, 12, - 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, - 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, - 180, 1213, 175, 180, 8, 1217, 102, 103, 104, 105, - 180, 6, 181, 180, 6, 6, 6, 84, 6, 6, - 1232, 5, 153, 154, 155, 6, 157, 158, 159, 160, - 161, 162, 163, 164, 165, 166, 167, 102, 103, 104, - 105, 5, 173, 181, 153, 154, 155, 181, 157, 158, - 159, 160, 161, 162, 163, 164, 165, 166, 167, 181, - 6, 180, 182, 181, 173, 6, 6, 163, 164, 102, - 103, 104, 105, 169, 180, 182, 175, 175, 174, 6, - 181, 177, 84, 179, 6, 181, 6, 6, 6, 182, - 181, 180, 180, 6, 6, 6, 6, 6, 163, 164, - 180, 1313, 180, 6, 169, 180, 6, 175, 6, 174, - 180, 6, 1324, 1325, 179, 175, 181, 180, 1300, 180, - 4, 4, 977, 638, -1, -1, -1, -1, -1, -1, - 163, 164, -1, -1, -1, -1, 169, -1, -1, -1, - -1, 174, 8, -1, -1, -1, 179, -1, 181, 153, - 154, 155, -1, 157, 158, 159, 160, 161, 162, 163, - 164, 165, 166, 167, -1, -1, -1, -1, -1, 173, - -1, -1, 1384, -1, 3, 4, 5, 1389, 7, -1, - 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, - 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, - 29, 30, 31, 32, -1, 34, 35, 36, 37, -1, - -1, 40, -1, -1, -1, 1427, -1, -1, -1, -1, - -1, -1, -1, -1, 1436, -1, -1, 3, 4, 5, - -1, -1, -1, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, - 26, 27, 28, 29, 30, 31, 32, 1469, 34, 35, - 36, 37, -1, -1, 40, -1, -1, -1, -1, -1, - -1, -1, 1484, 102, 103, 104, 105, -1, -1, 1491, - -1, -1, -1, -1, 1496, -1, 1498, 153, 154, 155, - -1, 157, 158, 159, 160, 161, 162, 163, 164, 165, - 166, 167, -1, -1, 153, 154, 155, 173, 157, 158, - 159, 160, 161, 162, 163, 164, 165, 166, 167, -1, - 149, 150, 151, 152, 173, -1, 102, 103, 104, 105, - -1, 180, -1, 182, 163, 164, -1, -1, -1, -1, - 169, -1, 171, 172, -1, 174, -1, 176, -1, 178, - 179, 3, 4, -1, -1, -1, -1, 9, 10, 11, - 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, - 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, -1, -1, -1, -1, -1, -1, 163, 164, 41, - -1, -1, -1, 169, -1, -1, -1, -1, 174, -1, - -1, -1, -1, 179, -1, -1, -1, -1, -1, 61, - 62, 63, 64, 65, 66, -1, -1, -1, -1, 3, - 4, -1, 74, 75, -1, 9, 10, 11, 12, 13, - 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, -1, - 102, 103, 104, 105, 3, 4, -1, -1, -1, -1, - 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, - 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, - 29, 30, 31, 32, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 41, 42, 43, 44, 45, 46, 47, - 48, -1, 50, -1, 52, 53, -1, 55, 56, -1, - -1, 163, 164, -1, -1, -1, -1, 169, 102, 103, - 104, 105, 174, -1, 72, -1, -1, 179, -1, -1, - -1, -1, -1, 81, 82, 83, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 99, -1, 102, 103, 104, 105, -1, 41, 42, - 43, 44, 45, 46, 47, 48, -1, 50, -1, 52, - 53, -1, 55, 56, -1, -1, -1, -1, -1, 163, - 164, -1, -1, -1, -1, 169, -1, -1, -1, 72, - 174, -1, -1, -1, -1, 179, -1, -1, 81, 82, - 83, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 163, 164, 99, -1, -1, -1, - 169, -1, -1, -1, -1, 174, -1, -1, -1, -1, - 179, -1, -1, -1, 182, 41, 42, 43, 44, 45, - 46, 47, 48, -1, 50, -1, 52, 53, -1, 55, - 56, -1, -1, -1, -1, -1, 41, 42, 43, 44, - 45, 46, 47, 48, -1, 50, 72, 52, 53, -1, - 55, 56, -1, -1, -1, 81, 82, 83, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 72, -1, -1, - -1, -1, -1, 99, -1, -1, 81, 82, 83, 182, - -1, 41, 42, 43, 44, 45, 46, 47, 48, -1, - 50, -1, 52, 53, 99, 55, 56, -1, -1, 0, - 1, -1, 3, 4, -1, -1, -1, -1, -1, -1, - -1, -1, 72, -1, -1, -1, -1, -1, -1, -1, - -1, 81, 82, 83, -1, -1, -1, -1, -1, -1, - -1, -1, 33, -1, -1, -1, -1, 38, 39, 99, - 41, 42, 43, 44, 45, 46, 47, 48, -1, 50, - 51, 52, 53, 54, 55, 56, 182, -1, -1, 60, - 61, 62, 63, 64, 65, 66, -1, 68, 69, 70, - 71, 72, 44, 74, 75, -1, -1, 182, -1, 80, - 81, 82, 83, -1, -1, -1, -1, 88, -1, 90, - -1, 92, 93, 94, 95, 96, 97, 98, 99, 100, - 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 182, 124, 125, 126, 127, 128, 129, 130, - 131, -1, -1, -1, 106, 107, 108, -1, -1, -1, - -1, -1, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 4, -1, -1, -1, -1, -1, -1, -1, - 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, - -1, 143, 144, 145, 146, 147, 148, -1, -1, -1, - -1, 33, -1, -1, -1, -1, 38, 39, -1, 41, - 42, 43, 44, 45, 46, 47, 48, -1, 50, 51, - 52, 53, 54, 55, 56, -1, -1, -1, 60, 61, - 62, 63, 64, 65, 66, -1, 68, 69, 70, 71, - 72, -1, 74, 75, -1, -1, -1, -1, 80, 81, - 82, 83, -1, -1, -1, -1, 88, -1, 90, -1, - 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, - 41, 42, 43, 44, 45, 46, 47, 48, -1, 50, - -1, 52, 53, -1, 55, 56, 153, 154, 155, -1, - 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, - 167, 72, -1, -1, -1, -1, 173, -1, -1, -1, - 81, 82, 83, 180, -1, 182, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 153, 154, 155, 99, 157, - 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, - -1, -1, -1, -1, -1, 173, -1, -1, -1, -1, - -1, -1, 180, -1, 182, 153, 154, 155, -1, 157, - 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, - -1, -1, -1, -1, -1, 173, -1, -1, -1, -1, - -1, 153, 154, 155, 182, 157, 158, 159, 160, 161, - 162, 163, 164, 165, 166, 167, -1, -1, -1, -1, - -1, 173, -1, -1, -1, -1, -1, 153, 154, 155, - 182, 157, 158, 159, 160, 161, 162, 163, 164, 165, - 166, 167, -1, -1, -1, -1, -1, 173, -1, -1, - -1, -1, -1, 153, 154, 155, 182, 157, 158, 159, - 160, 161, 162, 163, 164, 165, 166, 167, -1, -1, - -1, -1, -1, 173, -1, -1, -1, -1, -1, 153, - 154, 155, 182, 157, 158, 159, 160, 161, 162, 163, - 164, 165, 166, 167, -1, -1, -1, -1, -1, 173, - -1, -1, -1, -1, -1, 153, 154, 155, 182, 157, - 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, - -1, -1, -1, -1, -1, 173, -1, -1, -1, -1, - -1, 153, 154, 155, 182, 157, 158, 159, 160, 161, - 162, 163, 164, 165, 166, 167, -1, -1, -1, -1, - -1, 173, -1, -1, -1, -1, -1, 153, 154, 155, - 182, 157, 158, 159, 160, 161, 162, 163, 164, 165, - 166, 167, -1, -1, -1, -1, -1, 173, -1, -1, - -1, -1, -1, 153, 154, 155, 182, 157, 158, 159, - 160, 161, 162, 163, 164, 165, 166, 167, -1, -1, - -1, -1, -1, 173, -1, -1, -1, -1, -1, 153, - 154, 155, 182, 157, 158, 159, 160, 161, 162, 163, - 164, 165, 166, 167, -1, -1, -1, -1, -1, 173, - -1, -1, -1, -1, -1, 153, 154, 155, 182, 157, - 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, - -1, -1, -1, -1, -1, 173, -1, -1, -1, -1, - -1, 153, 154, 155, 182, 157, 158, 159, 160, 161, - 162, 163, 164, 165, 166, 167, -1, -1, -1, -1, - -1, 173, -1, -1, -1, -1, -1, 153, 154, 155, - 182, 157, 158, 159, 160, 161, 162, 163, 164, 165, - 166, 167, -1, -1, -1, -1, -1, 173, -1, -1, - -1, -1, -1, 153, 154, 155, 182, 157, 158, 159, - 160, 161, 162, 163, 164, 165, 166, 167, -1, -1, - -1, -1, -1, 173, -1, -1, -1, -1, -1, 153, - 154, 155, 182, 157, 158, 159, 160, 161, 162, 163, - 164, 165, 166, 167, -1, -1, -1, -1, -1, 173, - -1, -1, -1, -1, -1, 153, 154, 155, 182, 157, - 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, - -1, -1, -1, -1, -1, 173, -1, -1, -1, -1, - -1, 153, 154, 155, 182, 157, 158, 159, 160, 161, - 162, 163, 164, 165, 166, 167, -1, -1, -1, -1, - -1, 173, -1, -1, -1, -1, -1, 153, 154, 155, - 182, 157, 158, 159, 160, 161, 162, 163, 164, 165, - 166, 167, -1, -1, -1, -1, -1, 173, -1, -1, - -1, -1, -1, 153, 154, 155, 182, 157, 158, 159, - 160, 161, 162, 163, 164, 165, 166, 167, -1, -1, - -1, -1, -1, 173, -1, -1, -1, -1, -1, 153, - 154, 155, 182, 157, 158, 159, 160, 161, 162, 163, - 164, 165, 166, 167, -1, -1, -1, -1, -1, 173, - -1, 175, -1, 153, 154, 155, 180, 157, 158, 159, - 160, 161, 162, 163, 164, 165, 166, 167, -1, -1, - -1, -1, -1, 173, -1, -1, -1, 153, 154, 155, - 180, 157, 158, 159, 160, 161, 162, 163, 164, 165, - 166, 167, -1, -1, -1, -1, -1, 173, -1, -1, - -1, 153, 154, 155, 180, 157, 158, 159, 160, 161, - 162, 163, 164, 165, 166, 167, -1, -1, -1, -1, - -1, 173, -1, -1, -1, 153, 154, 155, 180, 157, - 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, - -1, -1, -1, -1, -1, 173, -1, -1, -1, 153, - 154, 155, 180, 157, 158, 159, 160, 161, 162, 163, - 164, 165, 166, 167, -1, -1, -1, -1, -1, 173, - -1, -1, -1, 153, 154, 155, 180, 157, 158, 159, - 160, 161, 162, 163, 164, 165, 166, 167, -1, -1, - -1, -1, -1, 173, -1, -1, -1, 153, 154, 155, - 180, 157, 158, 159, 160, 161, 162, 163, 164, 165, - 166, 167, -1, -1, -1, -1, -1, 173, -1, -1, - -1, 153, 154, 155, 180, 157, 158, 159, 160, 161, - 162, 163, 164, 165, 166, 167, -1, -1, -1, -1, - -1, 173, -1, -1, -1, 153, 154, 155, 180, 157, - 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, - -1, -1, -1, -1, -1, 173, -1, -1, -1, 153, - 154, 155, 180, 157, 158, 159, 160, 161, 162, 163, - 164, 165, 166, 167, -1, -1, -1, -1, -1, 173, - -1, -1, -1, 153, 154, 155, 180, 157, 158, 159, - 160, 161, 162, 163, 164, 165, 166, 167, -1, -1, - -1, -1, -1, 173, -1, -1, -1, 153, 154, 155, - 180, 157, 158, 159, 160, 161, 162, 163, 164, 165, - 166, 167, -1, -1, -1, -1, -1, 173, -1, -1, - -1, 153, 154, 155, 180, 157, 158, 159, 160, 161, - 162, 163, 164, 165, 166, 167, -1, -1, -1, -1, - -1, 173, -1, -1, -1, 153, 154, 155, 180, 157, - 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, - -1, -1, -1, -1, -1, 173, -1, -1, -1, 153, - 154, 155, 180, 157, 158, 159, 160, 161, 162, 163, - 164, 165, 166, 167, -1, -1, -1, -1, -1, 173, - -1, -1, -1, 153, 154, 155, 180, 157, 158, 159, - 160, 161, 162, 163, 164, 165, 166, 167, -1, -1, - -1, -1, -1, 173, -1, -1, -1, 153, 154, 155, - 180, 157, 158, 159, 160, 161, 162, 163, 164, 165, - 166, 167, -1, -1, -1, -1, -1, 173, -1, -1, - -1, 153, 154, 155, 180, 157, 158, 159, 160, 161, - 162, 163, 164, 165, 166, 167, -1, -1, -1, -1, - -1, 173, -1, -1, -1, 153, 154, 155, 180, 157, - 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, - -1, -1, -1, -1, -1, 173, -1, -1, -1, 153, - 154, 155, 180, 157, 158, 159, 160, 161, 162, 163, - 164, 165, 166, 167, -1, -1, -1, -1, -1, 173, - -1, -1, -1, 153, 154, 155, 180, 157, 158, 159, - 160, 161, 162, 163, 164, 165, 166, 167, -1, -1, - -1, -1, -1, 173, -1, -1, -1, 153, 154, 155, - 180, 157, 158, 159, 160, 161, 162, 163, 164, 165, - 166, 167, -1, -1, -1, -1, -1, 173, -1, -1, - -1, 153, 154, 155, 180, 157, 158, 159, 160, 161, - 162, 163, 164, 165, 166, 167, -1, -1, -1, -1, - -1, 173, -1, -1, -1, 153, 154, 155, 180, 157, - 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, - -1, -1, -1, -1, -1, 173, -1, -1, -1, 153, - 154, 155, 180, 157, 158, 159, 160, 161, 162, 163, - 164, 165, 166, 167, -1, -1, -1, -1, -1, 173, - -1, -1, -1, 153, 154, 155, 180, 157, 158, 159, - 160, 161, 162, 163, 164, 165, 166, 167, -1, -1, - -1, -1, -1, 173, -1, -1, -1, 153, 154, 155, - 180, 157, 158, 159, 160, 161, 162, 163, 164, 165, - 166, 167, -1, -1, -1, -1, -1, 173, -1, -1, - -1, 153, 154, 155, 180, 157, 158, 159, 160, 161, - 162, 163, 164, 165, 166, 167, -1, -1, -1, -1, - -1, 173, -1, -1, -1, 153, 154, 155, 180, 157, - 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, - -1, -1, -1, -1, -1, 173, -1, -1, -1, 153, - 154, 155, 180, 157, 158, 159, 160, 161, 162, 163, - 164, 165, 166, 167, -1, -1, -1, -1, -1, 173, - -1, -1, -1, 153, 154, 155, 180, 157, 158, 159, - 160, 161, 162, 163, 164, 165, 166, 167, -1, -1, - -1, -1, -1, 173, -1, -1, -1, 153, 154, 155, - 180, 157, 158, 159, 160, 161, 162, 163, 164, 165, - 166, 167, -1, -1, -1, -1, -1, 173, -1, -1, - -1, 153, 154, 155, 180, 157, 158, 159, 160, 161, - 162, 163, 164, 165, 166, 167, -1, -1, -1, -1, - -1, 173, -1, -1, -1, 153, 154, 155, 180, 157, - 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, - -1, -1, -1, -1, -1, 173, -1, -1, -1, 153, - 154, 155, 180, 157, 158, 159, 160, 161, 162, 163, - 164, 165, 166, 167, -1, -1, -1, -1, -1, 173, - -1, -1, -1, 153, 154, 155, 180, 157, 158, 159, - 160, 161, 162, 163, 164, 165, 166, 167, -1, -1, - -1, -1, -1, 173, -1, -1, -1, 153, 154, 155, - 180, 157, 158, 159, 160, 161, 162, 163, 164, 165, - 166, 167, -1, -1, -1, -1, -1, 173, -1, -1, - -1, 153, 154, 155, 180, 157, 158, 159, 160, 161, - 162, 163, 164, 165, 166, 167, -1, -1, -1, -1, - -1, 173, -1, -1, -1, 153, 154, 155, 180, 157, - 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, - -1, -1, -1, -1, -1, 173, -1, -1, -1, 153, - 154, 155, 180, 157, 158, 159, 160, 161, 162, 163, - 164, 165, 166, 167, -1, -1, -1, -1, -1, 173, - -1, -1, -1, 153, 154, 155, 180, 157, 158, 159, - 160, 161, 162, 163, 164, 165, 166, 167, -1, -1, - -1, -1, -1, 173, -1, -1, -1, 153, 154, 155, - 180, 157, 158, 159, 160, 161, 162, 163, 164, 165, - 166, 167, -1, -1, -1, -1, -1, 173, -1, -1, - -1, 153, 154, 155, 180, 157, 158, 159, 160, 161, - 162, 163, 164, 165, 166, 167, -1, -1, -1, -1, - -1, 173, -1, -1, -1, 153, 154, 155, 180, 157, - 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, - -1, -1, -1, -1, -1, 173, 153, 154, 155, 177, - 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, - 167, -1, -1, -1, -1, -1, 173, 153, 154, 155, - 177, 157, 158, 159, 160, 161, 162, 163, 164, 165, - 166, 167, -1, -1, -1, -1, -1, 173, 153, 154, - 155, 177, 157, 158, 159, 160, 161, 162, 163, 164, - 165, 166, 167, -1, -1, -1, -1, -1, 173, 153, - 154, 155, 177, 157, 158, 159, 160, 161, 162, 163, - 164, 165, 166, 167, -1, -1, -1, -1, -1, 173, - 153, 154, 155, 177, 157, 158, 159, 160, 161, 162, - 163, 164, 165, 166, 167, -1, -1, -1, -1, -1, - 173, 153, 154, 155, 177, 157, 158, 159, 160, 161, - 162, 163, 164, 165, 166, 167, -1, -1, -1, -1, - -1, 173, 153, 154, 155, 177, 157, 158, 159, 160, - 161, 162, 163, 164, 165, 166, 167, -1, -1, -1, - -1, -1, 173, 153, 154, 155, 177, 157, 158, 159, - 160, 161, 162, 163, 164, 165, 166, 167, -1, -1, - -1, -1, -1, 173, 153, 154, 155, 177, 157, 158, - 159, 160, 161, 162, 163, 164, 165, 166, 167, -1, - -1, -1, -1, -1, 173, 153, 154, 155, 177, 157, - 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, - -1, -1, -1, -1, -1, 173, 153, 154, 155, 177, - 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, - 167, -1, -1, -1, -1, -1, 173, 153, 154, 155, - 177, 157, 158, 159, 160, 161, 162, 163, 164, 165, - 166, 167, -1, -1, -1, -1, -1, 173, 153, 154, - 155, 177, 157, 158, 159, 160, 161, 162, 163, 164, - 165, 166, 167, -1, -1, -1, -1, -1, 173, 153, - 154, 155, 177, 157, 158, 159, 160, 161, 162, 163, - 164, 165, 166, 167, -1, -1, -1, -1, -1, 173, - 153, 154, 155, 177, 157, 158, 159, 160, 161, 162, - 163, 164, 165, 166, 167, -1, -1, -1, -1, -1, - 173, 153, 154, 155, 177, 157, 158, 159, 160, 161, - 162, 163, 164, 165, 166, 167, -1, -1, -1, -1, - -1, 173, 153, 154, 155, 177, 157, 158, 159, 160, - 161, 162, 163, 164, 165, 166, 167, -1, -1, -1, - -1, -1, 173, 153, 154, 155, 177, 157, 158, 159, - 160, 161, 162, 163, 164, 165, 166, 167, -1, -1, - -1, -1, -1, 173, 153, 154, 155, 177, 157, 158, - 159, 160, 161, 162, 163, 164, 165, 166, 167, -1, - -1, -1, -1, -1, 173, 153, 154, 155, 177, 157, - 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, - -1, -1, -1, -1, -1, 173, 153, 154, 155, 177, - 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, - 167, -1, -1, -1, -1, -1, 173, 153, 154, 155, - 177, 157, 158, 159, 160, 161, 162, 163, 164, 165, - 166, 167, -1, -1, -1, -1, -1, 173, 153, 154, - 155, 177, 157, 158, 159, 160, 161, 162, 163, 164, - 165, 166, 167, -1, -1, -1, -1, -1, 173, 153, - 154, 155, 177, 157, 158, 159, 160, 161, 162, 163, - 164, 165, 166, 167, -1, -1, -1, -1, -1, 173, - 153, 154, 155, 177, 157, 158, 159, 160, 161, 162, - 163, 164, 165, 166, 167, -1, -1, -1, -1, -1, - 173, 153, 154, 155, 177, 157, 158, 159, 160, 161, - 162, 163, 164, 165, 166, 167, -1, -1, -1, -1, - -1, 173, 153, 154, 155, 177, 157, 158, 159, 160, - 161, 162, 163, 164, 165, 166, 167, -1, -1, -1, - -1, -1, 173, 153, 154, 155, 177, 157, 158, 159, - 160, 161, 162, 163, 164, 165, 166, 167, -1, -1, - -1, -1, -1, 173, 153, 154, 155, 177, 157, 158, - 159, 160, 161, 162, 163, 164, 165, 166, 167, -1, - -1, -1, -1, -1, 173, 153, 154, 155, 177, 157, - 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, - -1, -1, -1, -1, -1, 173, -1, 175, 153, 154, - 155, -1, 157, 158, 159, 160, 161, 162, 163, 164, - 165, 166, 167, -1, -1, -1, -1, -1, 173, -1, - 175, 153, 154, 155, -1, 157, 158, 159, 160, 161, - 162, 163, 164, 165, 166, 167, -1, -1, -1, -1, - -1, 173, -1, 175, 153, 154, 155, -1, 157, 158, - 159, 160, 161, 162, 163, 164, 165, 166, 167, -1, - -1, -1, -1, -1, 173, -1, 175, 153, 154, 155, - -1, 157, 158, 159, 160, 161, 162, 163, 164, 165, - 166, 167, -1, -1, -1, -1, -1, 173, -1, 175, - 153, 154, 155, -1, 157, 158, 159, 160, 161, 162, - 163, 164, 165, 166, 167, -1, -1, -1, -1, -1, - 173, -1, 175, 153, 154, 155, -1, 157, 158, 159, - 160, 161, 162, 163, 164, 165, 166, 167, -1, -1, - -1, -1, -1, 173, -1, 175, 153, 154, 155, -1, - 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, - 167, -1, -1, -1, -1, -1, 173, -1, 175, 153, - 154, 155, -1, 157, 158, 159, 160, 161, 162, 163, - 164, 165, 166, 167, -1, -1, -1, -1, -1, 173, - -1, 175, 153, 154, 155, -1, 157, 158, 159, 160, - 161, 162, 163, 164, 165, 166, 167, -1, -1, -1, - -1, -1, 173, -1, 175, 153, 154, 155, -1, 157, - 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, - -1, -1, -1, -1, -1, 173, -1, 175, 153, 154, - 155, -1, 157, 158, 159, 160, 161, 162, 163, 164, - 165, 166, 167, -1, -1, -1, -1, -1, 173, -1, - 175, 153, 154, 155, -1, 157, 158, 159, 160, 161, - 162, 163, 164, 165, 166, 167, -1, -1, -1, -1, - -1, 173, -1, 175, 153, 154, 155, -1, 157, 158, - 159, 160, 161, 162, 163, 164, 165, 166, 167, -1, - -1, -1, -1, -1, 173, -1, 175, 153, 154, 155, - -1, 157, 158, 159, 160, 161, 162, 163, 164, 165, - 166, 167, -1, -1, -1, -1, -1, 173, -1, 175, - 153, 154, 155, -1, 157, 158, 159, 160, 161, 162, - 163, 164, 165, 166, 167, -1, -1, -1, -1, -1, - 173, -1, 175, 153, 154, 155, -1, 157, 158, 159, - 160, 161, 162, 163, 164, 165, 166, 167, -1, -1, - -1, -1, -1, 173, -1, 175, 153, 154, 155, -1, - 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, - 167, -1, -1, -1, -1, -1, 173, -1, 175, 153, - 154, 155, -1, 157, 158, 159, 160, 161, 162, 163, - 164, 165, 166, 167, -1, -1, -1, -1, -1, 173, - -1, 175, 153, 154, 155, -1, 157, 158, 159, 160, - 161, 162, 163, 164, 165, 166, 167, -1, -1, -1, - -1, -1, 173, -1, 175, 153, 154, 155, -1, 157, - 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, - -1, -1, -1, -1, -1, 173, -1, 175, 153, 154, - 155, -1, 157, 158, 159, 160, 161, 162, 163, 164, - 165, 166, 167, -1, -1, -1, -1, -1, 173, -1, - 175, 153, 154, 155, -1, 157, 158, 159, 160, 161, - 162, 163, 164, 165, 166, 167, -1, -1, -1, -1, - -1, 173, -1, 175, 153, 154, 155, -1, 157, 158, - 159, 160, 161, 162, 163, 164, 165, 166, 167, -1, - -1, -1, -1, -1, 173, -1, 175, 153, 154, 155, - -1, 157, 158, 159, 160, 161, 162, 163, 164, 165, - 166, 167, -1, -1, -1, -1, -1, 173, -1, 175, - 153, 154, 155, -1, 157, 158, 159, 160, 161, 162, - 163, 164, 165, 166, 167, -1, -1, -1, -1, -1, - 173, -1, 175, 153, 154, 155, -1, 157, 158, 159, - 160, 161, 162, 163, 164, 165, 166, 167, -1, -1, - -1, -1, -1, 173, -1, 175, 153, 154, 155, -1, - 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, - 167, -1, -1, -1, -1, -1, 173, -1, 175, 153, - 154, 155, -1, 157, 158, 159, 160, 161, 162, 163, - 164, 165, 166, 167, -1, -1, -1, -1, -1, 173, - -1, 175, 153, 154, 155, -1, 157, 158, 159, 160, - 161, 162, 163, 164, 165, 166, 167, -1, -1, -1, - -1, -1, 173, -1, 175, 153, 154, 155, -1, 157, - 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, - -1, -1, -1, -1, -1, 173, -1, 175, 153, 154, - 155, -1, 157, 158, 159, 160, 161, 162, 163, 164, - 165, 166, 167, -1, -1, -1, -1, -1, 173, -1, - 175, 153, 154, 155, -1, 157, 158, 159, 160, 161, - 162, 163, 164, 165, 166, 167, -1, -1, -1, -1, - -1, 173, -1, 175, 153, 154, 155, -1, 157, 158, - 159, 160, 161, 162, 163, 164, 165, 166, 167, -1, - -1, -1, -1, -1, 173, -1, 175, 153, 154, 155, - -1, 157, 158, 159, 160, 161, 162, 163, 164, 165, - 166, 167, -1, -1, -1, -1, -1, 173, -1, 175, - 153, 154, 155, -1, 157, 158, 159, 160, 161, 162, - 163, 164, 165, 166, 167, -1, -1, -1, -1, -1, - 173, -1, 175, 153, 154, 155, -1, 157, 158, 159, - 160, 161, 162, 163, 164, 165, 166, 167, -1, -1, - -1, -1, -1, 173, -1, 175, 153, 154, 155, -1, - 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, - 167, -1, -1, -1, -1, -1, 173, -1, 175, 153, - 154, 155, -1, 157, 158, 159, 160, 161, 162, 163, - 164, 165, 166, 167, -1, -1, -1, -1, -1, 173, - -1, 175, 153, 154, 155, -1, 157, 158, 159, 160, - 161, 162, 163, 164, 165, 166, 167, -1, -1, -1, - -1, -1, 173, -1, 175, 153, 154, 155, -1, 157, - 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, - -1, -1, -1, -1, -1, 173, -1, 175, 153, 154, - 155, -1, 157, 158, 159, 160, 161, 162, 163, 164, - 165, 166, 167, -1, -1, -1, -1, -1, 173, -1, - 175, 153, 154, 155, -1, 157, 158, 159, 160, 161, - 162, 163, 164, 165, 166, 167, -1, -1, -1, -1, - -1, 173, -1, 175, 153, 154, 155, -1, 157, 158, - 159, 160, 161, 162, 163, 164, 165, 166, 167, -1, - -1, -1, -1, -1, 173, -1, 175, 153, 154, 155, - -1, 157, 158, 159, 160, 161, 162, 163, 164, 165, - 166, 167, -1, -1, -1, -1, -1, 173, -1, 175, - 153, 154, 155, -1, 157, 158, 159, 160, 161, 162, - 163, 164, 165, 166, 167, -1, -1, -1, -1, -1, - 173, -1, 175, 153, 154, 155, -1, 157, 158, 159, - 160, 161, 162, 163, 164, 165, 166, 167, -1, -1, - -1, -1, -1, 173, -1, 175, 153, 154, 155, -1, - 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, - 167, -1, -1, -1, -1, -1, 173, -1, 175, 153, - 154, 155, -1, 157, 158, 159, 160, 161, 162, 163, - 164, 165, 166, 167, -1, -1, -1, -1, -1, 173, - -1, 175, 153, 154, 155, -1, 157, 158, 159, 160, - 161, 162, 163, 164, 165, 166, 167, -1, -1, -1, - -1, -1, 173, -1, 175, 153, 154, 155, -1, 157, - 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, - -1, -1, -1, -1, -1, 173, -1, 175, 153, 154, - 155, -1, 157, 158, 159, 160, 161, 162, 163, 164, - 165, 166, 167, -1, -1, -1, -1, -1, 173, -1, - 175, 153, 154, 155, -1, 157, 158, 159, 160, 161, - 162, 163, 164, 165, 166, 167, -1, -1, -1, -1, - -1, 173, -1, 175, 153, 154, 155, -1, 157, 158, - 159, 160, 161, 162, 163, 164, 165, 166, 167, -1, - -1, -1, -1, -1, 173, -1, 175, 153, 154, 155, - -1, 157, 158, 159, 160, 161, 162, 163, 164, 165, - 166, 167, -1, -1, -1, -1, -1, 173, -1, 175, - 153, 154, 155, -1, 157, 158, 159, 160, 161, 162, - 163, 164, 165, 166, 167, -1, -1, -1, -1, -1, - 173, -1, 175 + +#define YYLAST 6341 + + +static const short yytable[] = { 143, + 212, 214, 564, 72, 247, 503, 379, 210, 73, 384, + 637, 847, 539, 184, 187, 637, 198, 200, 1313, 252, + 147, 142, 1313, 210, 709, 1313, 381, 5, 382, 153, + 94, 392, 403, 203, 405, 153, 119, 120, 121, 122, + 1208, 4, 123, 210, 82, 1258, 1258, 155, 984, 986, + 1259, 1259, 119, 120, 121, 122, 983, 150, 123, 1132, + 1133, 499, 370, 371, 756, 1189, 524, 1190, 370, 371, + 83, 525, 119, 120, 121, 122, 370, 371, 123, 309, + 372, 88, 638, 639, 640, 641, 373, 638, 639, 640, + 641, 370, 371, 555, 985, 987, 84, 629, 1258, 499, + 157, 1258, 630, 1259, 370, 371, 1259, 759, 1015, 85, + 1016, 370, 371, 302, 303, 304, 173, 174, 305, 308, + 393, 1017, 313, 1018, 370, 371, 1277, 175, 1019, 333, + 1020, 334, 335, 336, 176, 338, 154, 340, 341, 86, + 352, 565, 154, 757, 838, 199, 977, 87, 6, 7, + 8, 9, 10, 11, 12, 13, 368, 369, 1313, 1312, + 1316, 758, 1313, 310, 311, 1313, 89, 163, 164, 1264, + 165, 1267, 128, 129, 130, 131, 1258, 390, 391, 1258, + 394, 1259, 396, 211, 1259, 399, 400, 700, 642, 701, + 185, 188, 715, 950, 201, 148, 253, 703, 383, 213, + 1313, 710, 90, 204, 1313, 729, 1313, 1242, 135, 136, + 1150, 149, 1319, 370, 371, 1423, 810, 155, 592, 1159, + 177, 179, 370, 371, 370, 371, 1166, 146, 839, 840, + 442, 489, 490, 491, 492, 446, 447, 448, 449, 450, + 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, + 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, + 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, + 481, 482, 483, 484, 485, 486, 487, 94, 1258, 499, + 1088, 1258, 191, 1259, 1258, 192, 1259, 1030, 498, 1259, + 1427, 150, 499, 1429, 1031, 370, 371, 509, 510, 511, + 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, + 522, 523, 504, 636, 1138, 370, 371, 151, 530, 692, + 532, 370, 371, 152, 693, 303, 498, 156, 370, 371, + 370, 371, 882, 1041, 543, 544, 545, 157, 547, 548, + 549, 550, 551, 552, 553, 1200, 1400, 1202, 254, 1404, + 255, 1407, 256, 365, 257, 367, 566, 567, 568, 569, + 830, 374, 370, 371, 579, 258, 158, 259, 583, 584, + 488, 210, 560, 560, 588, 576, 577, 563, 563, 1204, + 210, 502, 1278, 596, 851, 159, 1282, 370, 371, 700, + 1442, 160, 1460, 861, 1446, 1462, 1448, 971, 1463, 166, + 119, 120, 121, 122, 1309, 260, 123, 261, 161, 119, + 120, 121, 122, 370, 371, 123, 162, 370, 371, 128, + 129, 130, 131, 890, 891, 892, 893, 370, 371, 171, + 1315, 872, 167, 444, 1318, 168, 169, 705, 170, 1050, + 135, 136, 172, 135, 136, 1258, 635, 499, 702, 249, + 1259, 250, 135, 136, 836, 908, 327, 328, 329, 316, + 317, 318, 319, 320, 330, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 180, 698, 967, 186, 303, 330, + 499, 700, 873, 262, 706, 263, 1246, 189, 1139, 1173, + 1363, 1364, 1365, 1366, 1174, 135, 136, 1370, 325, 326, + 327, 328, 329, 810, 704, 193, 498, 716, 330, 1209, + 499, 499, 499, 499, 1075, 190, 698, 727, 264, 498, + 265, 731, 732, 128, 129, 130, 131, 737, 266, 194, + 267, 994, 181, 970, 972, 182, 183, 747, 748, 128, + 129, 130, 131, 195, 135, 136, 751, 268, 690, 269, + 691, 558, 559, 1412, 1413, 1000, 1001, 1416, 760, 196, + 135, 136, 197, 38, 39, 40, 41, 205, 43, 812, + 206, 270, 772, 271, 774, 775, 49, 50, 316, 317, + 318, 319, 320, 207, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 272, 274, 273, 275, 1451, 330, 208, + 316, 317, 318, 319, 320, 209, 321, 322, 323, 324, + 325, 326, 327, 328, 329, 315, 245, 276, 499, 277, + 330, 700, 909, 730, 248, 135, 136, 1009, 1010, 831, + 1476, 494, 296, 250, 135, 136, 297, 811, 135, 136, + 535, 298, 250, 1115, 728, 299, 250, 1487, 278, 300, + 279, 820, 821, 508, 934, 935, 936, 937, 938, 280, + 312, 281, 1499, 314, 331, 822, 823, 824, 825, 826, + 827, 828, 332, 282, 498, 283, 353, 350, 832, 337, + 339, 835, 356, 364, 841, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 850, 284, 286, 285, 287, 330, + 378, 288, 290, 289, 291, 380, 292, 498, 293, 698, + 385, 386, 294, 700, 295, 865, 979, 354, 980, 844, + 700, 700, 993, 1021, 947, 357, 700, 700, 1022, 1023, + 700, 1075, 1024, 1076, 358, 355, 746, 498, 498, 498, + 498, 359, 360, 896, 897, 700, 1179, 1095, 1180, 902, + 1075, 1075, 1210, 1301, 1179, 1425, 1375, 1426, 361, 912, + 913, 362, 316, 317, 318, 319, 320, 363, 321, 322, + 323, 324, 325, 326, 327, 328, 329, 1437, 1468, 1438, + 1469, 375, 330, 376, 377, 389, 387, 388, 397, 398, + 395, 401, 402, 404, 406, 437, 952, 953, 407, 408, + 316, 317, 318, 319, 320, 409, 321, 322, 323, 324, + 325, 326, 327, 328, 329, 410, 411, 412, 867, 413, + 330, 440, 414, 415, 416, 417, 1250, 978, 418, 419, + 443, 496, 439, 982, 420, 421, 811, 422, 423, 424, + 425, 973, 426, 427, 428, 498, 429, 995, 430, 996, + 431, 432, 433, 441, 434, 435, 436, 493, 330, 554, + 506, 505, 507, 1011, 1012, 1013, 316, 317, 318, 319, + 320, 536, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 541, 546, 578, 587, 581, 330, 1034, 1035, 1036, + 582, 590, 593, 599, 600, 601, 602, 603, 853, 604, + 605, 606, 91, 301, 622, 607, 1081, 608, 95, 96, + 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, + 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, + 117, 118, 1072, 886, 887, 888, 609, 1078, 610, 611, + 612, 694, 894, 613, 614, 1110, 615, 616, 617, 618, + 619, 1069, 620, 1082, 621, 623, 624, 625, 626, 627, + 628, 914, 631, 697, 632, 316, 317, 318, 319, 320, + 923, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 976, 1100, 1101, 1172, 633, 330, 695, 707, 696, 708, + 714, 1109, 712, 717, 718, 719, 721, 723, 724, 733, + 745, 124, 125, 126, 127, 749, 1129, 1130, 766, 750, + 762, 763, 767, 768, 560, 699, 770, 777, 1141, 563, + 1143, 771, 778, 807, 779, 780, 781, 782, 783, 784, + 1153, 785, 808, 815, 786, 787, 788, 1160, 1161, 1162, + 789, 790, 791, 792, 1167, 793, 794, 795, 1171, 796, + 797, 798, 799, 800, 1175, 1176, 801, 819, 829, 802, + 803, 804, 132, 133, 805, 806, 809, 816, 134, 834, + 1188, 842, 843, 137, 837, 845, 306, 1192, 140, 817, + 307, 846, 849, 911, 856, 858, 869, 868, 870, 316, + 317, 318, 319, 320, 1198, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 871, 874, 875, 876, 877, 330, + 878, 879, 880, 881, 889, 905, 895, 1213, 898, 1214, + 899, 915, 903, 910, 916, 917, 918, 316, 317, 318, + 319, 320, 919, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 922, 924, 925, 928, 929, 330, 930, 931, + 932, 941, 951, 944, 942, 1239, 943, 945, 946, 948, + 1243, 956, 949, 1014, 975, 981, 1090, 989, 1091, 319, + 320, 966, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 1256, 968, 1262, 974, 1265, 330, 1268, 1269, 991, + 992, 1027, 1028, 1272, 1033, 1037, 1116, 560, 1119, 1038, + 1122, 1280, 563, 1184, 1042, 1043, 1044, 1045, 1046, 1288, + 1047, 1048, 1052, 1049, 1293, 1053, 1051, 1296, 1054, 1055, + 1070, 1299, 1300, 1056, 1057, 1058, 1059, 1060, 1061, 1303, + 1062, 1066, 1306, 1063, 302, 303, 1307, 854, 855, 1064, + 857, 1065, 859, 860, 91, 301, 1083, 1067, 1079, 1068, + 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, + 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, + 115, 116, 117, 118, 1084, 1086, 1134, 1092, 1093, 1078, + 1097, 1098, 1099, 1193, 1102, 900, 901, 1103, 1104, 904, + 1347, 1105, 1106, 1107, 1094, 1108, 1352, 1117, 1120, 1356, + 1123, 1125, 1126, 1127, 1128, 920, 921, 1131, 1142, 1145, + 1146, 926, 927, 1178, 1147, 1149, 1151, 1152, 933, 1154, + 940, 1377, 1155, 1378, 1156, 1148, 1157, 1158, 1164, 1165, + 1168, 1419, 1169, 1212, 1170, 1181, 1182, 1247, 1183, 1191, + 1185, 1186, 1187, 124, 125, 126, 127, 1196, 1197, 1201, + 316, 317, 318, 319, 320, 1199, 321, 322, 323, 324, + 325, 326, 327, 328, 329, 1244, 1216, 1221, 1203, 1205, + 330, 1211, 1455, 1218, 1458, 988, 1219, 990, 1220, 1222, + 1224, 1257, 1194, 1263, 1225, 1266, 1226, 1230, 997, 998, + 999, 1231, 1232, 1002, 1003, 1004, 1005, 1006, 1007, 1008, + 1234, 1235, 1237, 1478, 132, 133, 1245, 1276, 1270, 1279, + 134, 1281, 1284, 1450, 1195, 137, 1283, 1285, 725, 1286, + 140, 1287, 726, 1289, 1291, 1292, 1294, 1295, 1298, 1297, + 316, 317, 318, 319, 320, 367, 321, 322, 323, 324, + 325, 326, 327, 328, 329, 1474, 1475, 1302, 1324, 1304, + 330, 1310, 1341, 1345, 1349, 1305, 91, 342, 1330, 1331, + 1311, 1484, 95, 96, 97, 98, 99, 100, 101, 102, + 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 118, 1325, 1322, 1350, 1080, + 1335, 318, 319, 320, 343, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 1353, 1323, 1354, 1357, 1358, 330, + 1359, 1362, 1367, 1368, 38, 39, 40, 41, 42, 43, + 1326, 1369, 1327, 1328, 1333, 1337, 1343, 49, 50, 316, + 317, 318, 319, 320, 1371, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 1372, 1373, 1374, 1379, 1380, 330, + 1382, 1387, 1135, 1383, 1385, 124, 125, 126, 127, 1144, + 1388, 316, 317, 318, 319, 320, 1389, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 1390, 1391, 1163, 1392, + 1393, 330, 1395, 1394, 1401, 1405, 1408, 1411, 1396, 1414, + 1415, 1417, 1399, 1421, 1177, 316, 317, 318, 319, 320, + 1422, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 1424, 1428, 1430, 1433, 1431, 330, 132, 344, 1432, 1434, + 1440, 1439, 134, 1466, 1435, 540, 1436, 137, 1441, 1444, + 1445, 1447, 140, 1449, 345, 1453, 91, 301, 1454, 1461, + 1456, 1459, 95, 96, 97, 98, 99, 100, 101, 102, + 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 118, 1464, 91, 537, 1467, + 1482, 1470, 1471, 95, 96, 97, 98, 99, 100, 101, + 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, + 112, 113, 114, 115, 116, 117, 118, 1472, 1473, 91, + 301, 1479, 1483, 1485, 1489, 95, 96, 97, 98, 99, + 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, + 110, 111, 112, 113, 114, 115, 116, 117, 118, 1490, + 1271, 1494, 1491, 594, 1275, 124, 125, 126, 127, 1493, + 1496, 1498, 1500, 1501, 316, 317, 318, 319, 320, 1290, + 321, 322, 323, 324, 325, 326, 327, 328, 329, 1503, + 1504, 813, 0, 1338, 330, 71, 124, 125, 126, 127, + 316, 317, 318, 319, 320, 79, 321, 322, 323, 324, + 325, 326, 327, 328, 329, 1085, 0, 0, 0, 0, + 330, 0, 0, 0, 0, 0, 132, 133, 124, 125, + 126, 127, 134, 0, 0, 0, 0, 137, 0, 0, + 863, 0, 140, 0, 864, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 132, 133, 0, + 1348, 0, 0, 134, 0, 0, 0, 0, 137, 0, + 0, 1360, 1361, 140, 0, 538, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1253, + 1254, 0, 0, 0, 0, 134, 0, 0, 0, 0, + 1255, 713, 0, 0, 0, 140, 0, 176, 316, 317, + 318, 319, 320, 0, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 0, 0, 0, 0, 0, 330, 0, + 0, 1403, 0, 91, 92, 93, 1410, 94, 0, 95, + 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, + 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, + 116, 117, 118, 0, 119, 120, 121, 122, 0, 0, + 123, 0, 0, 0, 1443, 0, 0, 0, 0, 0, + 0, 0, 0, 1452, 0, 0, 91, 301, 210, 0, + 0, 0, 95, 96, 97, 98, 99, 100, 101, 102, + 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 118, 1477, 119, 120, 121, + 122, 0, 0, 123, 0, 0, 0, 0, 0, 0, + 0, 1486, 124, 125, 126, 127, 0, 0, 1492, 0, + 0, 0, 0, 1495, 0, 1497, 316, 317, 318, 319, + 320, 0, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 0, 0, 0, 0, 0, 330, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, + 129, 130, 131, 0, 0, 124, 125, 126, 127, 0, + 0, 0, 0, 132, 133, 0, 0, 0, 866, 134, + 135, 136, 0, 0, 137, 0, 138, 0, 139, 140, + 91, 342, 0, 0, 0, 0, 95, 96, 97, 98, + 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + 0, 0, 907, 0, 0, 0, 132, 133, 343, 0, + 0, 0, 134, 0, 0, 0, 0, 137, 0, 0, + 0, 0, 140, 0, 0, 0, 0, 0, 38, 39, + 40, 41, 42, 43, 0, 0, 0, 0, 91, 301, + 0, 49, 50, 0, 95, 96, 97, 98, 99, 100, + 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, + 111, 112, 113, 114, 115, 116, 117, 118, 0, 124, + 125, 126, 127, 91, 537, 0, 0, 0, 0, 95, + 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, + 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, + 116, 117, 118, 316, 317, 318, 319, 320, 0, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 0, 0, + 0, 0, 0, 330, 0, 0, 0, 0, 0, 0, + 132, 497, 0, 0, 0, 0, 134, 124, 125, 126, + 127, 137, 0, 0, 0, 0, 140, 316, 317, 318, + 319, 320, 0, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 0, 0, 0, 0, 0, 330, 0, 0, + 0, 0, 124, 125, 126, 127, 0, 570, 23, 24, + 571, 572, 27, 573, 29, 0, 30, 0, 32, 33, + 0, 35, 36, 0, 0, 0, 0, 0, 132, 133, + 0, 0, 0, 0, 134, 0, 0, 0, 48, 137, + 0, 0, 0, 0, 140, 0, 0, 52, 53, 54, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 132, 133, 64, 0, 0, 0, 134, + 0, 0, 0, 0, 137, 0, 0, 0, 0, 140, + 570, 23, 24, 571, 572, 27, 573, 29, 0, 30, + 0, 32, 33, 0, 35, 36, 0, 0, 0, 0, + 0, 570, 23, 24, 571, 572, 27, 573, 29, 0, + 30, 48, 32, 33, 0, 35, 36, 0, 0, 0, + 52, 53, 54, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 48, 0, 0, 0, 0, 0, 64, 0, + 0, 52, 53, 54, 0, 0, 0, 0, 574, 570, + 23, 24, 571, 572, 27, 573, 29, 0, 30, 64, + 32, 33, 0, 35, 36, 0, 0, 0, 0, 0, + 570, 23, 24, 571, 572, 27, 573, 29, 0, 30, + 48, 32, 33, 0, 35, 36, 0, 0, 0, 52, + 53, 54, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 48, 0, 0, 0, -4, 1, 64, -4, -47, + 52, 53, 54, 0, 0, 0, 0, 0, 0, 0, + 0, 580, 0, 0, 0, 0, 0, 0, 64, 0, + 0, 0, 0, 0, 0, 0, 0, 0, -47, 0, + 0, 0, 597, -47, -47, 0, -47, -47, -47, -47, + -47, -47, -47, -47, 0, -47, -47, -47, -47, -47, + -47, -47, 0, 0, 0, -47, -47, -47, -47, -47, + -47, -47, 0, -47, -47, -47, -47, -47, 215, -47, + -47, 0, 0, 0, 0, -47, -47, -47, -47, 0, + 598, 0, 0, -47, 0, -47, 0, -47, -47, -47, + -47, -47, -47, -47, -47, -47, -47, 0, 0, 0, + 0, 773, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -4, + -4, -4, -4, -4, -4, -4, -4, 0, 0, 0, + 216, 217, 218, 0, 0, 0, 0, 0, 219, 220, + 221, 222, 223, 224, 225, 226, 227, 228, 18, 0, + 0, 0, 0, 0, 0, 0, 229, 230, 231, 232, + 233, 234, 235, 236, 237, 238, 0, 239, 240, 241, + 242, 243, 244, 0, 0, 0, 0, 19, 0, 0, + 0, 0, 20, 21, 0, 22, 23, 24, 25, 26, + 27, 28, 29, 0, 30, 31, 32, 33, 34, 35, + 36, 0, 0, 0, 37, 38, 39, 40, 41, 42, + 43, 0, 44, 45, 46, 47, 48, 0, 49, 50, + 0, 0, 0, 0, 51, 52, 53, 54, 0, 0, + 0, 0, 55, 0, 56, 0, 57, 58, 59, 60, + 61, 62, 63, 64, 65, 66, 570, 23, 24, 571, + 572, 27, 573, 29, 0, 30, 0, 32, 33, 0, + 35, 36, 316, 317, 318, 319, 320, 0, 321, 322, + 323, 324, 325, 326, 327, 328, 329, 48, 0, 0, + 0, 0, 330, 0, 0, 0, 52, 53, 54, 1113, + 0, 1114, 0, 0, 0, 0, 0, 0, 0, 316, + 317, 318, 319, 320, 64, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 0, 0, 0, 0, 0, 330, + 0, 0, 0, 0, 0, 0, 1136, 0, 1137, 316, + 317, 318, 319, 320, 0, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 0, 0, 0, 0, 0, 330, + 0, 0, 0, 0, 0, 0, 1251, 0, 1252, 316, + 317, 318, 319, 320, 0, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 0, 0, 0, 0, 0, 330, + 0, 0, 0, 316, 317, 318, 319, 320, 734, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 0, 0, + 0, 0, 0, 330, 0, 0, 0, 316, 317, 318, + 319, 320, 738, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 0, 0, 0, 0, 0, 330, 0, 0, + 0, 316, 317, 318, 319, 320, 739, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 0, 0, 0, 0, + 0, 330, 0, 0, 0, 316, 317, 318, 319, 320, + 862, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 0, 0, 0, 0, 0, 330, 0, 0, 0, 316, + 317, 318, 319, 320, 885, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 0, 0, 0, 0, 0, 330, + 0, 0, 0, 316, 317, 318, 319, 320, 1111, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 0, 0, + 0, 0, 0, 330, 0, 0, 0, 316, 317, 318, + 319, 320, 1273, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 0, 0, 0, 0, 0, 330, 0, 0, + 0, 316, 317, 318, 319, 320, 1274, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 0, 0, 0, 0, + 0, 330, 0, 0, 0, 316, 317, 318, 319, 320, + 1308, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 0, 0, 0, 0, 0, 330, 0, 0, 0, 316, + 317, 318, 319, 320, 1314, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 0, 0, 0, 0, 0, 330, + 0, 0, 0, 316, 317, 318, 319, 320, 1317, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 0, 0, + 0, 0, 0, 330, 0, 0, 0, 316, 317, 318, + 319, 320, 1320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 0, 0, 0, 0, 0, 330, 0, 0, + 0, 316, 317, 318, 319, 320, 1321, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 0, 0, 0, 0, + 0, 330, 0, 0, 0, 316, 317, 318, 319, 320, + 1344, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 0, 0, 0, 0, 0, 330, 0, 0, 0, 316, + 317, 318, 319, 320, 1381, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 0, 0, 0, 0, 0, 330, + 0, 0, 0, 316, 317, 318, 319, 320, 1384, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 0, 0, + 0, 0, 0, 330, 0, 0, 0, 316, 317, 318, + 319, 320, 1386, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 0, 0, 0, 0, 0, 330, 0, 0, + 0, 316, 317, 318, 319, 320, 1398, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 0, 0, 0, 0, + 0, 330, 0, 0, 0, 316, 317, 318, 319, 320, + 1481, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 0, 0, 0, 0, 0, 330, 0, 0, 0, 316, + 317, 318, 319, 320, 1488, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 0, 0, 0, 0, 0, 330, + 0, 495, 0, 0, 0, 0, 556, 316, 317, 318, + 319, 320, 0, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 0, 0, 0, 0, 0, 330, 0, 316, + 317, 318, 319, 320, 526, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 0, 0, 0, 0, 0, 330, + 0, 316, 317, 318, 319, 320, 556, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 0, 0, 0, 0, + 0, 330, 0, 316, 317, 318, 319, 320, 557, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 0, 0, + 0, 0, 0, 330, 0, 316, 317, 318, 319, 320, + 591, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 0, 0, 0, 0, 0, 330, 0, 316, 317, 318, + 319, 320, 670, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 0, 0, 0, 0, 0, 330, 0, 316, + 317, 318, 319, 320, 671, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 0, 0, 0, 0, 0, 330, + 0, 316, 317, 318, 319, 320, 684, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 0, 0, 0, 0, + 0, 330, 0, 316, 317, 318, 319, 320, 685, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 0, 0, + 0, 0, 0, 330, 0, 316, 317, 318, 319, 320, + 686, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 0, 0, 0, 0, 0, 330, 0, 316, 317, 318, + 319, 320, 687, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 0, 0, 0, 0, 0, 330, 0, 316, + 317, 318, 319, 320, 688, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 0, 0, 0, 0, 0, 330, + 0, 316, 317, 318, 319, 320, 689, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 0, 0, 0, 0, + 0, 330, 0, 316, 317, 318, 319, 320, 752, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 0, 0, + 0, 0, 0, 330, 0, 316, 317, 318, 319, 320, + 753, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 0, 0, 0, 0, 0, 330, 0, 316, 317, 318, + 319, 320, 754, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 0, 0, 0, 0, 0, 330, 0, 316, + 317, 318, 319, 320, 852, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 0, 0, 0, 0, 0, 330, + 0, 316, 317, 318, 319, 320, 883, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 0, 0, 0, 0, + 0, 330, 0, 316, 317, 318, 319, 320, 884, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 0, 0, + 0, 0, 0, 330, 0, 316, 317, 318, 319, 320, + 906, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 0, 0, 0, 0, 0, 330, 0, 316, 317, 318, + 319, 320, 1025, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 0, 0, 0, 0, 0, 330, 0, 316, + 317, 318, 319, 320, 1026, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 0, 0, 0, 0, 0, 330, + 0, 316, 317, 318, 319, 320, 1039, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 0, 0, 0, 0, + 0, 330, 0, 316, 317, 318, 319, 320, 1040, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 0, 0, + 0, 0, 0, 330, 0, 316, 317, 318, 319, 320, + 1073, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 0, 0, 0, 0, 0, 330, 0, 316, 317, 318, + 319, 320, 1074, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 0, 0, 0, 0, 0, 330, 0, 316, + 317, 318, 319, 320, 1089, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 0, 0, 0, 0, 0, 330, + 0, 316, 317, 318, 319, 320, 1096, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 0, 0, 0, 0, + 0, 330, 0, 316, 317, 318, 319, 320, 1206, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 0, 0, + 0, 0, 0, 330, 0, 316, 317, 318, 319, 320, + 1207, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 0, 0, 0, 0, 0, 330, 0, 316, 317, 318, + 319, 320, 1215, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 0, 0, 0, 0, 0, 330, 0, 316, + 317, 318, 319, 320, 1217, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 0, 0, 0, 0, 0, 330, + 0, 316, 317, 318, 319, 320, 1228, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 0, 0, 0, 0, + 0, 330, 0, 316, 317, 318, 319, 320, 1233, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 0, 0, + 0, 0, 0, 330, 0, 316, 317, 318, 319, 320, + 1236, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 0, 0, 0, 0, 0, 330, 0, 316, 317, 318, + 319, 320, 1240, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 0, 0, 0, 0, 0, 330, 0, 316, + 317, 318, 319, 320, 1241, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 0, 0, 0, 0, 0, 330, + 0, 316, 317, 318, 319, 320, 1248, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 0, 0, 0, 0, + 0, 330, 0, 316, 317, 318, 319, 320, 1249, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 0, 0, + 0, 0, 0, 330, 0, 316, 317, 318, 319, 320, + 1329, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 0, 0, 0, 0, 0, 330, 0, 316, 317, 318, + 319, 320, 1340, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 0, 0, 0, 0, 0, 330, 0, 316, + 317, 318, 319, 320, 1342, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 0, 0, 0, 0, 0, 330, + 0, 316, 317, 318, 319, 320, 1465, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 0, 0, 0, 0, + 0, 330, 0, 316, 317, 318, 319, 320, 1480, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 0, 0, + 0, 0, 0, 330, 0, 0, 0, 501, 316, 317, + 318, 319, 320, 0, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 0, 0, 0, 0, 0, 330, 0, + 0, 0, 634, 316, 317, 318, 319, 320, 0, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 0, 0, + 0, 0, 0, 330, 0, 0, 0, 649, 316, 317, + 318, 319, 320, 0, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 0, 0, 0, 0, 0, 330, 0, + 0, 0, 651, 316, 317, 318, 319, 320, 0, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 0, 0, + 0, 0, 0, 330, 0, 0, 0, 653, 316, 317, + 318, 319, 320, 0, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 0, 0, 0, 0, 0, 330, 0, + 0, 0, 655, 316, 317, 318, 319, 320, 0, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 0, 0, + 0, 0, 0, 330, 0, 0, 0, 657, 316, 317, + 318, 319, 320, 0, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 0, 0, 0, 0, 0, 330, 0, + 0, 0, 659, 316, 317, 318, 319, 320, 0, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 0, 0, + 0, 0, 0, 330, 0, 0, 0, 661, 316, 317, + 318, 319, 320, 0, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 0, 0, 0, 0, 0, 330, 0, + 0, 0, 663, 316, 317, 318, 319, 320, 0, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 0, 0, + 0, 0, 0, 330, 0, 0, 0, 665, 316, 317, + 318, 319, 320, 0, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 0, 0, 0, 0, 0, 330, 0, + 0, 0, 667, 316, 317, 318, 319, 320, 0, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 0, 0, + 0, 0, 0, 330, 0, 0, 0, 669, 316, 317, + 318, 319, 320, 0, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 0, 0, 0, 0, 0, 330, 0, + 0, 0, 673, 316, 317, 318, 319, 320, 0, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 0, 0, + 0, 0, 0, 330, 0, 0, 0, 675, 316, 317, + 318, 319, 320, 0, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 0, 0, 0, 0, 0, 330, 0, + 0, 0, 677, 316, 317, 318, 319, 320, 0, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 0, 0, + 0, 0, 0, 330, 0, 0, 0, 679, 316, 317, + 318, 319, 320, 0, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 0, 0, 0, 0, 0, 330, 0, + 0, 0, 681, 316, 317, 318, 319, 320, 0, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 0, 0, + 0, 0, 0, 330, 0, 0, 0, 683, 316, 317, + 318, 319, 320, 0, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 0, 0, 0, 0, 0, 330, 0, + 0, 0, 755, 316, 317, 318, 319, 320, 0, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 0, 0, + 0, 0, 0, 330, 0, 0, 0, 761, 316, 317, + 318, 319, 320, 0, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 0, 0, 0, 0, 0, 330, 0, + 0, 0, 764, 316, 317, 318, 319, 320, 0, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 0, 0, + 0, 0, 0, 330, 0, 0, 0, 765, 316, 317, + 318, 319, 320, 0, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 0, 0, 0, 0, 0, 330, 0, + 0, 0, 833, 316, 317, 318, 319, 320, 0, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 0, 0, + 0, 0, 0, 330, 0, 0, 0, 958, 316, 317, + 318, 319, 320, 0, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 0, 0, 0, 0, 0, 330, 0, + 0, 0, 960, 316, 317, 318, 319, 320, 0, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 0, 0, + 0, 0, 0, 330, 0, 0, 0, 962, 316, 317, + 318, 319, 320, 0, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 0, 0, 0, 0, 0, 330, 0, + 0, 0, 964, 316, 317, 318, 319, 320, 0, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 0, 0, + 0, 0, 0, 330, 0, 0, 0, 965, 316, 317, + 318, 319, 320, 0, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 0, 0, 0, 0, 0, 330, 0, + 0, 0, 1087, 316, 317, 318, 319, 320, 0, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 0, 0, + 0, 0, 0, 330, 0, 495, 316, 317, 318, 319, + 320, 0, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 0, 0, 0, 0, 0, 330, 0, 527, 316, + 317, 318, 319, 320, 0, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 0, 0, 0, 0, 0, 330, + 0, 528, 316, 317, 318, 319, 320, 0, 321, 322, + 323, 324, 325, 326, 327, 328, 329, 0, 0, 0, + 0, 0, 330, 0, 529, 316, 317, 318, 319, 320, + 0, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 0, 0, 0, 0, 0, 330, 0, 531, 316, 317, + 318, 319, 320, 0, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 0, 0, 0, 0, 0, 330, 0, + 533, 316, 317, 318, 319, 320, 0, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 0, 0, 0, 0, + 0, 330, 0, 534, 316, 317, 318, 319, 320, 0, + 321, 322, 323, 324, 325, 326, 327, 328, 329, 0, + 0, 0, 0, 0, 330, 0, 542, 316, 317, 318, + 319, 320, 0, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 0, 0, 0, 0, 0, 330, 0, 585, + 316, 317, 318, 319, 320, 0, 321, 322, 323, 324, + 325, 326, 327, 328, 329, 0, 0, 0, 0, 0, + 330, 0, 586, 316, 317, 318, 319, 320, 0, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 0, 0, + 0, 0, 0, 330, 0, 589, 316, 317, 318, 319, + 320, 0, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 0, 0, 0, 0, 0, 330, 0, 595, 316, + 317, 318, 319, 320, 0, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 0, 0, 0, 0, 0, 330, + 0, 648, 316, 317, 318, 319, 320, 0, 321, 322, + 323, 324, 325, 326, 327, 328, 329, 0, 0, 0, + 0, 0, 330, 0, 650, 316, 317, 318, 319, 320, + 0, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 0, 0, 0, 0, 0, 330, 0, 652, 316, 317, + 318, 319, 320, 0, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 0, 0, 0, 0, 0, 330, 0, + 654, 316, 317, 318, 319, 320, 0, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 0, 0, 0, 0, + 0, 330, 0, 656, 316, 317, 318, 319, 320, 0, + 321, 322, 323, 324, 325, 326, 327, 328, 329, 0, + 0, 0, 0, 0, 330, 0, 658, 316, 317, 318, + 319, 320, 0, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 0, 0, 0, 0, 0, 330, 0, 660, + 316, 317, 318, 319, 320, 0, 321, 322, 323, 324, + 325, 326, 327, 328, 329, 0, 0, 0, 0, 0, + 330, 0, 662, 316, 317, 318, 319, 320, 0, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 0, 0, + 0, 0, 0, 330, 0, 664, 316, 317, 318, 319, + 320, 0, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 0, 0, 0, 0, 0, 330, 0, 666, 316, + 317, 318, 319, 320, 0, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 0, 0, 0, 0, 0, 330, + 0, 668, 316, 317, 318, 319, 320, 0, 321, 322, + 323, 324, 325, 326, 327, 328, 329, 0, 0, 0, + 0, 0, 330, 0, 672, 316, 317, 318, 319, 320, + 0, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 0, 0, 0, 0, 0, 330, 0, 674, 316, 317, + 318, 319, 320, 0, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 0, 0, 0, 0, 0, 330, 0, + 676, 316, 317, 318, 319, 320, 0, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 0, 0, 0, 0, + 0, 330, 0, 678, 316, 317, 318, 319, 320, 0, + 321, 322, 323, 324, 325, 326, 327, 328, 329, 0, + 0, 0, 0, 0, 330, 0, 680, 316, 317, 318, + 319, 320, 0, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 0, 0, 0, 0, 0, 330, 0, 682, + 316, 317, 318, 319, 320, 0, 321, 322, 323, 324, + 325, 326, 327, 328, 329, 0, 0, 0, 0, 0, + 330, 0, 720, 316, 317, 318, 319, 320, 0, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 0, 0, + 0, 0, 0, 330, 0, 722, 316, 317, 318, 319, + 320, 0, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 0, 0, 0, 0, 0, 330, 0, 735, 316, + 317, 318, 319, 320, 0, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 0, 0, 0, 0, 0, 330, + 0, 736, 316, 317, 318, 319, 320, 0, 321, 322, + 323, 324, 325, 326, 327, 328, 329, 0, 0, 0, + 0, 0, 330, 0, 740, 316, 317, 318, 319, 320, + 0, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 0, 0, 0, 0, 0, 330, 0, 741, 316, 317, + 318, 319, 320, 0, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 0, 0, 0, 0, 0, 330, 0, + 742, 316, 317, 318, 319, 320, 0, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 0, 0, 0, 0, + 0, 330, 0, 743, 316, 317, 318, 319, 320, 0, + 321, 322, 323, 324, 325, 326, 327, 328, 329, 0, + 0, 0, 0, 0, 330, 0, 744, 316, 317, 318, + 319, 320, 0, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 0, 0, 0, 0, 0, 330, 0, 769, + 316, 317, 318, 319, 320, 0, 321, 322, 323, 324, + 325, 326, 327, 328, 329, 0, 0, 0, 0, 0, + 330, 0, 776, 316, 317, 318, 319, 320, 0, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 0, 0, + 0, 0, 0, 330, 0, 957, 316, 317, 318, 319, + 320, 0, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 0, 0, 0, 0, 0, 330, 0, 959, 316, + 317, 318, 319, 320, 0, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 0, 0, 0, 0, 0, 330, + 0, 961, 316, 317, 318, 319, 320, 0, 321, 322, + 323, 324, 325, 326, 327, 328, 329, 0, 0, 0, + 0, 0, 330, 0, 963, 316, 317, 318, 319, 320, + 0, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 0, 0, 0, 0, 0, 330, 0, 969, 316, 317, + 318, 319, 320, 0, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 0, 0, 0, 0, 0, 330, 0, + 1029, 316, 317, 318, 319, 320, 0, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 0, 0, 0, 0, + 0, 330, 0, 1112, 316, 317, 318, 319, 320, 0, + 321, 322, 323, 324, 325, 326, 327, 328, 329, 0, + 0, 0, 0, 0, 330, 0, 1140, 316, 317, 318, + 319, 320, 0, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 0, 0, 0, 0, 0, 330, 0, 1223, + 316, 317, 318, 319, 320, 0, 321, 322, 323, 324, + 325, 326, 327, 328, 329, 0, 0, 0, 0, 0, + 330, 0, 1227, 316, 317, 318, 319, 320, 0, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 0, 0, + 0, 0, 0, 330, 0, 1229, 316, 317, 318, 319, + 320, 0, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 0, 0, 0, 0, 0, 330, 0, 1332, 316, + 317, 318, 319, 320, 0, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 0, 0, 0, 0, 0, 330, + 0, 1334, 316, 317, 318, 319, 320, 0, 321, 322, + 323, 324, 325, 326, 327, 328, 329, 0, 0, 0, + 0, 0, 330, 0, 1336, 316, 317, 318, 319, 320, + 0, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 0, 0, 0, 0, 0, 330, 0, 1339, 316, 317, + 318, 319, 320, 0, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 0, 0, 0, 0, 0, 330, 0, + 1397 }; -/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing - symbol of state STATE-NUM. */ -static const unsigned char yystos[] = -{ - 0, 1, 184, 185, 190, 6, 0, 3, 124, 125, - 126, 127, 128, 129, 130, 131, 186, 187, 188, 189, - 4, 33, 38, 39, 41, 42, 43, 44, 45, 46, - 47, 48, 50, 51, 52, 53, 54, 55, 56, 60, - 61, 62, 63, 64, 65, 66, 68, 69, 70, 71, - 72, 74, 75, 80, 81, 82, 83, 88, 90, 92, - 93, 94, 95, 96, 97, 98, 99, 100, 101, 191, - 192, 193, 211, 212, 213, 216, 217, 218, 219, 220, - 221, 222, 234, 235, 7, 6, 6, 6, 6, 6, - 174, 174, 174, 3, 4, 5, 7, 9, 10, 11, - 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, - 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, 34, 35, 36, 37, 40, 102, 103, 104, 105, - 149, 150, 151, 152, 163, 164, 169, 171, 172, 174, - 176, 178, 179, 209, 210, 237, 238, 251, 174, 6, - 181, 6, 174, 174, 174, 67, 174, 67, 174, 174, - 49, 174, 45, 45, 45, 44, 45, 47, 47, 41, - 44, 45, 47, 174, 181, 163, 164, 174, 181, 239, - 240, 239, 181, 41, 44, 45, 4, 181, 45, 4, - 181, 6, 6, 41, 44, 4, 4, 4, 174, 174, - 45, 174, 4, 181, 248, 4, 174, 174, 6, 4, - 4, 45, 5, 181, 251, 181, 251, 44, 106, 107, - 108, 114, 115, 116, 117, 118, 119, 120, 121, 122, - 123, 132, 133, 134, 135, 136, 137, 138, 139, 140, - 141, 143, 144, 145, 146, 147, 148, 174, 241, 241, - 5, 176, 178, 210, 4, 181, 174, 176, 174, 176, - 174, 176, 174, 176, 174, 176, 174, 176, 174, 176, - 174, 176, 174, 176, 174, 176, 174, 176, 174, 176, - 174, 176, 174, 176, 174, 176, 174, 176, 174, 176, - 174, 176, 174, 176, 174, 176, 174, 176, 174, 174, - 174, 174, 174, 4, 237, 237, 237, 237, 177, 181, - 237, 4, 88, 89, 4, 237, 6, 6, 153, 154, - 155, 157, 158, 159, 160, 161, 162, 163, 164, 165, - 166, 167, 173, 6, 5, 237, 237, 237, 237, 174, - 237, 174, 237, 237, 4, 41, 164, 181, 213, 216, - 222, 237, 245, 246, 237, 181, 174, 174, 245, 181, - 181, 174, 174, 174, 174, 174, 4, 239, 239, 239, - 237, 237, 163, 164, 181, 181, 239, 181, 181, 181, - 176, 215, 245, 4, 6, 176, 215, 245, 245, 176, - 176, 6, 237, 237, 85, 174, 237, 178, 237, 181, - 91, 237, 237, 6, 174, 215, 6, 215, 6, 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, 5, - 242, 180, 175, 180, 237, 4, 239, 194, 237, 237, - 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, - 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, - 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, - 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, - 4, 251, 251, 251, 251, 5, 176, 175, 7, 164, - 237, 246, 247, 177, 7, 209, 210, 178, 7, 176, - 6, 237, 237, 237, 237, 237, 237, 237, 237, 237, - 237, 237, 237, 237, 237, 237, 175, 180, 180, 175, - 175, 175, 237, 175, 237, 175, 175, 176, 181, 4, - 181, 247, 8, 7, 175, 237, 237, 237, 7, 237, - 237, 237, 237, 237, 237, 237, 175, 180, 180, 180, - 239, 239, 213, 214, 215, 216, 214, 180, 237, 237, - 237, 237, 41, 44, 45, 47, 182, 212, 6, 7, - 6, 237, 182, 7, 7, 237, 237, 175, 175, 86, - 237, 175, 88, 180, 215, 181, 8, 175, 237, 182, - 182, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 142, 5, 5, 5, 5, 3, - 5, 175, 180, 5, 6, 5, 177, 210, 181, 4, - 76, 77, 78, 79, 182, 197, 201, 204, 206, 207, - 175, 177, 175, 177, 175, 177, 175, 177, 175, 177, - 175, 177, 175, 177, 175, 177, 175, 177, 175, 177, - 175, 177, 180, 180, 175, 177, 175, 177, 175, 177, - 175, 177, 175, 177, 175, 177, 180, 180, 180, 180, - 180, 180, 176, 178, 175, 180, 180, 175, 175, 180, - 237, 245, 180, 182, 178, 209, 210, 251, 237, 6, - 4, 4, 181, 249, 177, 8, 6, 247, 237, 7, - 7, 7, 175, 7, 175, 7, 7, 177, 181, 237, - 176, 247, 182, 237, 237, 7, 182, 175, 175, 237, - 182, 182, 175, 175, 175, 175, 175, 178, 239, 237, - 237, 182, 182, 237, 180, 180, 180, 177, 181, 181, - 181, 181, 237, 177, 181, 181, 177, 177, 7, 7, - 174, 175, 7, 178, 237, 182, 237, 237, 175, 180, - 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, - 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, - 180, 180, 180, 180, 180, 180, 180, 180, 180, 5, - 175, 180, 178, 210, 251, 194, 198, 174, 174, 181, - 208, 6, 237, 237, 237, 237, 237, 237, 237, 237, - 237, 4, 247, 251, 237, 177, 6, 237, 246, 177, - 4, 88, 89, 237, 6, 6, 6, 7, 176, 248, - 250, 6, 237, 175, 180, 239, 245, 245, 7, 245, - 7, 245, 245, 247, 182, 177, 181, 182, 8, 6, - 181, 7, 7, 7, 6, 57, 7, 7, 7, 7, - 7, 7, 7, 4, 180, 180, 180, 182, 239, 239, - 239, 6, 247, 247, 247, 247, 6, 6, 237, 237, - 6, 6, 245, 245, 237, 7, 245, 4, 180, 8, - 8, 175, 7, 3, 237, 237, 239, 3, 3, 165, - 3, 3, 245, 245, 3, 239, 3, 3, 245, 245, - 3, 3, 3, 3, 3, 245, 109, 110, 111, 112, - 113, 236, 245, 3, 5, 5, 3, 3, 6, 241, - 4, 6, 182, 174, 237, 237, 244, 245, 181, 175, - 177, 175, 177, 175, 177, 175, 177, 177, 175, 175, - 175, 175, 209, 7, 209, 210, 178, 7, 6, 248, - 237, 180, 182, 6, 237, 6, 6, 52, 6, 52, - 245, 6, 245, 6, 6, 182, 247, 237, 237, 245, - 245, 245, 58, 59, 245, 245, 245, 245, 245, 245, - 245, 6, 7, 237, 237, 237, 181, 180, 182, 180, - 182, 180, 182, 182, 182, 182, 182, 180, 180, 6, - 6, 175, 174, 181, 243, 87, 237, 237, 237, 181, - 180, 180, 180, 175, 180, 175, 180, 175, 180, 175, - 180, 180, 175, 180, 175, 175, 180, 180, 180, 180, - 180, 180, 175, 180, 180, 180, 180, 180, 175, 180, - 180, 210, 6, 195, 237, 180, 180, 180, 182, 196, - 237, 178, 245, 251, 237, 6, 4, 249, 6, 177, - 248, 180, 239, 239, 6, 6, 177, 182, 180, 6, - 6, 6, 237, 237, 6, 6, 6, 6, 6, 6, - 6, 237, 251, 182, 175, 180, 182, 214, 239, 6, - 223, 239, 6, 226, 239, 6, 229, 6, 6, 6, - 6, 237, 237, 7, 244, 244, 87, 245, 180, 182, - 8, 182, 175, 237, 3, 237, 245, 6, 3, 6, - 165, 6, 236, 6, 3, 237, 6, 3, 6, 6, - 3, 236, 237, 237, 237, 245, 6, 3, 236, 237, - 3, 3, 6, 237, 241, 175, 180, 237, 237, 245, - 181, 180, 182, 4, 6, 6, 6, 7, 6, 178, - 237, 6, 6, 177, 237, 6, 6, 6, 6, 181, - 237, 182, 180, 181, 180, 181, 180, 181, 180, 180, - 243, 175, 182, 181, 84, 237, 237, 180, 175, 180, - 180, 180, 180, 175, 180, 175, 180, 175, 175, 175, - 180, 175, 180, 175, 175, 180, 180, 175, 180, 180, - 199, 237, 180, 180, 244, 237, 6, 175, 248, 89, - 180, 180, 214, 180, 182, 163, 164, 174, 237, 239, - 68, 73, 232, 233, 237, 239, 232, 237, 239, 232, - 237, 237, 87, 245, 237, 182, 182, 245, 6, 243, - 236, 3, 237, 6, 236, 6, 3, 6, 6, 6, - 237, 6, 245, 6, 6, 237, 3, 6, 237, 5, - 181, 237, 237, 182, 6, 237, 5, 182, 237, 237, - 182, 180, 6, 181, 182, 233, 182, 180, 182, 182, - 180, 182, 182, 182, 181, 180, 6, 182, 180, 180, - 180, 180, 175, 175, 175, 180, 175, 175, 175, 180, - 196, 175, 180, 6, 180, 180, 182, 6, 224, 237, - 245, 6, 6, 227, 237, 6, 6, 230, 237, 6, - 6, 6, 245, 245, 6, 236, 236, 236, 236, 6, - 6, 6, 236, 6, 6, 6, 5, 182, 202, 237, - 237, 5, 181, 182, 180, 181, 182, 181, 182, 180, - 182, 180, 180, 175, 175, 180, 180, 6, 181, 175, - 182, 180, 232, 6, 225, 245, 232, 6, 228, 232, - 6, 231, 245, 84, 236, 236, 6, 6, 236, 5, - 200, 251, 205, 6, 5, 182, 181, 180, 182, 182, - 181, 182, 181, 182, 181, 180, 180, 175, 175, 180, - 182, 181, 182, 6, 232, 245, 6, 6, 232, 6, - 232, 84, 237, 236, 245, 6, 6, 251, 6, 203, - 251, 6, 182, 182, 182, 182, 181, 180, 180, 180, - 180, 182, 6, 6, 6, 6, 237, 237, 236, 245, - 251, 6, 180, 182, 180, 180, 237, 6, 245, 236, - 182, 180, 175, 6, 245, 6, 180, 245, 180, 245, - 180, 236, 175, 6 +static const short yycheck[] = { 18, + 65, 66, 373, 3, 89, 309, 185, 5, 3, 188, + 4, 710, 345, 4, 4, 4, 45, 4, 1260, 4, + 6, 18, 1264, 5, 4, 1267, 4, 3, 6, 67, + 7, 85, 211, 4, 213, 67, 34, 35, 36, 37, + 1131, 6, 40, 5, 7, 68, 68, 67, 6, 6, + 73, 73, 34, 35, 36, 37, 6, 174, 40, 1030, + 1031, 307, 163, 164, 181, 6, 175, 6, 163, 164, + 6, 180, 34, 35, 36, 37, 163, 164, 40, 4, + 181, 174, 76, 77, 78, 79, 181, 76, 77, 78, + 79, 163, 164, 180, 52, 52, 6, 175, 68, 345, + 174, 68, 180, 73, 163, 164, 73, 181, 180, 6, + 182, 163, 164, 132, 133, 134, 163, 164, 137, 138, + 174, 180, 141, 182, 163, 164, 1217, 174, 180, 148, + 182, 150, 151, 152, 181, 154, 174, 156, 157, 6, + 159, 180, 174, 181, 4, 174, 845, 6, 124, 125, + 126, 127, 128, 129, 130, 131, 175, 176, 1400, 182, + 182, 181, 1404, 88, 89, 1407, 174, 44, 45, 1203, + 47, 1205, 149, 150, 151, 152, 68, 196, 197, 68, + 199, 73, 201, 181, 73, 204, 205, 180, 182, 182, + 181, 181, 525, 182, 181, 181, 181, 501, 176, 181, + 1442, 181, 174, 174, 1446, 538, 1448, 1178, 170, 171, + 1046, 6, 182, 163, 164, 182, 178, 67, 397, 1055, + 39, 40, 163, 164, 163, 164, 1062, 174, 88, 89, + 249, 296, 297, 298, 299, 254, 255, 256, 257, 258, + 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, 294, 295, 7, 68, 525, + 979, 68, 41, 73, 68, 44, 73, 174, 307, 73, + 182, 174, 538, 182, 181, 163, 164, 316, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 309, 181, 8, 163, 164, 174, 337, 175, + 339, 163, 164, 174, 180, 344, 345, 174, 163, 164, + 163, 164, 180, 175, 353, 354, 355, 174, 357, 358, + 359, 360, 361, 362, 363, 180, 1380, 180, 174, 1383, + 176, 1385, 174, 172, 176, 174, 375, 376, 377, 378, + 693, 180, 163, 164, 383, 174, 49, 176, 387, 388, + 4, 5, 372, 373, 393, 6, 7, 372, 373, 180, + 5, 7, 1218, 402, 175, 174, 1222, 163, 164, 180, + 1424, 45, 182, 726, 1428, 182, 1430, 7, 182, 47, + 34, 35, 36, 37, 180, 174, 40, 176, 45, 34, + 35, 36, 37, 163, 164, 40, 45, 163, 164, 149, + 150, 151, 152, 756, 757, 758, 759, 163, 164, 174, + 180, 6, 41, 252, 180, 44, 45, 502, 47, 175, + 170, 171, 181, 170, 171, 68, 443, 693, 178, 176, + 73, 178, 170, 171, 700, 8, 165, 166, 167, 153, + 154, 155, 156, 157, 173, 159, 160, 161, 162, 163, + 164, 165, 166, 167, 181, 494, 175, 45, 497, 173, + 726, 180, 57, 174, 503, 176, 1185, 6, 182, 175, + 1326, 1327, 1328, 1329, 180, 170, 171, 1333, 163, 164, + 165, 166, 167, 178, 501, 4, 525, 526, 173, 175, + 756, 757, 758, 759, 180, 6, 535, 536, 174, 538, + 176, 540, 541, 149, 150, 151, 152, 546, 174, 4, + 176, 864, 41, 837, 838, 44, 45, 556, 557, 149, + 150, 151, 152, 4, 170, 171, 565, 174, 176, 176, + 178, 370, 371, 1389, 1390, 58, 59, 1393, 577, 174, + 170, 171, 174, 61, 62, 63, 64, 174, 66, 634, + 6, 174, 591, 176, 593, 594, 74, 75, 153, 154, + 155, 156, 157, 4, 159, 160, 161, 162, 163, 164, + 165, 166, 167, 174, 174, 176, 176, 1433, 173, 4, + 153, 154, 155, 156, 157, 45, 159, 160, 161, 162, + 163, 164, 165, 166, 167, 6, 174, 174, 864, 176, + 173, 180, 175, 182, 5, 170, 171, 6, 7, 694, + 1466, 176, 174, 178, 170, 171, 174, 634, 170, 171, + 176, 174, 178, 1014, 176, 174, 178, 1483, 174, 174, + 176, 670, 671, 6, 109, 110, 111, 112, 113, 174, + 4, 176, 1498, 6, 6, 684, 685, 686, 687, 688, + 689, 690, 5, 174, 693, 176, 181, 158, 697, 174, + 174, 700, 163, 4, 703, 159, 160, 161, 162, 163, + 164, 165, 166, 167, 713, 174, 174, 176, 176, 173, + 176, 174, 174, 176, 176, 186, 174, 726, 176, 728, + 191, 192, 174, 180, 176, 182, 180, 174, 182, 6, + 180, 180, 182, 182, 809, 181, 180, 180, 182, 182, + 180, 180, 182, 182, 181, 174, 555, 756, 757, 758, + 759, 174, 174, 762, 763, 180, 180, 182, 182, 768, + 180, 180, 182, 182, 180, 180, 182, 182, 174, 778, + 779, 174, 153, 154, 155, 156, 157, 174, 159, 160, + 161, 162, 163, 164, 165, 166, 167, 180, 180, 182, + 182, 181, 173, 181, 181, 6, 176, 176, 181, 91, + 178, 6, 174, 6, 6, 5, 815, 816, 174, 174, + 153, 154, 155, 156, 157, 174, 159, 160, 161, 162, + 163, 164, 165, 166, 167, 174, 174, 174, 6, 174, + 173, 175, 174, 174, 174, 174, 1197, 846, 174, 174, + 4, 7, 180, 852, 174, 174, 833, 174, 174, 174, + 174, 838, 174, 174, 174, 864, 174, 866, 174, 868, + 174, 174, 174, 180, 174, 174, 174, 5, 173, 175, + 7, 178, 176, 882, 883, 884, 153, 154, 155, 156, + 157, 181, 159, 160, 161, 162, 163, 164, 165, 166, + 167, 7, 7, 6, 86, 7, 173, 906, 907, 908, + 7, 88, 181, 5, 5, 5, 5, 5, 717, 5, + 5, 5, 3, 4, 142, 5, 971, 5, 9, 10, + 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, + 31, 32, 951, 752, 753, 754, 5, 956, 5, 5, + 5, 180, 6, 5, 5, 1010, 5, 5, 5, 5, + 5, 948, 5, 972, 5, 5, 5, 5, 5, 3, + 5, 780, 5, 180, 6, 153, 154, 155, 156, 157, + 789, 159, 160, 161, 162, 163, 164, 165, 166, 167, + 6, 1000, 1001, 1068, 5, 173, 175, 6, 175, 4, + 6, 1010, 177, 7, 7, 7, 7, 7, 7, 7, + 178, 102, 103, 104, 105, 182, 1025, 1026, 7, 182, + 181, 181, 7, 174, 1014, 496, 7, 180, 1037, 1014, + 1039, 178, 180, 5, 180, 180, 180, 180, 180, 180, + 1049, 180, 175, 174, 180, 180, 180, 1056, 1057, 1058, + 180, 180, 180, 180, 1063, 180, 180, 180, 1067, 180, + 180, 180, 180, 180, 1073, 1074, 180, 6, 4, 180, + 180, 180, 163, 164, 180, 180, 180, 174, 169, 6, + 1089, 6, 6, 174, 177, 7, 177, 1096, 179, 181, + 181, 176, 6, 3, 7, 7, 7, 181, 7, 153, + 154, 155, 156, 157, 1113, 159, 160, 161, 162, 163, + 164, 165, 166, 167, 7, 7, 7, 7, 7, 173, + 7, 7, 7, 4, 6, 4, 6, 1136, 6, 1138, + 6, 3, 7, 7, 3, 165, 3, 153, 154, 155, + 156, 157, 3, 159, 160, 161, 162, 163, 164, 165, + 166, 167, 3, 3, 3, 3, 3, 173, 3, 3, + 3, 3, 174, 3, 5, 1174, 5, 3, 6, 4, + 1179, 181, 6, 181, 7, 6, 985, 6, 987, 156, + 157, 175, 159, 160, 161, 162, 163, 164, 165, 166, + 167, 1200, 175, 1202, 178, 1204, 173, 1206, 1207, 6, + 6, 6, 6, 1212, 87, 181, 1015, 1197, 1017, 180, + 1019, 1220, 1197, 6, 180, 175, 180, 175, 180, 1228, + 175, 180, 175, 180, 1233, 175, 180, 1236, 180, 180, + 6, 1240, 1241, 180, 180, 180, 180, 175, 180, 1248, + 180, 175, 1251, 180, 1253, 1254, 1255, 718, 719, 180, + 721, 180, 723, 724, 3, 4, 6, 180, 178, 180, + 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, + 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 4, 6, 87, 6, 6, 1298, + 6, 6, 6, 6, 6, 766, 767, 6, 6, 770, + 1309, 6, 6, 6, 177, 6, 1315, 6, 6, 1318, + 6, 6, 6, 6, 6, 786, 787, 7, 3, 6, + 3, 792, 793, 181, 6, 6, 6, 3, 799, 6, + 801, 1340, 3, 1342, 6, 165, 6, 3, 6, 3, + 3, 1396, 3, 84, 6, 4, 6, 89, 6, 177, + 7, 6, 178, 102, 103, 104, 105, 6, 181, 181, + 153, 154, 155, 156, 157, 182, 159, 160, 161, 162, + 163, 164, 165, 166, 167, 6, 175, 175, 181, 181, + 173, 181, 1437, 180, 1439, 856, 180, 858, 180, 180, + 180, 1200, 6, 1202, 175, 1204, 175, 180, 869, 870, + 871, 175, 175, 874, 875, 876, 877, 878, 879, 880, + 180, 175, 180, 1468, 163, 164, 175, 6, 87, 3, + 169, 6, 3, 1432, 6, 174, 6, 6, 177, 6, + 179, 6, 181, 6, 6, 6, 3, 6, 181, 5, + 153, 154, 155, 156, 157, 1254, 159, 160, 161, 162, + 163, 164, 165, 166, 167, 1464, 1465, 6, 6, 5, + 173, 6, 6, 6, 6, 182, 3, 4, 175, 175, + 181, 1480, 9, 10, 11, 12, 13, 14, 15, 16, + 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, + 27, 28, 29, 30, 31, 32, 182, 181, 6, 970, + 175, 155, 156, 157, 41, 159, 160, 161, 162, 163, + 164, 165, 166, 167, 6, 180, 6, 6, 6, 173, + 6, 6, 6, 6, 61, 62, 63, 64, 65, 66, + 180, 6, 180, 180, 180, 180, 180, 74, 75, 153, + 154, 155, 156, 157, 6, 159, 160, 161, 162, 163, + 164, 165, 166, 167, 6, 6, 5, 5, 181, 173, + 180, 180, 1033, 181, 181, 102, 103, 104, 105, 1040, + 182, 153, 154, 155, 156, 157, 180, 159, 160, 161, + 162, 163, 164, 165, 166, 167, 180, 175, 1059, 175, + 180, 173, 6, 180, 6, 6, 6, 84, 181, 6, + 6, 5, 180, 6, 1075, 153, 154, 155, 156, 157, + 5, 159, 160, 161, 162, 163, 164, 165, 166, 167, + 181, 181, 181, 180, 182, 173, 163, 164, 181, 180, + 182, 181, 169, 180, 175, 8, 175, 174, 6, 6, + 6, 6, 179, 84, 181, 6, 3, 4, 6, 182, + 6, 6, 9, 10, 11, 12, 13, 14, 15, 16, + 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, + 27, 28, 29, 30, 31, 32, 181, 3, 4, 180, + 180, 6, 6, 9, 10, 11, 12, 13, 14, 15, + 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, + 26, 27, 28, 29, 30, 31, 32, 6, 6, 3, + 4, 6, 180, 6, 180, 9, 10, 11, 12, 13, + 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, + 24, 25, 26, 27, 28, 29, 30, 31, 32, 175, + 1211, 180, 6, 8, 1215, 102, 103, 104, 105, 6, + 180, 180, 175, 6, 153, 154, 155, 156, 157, 1230, + 159, 160, 161, 162, 163, 164, 165, 166, 167, 0, + 0, 636, -1, 1298, 173, 3, 102, 103, 104, 105, + 153, 154, 155, 156, 157, 3, 159, 160, 161, 162, + 163, 164, 165, 166, 167, 975, -1, -1, -1, -1, + 173, -1, -1, -1, -1, -1, 163, 164, 102, 103, + 104, 105, 169, -1, -1, -1, -1, 174, -1, -1, + 177, -1, 179, -1, 181, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 163, 164, -1, + 1311, -1, -1, 169, -1, -1, -1, -1, 174, -1, + -1, 1322, 1323, 179, -1, 181, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 163, + 164, -1, -1, -1, -1, 169, -1, -1, -1, -1, + 174, 8, -1, -1, -1, 179, -1, 181, 153, 154, + 155, 156, 157, -1, 159, 160, 161, 162, 163, 164, + 165, 166, 167, -1, -1, -1, -1, -1, 173, -1, + -1, 1382, -1, 3, 4, 5, 1387, 7, -1, 9, + 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, + 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, + 30, 31, 32, -1, 34, 35, 36, 37, -1, -1, + 40, -1, -1, -1, 1425, -1, -1, -1, -1, -1, + -1, -1, -1, 1434, -1, -1, 3, 4, 5, -1, + -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, + 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, + 27, 28, 29, 30, 31, 32, 1467, 34, 35, 36, + 37, -1, -1, 40, -1, -1, -1, -1, -1, -1, + -1, 1482, 102, 103, 104, 105, -1, -1, 1489, -1, + -1, -1, -1, 1494, -1, 1496, 153, 154, 155, 156, + 157, -1, 159, 160, 161, 162, 163, 164, 165, 166, + 167, -1, -1, -1, -1, -1, 173, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 149, + 150, 151, 152, -1, -1, 102, 103, 104, 105, -1, + -1, -1, -1, 163, 164, -1, -1, -1, 8, 169, + 170, 171, -1, -1, 174, -1, 176, -1, 178, 179, + 3, 4, -1, -1, -1, -1, 9, 10, 11, 12, + 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, + 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, + -1, -1, 8, -1, -1, -1, 163, 164, 41, -1, + -1, -1, 169, -1, -1, -1, -1, 174, -1, -1, + -1, -1, 179, -1, -1, -1, -1, -1, 61, 62, + 63, 64, 65, 66, -1, -1, -1, -1, 3, 4, + -1, 74, 75, -1, 9, 10, 11, 12, 13, 14, + 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, + 25, 26, 27, 28, 29, 30, 31, 32, -1, 102, + 103, 104, 105, 3, 4, -1, -1, -1, -1, 9, + 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, + 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, + 30, 31, 32, 153, 154, 155, 156, 157, -1, 159, + 160, 161, 162, 163, 164, 165, 166, 167, -1, -1, + -1, -1, -1, 173, -1, -1, -1, -1, -1, -1, + 163, 164, -1, -1, -1, -1, 169, 102, 103, 104, + 105, 174, -1, -1, -1, -1, 179, 153, 154, 155, + 156, 157, -1, 159, 160, 161, 162, 163, 164, 165, + 166, 167, -1, -1, -1, -1, -1, 173, -1, -1, + -1, -1, 102, 103, 104, 105, -1, 41, 42, 43, + 44, 45, 46, 47, 48, -1, 50, -1, 52, 53, + -1, 55, 56, -1, -1, -1, -1, -1, 163, 164, + -1, -1, -1, -1, 169, -1, -1, -1, 72, 174, + -1, -1, -1, -1, 179, -1, -1, 81, 82, 83, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 163, 164, 99, -1, -1, -1, 169, + -1, -1, -1, -1, 174, -1, -1, -1, -1, 179, + 41, 42, 43, 44, 45, 46, 47, 48, -1, 50, + -1, 52, 53, -1, 55, 56, -1, -1, -1, -1, + -1, 41, 42, 43, 44, 45, 46, 47, 48, -1, + 50, 72, 52, 53, -1, 55, 56, -1, -1, -1, + 81, 82, 83, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 72, -1, -1, -1, -1, -1, 99, -1, + -1, 81, 82, 83, -1, -1, -1, -1, 182, 41, + 42, 43, 44, 45, 46, 47, 48, -1, 50, 99, + 52, 53, -1, 55, 56, -1, -1, -1, -1, -1, + 41, 42, 43, 44, 45, 46, 47, 48, -1, 50, + 72, 52, 53, -1, 55, 56, -1, -1, -1, 81, + 82, 83, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 72, -1, -1, -1, 0, 1, 99, 3, 4, + 81, 82, 83, -1, -1, -1, -1, -1, -1, -1, + -1, 182, -1, -1, -1, -1, -1, -1, 99, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 33, -1, + -1, -1, 182, 38, 39, -1, 41, 42, 43, 44, + 45, 46, 47, 48, -1, 50, 51, 52, 53, 54, + 55, 56, -1, -1, -1, 60, 61, 62, 63, 64, + 65, 66, -1, 68, 69, 70, 71, 72, 44, 74, + 75, -1, -1, -1, -1, 80, 81, 82, 83, -1, + 182, -1, -1, 88, -1, 90, -1, 92, 93, 94, + 95, 96, 97, 98, 99, 100, 101, -1, -1, -1, + -1, 182, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 124, + 125, 126, 127, 128, 129, 130, 131, -1, -1, -1, + 106, 107, 108, -1, -1, -1, -1, -1, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 4, -1, + -1, -1, -1, -1, -1, -1, 132, 133, 134, 135, + 136, 137, 138, 139, 140, 141, -1, 143, 144, 145, + 146, 147, 148, -1, -1, -1, -1, 33, -1, -1, + -1, -1, 38, 39, -1, 41, 42, 43, 44, 45, + 46, 47, 48, -1, 50, 51, 52, 53, 54, 55, + 56, -1, -1, -1, 60, 61, 62, 63, 64, 65, + 66, -1, 68, 69, 70, 71, 72, -1, 74, 75, + -1, -1, -1, -1, 80, 81, 82, 83, -1, -1, + -1, -1, 88, -1, 90, -1, 92, 93, 94, 95, + 96, 97, 98, 99, 100, 101, 41, 42, 43, 44, + 45, 46, 47, 48, -1, 50, -1, 52, 53, -1, + 55, 56, 153, 154, 155, 156, 157, -1, 159, 160, + 161, 162, 163, 164, 165, 166, 167, 72, -1, -1, + -1, -1, 173, -1, -1, -1, 81, 82, 83, 180, + -1, 182, -1, -1, -1, -1, -1, -1, -1, 153, + 154, 155, 156, 157, 99, 159, 160, 161, 162, 163, + 164, 165, 166, 167, -1, -1, -1, -1, -1, 173, + -1, -1, -1, -1, -1, -1, 180, -1, 182, 153, + 154, 155, 156, 157, -1, 159, 160, 161, 162, 163, + 164, 165, 166, 167, -1, -1, -1, -1, -1, 173, + -1, -1, -1, -1, -1, -1, 180, -1, 182, 153, + 154, 155, 156, 157, -1, 159, 160, 161, 162, 163, + 164, 165, 166, 167, -1, -1, -1, -1, -1, 173, + -1, -1, -1, 153, 154, 155, 156, 157, 182, 159, + 160, 161, 162, 163, 164, 165, 166, 167, -1, -1, + -1, -1, -1, 173, -1, -1, -1, 153, 154, 155, + 156, 157, 182, 159, 160, 161, 162, 163, 164, 165, + 166, 167, -1, -1, -1, -1, -1, 173, -1, -1, + -1, 153, 154, 155, 156, 157, 182, 159, 160, 161, + 162, 163, 164, 165, 166, 167, -1, -1, -1, -1, + -1, 173, -1, -1, -1, 153, 154, 155, 156, 157, + 182, 159, 160, 161, 162, 163, 164, 165, 166, 167, + -1, -1, -1, -1, -1, 173, -1, -1, -1, 153, + 154, 155, 156, 157, 182, 159, 160, 161, 162, 163, + 164, 165, 166, 167, -1, -1, -1, -1, -1, 173, + -1, -1, -1, 153, 154, 155, 156, 157, 182, 159, + 160, 161, 162, 163, 164, 165, 166, 167, -1, -1, + -1, -1, -1, 173, -1, -1, -1, 153, 154, 155, + 156, 157, 182, 159, 160, 161, 162, 163, 164, 165, + 166, 167, -1, -1, -1, -1, -1, 173, -1, -1, + -1, 153, 154, 155, 156, 157, 182, 159, 160, 161, + 162, 163, 164, 165, 166, 167, -1, -1, -1, -1, + -1, 173, -1, -1, -1, 153, 154, 155, 156, 157, + 182, 159, 160, 161, 162, 163, 164, 165, 166, 167, + -1, -1, -1, -1, -1, 173, -1, -1, -1, 153, + 154, 155, 156, 157, 182, 159, 160, 161, 162, 163, + 164, 165, 166, 167, -1, -1, -1, -1, -1, 173, + -1, -1, -1, 153, 154, 155, 156, 157, 182, 159, + 160, 161, 162, 163, 164, 165, 166, 167, -1, -1, + -1, -1, -1, 173, -1, -1, -1, 153, 154, 155, + 156, 157, 182, 159, 160, 161, 162, 163, 164, 165, + 166, 167, -1, -1, -1, -1, -1, 173, -1, -1, + -1, 153, 154, 155, 156, 157, 182, 159, 160, 161, + 162, 163, 164, 165, 166, 167, -1, -1, -1, -1, + -1, 173, -1, -1, -1, 153, 154, 155, 156, 157, + 182, 159, 160, 161, 162, 163, 164, 165, 166, 167, + -1, -1, -1, -1, -1, 173, -1, -1, -1, 153, + 154, 155, 156, 157, 182, 159, 160, 161, 162, 163, + 164, 165, 166, 167, -1, -1, -1, -1, -1, 173, + -1, -1, -1, 153, 154, 155, 156, 157, 182, 159, + 160, 161, 162, 163, 164, 165, 166, 167, -1, -1, + -1, -1, -1, 173, -1, -1, -1, 153, 154, 155, + 156, 157, 182, 159, 160, 161, 162, 163, 164, 165, + 166, 167, -1, -1, -1, -1, -1, 173, -1, -1, + -1, 153, 154, 155, 156, 157, 182, 159, 160, 161, + 162, 163, 164, 165, 166, 167, -1, -1, -1, -1, + -1, 173, -1, -1, -1, 153, 154, 155, 156, 157, + 182, 159, 160, 161, 162, 163, 164, 165, 166, 167, + -1, -1, -1, -1, -1, 173, -1, -1, -1, 153, + 154, 155, 156, 157, 182, 159, 160, 161, 162, 163, + 164, 165, 166, 167, -1, -1, -1, -1, -1, 173, + -1, 175, -1, -1, -1, -1, 180, 153, 154, 155, + 156, 157, -1, 159, 160, 161, 162, 163, 164, 165, + 166, 167, -1, -1, -1, -1, -1, 173, -1, 153, + 154, 155, 156, 157, 180, 159, 160, 161, 162, 163, + 164, 165, 166, 167, -1, -1, -1, -1, -1, 173, + -1, 153, 154, 155, 156, 157, 180, 159, 160, 161, + 162, 163, 164, 165, 166, 167, -1, -1, -1, -1, + -1, 173, -1, 153, 154, 155, 156, 157, 180, 159, + 160, 161, 162, 163, 164, 165, 166, 167, -1, -1, + -1, -1, -1, 173, -1, 153, 154, 155, 156, 157, + 180, 159, 160, 161, 162, 163, 164, 165, 166, 167, + -1, -1, -1, -1, -1, 173, -1, 153, 154, 155, + 156, 157, 180, 159, 160, 161, 162, 163, 164, 165, + 166, 167, -1, -1, -1, -1, -1, 173, -1, 153, + 154, 155, 156, 157, 180, 159, 160, 161, 162, 163, + 164, 165, 166, 167, -1, -1, -1, -1, -1, 173, + -1, 153, 154, 155, 156, 157, 180, 159, 160, 161, + 162, 163, 164, 165, 166, 167, -1, -1, -1, -1, + -1, 173, -1, 153, 154, 155, 156, 157, 180, 159, + 160, 161, 162, 163, 164, 165, 166, 167, -1, -1, + -1, -1, -1, 173, -1, 153, 154, 155, 156, 157, + 180, 159, 160, 161, 162, 163, 164, 165, 166, 167, + -1, -1, -1, -1, -1, 173, -1, 153, 154, 155, + 156, 157, 180, 159, 160, 161, 162, 163, 164, 165, + 166, 167, -1, -1, -1, -1, -1, 173, -1, 153, + 154, 155, 156, 157, 180, 159, 160, 161, 162, 163, + 164, 165, 166, 167, -1, -1, -1, -1, -1, 173, + -1, 153, 154, 155, 156, 157, 180, 159, 160, 161, + 162, 163, 164, 165, 166, 167, -1, -1, -1, -1, + -1, 173, -1, 153, 154, 155, 156, 157, 180, 159, + 160, 161, 162, 163, 164, 165, 166, 167, -1, -1, + -1, -1, -1, 173, -1, 153, 154, 155, 156, 157, + 180, 159, 160, 161, 162, 163, 164, 165, 166, 167, + -1, -1, -1, -1, -1, 173, -1, 153, 154, 155, + 156, 157, 180, 159, 160, 161, 162, 163, 164, 165, + 166, 167, -1, -1, -1, -1, -1, 173, -1, 153, + 154, 155, 156, 157, 180, 159, 160, 161, 162, 163, + 164, 165, 166, 167, -1, -1, -1, -1, -1, 173, + -1, 153, 154, 155, 156, 157, 180, 159, 160, 161, + 162, 163, 164, 165, 166, 167, -1, -1, -1, -1, + -1, 173, -1, 153, 154, 155, 156, 157, 180, 159, + 160, 161, 162, 163, 164, 165, 166, 167, -1, -1, + -1, -1, -1, 173, -1, 153, 154, 155, 156, 157, + 180, 159, 160, 161, 162, 163, 164, 165, 166, 167, + -1, -1, -1, -1, -1, 173, -1, 153, 154, 155, + 156, 157, 180, 159, 160, 161, 162, 163, 164, 165, + 166, 167, -1, -1, -1, -1, -1, 173, -1, 153, + 154, 155, 156, 157, 180, 159, 160, 161, 162, 163, + 164, 165, 166, 167, -1, -1, -1, -1, -1, 173, + -1, 153, 154, 155, 156, 157, 180, 159, 160, 161, + 162, 163, 164, 165, 166, 167, -1, -1, -1, -1, + -1, 173, -1, 153, 154, 155, 156, 157, 180, 159, + 160, 161, 162, 163, 164, 165, 166, 167, -1, -1, + -1, -1, -1, 173, -1, 153, 154, 155, 156, 157, + 180, 159, 160, 161, 162, 163, 164, 165, 166, 167, + -1, -1, -1, -1, -1, 173, -1, 153, 154, 155, + 156, 157, 180, 159, 160, 161, 162, 163, 164, 165, + 166, 167, -1, -1, -1, -1, -1, 173, -1, 153, + 154, 155, 156, 157, 180, 159, 160, 161, 162, 163, + 164, 165, 166, 167, -1, -1, -1, -1, -1, 173, + -1, 153, 154, 155, 156, 157, 180, 159, 160, 161, + 162, 163, 164, 165, 166, 167, -1, -1, -1, -1, + -1, 173, -1, 153, 154, 155, 156, 157, 180, 159, + 160, 161, 162, 163, 164, 165, 166, 167, -1, -1, + -1, -1, -1, 173, -1, 153, 154, 155, 156, 157, + 180, 159, 160, 161, 162, 163, 164, 165, 166, 167, + -1, -1, -1, -1, -1, 173, -1, 153, 154, 155, + 156, 157, 180, 159, 160, 161, 162, 163, 164, 165, + 166, 167, -1, -1, -1, -1, -1, 173, -1, 153, + 154, 155, 156, 157, 180, 159, 160, 161, 162, 163, + 164, 165, 166, 167, -1, -1, -1, -1, -1, 173, + -1, 153, 154, 155, 156, 157, 180, 159, 160, 161, + 162, 163, 164, 165, 166, 167, -1, -1, -1, -1, + -1, 173, -1, 153, 154, 155, 156, 157, 180, 159, + 160, 161, 162, 163, 164, 165, 166, 167, -1, -1, + -1, -1, -1, 173, -1, 153, 154, 155, 156, 157, + 180, 159, 160, 161, 162, 163, 164, 165, 166, 167, + -1, -1, -1, -1, -1, 173, -1, 153, 154, 155, + 156, 157, 180, 159, 160, 161, 162, 163, 164, 165, + 166, 167, -1, -1, -1, -1, -1, 173, -1, 153, + 154, 155, 156, 157, 180, 159, 160, 161, 162, 163, + 164, 165, 166, 167, -1, -1, -1, -1, -1, 173, + -1, 153, 154, 155, 156, 157, 180, 159, 160, 161, + 162, 163, 164, 165, 166, 167, -1, -1, -1, -1, + -1, 173, -1, 153, 154, 155, 156, 157, 180, 159, + 160, 161, 162, 163, 164, 165, 166, 167, -1, -1, + -1, -1, -1, 173, -1, 153, 154, 155, 156, 157, + 180, 159, 160, 161, 162, 163, 164, 165, 166, 167, + -1, -1, -1, -1, -1, 173, -1, 153, 154, 155, + 156, 157, 180, 159, 160, 161, 162, 163, 164, 165, + 166, 167, -1, -1, -1, -1, -1, 173, -1, 153, + 154, 155, 156, 157, 180, 159, 160, 161, 162, 163, + 164, 165, 166, 167, -1, -1, -1, -1, -1, 173, + -1, 153, 154, 155, 156, 157, 180, 159, 160, 161, + 162, 163, 164, 165, 166, 167, -1, -1, -1, -1, + -1, 173, -1, 153, 154, 155, 156, 157, 180, 159, + 160, 161, 162, 163, 164, 165, 166, 167, -1, -1, + -1, -1, -1, 173, -1, -1, -1, 177, 153, 154, + 155, 156, 157, -1, 159, 160, 161, 162, 163, 164, + 165, 166, 167, -1, -1, -1, -1, -1, 173, -1, + -1, -1, 177, 153, 154, 155, 156, 157, -1, 159, + 160, 161, 162, 163, 164, 165, 166, 167, -1, -1, + -1, -1, -1, 173, -1, -1, -1, 177, 153, 154, + 155, 156, 157, -1, 159, 160, 161, 162, 163, 164, + 165, 166, 167, -1, -1, -1, -1, -1, 173, -1, + -1, -1, 177, 153, 154, 155, 156, 157, -1, 159, + 160, 161, 162, 163, 164, 165, 166, 167, -1, -1, + -1, -1, -1, 173, -1, -1, -1, 177, 153, 154, + 155, 156, 157, -1, 159, 160, 161, 162, 163, 164, + 165, 166, 167, -1, -1, -1, -1, -1, 173, -1, + -1, -1, 177, 153, 154, 155, 156, 157, -1, 159, + 160, 161, 162, 163, 164, 165, 166, 167, -1, -1, + -1, -1, -1, 173, -1, -1, -1, 177, 153, 154, + 155, 156, 157, -1, 159, 160, 161, 162, 163, 164, + 165, 166, 167, -1, -1, -1, -1, -1, 173, -1, + -1, -1, 177, 153, 154, 155, 156, 157, -1, 159, + 160, 161, 162, 163, 164, 165, 166, 167, -1, -1, + -1, -1, -1, 173, -1, -1, -1, 177, 153, 154, + 155, 156, 157, -1, 159, 160, 161, 162, 163, 164, + 165, 166, 167, -1, -1, -1, -1, -1, 173, -1, + -1, -1, 177, 153, 154, 155, 156, 157, -1, 159, + 160, 161, 162, 163, 164, 165, 166, 167, -1, -1, + -1, -1, -1, 173, -1, -1, -1, 177, 153, 154, + 155, 156, 157, -1, 159, 160, 161, 162, 163, 164, + 165, 166, 167, -1, -1, -1, -1, -1, 173, -1, + -1, -1, 177, 153, 154, 155, 156, 157, -1, 159, + 160, 161, 162, 163, 164, 165, 166, 167, -1, -1, + -1, -1, -1, 173, -1, -1, -1, 177, 153, 154, + 155, 156, 157, -1, 159, 160, 161, 162, 163, 164, + 165, 166, 167, -1, -1, -1, -1, -1, 173, -1, + -1, -1, 177, 153, 154, 155, 156, 157, -1, 159, + 160, 161, 162, 163, 164, 165, 166, 167, -1, -1, + -1, -1, -1, 173, -1, -1, -1, 177, 153, 154, + 155, 156, 157, -1, 159, 160, 161, 162, 163, 164, + 165, 166, 167, -1, -1, -1, -1, -1, 173, -1, + -1, -1, 177, 153, 154, 155, 156, 157, -1, 159, + 160, 161, 162, 163, 164, 165, 166, 167, -1, -1, + -1, -1, -1, 173, -1, -1, -1, 177, 153, 154, + 155, 156, 157, -1, 159, 160, 161, 162, 163, 164, + 165, 166, 167, -1, -1, -1, -1, -1, 173, -1, + -1, -1, 177, 153, 154, 155, 156, 157, -1, 159, + 160, 161, 162, 163, 164, 165, 166, 167, -1, -1, + -1, -1, -1, 173, -1, -1, -1, 177, 153, 154, + 155, 156, 157, -1, 159, 160, 161, 162, 163, 164, + 165, 166, 167, -1, -1, -1, -1, -1, 173, -1, + -1, -1, 177, 153, 154, 155, 156, 157, -1, 159, + 160, 161, 162, 163, 164, 165, 166, 167, -1, -1, + -1, -1, -1, 173, -1, -1, -1, 177, 153, 154, + 155, 156, 157, -1, 159, 160, 161, 162, 163, 164, + 165, 166, 167, -1, -1, -1, -1, -1, 173, -1, + -1, -1, 177, 153, 154, 155, 156, 157, -1, 159, + 160, 161, 162, 163, 164, 165, 166, 167, -1, -1, + -1, -1, -1, 173, -1, -1, -1, 177, 153, 154, + 155, 156, 157, -1, 159, 160, 161, 162, 163, 164, + 165, 166, 167, -1, -1, -1, -1, -1, 173, -1, + -1, -1, 177, 153, 154, 155, 156, 157, -1, 159, + 160, 161, 162, 163, 164, 165, 166, 167, -1, -1, + -1, -1, -1, 173, -1, -1, -1, 177, 153, 154, + 155, 156, 157, -1, 159, 160, 161, 162, 163, 164, + 165, 166, 167, -1, -1, -1, -1, -1, 173, -1, + -1, -1, 177, 153, 154, 155, 156, 157, -1, 159, + 160, 161, 162, 163, 164, 165, 166, 167, -1, -1, + -1, -1, -1, 173, -1, -1, -1, 177, 153, 154, + 155, 156, 157, -1, 159, 160, 161, 162, 163, 164, + 165, 166, 167, -1, -1, -1, -1, -1, 173, -1, + -1, -1, 177, 153, 154, 155, 156, 157, -1, 159, + 160, 161, 162, 163, 164, 165, 166, 167, -1, -1, + -1, -1, -1, 173, -1, -1, -1, 177, 153, 154, + 155, 156, 157, -1, 159, 160, 161, 162, 163, 164, + 165, 166, 167, -1, -1, -1, -1, -1, 173, -1, + -1, -1, 177, 153, 154, 155, 156, 157, -1, 159, + 160, 161, 162, 163, 164, 165, 166, 167, -1, -1, + -1, -1, -1, 173, -1, 175, 153, 154, 155, 156, + 157, -1, 159, 160, 161, 162, 163, 164, 165, 166, + 167, -1, -1, -1, -1, -1, 173, -1, 175, 153, + 154, 155, 156, 157, -1, 159, 160, 161, 162, 163, + 164, 165, 166, 167, -1, -1, -1, -1, -1, 173, + -1, 175, 153, 154, 155, 156, 157, -1, 159, 160, + 161, 162, 163, 164, 165, 166, 167, -1, -1, -1, + -1, -1, 173, -1, 175, 153, 154, 155, 156, 157, + -1, 159, 160, 161, 162, 163, 164, 165, 166, 167, + -1, -1, -1, -1, -1, 173, -1, 175, 153, 154, + 155, 156, 157, -1, 159, 160, 161, 162, 163, 164, + 165, 166, 167, -1, -1, -1, -1, -1, 173, -1, + 175, 153, 154, 155, 156, 157, -1, 159, 160, 161, + 162, 163, 164, 165, 166, 167, -1, -1, -1, -1, + -1, 173, -1, 175, 153, 154, 155, 156, 157, -1, + 159, 160, 161, 162, 163, 164, 165, 166, 167, -1, + -1, -1, -1, -1, 173, -1, 175, 153, 154, 155, + 156, 157, -1, 159, 160, 161, 162, 163, 164, 165, + 166, 167, -1, -1, -1, -1, -1, 173, -1, 175, + 153, 154, 155, 156, 157, -1, 159, 160, 161, 162, + 163, 164, 165, 166, 167, -1, -1, -1, -1, -1, + 173, -1, 175, 153, 154, 155, 156, 157, -1, 159, + 160, 161, 162, 163, 164, 165, 166, 167, -1, -1, + -1, -1, -1, 173, -1, 175, 153, 154, 155, 156, + 157, -1, 159, 160, 161, 162, 163, 164, 165, 166, + 167, -1, -1, -1, -1, -1, 173, -1, 175, 153, + 154, 155, 156, 157, -1, 159, 160, 161, 162, 163, + 164, 165, 166, 167, -1, -1, -1, -1, -1, 173, + -1, 175, 153, 154, 155, 156, 157, -1, 159, 160, + 161, 162, 163, 164, 165, 166, 167, -1, -1, -1, + -1, -1, 173, -1, 175, 153, 154, 155, 156, 157, + -1, 159, 160, 161, 162, 163, 164, 165, 166, 167, + -1, -1, -1, -1, -1, 173, -1, 175, 153, 154, + 155, 156, 157, -1, 159, 160, 161, 162, 163, 164, + 165, 166, 167, -1, -1, -1, -1, -1, 173, -1, + 175, 153, 154, 155, 156, 157, -1, 159, 160, 161, + 162, 163, 164, 165, 166, 167, -1, -1, -1, -1, + -1, 173, -1, 175, 153, 154, 155, 156, 157, -1, + 159, 160, 161, 162, 163, 164, 165, 166, 167, -1, + -1, -1, -1, -1, 173, -1, 175, 153, 154, 155, + 156, 157, -1, 159, 160, 161, 162, 163, 164, 165, + 166, 167, -1, -1, -1, -1, -1, 173, -1, 175, + 153, 154, 155, 156, 157, -1, 159, 160, 161, 162, + 163, 164, 165, 166, 167, -1, -1, -1, -1, -1, + 173, -1, 175, 153, 154, 155, 156, 157, -1, 159, + 160, 161, 162, 163, 164, 165, 166, 167, -1, -1, + -1, -1, -1, 173, -1, 175, 153, 154, 155, 156, + 157, -1, 159, 160, 161, 162, 163, 164, 165, 166, + 167, -1, -1, -1, -1, -1, 173, -1, 175, 153, + 154, 155, 156, 157, -1, 159, 160, 161, 162, 163, + 164, 165, 166, 167, -1, -1, -1, -1, -1, 173, + -1, 175, 153, 154, 155, 156, 157, -1, 159, 160, + 161, 162, 163, 164, 165, 166, 167, -1, -1, -1, + -1, -1, 173, -1, 175, 153, 154, 155, 156, 157, + -1, 159, 160, 161, 162, 163, 164, 165, 166, 167, + -1, -1, -1, -1, -1, 173, -1, 175, 153, 154, + 155, 156, 157, -1, 159, 160, 161, 162, 163, 164, + 165, 166, 167, -1, -1, -1, -1, -1, 173, -1, + 175, 153, 154, 155, 156, 157, -1, 159, 160, 161, + 162, 163, 164, 165, 166, 167, -1, -1, -1, -1, + -1, 173, -1, 175, 153, 154, 155, 156, 157, -1, + 159, 160, 161, 162, 163, 164, 165, 166, 167, -1, + -1, -1, -1, -1, 173, -1, 175, 153, 154, 155, + 156, 157, -1, 159, 160, 161, 162, 163, 164, 165, + 166, 167, -1, -1, -1, -1, -1, 173, -1, 175, + 153, 154, 155, 156, 157, -1, 159, 160, 161, 162, + 163, 164, 165, 166, 167, -1, -1, -1, -1, -1, + 173, -1, 175, 153, 154, 155, 156, 157, -1, 159, + 160, 161, 162, 163, 164, 165, 166, 167, -1, -1, + -1, -1, -1, 173, -1, 175, 153, 154, 155, 156, + 157, -1, 159, 160, 161, 162, 163, 164, 165, 166, + 167, -1, -1, -1, -1, -1, 173, -1, 175, 153, + 154, 155, 156, 157, -1, 159, 160, 161, 162, 163, + 164, 165, 166, 167, -1, -1, -1, -1, -1, 173, + -1, 175, 153, 154, 155, 156, 157, -1, 159, 160, + 161, 162, 163, 164, 165, 166, 167, -1, -1, -1, + -1, -1, 173, -1, 175, 153, 154, 155, 156, 157, + -1, 159, 160, 161, 162, 163, 164, 165, 166, 167, + -1, -1, -1, -1, -1, 173, -1, 175, 153, 154, + 155, 156, 157, -1, 159, 160, 161, 162, 163, 164, + 165, 166, 167, -1, -1, -1, -1, -1, 173, -1, + 175, 153, 154, 155, 156, 157, -1, 159, 160, 161, + 162, 163, 164, 165, 166, 167, -1, -1, -1, -1, + -1, 173, -1, 175, 153, 154, 155, 156, 157, -1, + 159, 160, 161, 162, 163, 164, 165, 166, 167, -1, + -1, -1, -1, -1, 173, -1, 175, 153, 154, 155, + 156, 157, -1, 159, 160, 161, 162, 163, 164, 165, + 166, 167, -1, -1, -1, -1, -1, 173, -1, 175, + 153, 154, 155, 156, 157, -1, 159, 160, 161, 162, + 163, 164, 165, 166, 167, -1, -1, -1, -1, -1, + 173, -1, 175, 153, 154, 155, 156, 157, -1, 159, + 160, 161, 162, 163, 164, 165, 166, 167, -1, -1, + -1, -1, -1, 173, -1, 175, 153, 154, 155, 156, + 157, -1, 159, 160, 161, 162, 163, 164, 165, 166, + 167, -1, -1, -1, -1, -1, 173, -1, 175, 153, + 154, 155, 156, 157, -1, 159, 160, 161, 162, 163, + 164, 165, 166, 167, -1, -1, -1, -1, -1, 173, + -1, 175, 153, 154, 155, 156, 157, -1, 159, 160, + 161, 162, 163, 164, 165, 166, 167, -1, -1, -1, + -1, -1, 173, -1, 175, 153, 154, 155, 156, 157, + -1, 159, 160, 161, 162, 163, 164, 165, 166, 167, + -1, -1, -1, -1, -1, 173, -1, 175, 153, 154, + 155, 156, 157, -1, 159, 160, 161, 162, 163, 164, + 165, 166, 167, -1, -1, -1, -1, -1, 173, -1, + 175, 153, 154, 155, 156, 157, -1, 159, 160, 161, + 162, 163, 164, 165, 166, 167, -1, -1, -1, -1, + -1, 173, -1, 175, 153, 154, 155, 156, 157, -1, + 159, 160, 161, 162, 163, 164, 165, 166, 167, -1, + -1, -1, -1, -1, 173, -1, 175, 153, 154, 155, + 156, 157, -1, 159, 160, 161, 162, 163, 164, 165, + 166, 167, -1, -1, -1, -1, -1, 173, -1, 175, + 153, 154, 155, 156, 157, -1, 159, 160, 161, 162, + 163, 164, 165, 166, 167, -1, -1, -1, -1, -1, + 173, -1, 175, 153, 154, 155, 156, 157, -1, 159, + 160, 161, 162, 163, 164, 165, 166, 167, -1, -1, + -1, -1, -1, 173, -1, 175, 153, 154, 155, 156, + 157, -1, 159, 160, 161, 162, 163, 164, 165, 166, + 167, -1, -1, -1, -1, -1, 173, -1, 175, 153, + 154, 155, 156, 157, -1, 159, 160, 161, 162, 163, + 164, 165, 166, 167, -1, -1, -1, -1, -1, 173, + -1, 175, 153, 154, 155, 156, 157, -1, 159, 160, + 161, 162, 163, 164, 165, 166, 167, -1, -1, -1, + -1, -1, 173, -1, 175, 153, 154, 155, 156, 157, + -1, 159, 160, 161, 162, 163, 164, 165, 166, 167, + -1, -1, -1, -1, -1, 173, -1, 175, 153, 154, + 155, 156, 157, -1, 159, 160, 161, 162, 163, 164, + 165, 166, 167, -1, -1, -1, -1, -1, 173, -1, + 175 }; +/* -*-C-*- Note some compilers choke on comments on `#line' lines. */ +#line 3 "/usr/share/bison.simple" +/* This file comes from bison-1.28. */ -#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__) -# define YYSIZE_T __SIZE_TYPE__ -#endif -#if ! defined (YYSIZE_T) && defined (size_t) -# define YYSIZE_T size_t +/* Skeleton output parser for bison, + Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +/* As a special exception, when this file is copied by Bison into a + Bison output file, you may use that output file without restriction. + This special exception was added by the Free Software Foundation + in version 1.24 of Bison. */ + +/* This is the parser code that is written into each bison parser + when the %semantic_parser declaration is not specified in the grammar. + It was written by Richard Stallman by simplifying the hairy parser + used when %semantic_parser is specified. */ + +#ifndef YYSTACK_USE_ALLOCA +#ifdef alloca +#define YYSTACK_USE_ALLOCA +#else /* alloca not defined */ +#ifdef __GNUC__ +#define YYSTACK_USE_ALLOCA +#define alloca __builtin_alloca +#else /* not GNU C. */ +#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi) || (defined (__sun) && defined (__i386)) +#define YYSTACK_USE_ALLOCA +#include <alloca.h> +#else /* not sparc */ +/* We think this test detects Watcom and Microsoft C. */ +/* This used to test MSDOS, but that is a bad idea + since that symbol is in the user namespace. */ +#if (defined (_MSDOS) || defined (_MSDOS_)) && !defined (__TURBOC__) +#if 0 /* No need for malloc.h, which pollutes the namespace; + instead, just don't use alloca. */ +#include <malloc.h> #endif -#if ! defined (YYSIZE_T) -# if defined (__STDC__) || defined (__cplusplus) -# include <stddef.h> /* INFRINGES ON USER NAME SPACE */ -# define YYSIZE_T size_t -# endif +#else /* not MSDOS, or __TURBOC__ */ +#if defined(_AIX) +/* I don't know what this was needed for, but it pollutes the namespace. + So I turned it off. rms, 2 May 1997. */ +/* #include <malloc.h> */ + #pragma alloca +#define YYSTACK_USE_ALLOCA +#else /* not MSDOS, or __TURBOC__, or _AIX */ +#if 0 +#ifdef __hpux /* haible@ilog.fr says this works for HPUX 9.05 and up, + and on HPUX 10. Eventually we can turn this on. */ +#define YYSTACK_USE_ALLOCA +#define alloca __builtin_alloca +#endif /* __hpux */ #endif -#if ! defined (YYSIZE_T) -# define YYSIZE_T unsigned int +#endif /* not _AIX */ +#endif /* not MSDOS, or __TURBOC__ */ +#endif /* not sparc */ +#endif /* not GNU C */ +#endif /* alloca not defined */ +#endif /* YYSTACK_USE_ALLOCA not defined */ + +#ifdef YYSTACK_USE_ALLOCA +#define YYSTACK_ALLOC alloca +#else +#define YYSTACK_ALLOC malloc #endif +/* Note: there must be only one dollar sign in this file. + It is replaced by the list of actions, each action + as one case of the switch. */ + #define yyerrok (yyerrstatus = 0) #define yyclearin (yychar = YYEMPTY) -#define YYEMPTY (-2) +#define YYEMPTY -2 #define YYEOF 0 - #define YYACCEPT goto yyacceptlab -#define YYABORT goto yyabortlab +#define YYABORT goto yyabortlab #define YYERROR goto yyerrlab1 - -/* Like YYERROR except do call yyerror. This remains here temporarily - to ease the transition to the new meaning of YYERROR, for GCC. +/* Like YYERROR except do call yyerror. + This remains here temporarily to ease the + transition to the new meaning of YYERROR, for GCC. Once GCC version 2 has supplanted version 1, this can go. */ - #define YYFAIL goto yyerrlab - #define YYRECOVERING() (!!yyerrstatus) - -#define YYBACKUP(Token, Value) \ +#define YYBACKUP(token, value) \ do \ if (yychar == YYEMPTY && yylen == 1) \ - { \ - yychar = (Token); \ - yylval = (Value); \ - yytoken = YYTRANSLATE (yychar); \ + { yychar = (token), yylval = (value); \ + yychar1 = YYTRANSLATE (yychar); \ YYPOPSTACK; \ goto yybackup; \ } \ else \ - { \ - yyerror ("syntax error: cannot back up");\ - YYERROR; \ - } \ + { yyerror ("syntax error: cannot back up"); YYERROR; } \ while (0) #define YYTERROR 1 #define YYERRCODE 256 -/* YYLLOC_DEFAULT -- Compute the default location (before the actions - are run). */ - -#ifndef YYLLOC_DEFAULT -# define YYLLOC_DEFAULT(Current, Rhs, N) \ - Current.first_line = Rhs[1].first_line; \ - Current.first_column = Rhs[1].first_column; \ - Current.last_line = Rhs[N].last_line; \ - Current.last_column = Rhs[N].last_column; +#ifndef YYPURE +#define YYLEX yylex() #endif -/* YYLEX -- calling `yylex' with the right arguments. */ - +#ifdef YYPURE +#ifdef YYLSP_NEEDED #ifdef YYLEX_PARAM -# define YYLEX yylex (YYLEX_PARAM) +#define YYLEX yylex(&yylval, &yylloc, YYLEX_PARAM) #else -# define YYLEX yylex () +#define YYLEX yylex(&yylval, &yylloc) #endif - -/* Enable debugging if requested. */ -#if YYDEBUG - -# ifndef YYFPRINTF -# include <stdio.h> /* INFRINGES ON USER NAME SPACE */ -# define YYFPRINTF fprintf -# endif - -# define YYDPRINTF(Args) \ -do { \ - if (yydebug) \ - YYFPRINTF Args; \ -} while (0) - -# define YYDSYMPRINT(Args) \ -do { \ - if (yydebug) \ - yysymprint Args; \ -} while (0) - -# define YYDSYMPRINTF(Title, Token, Value, Location) \ -do { \ - if (yydebug) \ - { \ - YYFPRINTF (stderr, "%s ", Title); \ - yysymprint (stderr, \ - Token, Value); \ - YYFPRINTF (stderr, "\n"); \ - } \ -} while (0) - -/*------------------------------------------------------------------. -| yy_stack_print -- Print the state stack from its BOTTOM up to its | -| TOP (cinluded). | -`------------------------------------------------------------------*/ - -#if defined (__STDC__) || defined (__cplusplus) -static void -yy_stack_print (short *bottom, short *top) +#else /* not YYLSP_NEEDED */ +#ifdef YYLEX_PARAM +#define YYLEX yylex(&yylval, YYLEX_PARAM) #else -static void -yy_stack_print (bottom, top) - short *bottom; - short *top; +#define YYLEX yylex(&yylval) +#endif +#endif /* not YYLSP_NEEDED */ #endif -{ - YYFPRINTF (stderr, "Stack now"); - for (/* Nothing. */; bottom <= top; ++bottom) - YYFPRINTF (stderr, " %d", *bottom); - YYFPRINTF (stderr, "\n"); -} -# define YY_STACK_PRINT(Bottom, Top) \ -do { \ - if (yydebug) \ - yy_stack_print ((Bottom), (Top)); \ -} while (0) +/* If nonreentrant, generate the variables here */ +#ifndef YYPURE -/*------------------------------------------------. -| Report that the YYRULE is going to be reduced. | -`------------------------------------------------*/ +int yychar; /* the lookahead symbol */ +YYSTYPE yylval; /* the semantic value of the */ + /* lookahead symbol */ -#if defined (__STDC__) || defined (__cplusplus) -static void -yy_reduce_print (int yyrule) -#else -static void -yy_reduce_print (yyrule) - int yyrule; +#ifdef YYLSP_NEEDED +YYLTYPE yylloc; /* location data for the lookahead */ + /* symbol */ #endif -{ - int yyi; - unsigned int yylineno = yyrline[yyrule]; - YYFPRINTF (stderr, "Reducing stack by rule %d (line %u), ", - yyrule - 1, yylineno); - /* Print the symbols being reduced, and their result. */ - for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++) - YYFPRINTF (stderr, "%s ", yytname [yyrhs[yyi]]); - YYFPRINTF (stderr, "-> %s\n", yytname [yyr1[yyrule]]); -} -# define YY_REDUCE_PRINT(Rule) \ -do { \ - if (yydebug) \ - yy_reduce_print (Rule); \ -} while (0) - -/* Nonzero means print parse trace. It is left uninitialized so that - multiple parsers can coexist. */ -int yydebug; -#else /* !YYDEBUG */ -# define YYDPRINTF(Args) -# define YYDSYMPRINT(Args) -# define YYDSYMPRINTF(Title, Token, Value, Location) -# define YY_STACK_PRINT(Bottom, Top) -# define YY_REDUCE_PRINT(Rule) -#endif /* !YYDEBUG */ - - -/* YYINITDEPTH -- initial size of the parser's stacks. */ -#ifndef YYINITDEPTH -# define YYINITDEPTH 200 +int yynerrs; /* number of parse errors so far */ +#endif /* not YYPURE */ + +#if YYDEBUG != 0 +int yydebug; /* nonzero means print parse trace */ +/* Since this is uninitialized, it does not stop multiple parsers + from coexisting. */ #endif -/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only - if the built-in stack extension method is used). +/* YYINITDEPTH indicates the initial size of the parser's stacks */ - Do not make this value too large; the results are undefined if - SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH) - evaluated with infinite-precision integer arithmetic. */ +#ifndef YYINITDEPTH +#define YYINITDEPTH 200 +#endif + +/* YYMAXDEPTH is the maximum size the stacks can grow to + (effective only if the built-in stack extension method is used). */ #if YYMAXDEPTH == 0 -# undef YYMAXDEPTH +#undef YYMAXDEPTH #endif #ifndef YYMAXDEPTH -# define YYMAXDEPTH 10000 +#define YYMAXDEPTH 10000 #endif - - -#if YYERROR_VERBOSE - -# ifndef yystrlen -# if defined (__GLIBC__) && defined (_STRING_H) -# define yystrlen strlen -# else -/* Return the length of YYSTR. */ -static YYSIZE_T -# if defined (__STDC__) || defined (__cplusplus) -yystrlen (const char *yystr) -# else -yystrlen (yystr) - const char *yystr; -# endif +/* Define __yy_memcpy. Note that the size argument + should be passed with type unsigned int, because that is what the non-GCC + definitions require. With GCC, __builtin_memcpy takes an arg + of type size_t, but it can handle unsigned int. */ + +#if __GNUC__ > 1 /* GNU C and GNU C++ define this. */ +#define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT) +#else /* not GNU C or C++ */ +#ifndef __cplusplus + +/* This is the most reliable way to avoid incompatibilities + in available built-in functions on various systems. */ +static void +__yy_memcpy (to, from, count) + char *to; + char *from; + unsigned int count; { - register const char *yys = yystr; - - while (*yys++ != '\0') - continue; + register char *f = from; + register char *t = to; + register int i = count; - return yys - yystr - 1; -} -# endif -# endif - -# ifndef yystpcpy -# if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE) -# define yystpcpy stpcpy -# else -/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in - YYDEST. */ -static char * -# if defined (__STDC__) || defined (__cplusplus) -yystpcpy (char *yydest, const char *yysrc) -# else -yystpcpy (yydest, yysrc) - char *yydest; - const char *yysrc; -# endif -{ - register char *yyd = yydest; - register const char *yys = yysrc; - - while ((*yyd++ = *yys++) != '\0') - continue; - - return yyd - 1; + while (i-- > 0) + *t++ = *f++; } -# endif -# endif -#endif /* !YYERROR_VERBOSE */ - - +#else /* __cplusplus */ -#if YYDEBUG -/*--------------------------------. -| Print this symbol on YYOUTPUT. | -`--------------------------------*/ - -#if defined (__STDC__) || defined (__cplusplus) -static void -yysymprint (FILE *yyoutput, int yytype, YYSTYPE *yyvaluep) -#else +/* This is the most reliable way to avoid incompatibilities + in available built-in functions on various systems. */ static void -yysymprint (yyoutput, yytype, yyvaluep) - FILE *yyoutput; - int yytype; - YYSTYPE *yyvaluep; -#endif +__yy_memcpy (char *to, char *from, unsigned int count) { - /* Pacify ``unused variable'' warnings. */ - (void) yyvaluep; - - if (yytype < YYNTOKENS) - { - YYFPRINTF (yyoutput, "token %s (", yytname[yytype]); -# ifdef YYPRINT - YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); -# endif - } - else - YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]); + register char *t = to; + register char *f = from; + register int i = count; - switch (yytype) - { - default: - break; - } - YYFPRINTF (yyoutput, ")"); + while (i-- > 0) + *t++ = *f++; } -#endif /* ! YYDEBUG */ -/*-----------------------------------------------. -| Release the memory associated to this symbol. | -`-----------------------------------------------*/ - -#if defined (__STDC__) || defined (__cplusplus) -static void -yydestruct (int yytype, YYSTYPE *yyvaluep) -#else -static void -yydestruct (yytype, yyvaluep) - int yytype; - YYSTYPE *yyvaluep; #endif -{ - /* Pacify ``unused variable'' warnings. */ - (void) yyvaluep; - - switch (yytype) - { - - default: - break; - } -} +#endif +#line 217 "/usr/share/bison.simple" -/* Prevent warnings from -Wmissing-prototypes. */ +/* The user can define YYPARSE_PARAM as the name of an argument to be passed + into yyparse. The argument should have type void *. + It should actually point to an object. + Grammar actions can access the variable by casting it + to the proper pointer type. */ #ifdef YYPARSE_PARAM -# if defined (__STDC__) || defined (__cplusplus) -int yyparse (void *YYPARSE_PARAM); -# else -int yyparse (); -# endif -#else /* ! YYPARSE_PARAM */ -#if defined (__STDC__) || defined (__cplusplus) -int yyparse (void); -#else -int yyparse (); -#endif -#endif /* ! YYPARSE_PARAM */ - - - -/* The lookahead symbol. */ -int yychar; - -/* The semantic value of the lookahead symbol. */ -YYSTYPE yylval; - -/* Number of syntax errors so far. */ -int yynerrs; - - - -/*----------. -| yyparse. | -`----------*/ - +#ifdef __cplusplus +#define YYPARSE_PARAM_ARG void *YYPARSE_PARAM +#define YYPARSE_PARAM_DECL +#else /* not __cplusplus */ +#define YYPARSE_PARAM_ARG YYPARSE_PARAM +#define YYPARSE_PARAM_DECL void *YYPARSE_PARAM; +#endif /* not __cplusplus */ +#else /* not YYPARSE_PARAM */ +#define YYPARSE_PARAM_ARG +#define YYPARSE_PARAM_DECL +#endif /* not YYPARSE_PARAM */ + +/* Prevent warning if -Wstrict-prototypes. */ +#ifdef __GNUC__ #ifdef YYPARSE_PARAM -# if defined (__STDC__) || defined (__cplusplus) -int yyparse (void *YYPARSE_PARAM) -# else -int yyparse (YYPARSE_PARAM) - void *YYPARSE_PARAM; -# endif -#else /* ! YYPARSE_PARAM */ -#if defined (__STDC__) || defined (__cplusplus) -int -yyparse (void) +int yyparse (void *); #else -int -yyparse () - +int yyparse (void); #endif #endif + +int +yyparse(YYPARSE_PARAM_ARG) + YYPARSE_PARAM_DECL { - register int yystate; register int yyn; - int yyresult; - /* Number of tokens to shift before error messages enabled. */ - int yyerrstatus; - /* Lookahead token as an internal (translated) token number. */ - int yytoken = 0; - - /* Three stacks and their tools: - `yyss': related to states, - `yyvs': related to semantic values, - `yyls': related to locations. - - Refer to the stacks thru separate pointers, to allow yyoverflow - to reallocate them elsewhere. */ - - /* The state stack. */ - short yyssa[YYINITDEPTH]; - short *yyss = yyssa; register short *yyssp; - - /* The semantic value stack. */ - YYSTYPE yyvsa[YYINITDEPTH]; - YYSTYPE *yyvs = yyvsa; register YYSTYPE *yyvsp; + int yyerrstatus; /* number of tokens to shift before error messages enabled */ + int yychar1 = 0; /* lookahead token as an internal (translated) token number */ + short yyssa[YYINITDEPTH]; /* the state stack */ + YYSTYPE yyvsa[YYINITDEPTH]; /* the semantic value stack */ + short *yyss = yyssa; /* refer to the stacks thru separate pointers */ + YYSTYPE *yyvs = yyvsa; /* to allow yyoverflow to reallocate them elsewhere */ +#ifdef YYLSP_NEEDED + YYLTYPE yylsa[YYINITDEPTH]; /* the location stack */ + YYLTYPE *yyls = yylsa; + YYLTYPE *yylsp; + +#define YYPOPSTACK (yyvsp--, yyssp--, yylsp--) +#else #define YYPOPSTACK (yyvsp--, yyssp--) +#endif - YYSIZE_T yystacksize = YYINITDEPTH; + int yystacksize = YYINITDEPTH; + int yyfree_stacks = 0; - /* The variables used to return semantic value and location from the - action routines. */ - YYSTYPE yyval; +#ifdef YYPURE + int yychar; + YYSTYPE yylval; + int yynerrs; +#ifdef YYLSP_NEEDED + YYLTYPE yylloc; +#endif +#endif + YYSTYPE yyval; /* the variable used to return */ + /* semantic values from the action */ + /* routines */ - /* When reducing, the number of symbols on the RHS of the reduced - rule. */ int yylen; - YYDPRINTF ((stderr, "Starting parse\n")); +#if YYDEBUG != 0 + if (yydebug) + fprintf(stderr, "Starting parse\n"); +#endif yystate = 0; yyerrstatus = 0; @@ -3335,96 +2670,110 @@ yyparse () so that they stay on the same level as the state stack. The wasted elements are never initialized. */ - yyssp = yyss; + yyssp = yyss - 1; yyvsp = yyvs; +#ifdef YYLSP_NEEDED + yylsp = yyls; +#endif - goto yysetstate; - -/*------------------------------------------------------------. -| yynewstate -- Push a new state, which is found in yystate. | -`------------------------------------------------------------*/ - yynewstate: - /* In all cases, when you get here, the value and location stacks - have just been pushed. so pushing a state here evens the stacks. - */ - yyssp++; +/* Push a new state, which is found in yystate . */ +/* In all cases, when you get here, the value and location stacks + have just been pushed. so pushing a state here evens the stacks. */ +yynewstate: - yysetstate: - *yyssp = yystate; + *++yyssp = yystate; - if (yyss + yystacksize - 1 <= yyssp) + if (yyssp >= yyss + yystacksize - 1) { + /* Give user a chance to reallocate the stack */ + /* Use copies of these so that the &'s don't force the real ones into memory. */ + YYSTYPE *yyvs1 = yyvs; + short *yyss1 = yyss; +#ifdef YYLSP_NEEDED + YYLTYPE *yyls1 = yyls; +#endif + /* Get the current used size of the three stacks, in elements. */ - YYSIZE_T yysize = yyssp - yyss + 1; + int size = yyssp - yyss + 1; #ifdef yyoverflow - { - /* Give user a chance to reallocate the stack. Use copies of - these so that the &'s don't force the real ones into - memory. */ - YYSTYPE *yyvs1 = yyvs; - short *yyss1 = yyss; - - - /* Each stack pointer address is followed by the size of the - data in use in that stack, in bytes. This used to be a - conditional around just the two extra args, but that might - be undefined if yyoverflow is a macro. */ - yyoverflow ("parser stack overflow", - &yyss1, yysize * sizeof (*yyssp), - &yyvs1, yysize * sizeof (*yyvsp), - - &yystacksize); + /* Each stack pointer address is followed by the size of + the data in use in that stack, in bytes. */ +#ifdef YYLSP_NEEDED + /* This used to be a conditional around just the two extra args, + but that might be undefined if yyoverflow is a macro. */ + yyoverflow("parser stack overflow", + &yyss1, size * sizeof (*yyssp), + &yyvs1, size * sizeof (*yyvsp), + &yyls1, size * sizeof (*yylsp), + &yystacksize); +#else + yyoverflow("parser stack overflow", + &yyss1, size * sizeof (*yyssp), + &yyvs1, size * sizeof (*yyvsp), + &yystacksize); +#endif - yyss = yyss1; - yyvs = yyvs1; - } + yyss = yyss1; yyvs = yyvs1; +#ifdef YYLSP_NEEDED + yyls = yyls1; +#endif #else /* no yyoverflow */ -# ifndef YYSTACK_RELOCATE - goto yyoverflowlab; -# else /* Extend the stack our own way. */ - if (YYMAXDEPTH <= yystacksize) - goto yyoverflowlab; + if (yystacksize >= YYMAXDEPTH) + { + yyerror("parser stack overflow"); + if (yyfree_stacks) + { + free (yyss); + free (yyvs); +#ifdef YYLSP_NEEDED + free (yyls); +#endif + } + return 2; + } yystacksize *= 2; - if (YYMAXDEPTH < yystacksize) + if (yystacksize > YYMAXDEPTH) yystacksize = YYMAXDEPTH; - - { - short *yyss1 = yyss; - union yyalloc *yyptr = - (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); - if (! yyptr) - goto yyoverflowlab; - YYSTACK_RELOCATE (yyss); - YYSTACK_RELOCATE (yyvs); - -# undef YYSTACK_RELOCATE - if (yyss1 != yyssa) - YYSTACK_FREE (yyss1); - } -# endif +#ifndef YYSTACK_USE_ALLOCA + yyfree_stacks = 1; +#endif + yyss = (short *) YYSTACK_ALLOC (yystacksize * sizeof (*yyssp)); + __yy_memcpy ((char *)yyss, (char *)yyss1, + size * (unsigned int) sizeof (*yyssp)); + yyvs = (YYSTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yyvsp)); + __yy_memcpy ((char *)yyvs, (char *)yyvs1, + size * (unsigned int) sizeof (*yyvsp)); +#ifdef YYLSP_NEEDED + yyls = (YYLTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yylsp)); + __yy_memcpy ((char *)yyls, (char *)yyls1, + size * (unsigned int) sizeof (*yylsp)); +#endif #endif /* no yyoverflow */ - yyssp = yyss + yysize - 1; - yyvsp = yyvs + yysize - 1; - + yyssp = yyss + size - 1; + yyvsp = yyvs + size - 1; +#ifdef YYLSP_NEEDED + yylsp = yyls + size - 1; +#endif - YYDPRINTF ((stderr, "Stack size increased to %lu\n", - (unsigned long int) yystacksize)); +#if YYDEBUG != 0 + if (yydebug) + fprintf(stderr, "Stack size increased to %d\n", yystacksize); +#endif - if (yyss + yystacksize - 1 <= yyssp) + if (yyssp >= yyss + yystacksize - 1) YYABORT; } - YYDPRINTF ((stderr, "Entering state %d\n", yystate)); +#if YYDEBUG != 0 + if (yydebug) + fprintf(stderr, "Entering state %d\n", yystate); +#endif goto yybackup; - -/*-----------. -| yybackup. | -`-----------*/ -yybackup: + yybackup: /* Do appropriate processing given the current state. */ /* Read a lookahead token if we need one and don't already have one. */ @@ -3433,435 +2782,417 @@ yybackup: /* First try to decide what to do without reference to lookahead token. */ yyn = yypact[yystate]; - if (yyn == YYPACT_NINF) + if (yyn == YYFLAG) goto yydefault; /* Not known => get a lookahead token if don't already have one. */ - /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */ + /* yychar is either YYEMPTY or YYEOF + or a valid token in external form. */ + if (yychar == YYEMPTY) { - YYDPRINTF ((stderr, "Reading a token: ")); +#if YYDEBUG != 0 + if (yydebug) + fprintf(stderr, "Reading a token: "); +#endif yychar = YYLEX; } - if (yychar <= YYEOF) + /* Convert token to internal form (in yychar1) for indexing tables with */ + + if (yychar <= 0) /* This means end of input. */ { - yychar = yytoken = YYEOF; - YYDPRINTF ((stderr, "Now at end of input.\n")); + yychar1 = 0; + yychar = YYEOF; /* Don't call YYLEX any more */ + +#if YYDEBUG != 0 + if (yydebug) + fprintf(stderr, "Now at end of input.\n"); +#endif } else { - yytoken = YYTRANSLATE (yychar); - YYDSYMPRINTF ("Next token is", yytoken, &yylval, &yylloc); + yychar1 = YYTRANSLATE(yychar); + +#if YYDEBUG != 0 + if (yydebug) + { + fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]); + /* Give the individual parser a way to print the precise meaning + of a token, for further debugging info. */ +#ifdef YYPRINT + YYPRINT (stderr, yychar, yylval); +#endif + fprintf (stderr, ")\n"); + } +#endif } - /* If the proper action on seeing token YYTOKEN is to reduce or to - detect an error, take that action. */ - yyn += yytoken; - if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken) + yyn += yychar1; + if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1) goto yydefault; + yyn = yytable[yyn]; - if (yyn <= 0) + + /* yyn is what to do for this token type in this state. + Negative => reduce, -yyn is rule number. + Positive => shift, yyn is new state. + New state is final state => don't bother to shift, + just return success. + 0, or most negative number => error. */ + + if (yyn < 0) { - if (yyn == 0 || yyn == YYTABLE_NINF) + if (yyn == YYFLAG) goto yyerrlab; yyn = -yyn; goto yyreduce; } + else if (yyn == 0) + goto yyerrlab; if (yyn == YYFINAL) YYACCEPT; /* Shift the lookahead token. */ - YYDPRINTF ((stderr, "Shifting token %s, ", yytname[yytoken])); + +#if YYDEBUG != 0 + if (yydebug) + fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]); +#endif /* Discard the token being shifted unless it is eof. */ if (yychar != YYEOF) yychar = YYEMPTY; *++yyvsp = yylval; +#ifdef YYLSP_NEEDED + *++yylsp = yylloc; +#endif - - /* Count tokens shifted since error; after three, turn off error - status. */ - if (yyerrstatus) - yyerrstatus--; + /* count tokens shifted since error; after three, turn off error status. */ + if (yyerrstatus) yyerrstatus--; yystate = yyn; goto yynewstate; - -/*-----------------------------------------------------------. -| yydefault -- do the default action for the current state. | -`-----------------------------------------------------------*/ +/* Do the default action for the current state. */ yydefault: + yyn = yydefact[yystate]; if (yyn == 0) goto yyerrlab; - goto yyreduce; - -/*-----------------------------. -| yyreduce -- Do a reduction. | -`-----------------------------*/ +/* Do a reduction. yyn is the number of a rule to reduce with. */ yyreduce: - /* yyn is the number of a rule to reduce with. */ yylen = yyr2[yyn]; + if (yylen > 0) + yyval = yyvsp[1-yylen]; /* implement default value of the action */ - /* If YYLEN is nonzero, implement the default value of the action: - `$$ = $1'. +#if YYDEBUG != 0 + if (yydebug) + { + int i; - Otherwise, the following line sets YYVAL to garbage. - This behavior is undocumented and Bison - users should not rely upon it. Assigning to YYVAL - unconditionally makes the parser a bit smaller, and it avoids a - GCC warning that YYVAL may be used uninitialized. */ - yyval = yyvsp[1-yylen]; + fprintf (stderr, "Reducing via rule %d (line %d), ", + yyn, yyrline[yyn]); + /* Print the symbols being reduced, and their result. */ + for (i = yyprhs[yyn]; yyrhs[i] > 0; i++) + fprintf (stderr, "%s ", yytname[yyrhs[i]]); + fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]); + } +#endif - YY_REDUCE_PRINT (yyn); - switch (yyn) - { - case 4: -#line 160 "Gmsh.y" - { yyerrok; return 1; ;} - break; - case 7: -#line 176 "Gmsh.y" - { return 1; ;} - break; + switch (yyn) { - case 8: +case 3: +#line 160 "Gmsh.y" +{ yyerrok; return 1; ; + break;} +case 6: +#line 176 "Gmsh.y" +{ return 1; ; + break;} +case 7: #line 177 "Gmsh.y" - { return 1; ;} - break; - - case 9: +{ return 1; ; + break;} +case 8: #line 178 "Gmsh.y" - { return 1; ;} - break; - - case 10: +{ return 1; ; + break;} +case 9: #line 183 "Gmsh.y" - { +{ yymsg(INFO, "Reading Step Iso-10303-21 data"); Create_Step_Solid_BRep(); - ;} - break; - - case 11: + ; + break;} +case 10: #line 188 "Gmsh.y" - { +{ Resolve_BREP (); yymsg(INFO, "Read Step Iso-10303-21 data"); - ;} - break; - - case 15: + ; + break;} +case 14: #line 199 "Gmsh.y" - { - ;} - break; - - case 16: +{ + ; + break;} +case 15: #line 202 "Gmsh.y" - { - ;} - break; - - case 17: +{ + ; + break;} +case 16: #line 206 "Gmsh.y" - { - ;} - break; - - case 18: +{ + ; + break;} +case 17: #line 212 "Gmsh.y" - { +{ Add_Cartesian_Point((int)yyvsp[-8].d, yyvsp[-4].c, yyvsp[-2].v[0], yyvsp[-2].v[1], yyvsp[-2].v[2]); - ;} - break; - - case 19: + ; + break;} +case 18: #line 218 "Gmsh.y" - { +{ Add_BSpline_Curve_With_Knots ((int)yyvsp[-22].d, yyvsp[-18].c, (int) yyvsp[-16].d, yyvsp[-14].l, yyvsp[-6].l, yyvsp[-4].l, 0., 1.); - ;} - break; - - case 20: + ; + break;} +case 19: #line 225 "Gmsh.y" - { +{ Add_BSpline_Surface_With_Knots ((int)yyvsp[-30].d, yyvsp[-26].c, (int) yyvsp[-24].d, (int) yyvsp[-22].d, yyvsp[-20].l, yyvsp[-10].l, yyvsp[-8].l, yyvsp[-6].l, yyvsp[-4].l, 0., 1., 0., 1. ); - ;} - break; - - case 21: + ; + break;} +case 20: #line 231 "Gmsh.y" - { +{ Add_Edge_Curve ((int)yyvsp[-14].d, yyvsp[-10].c , (int)yyvsp[-8].d , (int)yyvsp[-6].d, (int)yyvsp[-4].d); - ;} - break; - - case 22: + ; + break;} +case 21: #line 235 "Gmsh.y" - { +{ Add_Face_Outer_Bound((int)yyvsp[-10].d, yyvsp[-6].c, (int)yyvsp[-4].d, yyvsp[-2].i, 1); - ;} - break; - - case 23: + ; + break;} +case 22: #line 239 "Gmsh.y" - { +{ // check the norm! Face_Bound : hole outside surface! yymsg(INFO, "Found a face bound"); Add_Face_Outer_Bound((int)yyvsp[-10].d, yyvsp[-6].c, (int)yyvsp[-4].d, yyvsp[-2].i, 0); - ;} - break; - - case 24: + ; + break;} +case 23: #line 246 "Gmsh.y" - { +{ Add_Oriented_Edge((int)yyvsp[-14].d, yyvsp[-10].c, (int)yyvsp[-4].d, yyvsp[-2].i); - ;} - break; - - case 25: + ; + break;} +case 24: #line 250 "Gmsh.y" - { +{ Add_Edge_Loop((int)yyvsp[-8].d, yyvsp[-4].c, yyvsp[-2].l); - ;} - break; - - case 26: + ; + break;} +case 25: #line 255 "Gmsh.y" - { +{ Add_Advanced_Face((int)yyvsp[-12].d, yyvsp[-8].c, yyvsp[-6].l, (int)yyvsp[-4].d, yyvsp[-2].i); - ;} - break; - - case 27: + ; + break;} +case 26: #line 259 "Gmsh.y" - { +{ Add_Vertex_Point((int)yyvsp[-8].d, yyvsp[-4].c, (int)yyvsp[-2].d); - ;} - break; - - case 28: + ; + break;} +case 27: #line 263 "Gmsh.y" - { - ;} - break; - - case 29: +{ + ; + break;} +case 28: #line 267 "Gmsh.y" - { +{ Add_Axis2_Placement3D ((int)yyvsp[-12].d, (int)yyvsp[-4].d, (int)yyvsp[-2].d, (int)yyvsp[-6].d); - ;} - break; - - case 30: + ; + break;} +case 29: #line 271 "Gmsh.y" - { +{ Add_Direction((int)yyvsp[-8].d , yyvsp[-4].c, yyvsp[-2].v[0], yyvsp[-2].v[1], yyvsp[-2].v[2]); - ;} - break; - - case 31: + ; + break;} +case 30: #line 275 "Gmsh.y" - { +{ Add_Plane((int)yyvsp[-8].d, yyvsp[-4].c, (int)yyvsp[-2].d); - ;} - break; - - case 32: + ; + break;} +case 31: #line 279 "Gmsh.y" - { +{ Add_Line ((int)yyvsp[-10].d, yyvsp[-6].c , (int) yyvsp[-4].d, (int)yyvsp[-2].d); - ;} - break; - - case 33: + ; + break;} +case 32: #line 283 "Gmsh.y" - { +{ yymsg(INFO, "Found a closed shell"); Add_Closed_Shell((int)yyvsp[-8].d, yyvsp[-4].c , yyvsp[-2].l); - ;} - break; - - case 34: + ; + break;} +case 33: #line 289 "Gmsh.y" - { - ;} - break; - - case 35: +{ + ; + break;} +case 34: #line 292 "Gmsh.y" - { - ;} - break; - - case 36: +{ + ; + break;} +case 35: #line 295 "Gmsh.y" - { +{ Add_Cylinder ((int)yyvsp[-10].d, yyvsp[-6].c , (int)yyvsp[-4].d, yyvsp[-2].d); - ;} - break; - - case 37: + ; + break;} +case 36: #line 299 "Gmsh.y" - { +{ Add_Cone ((int)yyvsp[-12].d, yyvsp[-8].c , (int)yyvsp[-6].d, yyvsp[-4].d, yyvsp[-2].d); - ;} - break; - - case 38: + ; + break;} +case 37: #line 303 "Gmsh.y" - { +{ Add_Torus ((int)yyvsp[-12].d, yyvsp[-8].c , (int)yyvsp[-6].d, yyvsp[-4].d, yyvsp[-2].d); - ;} - break; - - case 39: + ; + break;} +case 38: #line 307 "Gmsh.y" - { +{ Add_Circle((int) yyvsp[-10].d, yyvsp[-6].c, (int) yyvsp[-4].d, yyvsp[-2].d); - ;} - break; - - case 40: + ; + break;} +case 39: #line 311 "Gmsh.y" - { +{ Add_Ellipse((int) yyvsp[-12].d, yyvsp[-8].c, (int) yyvsp[-6].d, yyvsp[-4].d, yyvsp[-2].d); - ;} - break; - - case 41: + ; + break;} +case 40: #line 316 "Gmsh.y" - { - ;} - break; - - case 42: +{ + ; + break;} +case 41: #line 319 "Gmsh.y" - { - ;} - break; - - case 43: +{ + ; + break;} +case 42: #line 323 "Gmsh.y" - { - ;} - break; - - case 44: +{ + ; + break;} +case 43: #line 326 "Gmsh.y" - { - ;} - break; - - case 45: +{ + ; + break;} +case 44: #line 330 "Gmsh.y" - { - ;} - break; - - case 46: +{ + ; + break;} +case 45: #line 333 "Gmsh.y" - { - ;} - break; - - case 47: +{ + ; + break;} +case 46: #line 336 "Gmsh.y" - { - ;} - break; - - case 50: +{ + ; + break;} +case 49: #line 348 "Gmsh.y" - { return 1; ;} - break; - - case 51: +{ return 1; ; + break;} +case 50: #line 349 "Gmsh.y" - { return 1; ;} - break; - - case 52: +{ return 1; ; + break;} +case 51: #line 350 "Gmsh.y" - { return 1; ;} - break; - - case 53: +{ return 1; ; + break;} +case 52: #line 351 "Gmsh.y" - { return 1; ;} - break; - - case 54: +{ return 1; ; + break;} +case 53: #line 352 "Gmsh.y" - { List_Delete(yyvsp[0].l); return 1; ;} - break; - - case 55: +{ List_Delete(yyvsp[0].l); return 1; ; + break;} +case 54: #line 353 "Gmsh.y" - { List_Delete(yyvsp[0].l); return 1; ;} - break; - - case 56: +{ List_Delete(yyvsp[0].l); return 1; ; + break;} +case 55: #line 354 "Gmsh.y" - { return 1; ;} - break; - - case 57: +{ return 1; ; + break;} +case 56: #line 355 "Gmsh.y" - { return 1; ;} - break; - - case 58: +{ return 1; ; + break;} +case 57: #line 356 "Gmsh.y" - { return 1; ;} - break; - - case 59: +{ return 1; ; + break;} +case 58: #line 357 "Gmsh.y" - { List_Delete(yyvsp[0].l); return 1; ;} - break; - - case 60: +{ List_Delete(yyvsp[0].l); return 1; ; + break;} +case 59: #line 358 "Gmsh.y" - { return 1; ;} - break; - - case 61: +{ return 1; ; + break;} +case 60: #line 359 "Gmsh.y" - { return 1; ;} - break; - - case 62: +{ return 1; ; + break;} +case 61: #line 360 "Gmsh.y" - { return 1; ;} - break; - - case 63: +{ return 1; ; + break;} +case 62: #line 361 "Gmsh.y" - { return 1; ;} - break; - - case 64: +{ return 1; ; + break;} +case 63: #line 366 "Gmsh.y" - { +{ Msg(DIRECT, yyvsp[-2].c); Free(yyvsp[-2].c); - ;} - break; - - case 65: + ; + break;} +case 64: #line 371 "Gmsh.y" - { +{ char tmpstring[1024]; int i = PrintListOfDouble(yyvsp[-4].c, yyvsp[-2].l, tmpstring); if(i < 0) @@ -3872,62 +3203,54 @@ yyreduce: Msg(DIRECT, tmpstring); Free(yyvsp[-4].c); List_Delete(yyvsp[-2].l); - ;} - break; - - case 66: + ; + break;} +case 65: #line 389 "Gmsh.y" - { +{ if(!strcmp(yyvsp[-5].c, "View") && !CheckViewErrorFlags(View)){ EndView(View, 0, yyname, yyvsp[-4].c); } Free(yyvsp[-5].c); Free(yyvsp[-4].c); - ;} - break; - - case 67: + ; + break;} +case 66: #line 396 "Gmsh.y" - { +{ if(!strcmp(yyvsp[-7].c, "View") && !CheckViewErrorFlags(View)){ EndView(View, 0, yyname, yyvsp[-6].c); } Free(yyvsp[-7].c); Free(yyvsp[-6].c); Free(yyvsp[-5].c); - ;} - break; - - case 68: + ; + break;} +case 67: #line 406 "Gmsh.y" - { +{ View = BeginView(1); for(int i = 0; i < VIEW_NB_ELEMENT_TYPES; i++){ ViewErrorFlags[i] = 0; } - ;} - break; - - case 74: + ; + break;} +case 73: #line 421 "Gmsh.y" - { ViewCoord[ViewCoordIdx] = yyvsp[0].d; ViewCoordIdx++; ;} - break; - - case 75: +{ ViewCoord[ViewCoordIdx] = yyvsp[0].d; ViewCoordIdx++; ; + break;} +case 74: #line 423 "Gmsh.y" - { ViewCoord[ViewCoordIdx] = yyvsp[0].d; ViewCoordIdx++; ;} - break; - - case 76: +{ ViewCoord[ViewCoordIdx] = yyvsp[0].d; ViewCoordIdx++; ; + break;} +case 75: #line 428 "Gmsh.y" - { if(ViewValueList) List_Add(ViewValueList, &yyvsp[0].d); ;} - break; - - case 77: +{ if(ViewValueList) List_Add(ViewValueList, &yyvsp[0].d); ; + break;} +case 76: #line 430 "Gmsh.y" - { if(ViewValueList) List_Add(ViewValueList, &yyvsp[0].d); ;} - break; - - case 78: +{ if(ViewValueList) List_Add(ViewValueList, &yyvsp[0].d); ; + break;} +case 77: #line 435 "Gmsh.y" - { +{ if(!strcmp(yyvsp[0].c, "SP")){ ViewElementIdx = 0; ViewNumNodes = 1; ViewNumComp = 1; ViewValueList = View->SP; ViewNumList = &View->NbSP; @@ -4115,12 +3438,11 @@ yyreduce: } Free(yyvsp[0].c); ViewCoordIdx = 0; - ;} - break; - - case 79: + ; + break;} +case 78: #line 625 "Gmsh.y" - { +{ if(ViewValueList){ if(ViewCoordIdx != 3 * ViewNumNodes){ yymsg(GERROR, "Wrong number of node coordinates (%d != %d)", @@ -4136,144 +3458,124 @@ yyreduce: } ViewNumListTmp = List_Nbr(ViewValueList); } - ;} - break; - - case 80: + ; + break;} +case 79: #line 643 "Gmsh.y" - { +{ if(ViewValueList){ if((List_Nbr(ViewValueList) - ViewNumListTmp) % (ViewNumComp * ViewNumNodes)) ViewErrorFlags[ViewElementIdx]++; (*ViewNumList)++; } - ;} - break; - - case 81: + ; + break;} +case 80: #line 654 "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 82: + ; + break;} +case 81: #line 659 "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 83: + ; + break;} +case 82: #line 667 "Gmsh.y" - { +{ List_Add(View->T2D, &yyvsp[-5].d); List_Add(View->T2D, &yyvsp[-3].d); List_Add(View->T2D, &yyvsp[-1].d); double d = List_Nbr(View->T2C); List_Add(View->T2D, &d); - ;} - break; - - case 84: + ; + break;} +case 83: #line 674 "Gmsh.y" - { +{ View->NbT2++; - ;} - break; - - case 85: + ; + break;} +case 84: #line 681 "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 86: + ; + break;} +case 85: #line 686 "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 87: + ; + break;} +case 86: #line 694 "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); double d = List_Nbr(View->T3C); List_Add(View->T3D, &d); - ;} - break; - - case 88: + ; + break;} +case 87: #line 701 "Gmsh.y" - { +{ View->NbT3++; - ;} - break; - - case 89: + ; + break;} +case 88: #line 709 "Gmsh.y" - { +{ View->adaptive = new Adaptive_Post_View(View, yyvsp[-5].l, yyvsp[-2].l); - ;} - break; - - case 90: + ; + break;} +case 89: #line 716 "Gmsh.y" - { +{ ViewValueList = View->Time; - ;} - break; - - case 91: + ; + break;} +case 90: #line 720 "Gmsh.y" - { - ;} - break; - - case 92: +{ + ; + break;} +case 91: #line 727 "Gmsh.y" - { yyval.i = 0; ;} - break; - - case 93: +{ yyval.i = 0; ; + break;} +case 92: #line 728 "Gmsh.y" - { yyval.i = 1; ;} - break; - - case 94: +{ yyval.i = 1; ; + break;} +case 93: #line 729 "Gmsh.y" - { yyval.i = 2; ;} - break; - - case 95: +{ yyval.i = 2; ; + break;} +case 94: #line 730 "Gmsh.y" - { yyval.i = 3; ;} - break; - - case 96: +{ yyval.i = 3; ; + break;} +case 95: #line 731 "Gmsh.y" - { yyval.i = 4; ;} - break; - - case 97: +{ yyval.i = 4; ; + break;} +case 96: #line 735 "Gmsh.y" - { yyval.i = 1; ;} - break; - - case 98: +{ yyval.i = 1; ; + break;} +case 97: #line 736 "Gmsh.y" - { yyval.i = -1; ;} - break; - - case 99: +{ yyval.i = -1; ; + break;} +case 98: #line 744 "Gmsh.y" - { +{ Symbol TheSymbol; TheSymbol.Name = yyvsp[-3].c; Symbol *pSymbol; @@ -4302,12 +3604,11 @@ yyreduce: } Free(yyvsp[-3].c); } - ;} - break; - - case 100: + ; + break;} +case 99: #line 775 "Gmsh.y" - { +{ Symbol TheSymbol; TheSymbol.Name = yyvsp[-6].c; Symbol *pSymbol; @@ -4344,12 +3645,11 @@ yyreduce: } Free(yyvsp[-6].c); } - ;} - break; - - case 101: + ; + break;} +case 100: #line 814 "Gmsh.y" - { +{ if(List_Nbr(yyvsp[-5].l) != List_Nbr(yyvsp[-1].l)){ yymsg(GERROR, "Incompatible array dimensions in affectation"); Free(yyvsp[-8].c); @@ -4401,12 +3701,11 @@ yyreduce: } List_Delete(yyvsp[-5].l); List_Delete(yyvsp[-1].l); - ;} - break; - - case 102: + ; + break;} +case 101: #line 868 "Gmsh.y" - { +{ Symbol TheSymbol; TheSymbol.Name = yyvsp[-5].c; Symbol *pSymbol; @@ -4421,12 +3720,11 @@ yyreduce: Free(yyvsp[-5].c); } List_Delete(yyvsp[-1].l); - ;} - break; - - case 103: + ; + break;} +case 102: #line 885 "Gmsh.y" - { +{ Symbol TheSymbol; TheSymbol.Name = yyvsp[-2].c; Symbol *pSymbol; @@ -4435,12 +3733,11 @@ yyreduce: else *(double*)List_Pointer_Fast(pSymbol->val, 0) += yyvsp[-1].i; Free(yyvsp[-2].c); - ;} - break; - - case 104: + ; + break;} +case 103: #line 896 "Gmsh.y" - { +{ Symbol TheSymbol; TheSymbol.Name = yyvsp[-5].c; Symbol *pSymbol; @@ -4454,12 +3751,11 @@ yyreduce: yymsg(GERROR, "Uninitialized variable '%s[%d]'", yyvsp[-5].c, (int)yyvsp[-3].d); } Free(yyvsp[-5].c); - ;} - break; - - case 105: + ; + break;} +case 104: #line 915 "Gmsh.y" - { +{ char* (*pStrOpt)(int num, int action, char *value); StringXString *pStrCat; if(!(pStrCat = Get_StringOptionCategory(yyvsp[-5].c))) @@ -4471,12 +3767,11 @@ yyreduce: pStrOpt(0, GMSH_SET|GMSH_GUI, yyvsp[-1].c); } Free(yyvsp[-5].c); Free(yyvsp[-3].c); //FIXME: somtimes leak $5 - ;} - break; - - case 106: + ; + break;} +case 105: #line 929 "Gmsh.y" - { +{ char* (*pStrOpt)(int num, int action, char *value); StringXString *pStrCat; if(!(pStrCat = Get_StringOptionCategory(yyvsp[-8].c))) @@ -4488,12 +3783,11 @@ yyreduce: pStrOpt((int)yyvsp[-6].d, GMSH_SET|GMSH_GUI, yyvsp[-1].c); } Free(yyvsp[-8].c); Free(yyvsp[-3].c); //FIXME: somtimes leak $8 - ;} - break; - - case 107: + ; + break;} +case 106: #line 946 "Gmsh.y" - { +{ double (*pNumOpt)(int num, int action, double value); StringXNumber *pNumCat; if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-5].c))) @@ -4517,12 +3811,11 @@ yyreduce: } } Free(yyvsp[-5].c); Free(yyvsp[-3].c); - ;} - break; - - case 108: + ; + break;} +case 107: #line 972 "Gmsh.y" - { +{ double (*pNumOpt)(int num, int action, double value); StringXNumber *pNumCat; if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-8].c))) @@ -4547,12 +3840,11 @@ yyreduce: } } Free(yyvsp[-8].c); Free(yyvsp[-3].c); - ;} - break; - - case 109: + ; + break;} +case 108: #line 999 "Gmsh.y" - { +{ double (*pNumOpt)(int num, int action, double value); StringXNumber *pNumCat; if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-4].c))) @@ -4564,12 +3856,11 @@ yyreduce: pNumOpt(0, GMSH_SET|GMSH_GUI, pNumOpt(0, GMSH_GET, 0)+yyvsp[-1].i); } Free(yyvsp[-4].c); Free(yyvsp[-2].c); - ;} - break; - - case 110: + ; + break;} +case 109: #line 1013 "Gmsh.y" - { +{ double (*pNumOpt)(int num, int action, double value); StringXNumber *pNumCat; if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-7].c))) @@ -4581,12 +3872,11 @@ yyreduce: pNumOpt((int)yyvsp[-5].d, GMSH_SET|GMSH_GUI, pNumOpt((int)yyvsp[-5].d, GMSH_GET, 0)+yyvsp[-1].i); } Free(yyvsp[-7].c); Free(yyvsp[-2].c); - ;} - break; - - case 111: + ; + break;} +case 110: #line 1030 "Gmsh.y" - { +{ unsigned int (*pColOpt)(int num, int action, unsigned int value); StringXColor *pColCat; if(!(pColCat = Get_ColorOptionCategory(yyvsp[-7].c))) @@ -4598,12 +3888,11 @@ yyreduce: pColOpt(0, GMSH_SET|GMSH_GUI, yyvsp[-1].u); } Free(yyvsp[-7].c); Free(yyvsp[-3].c); - ;} - break; - - case 112: + ; + break;} +case 111: #line 1044 "Gmsh.y" - { +{ unsigned int (*pColOpt)(int num, int action, unsigned int value); StringXColor *pColCat; if(!(pColCat = Get_ColorOptionCategory(yyvsp[-10].c))) @@ -4615,12 +3904,11 @@ yyreduce: pColOpt((int)yyvsp[-8].d, GMSH_SET|GMSH_GUI, yyvsp[-1].u); } Free(yyvsp[-10].c); Free(yyvsp[-3].c); - ;} - break; - - case 113: + ; + break;} +case 112: #line 1061 "Gmsh.y" - { +{ GmshColorTable *ct = Get_ColorTable(0); if(!ct) yymsg(GERROR, "View[%d] does not exist", 0); @@ -4638,12 +3926,11 @@ yyreduce: } Free(yyvsp[-5].c); List_Delete(yyvsp[-1].l); - ;} - break; - - case 114: + ; + break;} +case 113: #line 1081 "Gmsh.y" - { +{ GmshColorTable *ct = Get_ColorTable((int)yyvsp[-6].d); if(!ct) yymsg(GERROR, "View[%d] does not exist", (int)yyvsp[-6].d); @@ -4661,12 +3948,11 @@ yyreduce: } Free(yyvsp[-8].c); List_Delete(yyvsp[-1].l); - ;} - break; - - case 115: + ; + break;} +case 114: #line 1104 "Gmsh.y" - { +{ try { GMSH_PluginManager::instance()->setPluginOption(yyvsp[-6].c, yyvsp[-3].c, yyvsp[-1].d); } @@ -4674,12 +3960,11 @@ yyreduce: yymsg(GERROR, "Unknown option '%s' or plugin '%s'", yyvsp[-3].c, yyvsp[-6].c); } Free(yyvsp[-6].c); Free(yyvsp[-3].c); - ;} - break; - - case 116: + ; + break;} +case 115: #line 1114 "Gmsh.y" - { +{ try { GMSH_PluginManager::instance()->setPluginOption(yyvsp[-6].c, yyvsp[-3].c, yyvsp[-1].c); } @@ -4687,12 +3972,11 @@ yyreduce: yymsg(GERROR, "Unknown option '%s' or plugin '%s'", yyvsp[-3].c, yyvsp[-6].c); } Free(yyvsp[-6].c); Free(yyvsp[-3].c); // FIXME: sometimes leak $8 - ;} - break; - - case 117: + ; + break;} +case 116: #line 1133 "Gmsh.y" - { +{ int num = (int)yyvsp[-4].d; if(FindPoint(num, THEM)){ yymsg(GERROR, "Point %d already exists", num); @@ -4706,12 +3990,11 @@ yyreduce: } yyval.s.Type = MSH_POINT; yyval.s.Num = num; - ;} - break; - - case 118: + ; + break;} +case 117: #line 1149 "Gmsh.y" - { +{ int num = (int)yyvsp[-4].d; if(FindPhysicalGroup(num, MSH_PHYSICAL_POINT, THEM)){ yymsg(GERROR, "Physical point %d already exists", num); @@ -4725,12 +4008,11 @@ yyreduce: List_Delete(yyvsp[-1].l); yyval.s.Type = MSH_PHYSICAL_POINT; yyval.s.Num = num; - ;} - break; - - case 119: + ; + break;} +case 118: #line 1165 "Gmsh.y" - { +{ for(int i = 0; i < List_Nbr(yyvsp[-9].l); i++){ double p; List_Read(yyvsp[-9].l, i, &p); @@ -4747,12 +4029,11 @@ yyreduce: // dummy values yyval.s.Type = 0; yyval.s.Num = 0; - ;} - break; - - case 120: + ; + break;} +case 119: #line 1184 "Gmsh.y" - { +{ for(int i = 0; i < List_Nbr(yyvsp[-3].l); i++){ double d; List_Read(yyvsp[-3].l, i, &d); @@ -4766,12 +4047,11 @@ yyreduce: // dummy values yyval.s.Type = 0; yyval.s.Num = 0; - ;} - break; - - case 121: + ; + break;} +case 120: #line 1203 "Gmsh.y" - { +{ int num = (int)yyvsp[-4].d; if(FindCurve(num, THEM)){ yymsg(GERROR, "Curve %d already exists", num); @@ -4787,12 +4067,11 @@ yyreduce: List_Delete(yyvsp[-1].l); yyval.s.Type = MSH_SEGM_LINE; yyval.s.Num = num; - ;} - break; - - case 122: + ; + break;} +case 121: #line 1221 "Gmsh.y" - { +{ int num = (int)yyvsp[-4].d; if(FindCurve(num, THEM)){ yymsg(GERROR, "Curve %d already exists", num); @@ -4808,12 +4087,11 @@ yyreduce: List_Delete(yyvsp[-1].l); yyval.s.Type = MSH_SEGM_SPLN; yyval.s.Num = num; - ;} - break; - - case 123: + ; + break;} +case 122: #line 1239 "Gmsh.y" - { +{ int num = (int)yyvsp[-4].d; if(FindCurve(num, THEM)){ yymsg(GERROR, "Curve %d already exists", num); @@ -4829,12 +4107,11 @@ yyreduce: List_Delete(yyvsp[-1].l); yyval.s.Type = MSH_SEGM_CIRC; yyval.s.Num = num; - ;} - break; - - case 124: + ; + break;} +case 123: #line 1257 "Gmsh.y" - { +{ int num = (int)yyvsp[-6].d; if(FindCurve(num, THEM)){ yymsg(GERROR, "Curve %d already exists", num); @@ -4858,12 +4135,11 @@ yyreduce: List_Delete(yyvsp[-3].l); yyval.s.Type = MSH_SEGM_CIRC; yyval.s.Num = num; - ;} - break; - - case 125: + ; + break;} +case 124: #line 1283 "Gmsh.y" - { +{ int num = (int)yyvsp[-4].d; if(FindCurve(num, THEM)){ yymsg(GERROR, "Curve %d already exists", num); @@ -4879,12 +4155,11 @@ yyreduce: List_Delete(yyvsp[-1].l); yyval.s.Type = MSH_SEGM_ELLI; yyval.s.Num = num; - ;} - break; - - case 126: + ; + break;} +case 125: #line 1301 "Gmsh.y" - { +{ int num = (int)yyvsp[-6].d; if(FindCurve(num, THEM)){ yymsg(GERROR, "Curve %d already exists", num); @@ -4908,12 +4183,11 @@ yyreduce: List_Delete(yyvsp[-3].l); yyval.s.Type = MSH_SEGM_ELLI; yyval.s.Num = num; - ;} - break; - - case 127: + ; + break;} +case 126: #line 1328 "Gmsh.y" - { +{ int num = (int)yyvsp[-14].d; if(FindCurve(num, THEM)){ yymsg(GERROR, "Curve %d already exists", num); @@ -4930,12 +4204,11 @@ yyreduce: Free(yyvsp[-6].c); Free(yyvsp[-4].c); Free(yyvsp[-2].c); yyval.s.Type = MSH_SEGM_PARAMETRIC; yyval.s.Num = num; - ;} - break; - - case 128: + ; + break;} +case 127: #line 1347 "Gmsh.y" - { +{ int num = (int)yyvsp[-4].d; if(List_Nbr(yyvsp[-1].l) < 4){ yymsg(GERROR, "Too few control points for BSpline %d (%d < 4)", num, @@ -4957,12 +4230,11 @@ yyreduce: List_Delete(yyvsp[-1].l); yyval.s.Type = MSH_SEGM_BSPLN; yyval.s.Num = num; - ;} - break; - - case 129: + ; + break;} +case 128: #line 1371 "Gmsh.y" - { +{ int num = (int)yyvsp[-4].d; if(List_Nbr(yyvsp[-1].l) < 4){ yymsg(GERROR, "Too few control points for Bezier curve %d (%d < 4)", num, @@ -4984,12 +4256,11 @@ yyreduce: List_Delete(yyvsp[-1].l); yyval.s.Type = MSH_SEGM_BEZIER; yyval.s.Num = num; - ;} - break; - - case 130: + ; + break;} +case 129: #line 1395 "Gmsh.y" - { +{ int num = (int)yyvsp[-8].d; if(List_Nbr(yyvsp[-5].l) + (int)yyvsp[-1].d + 1 != List_Nbr(yyvsp[-3].l)){ yymsg(GERROR, "Wrong definition of Nurbs Curve %d: " @@ -5013,12 +4284,11 @@ yyreduce: List_Delete(yyvsp[-3].l); yyval.s.Type = MSH_SEGM_NURBS; yyval.s.Num = num; - ;} - break; - - case 131: + ; + break;} +case 130: #line 1421 "Gmsh.y" - { +{ int num = (int)yyvsp[-4].d; if(FindEdgeLoop(num, THEM)){ yymsg(GERROR, "Line loop %d already exists", num); @@ -5033,12 +4303,11 @@ yyreduce: List_Delete(yyvsp[-1].l); yyval.s.Type = MSH_SEGM_LOOP; yyval.s.Num = num; - ;} - break; - - case 132: + ; + break;} +case 131: #line 1438 "Gmsh.y" - { +{ for(int i = 0; i < List_Nbr(yyvsp[-9].l); i++){ double p; List_Read(yyvsp[-9].l, i, &p); @@ -5054,12 +4323,11 @@ yyreduce: // dummy values yyval.s.Type = 0; yyval.s.Num = 0; - ;} - break; - - case 133: + ; + break;} +case 132: #line 1456 "Gmsh.y" - { +{ int num = (int)yyvsp[-4].d; if(FindPhysicalGroup(num, MSH_PHYSICAL_LINE, THEM)){ yymsg(GERROR, "Physical line %d already exists", num); @@ -5073,12 +4341,11 @@ yyreduce: List_Delete(yyvsp[-1].l); yyval.s.Type = MSH_PHYSICAL_LINE; yyval.s.Num = num; - ;} - break; - - case 134: + ; + break;} +case 133: #line 1475 "Gmsh.y" - { +{ int num = (int)yyvsp[-4].d; if(FindSurface(num, THEM)){ yymsg(GERROR, "Surface %d already exists", num); @@ -5095,12 +4362,11 @@ yyreduce: List_Delete(yyvsp[-1].l); yyval.s.Type = MSH_SURF_PLAN; yyval.s.Num = num; - ;} - break; - - case 135: + ; + break;} +case 134: #line 1494 "Gmsh.y" - { +{ int num = (int)yyvsp[-4].d, type = 0; if(FindSurface(num, THEM)){ yymsg(GERROR, "Surface %d already exists", num); @@ -5137,12 +4403,11 @@ yyreduce: List_Delete(yyvsp[-1].l); yyval.s.Type = type; yyval.s.Num = num; - ;} - break; - - case 136: + ; + break;} +case 135: #line 1533 "Gmsh.y" - { +{ int num = (int)yyvsp[-8].d; Surface *support = FindSurface((int)yyvsp[-4].d, THEM); if(!support){ @@ -5165,12 +4430,11 @@ yyreduce: List_Delete(yyvsp[-2].l); yyval.s.Type = MSH_SURF_TRIMMED; yyval.s.Num = num; - ;} - break; - - case 137: + ; + break;} +case 136: #line 1560 "Gmsh.y" - { +{ int num = (int)yyvsp[-16].d; if(FindSurface(num, THEM)){ yymsg(GERROR, "Surface %d already exists", num); @@ -5185,12 +4449,11 @@ yyreduce: List_Delete(yyvsp[-8].l); yyval.s.Type = MSH_SURF_NURBS; yyval.s.Num = num; - ;} - break; - - case 138: + ; + break;} +case 137: #line 1579 "Gmsh.y" - { +{ int num = (int)yyvsp[-16].d; if(FindSurface(num, THEM)){ yymsg(GERROR, "Surface %d already exists", num); @@ -5205,12 +4468,11 @@ yyreduce: List_Delete(yyvsp[-8].l); yyval.s.Type = MSH_SURF_NURBS; yyval.s.Num = num; - ;} - break; - - case 139: + ; + break;} +case 138: #line 1596 "Gmsh.y" - { +{ int num = (int)yyvsp[-4].d; if(FindSurfaceLoop(num, THEM)){ yymsg(GERROR, "Surface loop %d already exists", num); @@ -5224,12 +4486,11 @@ yyreduce: List_Delete(yyvsp[-1].l); yyval.s.Type = MSH_SURF_LOOP; yyval.s.Num = num; - ;} - break; - - case 140: + ; + break;} +case 139: #line 1612 "Gmsh.y" - { +{ int num = (int)yyvsp[-4].d; if(FindPhysicalGroup(num, MSH_PHYSICAL_SURFACE, THEM)){ yymsg(GERROR, "Physical surface %d already exists", num); @@ -5243,12 +4504,11 @@ yyreduce: List_Delete(yyvsp[-1].l); yyval.s.Type = MSH_PHYSICAL_SURFACE; yyval.s.Num = num; - ;} - break; - - case 141: + ; + break;} +case 140: #line 1632 "Gmsh.y" - { +{ int num = (int)yyvsp[-4].d; if(FindVolume(num, THEM)){ yymsg(GERROR, "Volume %d already exists", num); @@ -5263,12 +4523,11 @@ yyreduce: List_Delete(yyvsp[-1].l); yyval.s.Type = MSH_VOLUME; yyval.s.Num = num; - ;} - break; - - case 142: + ; + break;} +case 141: #line 1649 "Gmsh.y" - { +{ int num = (int)yyvsp[-4].d; if(FindVolume(num, THEM)){ yymsg(GERROR, "Volume %d already exists", num); @@ -5283,12 +4542,11 @@ yyreduce: List_Delete(yyvsp[-1].l); yyval.s.Type = MSH_VOLUME; yyval.s.Num = num; - ;} - break; - - case 143: + ; + break;} +case 142: #line 1666 "Gmsh.y" - { +{ int num = (int)yyvsp[-4].d; if(FindPhysicalGroup(num, MSH_PHYSICAL_VOLUME, THEM)){ yymsg(GERROR, "Physical volume %d already exists", num); @@ -5302,73 +4560,63 @@ yyreduce: List_Delete(yyvsp[-1].l); yyval.s.Type = MSH_PHYSICAL_VOLUME; yyval.s.Num = num; - ;} - break; - - case 144: + ; + break;} +case 143: #line 1687 "Gmsh.y" - { +{ TranslateShapes(yyvsp[-3].v[0], yyvsp[-3].v[1], yyvsp[-3].v[2], yyvsp[-1].l, 1); yyval.l = yyvsp[-1].l; - ;} - break; - - case 145: + ; + break;} +case 144: #line 1692 "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, 1); yyval.l = yyvsp[-1].l; - ;} - break; - - case 146: + ; + break;} +case 145: #line 1697 "Gmsh.y" - { +{ SymmetryShapes(yyvsp[-3].v[0], yyvsp[-3].v[1], yyvsp[-3].v[2], yyvsp[-3].v[3], yyvsp[-1].l, 1); yyval.l = yyvsp[-1].l; - ;} - break; - - case 147: + ; + break;} +case 146: #line 1702 "Gmsh.y" - { +{ DilatShapes(yyvsp[-6].v[0], yyvsp[-6].v[1], yyvsp[-6].v[2], yyvsp[-4].d, yyvsp[-1].l, 1); yyval.l = yyvsp[-1].l; - ;} - break; - - case 148: + ; + break;} +case 147: #line 1709 "Gmsh.y" - { yyval.l = yyvsp[0].l; ;} - break; - - case 149: +{ yyval.l = yyvsp[0].l; ; + break;} +case 148: #line 1710 "Gmsh.y" - { yyval.l = yyvsp[0].l; ;} - break; - - case 150: +{ yyval.l = yyvsp[0].l; ; + break;} +case 149: #line 1711 "Gmsh.y" - { yyval.l = yyvsp[0].l; ;} - break; - - case 151: +{ yyval.l = yyvsp[0].l; ; + break;} +case 150: #line 1716 "Gmsh.y" - { +{ yyval.l = List_Create(3, 3, sizeof(Shape)); - ;} - break; - - case 152: + ; + break;} +case 151: #line 1720 "Gmsh.y" - { +{ List_Add(yyval.l, &yyvsp[0].s); - ;} - break; - - case 153: + ; + break;} +case 152: #line 1724 "Gmsh.y" - { +{ for(int i = 0; i < List_Nbr(yyvsp[-2].l); i++){ double d; List_Read(yyvsp[-2].l, i, &d); @@ -5382,12 +4630,11 @@ yyreduce: List_Add(yyval.l, &TheShape); } } - ;} - break; - - case 154: + ; + break;} +case 153: #line 1740 "Gmsh.y" - { +{ for(int i = 0; i < List_Nbr(yyvsp[-2].l); i++){ double d; List_Read(yyvsp[-2].l, i, &d); @@ -5401,12 +4648,11 @@ yyreduce: List_Add(yyval.l, &TheShape); } } - ;} - break; - - case 155: + ; + break;} +case 154: #line 1756 "Gmsh.y" - { +{ for(int i = 0; i < List_Nbr(yyvsp[-2].l); i++){ double d; List_Read(yyvsp[-2].l, i, &d); @@ -5420,12 +4666,11 @@ yyreduce: List_Add(yyval.l, &TheShape); } } - ;} - break; - - case 156: + ; + break;} +case 155: #line 1772 "Gmsh.y" - { +{ for(int i = 0; i < List_Nbr(yyvsp[-2].l); i++){ double d; List_Read(yyvsp[-2].l, i, &d); @@ -5439,12 +4684,11 @@ yyreduce: List_Add(yyval.l, &TheShape); } } - ;} - break; - - case 157: + ; + break;} +case 156: #line 1793 "Gmsh.y" - { +{ yyval.l = List_Create(3, 3, sizeof(Shape)); for(int i = 0; i < List_Nbr(yyvsp[-1].l); i++){ Shape TheShape; @@ -5455,51 +4699,46 @@ yyreduce: List_Add(yyval.l, &TheShape); } List_Delete(yyvsp[-1].l); - ;} - break; - - case 158: + ; + break;} +case 157: #line 1807 "Gmsh.y" - { +{ if(!strcmp(yyvsp[-4].c, "View")) AliasView((int)yyvsp[-2].d, 0); Free(yyvsp[-4].c); yyval.l = NULL; - ;} - break; - - case 159: + ; + break;} +case 158: #line 1813 "Gmsh.y" - { +{ if(!strcmp(yyvsp[-4].c, "View")) AliasView((int)yyvsp[-2].d, 0); Free(yyvsp[-4].c); yyval.l = NULL; - ;} - break; - - case 160: + ; + break;} +case 159: #line 1819 "Gmsh.y" - { +{ if(!strcmp(yyvsp[-4].c, "View")) AliasView((int)yyvsp[-2].d, 1); Free(yyvsp[-4].c); yyval.l = NULL; - ;} - break; - - case 161: + ; + break;} +case 160: #line 1831 "Gmsh.y" - { +{ for(int i = 0; i < List_Nbr(yyvsp[-1].l); i++){ Shape TheShape; List_Read(yyvsp[-1].l, i, &TheShape); DeleteShape(TheShape.Type, TheShape.Num); } List_Delete(yyvsp[-1].l); - ;} - break; - - case 162: + ; + break;} +case 161: #line 1840 "Gmsh.y" - { +{ if(!strcmp(yyvsp[-4].c, "View")){ RemoveViewByIndex((int)yyvsp[-2].d); } @@ -5507,25 +4746,27 @@ yyreduce: yymsg(GERROR, "Unknown command 'Delete %s'", yyvsp[-4].c); } Free(yyvsp[-4].c); - ;} - break; - - case 163: + ; + break;} +case 162: #line 1850 "Gmsh.y" - { +{ if(!strcmp(yyvsp[-1].c, "Meshes") || !strcmp(yyvsp[-1].c, "All")){ Init_Mesh(THEM); } + else if(!strcmp(yyvsp[-1].c, "Physicals")){ + List_Action(THEM->PhysicalGroups, Free_PhysicalGroup); + List_Reset(THEM->PhysicalGroups); + } else{ yymsg(GERROR, "Unknown command 'Delete %s'", yyvsp[-1].c); } Free(yyvsp[-1].c); - ;} - break; - - case 164: -#line 1860 "Gmsh.y" - { + ; + break;} +case 163: +#line 1864 "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--){ Post_View *v = *(Post_View **) List_Pointer(CTX.post.list, i); @@ -5537,44 +4778,40 @@ yyreduce: yymsg(GERROR, "Unknown command 'Delete %s %s'", yyvsp[-2].c, yyvsp[-1].c); } Free(yyvsp[-2].c); Free(yyvsp[-1].c); - ;} - break; - - case 165: -#line 1879 "Gmsh.y" - { + ; + break;} +case 164: +#line 1883 "Gmsh.y" +{ for(int i = 0; i < List_Nbr(yyvsp[-1].l); i++){ Shape TheShape; List_Read(yyvsp[-1].l, i, &TheShape); ColorShape(TheShape.Type, TheShape.Num, yyvsp[-3].u); } List_Delete(yyvsp[-1].l); - ;} - break; - - case 166: -#line 1893 "Gmsh.y" - { + ; + break;} +case 165: +#line 1897 "Gmsh.y" +{ int m = (CTX.visibility_mode == 2) ? VIS_MESH : ((CTX.visibility_mode == 1) ? VIS_GEOM : VIS_GEOM|VIS_MESH); for(int i = 2; i < 6; i++) SetVisibilityByNumber(yyvsp[-1].c, i, m); Free(yyvsp[-1].c); - ;} - break; - - case 167: -#line 1901 "Gmsh.y" - { + ; + break;} +case 166: +#line 1905 "Gmsh.y" +{ for(int i = 2; i < 6; i++) SetVisibilityByNumber(yyvsp[-1].c, i, 0); Free(yyvsp[-1].c); - ;} - break; - - case 168: -#line 1907 "Gmsh.y" - { + ; + break;} +case 167: +#line 1911 "Gmsh.y" +{ int m = (CTX.visibility_mode == 2) ? VIS_MESH : ((CTX.visibility_mode == 1) ? VIS_GEOM : VIS_GEOM|VIS_MESH); for(int i = 0; i < List_Nbr(yyvsp[-1].l); i++){ @@ -5582,25 +4819,23 @@ yyreduce: List_Read(yyvsp[-1].l, i, &TheShape); VisibilityShape(TheShape.Type, TheShape.Num, m); } - List_Delete(yyvsp[-1].l); - ;} - break; - - case 169: -#line 1918 "Gmsh.y" - { + List_Delete(yyvsp[-1].l); + ; + break;} +case 168: +#line 1922 "Gmsh.y" +{ for(int i = 0; i < List_Nbr(yyvsp[-1].l); i++){ Shape TheShape; List_Read(yyvsp[-1].l, i, &TheShape); VisibilityShape(TheShape.Type, TheShape.Num, 0); } List_Delete(yyvsp[-1].l); - ;} - break; - - case 170: -#line 1932 "Gmsh.y" - { + ; + break;} +case 169: +#line 1936 "Gmsh.y" +{ if(!strcmp(yyvsp[-2].c, "Include")){ char tmpstring[1024]; FixRelativePath(yyvsp[-1].c, tmpstring); @@ -5642,12 +4877,11 @@ yyreduce: yymsg(GERROR, "Unknown command '%s'", yyvsp[-2].c); } Free(yyvsp[-2].c); Free(yyvsp[-1].c); - ;} - break; - - case 171: -#line 1976 "Gmsh.y" - { + ; + break;} +case 170: +#line 1980 "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); if(vv){ @@ -5660,12 +4894,11 @@ yyreduce: yymsg(GERROR, "Unknown command '%s'", yyvsp[-6].c); } Free(yyvsp[-6].c); Free(yyvsp[-5].c); Free(yyvsp[-1].c); - ;} - break; - - case 172: -#line 1991 "Gmsh.y" - { + ; + break;} +case 171: +#line 1995 "Gmsh.y" +{ if(!strcmp(yyvsp[-2].c, "Sleep")){ long sleep_time = GetTime(); while(1){ @@ -5679,12 +4912,11 @@ yyreduce: yymsg(GERROR, "Unknown command '%s'", yyvsp[-2].c); } Free(yyvsp[-2].c); - ;} - break; - - case 173: -#line 2007 "Gmsh.y" - { + ; + break;} +case 172: +#line 2011 "Gmsh.y" +{ try { GMSH_PluginManager::instance()->action(yyvsp[-4].c, yyvsp[-1].c, 0); } @@ -5692,12 +4924,11 @@ yyreduce: yymsg(GERROR, "Unknown action '%s' or plugin '%s'", yyvsp[-1].c, yyvsp[-4].c); } Free(yyvsp[-4].c); Free(yyvsp[-1].c); - ;} - break; - - case 174: -#line 2017 "Gmsh.y" - { + ; + break;} +case 173: +#line 2021 "Gmsh.y" +{ if(!strcmp(yyvsp[-1].c, "ElementsFromAllViews")) CombineViews(0, 1, CTX.post.combine_remove_orig); else if(!strcmp(yyvsp[-1].c, "ElementsFromVisibleViews")) @@ -5717,43 +4948,38 @@ yyreduce: else yymsg(GERROR, "Unknown 'Combine' command"); Free(yyvsp[-1].c); - ;} - break; - - case 175: -#line 2039 "Gmsh.y" - { - exit(0); - ;} - break; - - case 176: + ; + break;} +case 174: #line 2043 "Gmsh.y" - { - SetBoundingBox(); - ;} - break; - - case 177: +{ + exit(0); + ; + break;} +case 175: #line 2047 "Gmsh.y" - { - SetBoundingBox(yyvsp[-12].d, yyvsp[-10].d, yyvsp[-8].d, yyvsp[-6].d, yyvsp[-4].d, yyvsp[-2].d); - ;} - break; - - case 178: +{ + SetBoundingBox(); + ; + break;} +case 176: #line 2051 "Gmsh.y" - { +{ + SetBoundingBox(yyvsp[-12].d, yyvsp[-10].d, yyvsp[-8].d, yyvsp[-6].d, yyvsp[-4].d, yyvsp[-2].d); + ; + break;} +case 177: +#line 2055 "Gmsh.y" +{ #if defined(HAVE_FLTK) if(!CTX.batch) // we're in interactive mode Draw(); #endif - ;} - break; - - case 179: -#line 2064 "Gmsh.y" - { + ; + break;} +case 178: +#line 2068 "Gmsh.y" +{ LoopControlVariablesTab[ImbricatedLoop][0] = yyvsp[-3].d; LoopControlVariablesTab[ImbricatedLoop][1] = yyvsp[-1].d; LoopControlVariablesTab[ImbricatedLoop][2] = 1.0; @@ -5766,12 +4992,11 @@ yyreduce: ImbricatedLoop = MAX_RECUR_LOOPS-1; } if(yyvsp[-3].d > yyvsp[-1].d) skip_until("For", "EndFor"); - ;} - break; - - case 180: -#line 2079 "Gmsh.y" - { + ; + break;} +case 179: +#line 2083 "Gmsh.y" +{ LoopControlVariablesTab[ImbricatedLoop][0] = yyvsp[-5].d; LoopControlVariablesTab[ImbricatedLoop][1] = yyvsp[-3].d; LoopControlVariablesTab[ImbricatedLoop][2] = yyvsp[-1].d; @@ -5785,12 +5010,11 @@ yyreduce: } if((yyvsp[-1].d > 0. && yyvsp[-5].d > yyvsp[-3].d) || (yyvsp[-1].d < 0. && yyvsp[-5].d < yyvsp[-3].d)) skip_until("For", "EndFor"); - ;} - break; - - case 181: -#line 2095 "Gmsh.y" - { + ; + break;} +case 180: +#line 2099 "Gmsh.y" +{ LoopControlVariablesTab[ImbricatedLoop][0] = yyvsp[-3].d; LoopControlVariablesTab[ImbricatedLoop][1] = yyvsp[-1].d; LoopControlVariablesTab[ImbricatedLoop][2] = 1.0; @@ -5814,12 +5038,11 @@ yyreduce: ImbricatedLoop = MAX_RECUR_LOOPS-1; } if(yyvsp[-3].d > yyvsp[-1].d) skip_until("For", "EndFor"); - ;} - break; - - case 182: -#line 2121 "Gmsh.y" - { + ; + break;} +case 181: +#line 2125 "Gmsh.y" +{ LoopControlVariablesTab[ImbricatedLoop][0] = yyvsp[-5].d; LoopControlVariablesTab[ImbricatedLoop][1] = yyvsp[-3].d; LoopControlVariablesTab[ImbricatedLoop][2] = yyvsp[-1].d; @@ -5844,12 +5067,11 @@ yyreduce: } if((yyvsp[-1].d > 0. && yyvsp[-5].d > yyvsp[-3].d) || (yyvsp[-1].d < 0. && yyvsp[-5].d < yyvsp[-3].d)) skip_until("For", "EndFor"); - ;} - break; - - case 183: -#line 2148 "Gmsh.y" - { + ; + break;} +case 182: +#line 2152 "Gmsh.y" +{ if(ImbricatedLoop <= 0){ yymsg(GERROR, "Invalid For/EndFor loop"); ImbricatedLoop = 0; @@ -5879,52 +5101,46 @@ yyreduce: ImbricatedLoop--; } } - ;} - break; - - case 184: -#line 2180 "Gmsh.y" - { + ; + break;} +case 183: +#line 2184 "Gmsh.y" +{ if(!FunctionManager::Instance()->createFunction(yyvsp[0].c, yyin, yyname, yylineno)) yymsg(GERROR, "Redefinition of function %s", yyvsp[0].c); skip_until(NULL, "Return"); //FIXME: wee leak $2 - ;} - break; - - case 185: -#line 2187 "Gmsh.y" - { + ; + break;} +case 184: +#line 2191 "Gmsh.y" +{ if(!FunctionManager::Instance()->leaveFunction(&yyin, yyname, yylineno)) yymsg(GERROR, "Error while exiting function"); - ;} - break; - - case 186: -#line 2192 "Gmsh.y" - { + ; + break;} +case 185: +#line 2196 "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 187: -#line 2198 "Gmsh.y" - { - if(!yyvsp[-1].d) skip_until("If", "EndIf"); - ;} - break; - - case 188: + ; + break;} +case 186: #line 2202 "Gmsh.y" - { - ;} - break; - - case 189: -#line 2213 "Gmsh.y" - { +{ + if(!yyvsp[-1].d) skip_until("If", "EndIf"); + ; + break;} +case 187: +#line 2206 "Gmsh.y" +{ + ; + break;} +case 188: +#line 2217 "Gmsh.y" +{ Curve *pc, *prc; Shape TheShape; TheShape.Num = Extrude_ProtudePoint(TRANSLATE, (int)yyvsp[-4].d, yyvsp[-2].v[0], yyvsp[-2].v[1], yyvsp[-2].v[2], @@ -5938,12 +5154,11 @@ yyreduce: TheShape.Type = pc->Typ; List_Add(yyval.l, &TheShape); } - ;} - break; - - case 190: -#line 2229 "Gmsh.y" - { + ; + break;} +case 189: +#line 2233 "Gmsh.y" +{ Curve *pc, *prc; Shape TheShape; TheShape.Num = Extrude_ProtudePoint(ROTATE, (int)yyvsp[-8].d, 0., 0., 0., @@ -5957,12 +5172,11 @@ yyreduce: TheShape.Type = pc->Typ; List_Add(yyval.l, &TheShape); } - ;} - break; - - case 191: -#line 2245 "Gmsh.y" - { + ; + break;} +case 190: +#line 2249 "Gmsh.y" +{ Curve *pc, *prc; Shape TheShape; TheShape.Num = Extrude_ProtudePoint(TRANSLATE_ROTATE, (int)yyvsp[-10].d, yyvsp[-8].v[0], yyvsp[-8].v[1], yyvsp[-8].v[2], @@ -5976,20 +5190,18 @@ yyreduce: TheShape.Type = pc->Typ; List_Add(yyval.l, &TheShape); } - ;} - break; - - case 192: -#line 2261 "Gmsh.y" - { + ; + break;} +case 191: +#line 2265 "Gmsh.y" +{ extr.mesh.ExtrudeMesh = false; extr.mesh.Recombine = false; - ;} - break; - - case 193: -#line 2266 "Gmsh.y" - { + ; + break;} +case 192: +#line 2270 "Gmsh.y" +{ Curve *pc, *prc; Shape TheShape; TheShape.Num = Extrude_ProtudePoint(TRANSLATE, (int)yyvsp[-8].d, yyvsp[-6].v[0], yyvsp[-6].v[1], yyvsp[-6].v[2], @@ -6003,20 +5215,18 @@ yyreduce: TheShape.Type = pc->Typ; List_Add(yyval.l, &TheShape); } - ;} - break; - - case 194: -#line 2282 "Gmsh.y" - { + ; + break;} +case 193: +#line 2286 "Gmsh.y" +{ extr.mesh.ExtrudeMesh = false; extr.mesh.Recombine = false; - ;} - break; - - case 195: -#line 2287 "Gmsh.y" - { + ; + break;} +case 194: +#line 2291 "Gmsh.y" +{ Curve *pc, *prc; Shape TheShape; TheShape.Num = Extrude_ProtudePoint(ROTATE, (int)yyvsp[-12].d, 0., 0., 0., @@ -6030,20 +5240,18 @@ yyreduce: TheShape.Type = pc->Typ; List_Add(yyval.l, &TheShape); } - ;} - break; - - case 196: -#line 2303 "Gmsh.y" - { + ; + break;} +case 195: +#line 2307 "Gmsh.y" +{ extr.mesh.ExtrudeMesh = false; extr.mesh.Recombine = false; - ;} - break; - - case 197: -#line 2308 "Gmsh.y" - { + ; + break;} +case 196: +#line 2312 "Gmsh.y" +{ Curve *pc, *prc; Shape TheShape; TheShape.Num = Extrude_ProtudePoint(TRANSLATE_ROTATE, (int)yyvsp[-14].d, yyvsp[-12].v[0], yyvsp[-12].v[1], yyvsp[-12].v[2], @@ -6057,12 +5265,11 @@ yyreduce: TheShape.Type = pc->Typ; List_Add(yyval.l, &TheShape); } - ;} - break; - - case 198: -#line 2326 "Gmsh.y" - { + ; + break;} +case 197: +#line 2330 "Gmsh.y" +{ Surface *ps; Shape TheShape; TheShape.Num = Extrude_ProtudeCurve(TRANSLATE, (int)yyvsp[-4].d, yyvsp[-2].v[0], yyvsp[-2].v[1], yyvsp[-2].v[2], @@ -6083,12 +5290,11 @@ yyreduce: TheShape.Type = ps->Typ; List_Add(yyval.l, &TheShape); } - ;} - break; - - case 199: -#line 2349 "Gmsh.y" - { + ; + break;} +case 198: +#line 2353 "Gmsh.y" +{ Surface *ps; Shape TheShape; TheShape.Num = Extrude_ProtudeCurve(ROTATE, (int)yyvsp[-8].d, 0., 0., 0., @@ -6109,12 +5315,11 @@ yyreduce: TheShape.Type = ps->Typ; List_Add(yyval.l, &TheShape); } - ;} - break; - - case 200: -#line 2372 "Gmsh.y" - { + ; + break;} +case 199: +#line 2376 "Gmsh.y" +{ Surface *ps; Shape TheShape; TheShape.Num = Extrude_ProtudeCurve(TRANSLATE_ROTATE, (int)yyvsp[-10].d, yyvsp[-8].v[0], yyvsp[-8].v[1], yyvsp[-8].v[2], @@ -6135,20 +5340,18 @@ yyreduce: TheShape.Type = ps->Typ; List_Add(yyval.l, &TheShape); } - ;} - break; - - case 201: -#line 2395 "Gmsh.y" - { + ; + break;} +case 200: +#line 2399 "Gmsh.y" +{ extr.mesh.ExtrudeMesh = false; extr.mesh.Recombine = false; - ;} - break; - - case 202: -#line 2400 "Gmsh.y" - { + ; + break;} +case 201: +#line 2404 "Gmsh.y" +{ Surface *ps; Shape TheShape; TheShape.Num = Extrude_ProtudeCurve(TRANSLATE, (int)yyvsp[-8].d, yyvsp[-6].v[0], yyvsp[-6].v[1], yyvsp[-6].v[2], @@ -6169,20 +5372,18 @@ yyreduce: TheShape.Type = ps->Typ; List_Add(yyval.l, &TheShape); } - ;} - break; - - case 203: -#line 2423 "Gmsh.y" - { + ; + break;} +case 202: +#line 2427 "Gmsh.y" +{ extr.mesh.ExtrudeMesh = false; extr.mesh.Recombine = false; - ;} - break; - - case 204: -#line 2428 "Gmsh.y" - { + ; + break;} +case 203: +#line 2432 "Gmsh.y" +{ Surface *ps; Shape TheShape; TheShape.Num = Extrude_ProtudeCurve(ROTATE, (int)yyvsp[-12].d, 0., 0., 0., @@ -6203,20 +5404,18 @@ yyreduce: TheShape.Type = ps->Typ; List_Add(yyval.l, &TheShape); } - ;} - break; - - case 205: -#line 2451 "Gmsh.y" - { + ; + break;} +case 204: +#line 2455 "Gmsh.y" +{ extr.mesh.ExtrudeMesh = false; extr.mesh.Recombine = false; - ;} - break; - - case 206: -#line 2456 "Gmsh.y" - { + ; + break;} +case 205: +#line 2460 "Gmsh.y" +{ Surface *ps; Shape TheShape; TheShape.Num = Extrude_ProtudeCurve(TRANSLATE_ROTATE, (int)yyvsp[-14].d, yyvsp[-12].v[0], yyvsp[-12].v[1], yyvsp[-12].v[2], @@ -6237,12 +5436,11 @@ yyreduce: TheShape.Type = ps->Typ; List_Add(yyval.l, &TheShape); } - ;} - break; - - case 207: -#line 2482 "Gmsh.y" - { + ; + break;} +case 206: +#line 2486 "Gmsh.y" +{ Volume *pv; Shape TheShape; TheShape.Num = Extrude_ProtudeSurface(TRANSLATE, (int)yyvsp[-4].d, yyvsp[-2].v[0], yyvsp[-2].v[1], yyvsp[-2].v[2], @@ -6263,12 +5461,11 @@ yyreduce: TheShape.Type = pv->Typ; List_Add(yyval.l, &TheShape); } - ;} - break; - - case 208: -#line 2505 "Gmsh.y" - { + ; + break;} +case 207: +#line 2509 "Gmsh.y" +{ Volume *pv; Shape TheShape; TheShape.Num = Extrude_ProtudeSurface(ROTATE, (int)yyvsp[-8].d, 0., 0., 0., @@ -6289,12 +5486,11 @@ yyreduce: TheShape.Type = pv->Typ; List_Add(yyval.l, &TheShape); } - ;} - break; - - case 209: -#line 2528 "Gmsh.y" - { + ; + break;} +case 208: +#line 2532 "Gmsh.y" +{ Volume *pv; Shape TheShape; TheShape.Num = Extrude_ProtudeSurface(TRANSLATE_ROTATE, (int)yyvsp[-10].d, yyvsp[-8].v[0], yyvsp[-8].v[1], yyvsp[-8].v[2], @@ -6315,20 +5511,18 @@ yyreduce: TheShape.Type = pv->Typ; List_Add(yyval.l, &TheShape); } - ;} - break; - - case 210: -#line 2551 "Gmsh.y" - { + ; + break;} +case 209: +#line 2555 "Gmsh.y" +{ extr.mesh.ExtrudeMesh = false; extr.mesh.Recombine = false; - ;} - break; - - case 211: -#line 2556 "Gmsh.y" - { + ; + break;} +case 210: +#line 2560 "Gmsh.y" +{ Volume *pv; Shape TheShape; TheShape.Num = Extrude_ProtudeSurface(TRANSLATE, (int)yyvsp[-8].d, yyvsp[-6].v[0], yyvsp[-6].v[1], yyvsp[-6].v[2], @@ -6349,20 +5543,18 @@ yyreduce: TheShape.Type = pv->Typ; List_Add(yyval.l, &TheShape); } - ;} - break; - - case 212: -#line 2579 "Gmsh.y" - { + ; + break;} +case 211: +#line 2583 "Gmsh.y" +{ extr.mesh.ExtrudeMesh = false; extr.mesh.Recombine = false; - ;} - break; - - case 213: -#line 2585 "Gmsh.y" - { + ; + break;} +case 212: +#line 2589 "Gmsh.y" +{ Volume *pv; Shape TheShape; TheShape.Num = Extrude_ProtudeSurface(ROTATE, (int)yyvsp[-12].d, 0., 0., 0., @@ -6383,20 +5575,18 @@ yyreduce: TheShape.Type = pv->Typ; List_Add(yyval.l, &TheShape); } - ;} - break; - - case 214: -#line 2608 "Gmsh.y" - { + ; + break;} +case 213: +#line 2612 "Gmsh.y" +{ extr.mesh.ExtrudeMesh = false; extr.mesh.Recombine = false; - ;} - break; - - case 215: -#line 2614 "Gmsh.y" - { + ; + break;} +case 214: +#line 2618 "Gmsh.y" +{ Volume *pv; Shape TheShape; TheShape.Num = Extrude_ProtudeSurface(TRANSLATE_ROTATE, (int)yyvsp[-14].d, yyvsp[-12].v[0], yyvsp[-12].v[1], yyvsp[-12].v[2], @@ -6417,24 +5607,21 @@ yyreduce: TheShape.Type = pv->Typ; List_Add(yyval.l, &TheShape); } - ;} - break; - - case 216: -#line 2640 "Gmsh.y" - { - ;} - break; - - case 217: -#line 2643 "Gmsh.y" - { - ;} - break; - - case 218: -#line 2649 "Gmsh.y" - { + ; + break;} +case 215: +#line 2644 "Gmsh.y" +{ + ; + break;} +case 216: +#line 2647 "Gmsh.y" +{ + ; + break;} +case 217: +#line 2653 "Gmsh.y" +{ double d; extr.mesh.ExtrudeMesh = true; extr.mesh.NbLayer = List_Nbr(yyvsp[-6].l); @@ -6458,12 +5645,11 @@ yyreduce: List_Delete(yyvsp[-6].l); List_Delete(yyvsp[-4].l); List_Delete(yyvsp[-2].l); - ;} - break; - - case 219: -#line 2675 "Gmsh.y" - { + ; + break;} +case 218: +#line 2679 "Gmsh.y" +{ double d; extr.mesh.ExtrudeMesh = true; extr.mesh.NbLayer = List_Nbr(yyvsp[-4].l); @@ -6485,19 +5671,17 @@ yyreduce: } List_Delete(yyvsp[-4].l); List_Delete(yyvsp[-2].l); - ;} - break; - - case 220: -#line 2699 "Gmsh.y" - { + ; + break;} +case 219: +#line 2703 "Gmsh.y" +{ extr.mesh.Recombine = true; - ;} - break; - - case 221: -#line 2708 "Gmsh.y" - { + ; + break;} +case 220: +#line 2712 "Gmsh.y" +{ for(int i = 0; i < List_Nbr(yyvsp[-3].l); i++){ double d; List_Read(yyvsp[-3].l, i, &d); @@ -6513,12 +5697,11 @@ yyreduce: } } List_Delete(yyvsp[-3].l); - ;} - break; - - case 222: -#line 2726 "Gmsh.y" - { + ; + break;} +case 221: +#line 2730 "Gmsh.y" +{ for(int i = 0; i < List_Nbr(yyvsp[-6].l); i++){ double d; List_Read(yyvsp[-6].l, i, &d); @@ -6534,12 +5717,11 @@ yyreduce: } } List_Delete(yyvsp[-6].l); - ;} - break; - - case 223: -#line 2744 "Gmsh.y" - { + ; + break;} +case 222: +#line 2748 "Gmsh.y" +{ for(int i = 0; i < List_Nbr(yyvsp[-6].l); i++){ double d; List_Read(yyvsp[-6].l, i, &d); @@ -6555,12 +5737,11 @@ yyreduce: } } List_Delete(yyvsp[-6].l); - ;} - break; - - case 224: -#line 2762 "Gmsh.y" - { + ; + break;} +case 223: +#line 2766 "Gmsh.y" +{ Surface *s = FindSurface((int)yyvsp[-4].d, THEM); if(!s) yymsg(WARNING, "Unknown surface %d", (int)yyvsp[-4].d); @@ -6585,12 +5766,11 @@ yyreduce: } } List_Delete(yyvsp[-1].l); - ;} - break; - - case 225: -#line 2789 "Gmsh.y" - { + ; + break;} +case 224: +#line 2793 "Gmsh.y" +{ Surface *s = FindSurface((int)yyvsp[-4].d, THEM); if(!s) yymsg(WARNING, "Unknown surface %d", (int)yyvsp[-4].d); @@ -6614,12 +5794,11 @@ yyreduce: } } List_Delete(yyvsp[-1].l); - ;} - break; - - case 226: -#line 2815 "Gmsh.y" - { + ; + break;} +case 225: +#line 2819 "Gmsh.y" +{ Volume *v = FindVolume((int)yyvsp[-4].d, THEM); if(!v) yymsg(WARNING, "Unknown volume %d", (int)yyvsp[-4].d); @@ -6643,12 +5822,11 @@ yyreduce: } } List_Delete(yyvsp[-1].l); - ;} - break; - - case 227: -#line 2841 "Gmsh.y" - { + ; + break;} +case 226: +#line 2845 "Gmsh.y" +{ for(int i = 0; i < List_Nbr(yyvsp[-3].l); i++){ double d; List_Read(yyvsp[-3].l, i, &d); @@ -6660,12 +5838,11 @@ yyreduce: } } List_Delete(yyvsp[-3].l); - ;} - break; - - case 228: -#line 2855 "Gmsh.y" - { + ; + break;} +case 227: +#line 2859 "Gmsh.y" +{ for(int i = 0; i < List_Nbr(yyvsp[-1].l); i++){ double d; List_Read(yyvsp[-1].l, i, &d); @@ -6676,401 +5853,324 @@ yyreduce: } } List_Delete(yyvsp[-1].l); - ;} - break; - - case 229: -#line 2874 "Gmsh.y" - { - ReplaceAllDuplicates(THEM); - ;} - break; - - case 230: + ; + break;} +case 228: #line 2878 "Gmsh.y" - { +{ + ReplaceAllDuplicates(THEM); + ; + break;} +case 229: +#line 2882 "Gmsh.y" +{ IntersectAllSegmentsTogether(); - ;} - break; - - case 231: -#line 2887 "Gmsh.y" - {yyval.i = 1;;} - break; - - case 232: -#line 2888 "Gmsh.y" - {yyval.i = 0;;} - break; - - case 233: -#line 2889 "Gmsh.y" - {yyval.i = -1;;} - break; - - case 234: -#line 2890 "Gmsh.y" - {yyval.i = -1;;} - break; - - case 235: + ; + break;} +case 230: #line 2891 "Gmsh.y" - {yyval.i = -1;;} - break; - - case 236: +{yyval.i = 1;; + break;} +case 231: +#line 2892 "Gmsh.y" +{yyval.i = 0;; + break;} +case 232: +#line 2893 "Gmsh.y" +{yyval.i = -1;; + break;} +case 233: +#line 2894 "Gmsh.y" +{yyval.i = -1;; + break;} +case 234: #line 2895 "Gmsh.y" - { yyval.d = yyvsp[0].d; ;} - break; - - case 237: -#line 2896 "Gmsh.y" - { yyval.d = yyvsp[-1].d; ;} - break; - - case 238: -#line 2897 "Gmsh.y" - { yyval.d = -yyvsp[0].d; ;} - break; - - case 239: -#line 2898 "Gmsh.y" - { yyval.d = yyvsp[0].d; ;} - break; - - case 240: +{yyval.i = -1;; + break;} +case 235: #line 2899 "Gmsh.y" - { yyval.d = !yyvsp[0].d; ;} - break; - - case 241: +{ yyval.d = yyvsp[0].d; ; + break;} +case 236: #line 2900 "Gmsh.y" - { yyval.d = yyvsp[-2].d - yyvsp[0].d; ;} - break; - - case 242: +{ yyval.d = yyvsp[-1].d; ; + break;} +case 237: #line 2901 "Gmsh.y" - { yyval.d = yyvsp[-2].d + yyvsp[0].d; ;} - break; - - case 243: +{ yyval.d = -yyvsp[0].d; ; + break;} +case 238: #line 2902 "Gmsh.y" - { yyval.d = yyvsp[-2].d * yyvsp[0].d; ;} - break; - - case 244: +{ yyval.d = yyvsp[0].d; ; + break;} +case 239: +#line 2903 "Gmsh.y" +{ yyval.d = !yyvsp[0].d; ; + break;} +case 240: #line 2904 "Gmsh.y" - { +{ yyval.d = yyvsp[-2].d - yyvsp[0].d; ; + break;} +case 241: +#line 2905 "Gmsh.y" +{ yyval.d = yyvsp[-2].d + yyvsp[0].d; ; + break;} +case 242: +#line 2906 "Gmsh.y" +{ yyval.d = yyvsp[-2].d * yyvsp[0].d; ; + break;} +case 243: +#line 2908 "Gmsh.y" +{ if(!yyvsp[0].d) yymsg(GERROR, "Division by zero in '%g / %g'", yyvsp[-2].d, yyvsp[0].d); else yyval.d = yyvsp[-2].d / yyvsp[0].d; - ;} - break; - - case 245: -#line 2910 "Gmsh.y" - { yyval.d = (int)yyvsp[-2].d % (int)yyvsp[0].d; ;} - break; - - case 246: -#line 2911 "Gmsh.y" - { yyval.d = pow(yyvsp[-2].d, yyvsp[0].d); ;} - break; - - case 247: -#line 2912 "Gmsh.y" - { yyval.d = yyvsp[-2].d < yyvsp[0].d; ;} - break; - - case 248: -#line 2913 "Gmsh.y" - { yyval.d = yyvsp[-2].d > yyvsp[0].d; ;} - break; - - case 249: + ; + break;} +case 244: #line 2914 "Gmsh.y" - { yyval.d = yyvsp[-2].d <= yyvsp[0].d; ;} - break; - - case 250: +{ yyval.d = (int)yyvsp[-2].d % (int)yyvsp[0].d; ; + break;} +case 245: #line 2915 "Gmsh.y" - { yyval.d = yyvsp[-2].d >= yyvsp[0].d; ;} - break; - - case 251: +{ yyval.d = pow(yyvsp[-2].d, yyvsp[0].d); ; + break;} +case 246: #line 2916 "Gmsh.y" - { yyval.d = yyvsp[-2].d == yyvsp[0].d; ;} - break; - - case 252: +{ yyval.d = yyvsp[-2].d < yyvsp[0].d; ; + break;} +case 247: #line 2917 "Gmsh.y" - { yyval.d = yyvsp[-2].d != yyvsp[0].d; ;} - break; - - case 253: +{ yyval.d = yyvsp[-2].d > yyvsp[0].d; ; + break;} +case 248: #line 2918 "Gmsh.y" - { yyval.d = yyvsp[-2].d && yyvsp[0].d; ;} - break; - - case 254: +{ yyval.d = yyvsp[-2].d <= yyvsp[0].d; ; + break;} +case 249: #line 2919 "Gmsh.y" - { yyval.d = yyvsp[-2].d || yyvsp[0].d; ;} - break; - - case 255: +{ yyval.d = yyvsp[-2].d >= yyvsp[0].d; ; + break;} +case 250: #line 2920 "Gmsh.y" - { yyval.d = yyvsp[-4].d? yyvsp[-2].d : yyvsp[0].d; ;} - break; - - case 256: +{ yyval.d = yyvsp[-2].d == yyvsp[0].d; ; + break;} +case 251: #line 2921 "Gmsh.y" - { yyval.d = exp(yyvsp[-1].d); ;} - break; - - case 257: +{ yyval.d = yyvsp[-2].d != yyvsp[0].d; ; + break;} +case 252: #line 2922 "Gmsh.y" - { yyval.d = log(yyvsp[-1].d); ;} - break; - - case 258: +{ yyval.d = yyvsp[-2].d && yyvsp[0].d; ; + break;} +case 253: #line 2923 "Gmsh.y" - { yyval.d = log10(yyvsp[-1].d); ;} - break; - - case 259: +{ yyval.d = yyvsp[-2].d || yyvsp[0].d; ; + break;} +case 254: #line 2924 "Gmsh.y" - { yyval.d = sqrt(yyvsp[-1].d); ;} - break; - - case 260: +{ yyval.d = yyvsp[-4].d? yyvsp[-2].d : yyvsp[0].d; ; + break;} +case 255: #line 2925 "Gmsh.y" - { yyval.d = sin(yyvsp[-1].d); ;} - break; - - case 261: +{ yyval.d = exp(yyvsp[-1].d); ; + break;} +case 256: #line 2926 "Gmsh.y" - { yyval.d = asin(yyvsp[-1].d); ;} - break; - - case 262: +{ yyval.d = log(yyvsp[-1].d); ; + break;} +case 257: #line 2927 "Gmsh.y" - { yyval.d = cos(yyvsp[-1].d); ;} - break; - - case 263: +{ yyval.d = log10(yyvsp[-1].d); ; + break;} +case 258: #line 2928 "Gmsh.y" - { yyval.d = acos(yyvsp[-1].d); ;} - break; - - case 264: +{ yyval.d = sqrt(yyvsp[-1].d); ; + break;} +case 259: #line 2929 "Gmsh.y" - { yyval.d = tan(yyvsp[-1].d); ;} - break; - - case 265: +{ yyval.d = sin(yyvsp[-1].d); ; + break;} +case 260: #line 2930 "Gmsh.y" - { yyval.d = atan(yyvsp[-1].d); ;} - break; - - case 266: +{ yyval.d = asin(yyvsp[-1].d); ; + break;} +case 261: #line 2931 "Gmsh.y" - { yyval.d = atan2(yyvsp[-3].d, yyvsp[-1].d);;} - break; - - case 267: +{ yyval.d = cos(yyvsp[-1].d); ; + break;} +case 262: #line 2932 "Gmsh.y" - { yyval.d = sinh(yyvsp[-1].d); ;} - break; - - case 268: +{ yyval.d = acos(yyvsp[-1].d); ; + break;} +case 263: #line 2933 "Gmsh.y" - { yyval.d = cosh(yyvsp[-1].d); ;} - break; - - case 269: +{ yyval.d = tan(yyvsp[-1].d); ; + break;} +case 264: #line 2934 "Gmsh.y" - { yyval.d = tanh(yyvsp[-1].d); ;} - break; - - case 270: +{ yyval.d = atan(yyvsp[-1].d); ; + break;} +case 265: #line 2935 "Gmsh.y" - { yyval.d = fabs(yyvsp[-1].d); ;} - break; - - case 271: +{ yyval.d = atan2(yyvsp[-3].d, yyvsp[-1].d);; + break;} +case 266: #line 2936 "Gmsh.y" - { yyval.d = floor(yyvsp[-1].d); ;} - break; - - case 272: +{ yyval.d = sinh(yyvsp[-1].d); ; + break;} +case 267: #line 2937 "Gmsh.y" - { yyval.d = ceil(yyvsp[-1].d); ;} - break; - - case 273: +{ yyval.d = cosh(yyvsp[-1].d); ; + break;} +case 268: #line 2938 "Gmsh.y" - { yyval.d = fmod(yyvsp[-3].d, yyvsp[-1].d); ;} - break; - - case 274: +{ yyval.d = tanh(yyvsp[-1].d); ; + break;} +case 269: #line 2939 "Gmsh.y" - { yyval.d = fmod(yyvsp[-3].d, yyvsp[-1].d); ;} - break; - - case 275: +{ yyval.d = fabs(yyvsp[-1].d); ; + break;} +case 270: #line 2940 "Gmsh.y" - { yyval.d = sqrt(yyvsp[-3].d*yyvsp[-3].d+yyvsp[-1].d*yyvsp[-1].d); ;} - break; - - case 276: +{ yyval.d = floor(yyvsp[-1].d); ; + break;} +case 271: #line 2941 "Gmsh.y" - { yyval.d = yyvsp[-1].d*(double)rand()/(double)RAND_MAX; ;} - break; - - case 277: +{ yyval.d = ceil(yyvsp[-1].d); ; + break;} +case 272: +#line 2942 "Gmsh.y" +{ yyval.d = fmod(yyvsp[-3].d, yyvsp[-1].d); ; + break;} +case 273: #line 2943 "Gmsh.y" - { yyval.d = exp(yyvsp[-1].d); ;} - break; - - case 278: +{ yyval.d = fmod(yyvsp[-3].d, yyvsp[-1].d); ; + break;} +case 274: #line 2944 "Gmsh.y" - { yyval.d = log(yyvsp[-1].d); ;} - break; - - case 279: +{ yyval.d = sqrt(yyvsp[-3].d*yyvsp[-3].d+yyvsp[-1].d*yyvsp[-1].d); ; + break;} +case 275: #line 2945 "Gmsh.y" - { yyval.d = log10(yyvsp[-1].d); ;} - break; - - case 280: -#line 2946 "Gmsh.y" - { yyval.d = sqrt(yyvsp[-1].d); ;} - break; - - case 281: +{ yyval.d = yyvsp[-1].d*(double)rand()/(double)RAND_MAX; ; + break;} +case 276: #line 2947 "Gmsh.y" - { yyval.d = sin(yyvsp[-1].d); ;} - break; - - case 282: +{ yyval.d = exp(yyvsp[-1].d); ; + break;} +case 277: #line 2948 "Gmsh.y" - { yyval.d = asin(yyvsp[-1].d); ;} - break; - - case 283: +{ yyval.d = log(yyvsp[-1].d); ; + break;} +case 278: #line 2949 "Gmsh.y" - { yyval.d = cos(yyvsp[-1].d); ;} - break; - - case 284: +{ yyval.d = log10(yyvsp[-1].d); ; + break;} +case 279: #line 2950 "Gmsh.y" - { yyval.d = acos(yyvsp[-1].d); ;} - break; - - case 285: +{ yyval.d = sqrt(yyvsp[-1].d); ; + break;} +case 280: #line 2951 "Gmsh.y" - { yyval.d = tan(yyvsp[-1].d); ;} - break; - - case 286: +{ yyval.d = sin(yyvsp[-1].d); ; + break;} +case 281: #line 2952 "Gmsh.y" - { yyval.d = atan(yyvsp[-1].d); ;} - break; - - case 287: +{ yyval.d = asin(yyvsp[-1].d); ; + break;} +case 282: #line 2953 "Gmsh.y" - { yyval.d = atan2(yyvsp[-3].d, yyvsp[-1].d);;} - break; - - case 288: +{ yyval.d = cos(yyvsp[-1].d); ; + break;} +case 283: #line 2954 "Gmsh.y" - { yyval.d = sinh(yyvsp[-1].d); ;} - break; - - case 289: +{ yyval.d = acos(yyvsp[-1].d); ; + break;} +case 284: #line 2955 "Gmsh.y" - { yyval.d = cosh(yyvsp[-1].d); ;} - break; - - case 290: +{ yyval.d = tan(yyvsp[-1].d); ; + break;} +case 285: #line 2956 "Gmsh.y" - { yyval.d = tanh(yyvsp[-1].d); ;} - break; - - case 291: +{ yyval.d = atan(yyvsp[-1].d); ; + break;} +case 286: #line 2957 "Gmsh.y" - { yyval.d = fabs(yyvsp[-1].d); ;} - break; - - case 292: +{ yyval.d = atan2(yyvsp[-3].d, yyvsp[-1].d);; + break;} +case 287: #line 2958 "Gmsh.y" - { yyval.d = floor(yyvsp[-1].d); ;} - break; - - case 293: +{ yyval.d = sinh(yyvsp[-1].d); ; + break;} +case 288: #line 2959 "Gmsh.y" - { yyval.d = ceil(yyvsp[-1].d); ;} - break; - - case 294: +{ yyval.d = cosh(yyvsp[-1].d); ; + break;} +case 289: #line 2960 "Gmsh.y" - { yyval.d = fmod(yyvsp[-3].d, yyvsp[-1].d); ;} - break; - - case 295: +{ yyval.d = tanh(yyvsp[-1].d); ; + break;} +case 290: #line 2961 "Gmsh.y" - { yyval.d = fmod(yyvsp[-3].d, yyvsp[-1].d); ;} - break; - - case 296: +{ yyval.d = fabs(yyvsp[-1].d); ; + break;} +case 291: #line 2962 "Gmsh.y" - { yyval.d = sqrt(yyvsp[-3].d*yyvsp[-3].d+yyvsp[-1].d*yyvsp[-1].d); ;} - break; - - case 297: +{ yyval.d = floor(yyvsp[-1].d); ; + break;} +case 292: #line 2963 "Gmsh.y" - { yyval.d = yyvsp[-1].d*(double)rand()/(double)RAND_MAX; ;} - break; - - case 298: -#line 2972 "Gmsh.y" - { yyval.d = yyvsp[0].d; ;} - break; - - case 299: -#line 2973 "Gmsh.y" - { yyval.d = 3.141592653589793; ;} - break; - - case 300: -#line 2974 "Gmsh.y" - { yyval.d = ParUtil::Instance()->rank(); ;} - break; - - case 301: -#line 2975 "Gmsh.y" - { yyval.d = ParUtil::Instance()->size(); ;} - break; - - case 302: +{ yyval.d = ceil(yyvsp[-1].d); ; + break;} +case 293: +#line 2964 "Gmsh.y" +{ yyval.d = fmod(yyvsp[-3].d, yyvsp[-1].d); ; + break;} +case 294: +#line 2965 "Gmsh.y" +{ yyval.d = fmod(yyvsp[-3].d, yyvsp[-1].d); ; + break;} +case 295: +#line 2966 "Gmsh.y" +{ yyval.d = sqrt(yyvsp[-3].d*yyvsp[-3].d+yyvsp[-1].d*yyvsp[-1].d); ; + break;} +case 296: +#line 2967 "Gmsh.y" +{ yyval.d = yyvsp[-1].d*(double)rand()/(double)RAND_MAX; ; + break;} +case 297: #line 2976 "Gmsh.y" - { yyval.d = GMSH_MAJOR_VERSION; ;} - break; - - case 303: +{ yyval.d = yyvsp[0].d; ; + break;} +case 298: #line 2977 "Gmsh.y" - { yyval.d = GMSH_MINOR_VERSION; ;} - break; - - case 304: +{ yyval.d = 3.141592653589793; ; + break;} +case 299: #line 2978 "Gmsh.y" - { yyval.d = GMSH_PATCH_VERSION; ;} - break; - - case 305: -#line 2983 "Gmsh.y" - { +{ yyval.d = ParUtil::Instance()->rank(); ; + break;} +case 300: +#line 2979 "Gmsh.y" +{ yyval.d = ParUtil::Instance()->size(); ; + break;} +case 301: +#line 2980 "Gmsh.y" +{ yyval.d = GMSH_MAJOR_VERSION; ; + break;} +case 302: +#line 2981 "Gmsh.y" +{ yyval.d = GMSH_MINOR_VERSION; ; + break;} +case 303: +#line 2982 "Gmsh.y" +{ yyval.d = GMSH_PATCH_VERSION; ; + break;} +case 304: +#line 2987 "Gmsh.y" +{ Symbol TheSymbol; TheSymbol.Name = yyvsp[0].c; Symbol *pSymbol; @@ -7081,12 +6181,11 @@ yyreduce: else yyval.d = *(double*)List_Pointer_Fast(pSymbol->val, 0); Free(yyvsp[0].c); - ;} - break; - - case 306: -#line 2996 "Gmsh.y" - { + ; + break;} +case 305: +#line 3000 "Gmsh.y" +{ Symbol TheSymbol; TheSymbol.Name = yyvsp[-3].c; Symbol *pSymbol; @@ -7104,12 +6203,11 @@ yyreduce: } } Free(yyvsp[-3].c); - ;} - break; - - case 307: -#line 3016 "Gmsh.y" - { + ; + break;} +case 306: +#line 3020 "Gmsh.y" +{ Symbol TheSymbol; TheSymbol.Name = yyvsp[-2].c; Symbol *pSymbol; @@ -7121,12 +6219,11 @@ yyreduce: yyval.d = List_Nbr(pSymbol->val); } Free(yyvsp[-2].c); - ;} - break; - - case 308: -#line 3030 "Gmsh.y" - { + ; + break;} +case 307: +#line 3034 "Gmsh.y" +{ Symbol TheSymbol; TheSymbol.Name = yyvsp[-1].c; Symbol *pSymbol; @@ -7137,12 +6234,11 @@ yyreduce: else yyval.d = (*(double*)List_Pointer_Fast(pSymbol->val, 0) += yyvsp[0].i); Free(yyvsp[-1].c); - ;} - break; - - case 309: -#line 3043 "Gmsh.y" - { + ; + break;} +case 308: +#line 3047 "Gmsh.y" +{ Symbol TheSymbol; TheSymbol.Name = yyvsp[-4].c; Symbol *pSymbol; @@ -7160,12 +6256,11 @@ yyreduce: } } Free(yyvsp[-4].c); - ;} - break; - - case 310: -#line 3066 "Gmsh.y" - { + ; + break;} +case 309: +#line 3070 "Gmsh.y" +{ double (*pNumOpt)(int num, int action, double value); StringXNumber *pNumCat; if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-2].c))){ @@ -7181,12 +6276,11 @@ yyreduce: yyval.d = pNumOpt(0, GMSH_GET, 0); } Free(yyvsp[-2].c); Free(yyvsp[0].c); - ;} - break; - - case 311: -#line 3084 "Gmsh.y" - { + ; + break;} +case 310: +#line 3088 "Gmsh.y" +{ double (*pNumOpt)(int num, int action, double value); StringXNumber *pNumCat; if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-5].c))){ @@ -7202,12 +6296,11 @@ yyreduce: yyval.d = pNumOpt((int)yyvsp[-3].d, GMSH_GET, 0); } Free(yyvsp[-5].c); Free(yyvsp[0].c); - ;} - break; - - case 312: -#line 3102 "Gmsh.y" - { + ; + break;} +case 311: +#line 3106 "Gmsh.y" +{ double (*pNumOpt)(int num, int action, double value); StringXNumber *pNumCat; if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-3].c))){ @@ -7223,12 +6316,11 @@ yyreduce: yyval.d = pNumOpt(0, GMSH_SET|GMSH_GUI, pNumOpt(0, GMSH_GET, 0)+yyvsp[0].i); } Free(yyvsp[-3].c); Free(yyvsp[-1].c); - ;} - break; - - case 313: -#line 3120 "Gmsh.y" - { + ; + break;} +case 312: +#line 3124 "Gmsh.y" +{ double (*pNumOpt)(int num, int action, double value); StringXNumber *pNumCat; if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-6].c))){ @@ -7244,185 +6336,160 @@ yyreduce: yyval.d = pNumOpt((int)yyvsp[-4].d, GMSH_SET|GMSH_GUI, pNumOpt((int)yyvsp[-4].d, GMSH_GET, 0)+yyvsp[0].i); } Free(yyvsp[-6].c); Free(yyvsp[-1].c); - ;} - break; - - case 314: -#line 3138 "Gmsh.y" - { + ; + break;} +case 313: +#line 3142 "Gmsh.y" +{ yyval.d = GetValue(yyvsp[-3].c, yyvsp[-1].d); Free(yyvsp[-3].c); - ;} - break; - - case 315: -#line 3146 "Gmsh.y" - { - memcpy(yyval.v, yyvsp[0].v, 5*sizeof(double)); - ;} - break; - - case 316: + ; + break;} +case 314: #line 3150 "Gmsh.y" - { - for(int i = 0; i < 5; i++) yyval.v[i] = -yyvsp[0].v[i]; - ;} - break; - - case 317: +{ + memcpy(yyval.v, yyvsp[0].v, 5*sizeof(double)); + ; + break;} +case 315: #line 3154 "Gmsh.y" - { - for(int i = 0; i < 5; i++) yyval.v[i] = yyvsp[0].v[i]; - ;} - break; - - case 318: +{ + for(int i = 0; i < 5; i++) yyval.v[i] = -yyvsp[0].v[i]; + ; + break;} +case 316: #line 3158 "Gmsh.y" - { - for(int i = 0; i < 5; i++) yyval.v[i] = yyvsp[-2].v[i] - yyvsp[0].v[i]; - ;} - break; - - case 319: +{ + for(int i = 0; i < 5; i++) yyval.v[i] = yyvsp[0].v[i]; + ; + break;} +case 317: #line 3162 "Gmsh.y" - { +{ + for(int i = 0; i < 5; i++) yyval.v[i] = yyvsp[-2].v[i] - yyvsp[0].v[i]; + ; + break;} +case 318: +#line 3166 "Gmsh.y" +{ for(int i = 0; i < 5; i++) yyval.v[i] = yyvsp[-2].v[i] + yyvsp[0].v[i]; - ;} - break; - - case 320: -#line 3169 "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 321: + ; + break;} +case 319: #line 3173 "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 322: +{ + 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 320: #line 3177 "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 323: +{ + 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 321: #line 3181 "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 324: -#line 3188 "Gmsh.y" - { - ;} - break; - - case 325: -#line 3191 "Gmsh.y" - { - ;} - break; - - case 326: -#line 3197 "Gmsh.y" - { - ;} - break; - - case 327: -#line 3200 "Gmsh.y" - { - ;} - break; - - case 328: -#line 3206 "Gmsh.y" - { - ;} - break; - - case 329: -#line 3209 "Gmsh.y" - { - yyval.l = yyvsp[-1].l; - ;} - break; - - case 330: + ; + break;} +case 322: +#line 3185 "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 323: +#line 3192 "Gmsh.y" +{ + ; + break;} +case 324: +#line 3195 "Gmsh.y" +{ + ; + break;} +case 325: +#line 3201 "Gmsh.y" +{ + ; + break;} +case 326: +#line 3204 "Gmsh.y" +{ + ; + break;} +case 327: +#line 3210 "Gmsh.y" +{ + ; + break;} +case 328: #line 3213 "Gmsh.y" - { +{ yyval.l = yyvsp[-1].l; - ;} - break; - - case 331: -#line 3220 "Gmsh.y" - { + ; + break;} +case 329: +#line 3217 "Gmsh.y" +{ + yyval.l = yyvsp[-1].l; + ; + break;} +case 330: +#line 3224 "Gmsh.y" +{ yyval.l = List_Create(2, 1, sizeof(List_T*)); List_Add(yyval.l, &(yyvsp[0].l)); - ;} - break; - - case 332: -#line 3225 "Gmsh.y" - { + ; + break;} +case 331: +#line 3229 "Gmsh.y" +{ List_Add(yyval.l, &(yyvsp[0].l)); - ;} - break; - - case 333: -#line 3233 "Gmsh.y" - { + ; + break;} +case 332: +#line 3237 "Gmsh.y" +{ yyval.l = List_Create(2, 1, sizeof(double)); List_Add(yyval.l, &(yyvsp[0].d)); - ;} - break; - - case 334: -#line 3238 "Gmsh.y" - { - yyval.l = yyvsp[0].l; - ;} - break; - - case 335: + ; + break;} +case 333: #line 3242 "Gmsh.y" - { - yyval.l = yyvsp[-1].l; - ;} - break; - - case 336: +{ + yyval.l = yyvsp[0].l; + ; + break;} +case 334: #line 3246 "Gmsh.y" - { +{ + yyval.l = yyvsp[-1].l; + ; + break;} +case 335: +#line 3250 "Gmsh.y" +{ yyval.l = yyvsp[-1].l; double *pd; for(int i = 0; i < List_Nbr(yyval.l); i++){ pd = (double*)List_Pointer(yyval.l, i); (*pd) = - (*pd); } - ;} - break; - - case 337: -#line 3258 "Gmsh.y" - { + ; + break;} +case 336: +#line 3262 "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 338: -#line 3264 "Gmsh.y" - { + ; + break;} +case 337: +#line 3268 "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)){ yymsg(GERROR, "Wrong increment in '%g:%g:%g'", yyvsp[-4].d, yyvsp[-2].d, yyvsp[0].d); @@ -7431,12 +6498,11 @@ yyreduce: else for(double d = yyvsp[-4].d; (yyvsp[0].d > 0) ? (d <= yyvsp[-2].d) : (d >= yyvsp[-2].d); d += yyvsp[0].d) List_Add(yyval.l, &d); - ;} - break; - - case 339: -#line 3275 "Gmsh.y" - { + ; + break;} +case 338: +#line 3279 "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 // always conserved @@ -7454,12 +6520,11 @@ yyreduce: List_Add(yyval.l, &v->Pos.Y); List_Add(yyval.l, &v->Pos.Z); } - ;} - break; - - case 340: -#line 3295 "Gmsh.y" - { + ; + break;} +case 339: +#line 3299 "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); @@ -7467,12 +6532,11 @@ yyreduce: List_Add(yyval.l, &d); } List_Delete(yyvsp[0].l); - ;} - break; - - case 341: -#line 3305 "Gmsh.y" - { + ; + break;} +case 340: +#line 3309 "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); @@ -7480,12 +6544,11 @@ yyreduce: List_Add(yyval.l, &d); } List_Delete(yyvsp[0].l); - ;} - break; - - case 342: -#line 3315 "Gmsh.y" - { + ; + break;} +case 341: +#line 3319 "Gmsh.y" +{ // FIXME: The syntax for this is ugly: we get double semi-colons // at the end of the line yyval.l = List_Create(List_Nbr(yyvsp[0].l), 1, sizeof(double)); @@ -7495,12 +6558,11 @@ yyreduce: List_Add(yyval.l, &d); } List_Delete(yyvsp[0].l); - ;} - break; - - case 343: -#line 3327 "Gmsh.y" - { + ; + break;} +case 342: +#line 3331 "Gmsh.y" +{ yyval.l = List_Create(2, 1, sizeof(double)); Symbol TheSymbol; TheSymbol.Name = yyvsp[-2].c; @@ -7515,12 +6577,11 @@ yyreduce: List_Add(yyval.l, (double*)List_Pointer_Fast(pSymbol->val, i)); } Free(yyvsp[-2].c); - ;} - break; - - case 344: -#line 3344 "Gmsh.y" - { + ; + break;} +case 343: +#line 3348 "Gmsh.y" +{ yyval.l = List_Create(2, 1, sizeof(double)); Symbol TheSymbol; TheSymbol.Name = yyvsp[-2].c; @@ -7537,12 +6598,11 @@ yyreduce: } } Free(yyvsp[-2].c); - ;} - break; - - case 345: -#line 3363 "Gmsh.y" - { + ; + break;} +case 344: +#line 3367 "Gmsh.y" +{ yyval.l = List_Create(2, 1, sizeof(double)); Symbol TheSymbol; TheSymbol.Name = yyvsp[-5].c; @@ -7564,12 +6624,11 @@ yyreduce: } Free(yyvsp[-5].c); List_Delete(yyvsp[-2].l); - ;} - break; - - case 346: -#line 3387 "Gmsh.y" - { + ; + break;} +case 345: +#line 3391 "Gmsh.y" +{ yyval.l = List_Create(2, 1, sizeof(double)); Symbol TheSymbol; TheSymbol.Name = yyvsp[-5].c; @@ -7593,70 +6652,62 @@ yyreduce: } Free(yyvsp[-5].c); List_Delete(yyvsp[-2].l); - ;} - break; - - case 347: -#line 3416 "Gmsh.y" - { + ; + break;} +case 346: +#line 3420 "Gmsh.y" +{ yyval.l = List_Create(2, 1, sizeof(double)); List_Add(yyval.l, &(yyvsp[0].d)); - ;} - break; - - case 348: -#line 3421 "Gmsh.y" - { - yyval.l = yyvsp[0].l; - ;} - break; - - case 349: + ; + break;} +case 347: #line 3425 "Gmsh.y" - { - List_Add(yyval.l, &(yyvsp[0].d)); - ;} - break; - - case 350: +{ + yyval.l = yyvsp[0].l; + ; + break;} +case 348: #line 3429 "Gmsh.y" - { +{ + List_Add(yyval.l, &(yyvsp[0].d)); + ; + break;} +case 349: +#line 3433 "Gmsh.y" +{ for(int i = 0; i < List_Nbr(yyvsp[0].l); i++){ double d; List_Read(yyvsp[0].l, i, &d); List_Add(yyval.l, &d); } List_Delete(yyvsp[0].l); - ;} - break; - - case 351: -#line 3442 "Gmsh.y" - { - yyval.u = PACK_COLOR((int)yyvsp[-7].d, (int)yyvsp[-5].d, (int)yyvsp[-3].d, (int)yyvsp[-1].d); - ;} - break; - - case 352: + ; + break;} +case 350: #line 3446 "Gmsh.y" - { +{ + yyval.u = PACK_COLOR((int)yyvsp[-7].d, (int)yyvsp[-5].d, (int)yyvsp[-3].d, (int)yyvsp[-1].d); + ; + break;} +case 351: +#line 3450 "Gmsh.y" +{ yyval.u = PACK_COLOR((int)yyvsp[-5].d, (int)yyvsp[-3].d, (int)yyvsp[-1].d, 255); - ;} - break; - - case 353: -#line 3458 "Gmsh.y" - { + ; + break;} +case 352: +#line 3462 "Gmsh.y" +{ int flag; yyval.u = Get_ColorForString(ColorString, -1, yyvsp[0].c, &flag); if(flag) yymsg(GERROR, "Unknown color '%s'", yyvsp[0].c); Free(yyvsp[0].c); - ;} - break; - - case 354: -#line 3465 "Gmsh.y" - { + ; + break;} +case 353: +#line 3469 "Gmsh.y" +{ unsigned int (*pColOpt)(int num, int action, unsigned int value); StringXColor *pColCat; if(!(pColCat = Get_ColorOptionCategory(yyvsp[-4].c))){ @@ -7673,19 +6724,17 @@ yyreduce: } } Free(yyvsp[-4].c); Free(yyvsp[0].c); - ;} - break; - - case 355: -#line 3487 "Gmsh.y" - { - yyval.l = yyvsp[-1].l; - ;} - break; - - case 356: + ; + break;} +case 354: #line 3491 "Gmsh.y" - { +{ + yyval.l = yyvsp[-1].l; + ; + break;} +case 355: +#line 3495 "Gmsh.y" +{ yyval.l = List_Create(256, 10, sizeof(unsigned int)); GmshColorTable *ct = Get_ColorTable((int)yyvsp[-3].d); if(!ct) @@ -7695,56 +6744,50 @@ yyreduce: List_Add(yyval.l, &ct->table[i]); } Free(yyvsp[-5].c); - ;} - break; - - case 357: -#line 3506 "Gmsh.y" - { + ; + break;} +case 356: +#line 3510 "Gmsh.y" +{ yyval.l = List_Create(256, 10, sizeof(unsigned int)); List_Add(yyval.l, &(yyvsp[0].u)); - ;} - break; - - case 358: -#line 3511 "Gmsh.y" - { + ; + break;} +case 357: +#line 3515 "Gmsh.y" +{ List_Add(yyval.l, &(yyvsp[0].u)); - ;} - break; - - case 359: -#line 3518 "Gmsh.y" - { - yyval.c = yyvsp[0].c; - ;} - break; - - case 360: + ; + break;} +case 358: #line 3522 "Gmsh.y" - { +{ + yyval.c = yyvsp[0].c; + ; + break;} +case 359: +#line 3526 "Gmsh.y" +{ yyval.c = (char *)Malloc(32*sizeof(char)); time_t now; time(&now); strcpy(yyval.c, ctime(&now)); yyval.c[strlen(yyval.c) - 1] = '\0'; - ;} - break; - - case 361: -#line 3530 "Gmsh.y" - { + ; + break;} +case 360: +#line 3534 "Gmsh.y" +{ yyval.c = (char *)Malloc((strlen(yyvsp[-3].c)+strlen(yyvsp[-1].c)+1)*sizeof(char)); strcpy(yyval.c, yyvsp[-3].c); strcat(yyval.c, yyvsp[-1].c); Free(yyvsp[-3].c); Free(yyvsp[-1].c); - ;} - break; - - case 362: -#line 3538 "Gmsh.y" - { + ; + break;} +case 361: +#line 3542 "Gmsh.y" +{ yyval.c = (char *)Malloc((strlen(yyvsp[-1].c)+1)*sizeof(char)); int i; for(i = strlen(yyvsp[-1].c)-1; i >= 0; i--){ @@ -7756,12 +6799,11 @@ yyreduce: } if(i <= 0) strcpy(yyval.c, yyvsp[-1].c); Free(yyvsp[-1].c); - ;} - break; - - case 363: -#line 3552 "Gmsh.y" - { + ; + break;} +case 362: +#line 3556 "Gmsh.y" +{ yyval.c = (char *)Malloc((strlen(yyvsp[-1].c)+1)*sizeof(char)); int i; for(i = strlen(yyvsp[-1].c)-1; i >= 0; i--){ @@ -7773,19 +6815,17 @@ yyreduce: else strcpy(yyval.c, &yyvsp[-1].c[i+1]); Free(yyvsp[-1].c); - ;} - break; - - case 364: -#line 3566 "Gmsh.y" - { - yyval.c = yyvsp[-1].c; - ;} - break; - - case 365: + ; + break;} +case 363: #line 3570 "Gmsh.y" - { +{ + yyval.c = yyvsp[-1].c; + ; + break;} +case 364: +#line 3574 "Gmsh.y" +{ char tmpstring[1024]; int i = PrintListOfDouble(yyvsp[-3].c, yyvsp[-1].l, tmpstring); if(i < 0){ @@ -7802,12 +6842,11 @@ yyreduce: Free(yyvsp[-3].c); } List_Delete(yyvsp[-1].l); - ;} - break; - - case 366: -#line 3589 "Gmsh.y" - { + ; + break;} +case 365: +#line 3593 "Gmsh.y" +{ char* (*pStrOpt)(int num, int action, char *value); StringXString *pStrCat; if(!(pStrCat = Get_StringOptionCategory(yyvsp[-3].c))){ @@ -7827,12 +6866,11 @@ yyreduce: strcpy(yyval.c, str); } } - ;} - break; - - case 367: -#line 3611 "Gmsh.y" - { + ; + break;} +case 366: +#line 3615 "Gmsh.y" +{ char* (*pStrOpt)(int num, int action, char *value); StringXString *pStrCat; if(!(pStrCat = Get_StringOptionCategory(yyvsp[-6].c))){ @@ -7852,224 +6890,231 @@ yyreduce: strcpy(yyval.c, str); } } - ;} - break; - - - } - -/* Line 991 of yacc.c. */ -#line 7862 "Gmsh.tab.cpp" + ; + break;} +} + /* the action file gets copied in in place of this dollarsign */ +#line 543 "/usr/share/bison.simple" yyvsp -= yylen; yyssp -= yylen; +#ifdef YYLSP_NEEDED + yylsp -= yylen; +#endif - - YY_STACK_PRINT (yyss, yyssp); +#if YYDEBUG != 0 + if (yydebug) + { + short *ssp1 = yyss - 1; + fprintf (stderr, "state stack now"); + while (ssp1 != yyssp) + fprintf (stderr, " %d", *++ssp1); + fprintf (stderr, "\n"); + } +#endif *++yyvsp = yyval; +#ifdef YYLSP_NEEDED + yylsp++; + if (yylen == 0) + { + yylsp->first_line = yylloc.first_line; + yylsp->first_column = yylloc.first_column; + yylsp->last_line = (yylsp-1)->last_line; + yylsp->last_column = (yylsp-1)->last_column; + yylsp->text = 0; + } + else + { + yylsp->last_line = (yylsp+yylen-1)->last_line; + yylsp->last_column = (yylsp+yylen-1)->last_column; + } +#endif - /* Now `shift' the result of the reduction. Determine what state - that goes to, based on the state we popped back to and the rule - number reduced by. */ + /* Now "shift" the result of the reduction. + Determine what state that goes to, + based on the state we popped back to + and the rule number reduced by. */ yyn = yyr1[yyn]; - yystate = yypgoto[yyn - YYNTOKENS] + *yyssp; - if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp) + yystate = yypgoto[yyn - YYNTBASE] + *yyssp; + if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp) yystate = yytable[yystate]; else - yystate = yydefgoto[yyn - YYNTOKENS]; + yystate = yydefgoto[yyn - YYNTBASE]; goto yynewstate; +yyerrlab: /* here on detecting error */ -/*------------------------------------. -| yyerrlab -- here on detecting error | -`------------------------------------*/ -yyerrlab: - /* If not already recovering from an error, report this error. */ - if (!yyerrstatus) + if (! yyerrstatus) + /* If not already recovering from an error, report this error. */ { ++yynerrs; -#if YYERROR_VERBOSE + +#ifdef YYERROR_VERBOSE yyn = yypact[yystate]; - if (YYPACT_NINF < yyn && yyn < YYLAST) + if (yyn > YYFLAG && yyn < YYLAST) { - YYSIZE_T yysize = 0; - int yytype = YYTRANSLATE (yychar); - char *yymsg; - int yyx, yycount; - - yycount = 0; - /* Start YYX at -YYN if negative to avoid negative indexes in - YYCHECK. */ - for (yyx = yyn < 0 ? -yyn : 0; - yyx < (int) (sizeof (yytname) / sizeof (char *)); yyx++) - if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) - yysize += yystrlen (yytname[yyx]) + 15, yycount++; - yysize += yystrlen ("syntax error, unexpected ") + 1; - yysize += yystrlen (yytname[yytype]); - yymsg = (char *) YYSTACK_ALLOC (yysize); - if (yymsg != 0) + int size = 0; + char *msg; + int x, count; + + count = 0; + /* Start X at -yyn if nec to avoid negative indexes in yycheck. */ + for (x = (yyn < 0 ? -yyn : 0); + x < (sizeof(yytname) / sizeof(char *)); x++) + if (yycheck[x + yyn] == x) + size += strlen(yytname[x]) + 15, count++; + msg = (char *) malloc(size + 15); + if (msg != 0) { - char *yyp = yystpcpy (yymsg, "syntax error, unexpected "); - yyp = yystpcpy (yyp, yytname[yytype]); + strcpy(msg, "parse error"); - if (yycount < 5) + if (count < 5) { - yycount = 0; - for (yyx = yyn < 0 ? -yyn : 0; - yyx < (int) (sizeof (yytname) / sizeof (char *)); - yyx++) - if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) + count = 0; + for (x = (yyn < 0 ? -yyn : 0); + x < (sizeof(yytname) / sizeof(char *)); x++) + if (yycheck[x + yyn] == x) { - const char *yyq = ! yycount ? ", expecting " : " or "; - yyp = yystpcpy (yyp, yyq); - yyp = yystpcpy (yyp, yytname[yyx]); - yycount++; + strcat(msg, count == 0 ? ", expecting `" : " or `"); + strcat(msg, yytname[x]); + strcat(msg, "'"); + count++; } } - yyerror (yymsg); - YYSTACK_FREE (yymsg); + yyerror(msg); + free(msg); } else - yyerror ("syntax error; also virtual memory exhausted"); + yyerror ("parse error; also virtual memory exceeded"); } else #endif /* YYERROR_VERBOSE */ - yyerror ("syntax error"); + yyerror("parse error"); } - + goto yyerrlab1; +yyerrlab1: /* here on error raised explicitly by an action */ if (yyerrstatus == 3) { - /* If just tried and failed to reuse lookahead token after an - error, discard it. */ + /* if just tried and failed to reuse lookahead token after an error, discard it. */ - /* Return failure if at end of input. */ + /* return failure if at end of input */ if (yychar == YYEOF) - { - /* Pop the error token. */ - YYPOPSTACK; - /* Pop the rest of the stack. */ - while (yyss < yyssp) - { - YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp); - yydestruct (yystos[*yyssp], yyvsp); - YYPOPSTACK; - } - YYABORT; - } + YYABORT; - YYDSYMPRINTF ("Error: discarding", yytoken, &yylval, &yylloc); - yydestruct (yytoken, &yylval); - yychar = YYEMPTY; +#if YYDEBUG != 0 + if (yydebug) + fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]); +#endif + yychar = YYEMPTY; } - /* Else will try to reuse lookahead token after shifting the error - token. */ - goto yyerrlab2; - + /* Else will try to reuse lookahead token + after shifting the error token. */ -/*----------------------------------------------------. -| yyerrlab1 -- error raised explicitly by an action. | -`----------------------------------------------------*/ -yyerrlab1: + yyerrstatus = 3; /* Each real token shifted decrements this */ - /* Suppress GCC warning that yyerrlab1 is unused when no action - invokes YYERROR. */ -#if defined (__GNUC_MINOR__) && 2093 <= (__GNUC__ * 1000 + __GNUC_MINOR__) \ - && !defined __cplusplus - __attribute__ ((__unused__)) -#endif + goto yyerrhandle; +yyerrdefault: /* current state does not do anything special for the error token. */ - goto yyerrlab2; +#if 0 + /* This is wrong; only states that explicitly want error tokens + should shift them. */ + yyn = yydefact[yystate]; /* If its default is to accept any token, ok. Otherwise pop it.*/ + if (yyn) goto yydefault; +#endif +yyerrpop: /* pop the current state because it cannot handle the error token */ -/*---------------------------------------------------------------. -| yyerrlab2 -- pop states until the error token can be shifted. | -`---------------------------------------------------------------*/ -yyerrlab2: - yyerrstatus = 3; /* Each real token shifted decrements this. */ + if (yyssp == yyss) YYABORT; + yyvsp--; + yystate = *--yyssp; +#ifdef YYLSP_NEEDED + yylsp--; +#endif - for (;;) +#if YYDEBUG != 0 + if (yydebug) { - yyn = yypact[yystate]; - if (yyn != YYPACT_NINF) - { - yyn += YYTERROR; - if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) - { - yyn = yytable[yyn]; - if (0 < yyn) - break; - } - } + short *ssp1 = yyss - 1; + fprintf (stderr, "Error: state stack now"); + while (ssp1 != yyssp) + fprintf (stderr, " %d", *++ssp1); + fprintf (stderr, "\n"); + } +#endif - /* Pop the current state because it cannot handle the error token. */ - if (yyssp == yyss) - YYABORT; +yyerrhandle: + + yyn = yypact[yystate]; + if (yyn == YYFLAG) + goto yyerrdefault; - YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp); - yydestruct (yystos[yystate], yyvsp); - yyvsp--; - yystate = *--yyssp; + yyn += YYTERROR; + if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR) + goto yyerrdefault; - YY_STACK_PRINT (yyss, yyssp); + yyn = yytable[yyn]; + if (yyn < 0) + { + if (yyn == YYFLAG) + goto yyerrpop; + yyn = -yyn; + goto yyreduce; } + else if (yyn == 0) + goto yyerrpop; if (yyn == YYFINAL) YYACCEPT; - YYDPRINTF ((stderr, "Shifting error token, ")); +#if YYDEBUG != 0 + if (yydebug) + fprintf(stderr, "Shifting error token, "); +#endif *++yyvsp = yylval; - +#ifdef YYLSP_NEEDED + *++yylsp = yylloc; +#endif yystate = yyn; goto yynewstate; - -/*-------------------------------------. -| yyacceptlab -- YYACCEPT comes here. | -`-------------------------------------*/ -yyacceptlab: - yyresult = 0; - goto yyreturn; - -/*-----------------------------------. -| yyabortlab -- YYABORT comes here. | -`-----------------------------------*/ -yyabortlab: - yyresult = 1; - goto yyreturn; - -#ifndef yyoverflow -/*----------------------------------------------. -| yyoverflowlab -- parser overflow comes here. | -`----------------------------------------------*/ -yyoverflowlab: - yyerror ("parser stack overflow"); - yyresult = 2; - /* Fall through. */ + yyacceptlab: + /* YYACCEPT comes here. */ + if (yyfree_stacks) + { + free (yyss); + free (yyvs); +#ifdef YYLSP_NEEDED + free (yyls); #endif + } + return 0; -yyreturn: -#ifndef yyoverflow - if (yyss != yyssa) - YYSTACK_FREE (yyss); + yyabortlab: + /* YYABORT comes here. */ + if (yyfree_stacks) + { + free (yyss); + free (yyvs); +#ifdef YYLSP_NEEDED + free (yyls); #endif - return yyresult; + } + return 1; } - - -#line 3634 "Gmsh.y" +#line 3638 "Gmsh.y" void DeleteSymbol(void *a, void *b){ @@ -8163,4 +7208,3 @@ void yymsg(int type, char *fmt, ...){ if(type == GERROR) yyerrorstate++; } - diff --git a/Parser/Gmsh.tab.hpp b/Parser/Gmsh.tab.hpp index 85a77aa43915360cf754d5e70c7bd674bf9556ab..31ef5417bf4384090799d1263019b23d06f12db9 100644 --- a/Parser/Gmsh.tab.hpp +++ b/Parser/Gmsh.tab.hpp @@ -1,365 +1,4 @@ -/* A Bison parser, made by GNU Bison 1.875. */ - -/* Skeleton parser for Yacc-like parsing with Bison, - Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) - any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. */ - -/* As a special exception, when this file is copied by Bison into a - Bison output file, you may use that output file without restriction. - This special exception was added by the Free Software Foundation - in version 1.24 of Bison. */ - -/* Tokens. */ -#ifndef YYTOKENTYPE -# define YYTOKENTYPE - /* Put the tokens into the symbol table, so that GDB and other debuggers - know about them. */ - enum yytokentype { - tDOUBLE = 258, - tSTRING = 259, - tBIGSTR = 260, - tEND = 261, - tAFFECT = 262, - tDOTS = 263, - tPi = 264, - tMPI_Rank = 265, - tMPI_Size = 266, - tExp = 267, - tLog = 268, - tLog10 = 269, - tSqrt = 270, - tSin = 271, - tAsin = 272, - tCos = 273, - tAcos = 274, - tTan = 275, - tRand = 276, - tAtan = 277, - tAtan2 = 278, - tSinh = 279, - tCosh = 280, - tTanh = 281, - tFabs = 282, - tFloor = 283, - tCeil = 284, - tFmod = 285, - tModulo = 286, - tHypot = 287, - tPrintf = 288, - tSprintf = 289, - tStrCat = 290, - tStrPrefix = 291, - tStrRelative = 292, - tBoundingBox = 293, - tDraw = 294, - tToday = 295, - tPoint = 296, - tCircle = 297, - tEllipse = 298, - tLine = 299, - tSurface = 300, - tSpline = 301, - tVolume = 302, - tCharacteristic = 303, - tLength = 304, - tParametric = 305, - tElliptic = 306, - tPlane = 307, - tRuled = 308, - tTransfinite = 309, - tComplex = 310, - tPhysical = 311, - tUsing = 312, - tBump = 313, - tProgression = 314, - tPlugin = 315, - tRotate = 316, - tTranslate = 317, - tSymmetry = 318, - tDilate = 319, - tExtrude = 320, - tDuplicata = 321, - tLoop = 322, - tRecombine = 323, - tDelete = 324, - tCoherence = 325, - tIntersect = 326, - tAttractor = 327, - tLayers = 328, - tAlias = 329, - tAliasWithOptions = 330, - tText2D = 331, - tText3D = 332, - tInterpolationScheme = 333, - tTime = 334, - tCombine = 335, - tBSpline = 336, - tBezier = 337, - tNurbs = 338, - tOrder = 339, - tWith = 340, - tBounds = 341, - tKnots = 342, - tColor = 343, - tColorTable = 344, - tFor = 345, - tIn = 346, - tEndFor = 347, - tIf = 348, - tEndIf = 349, - tExit = 350, - tReturn = 351, - tCall = 352, - tFunction = 353, - tTrimmed = 354, - tShow = 355, - tHide = 356, - tGetValue = 357, - tGMSH_MAJOR_VERSION = 358, - tGMSH_MINOR_VERSION = 359, - tGMSH_PATCH_VERSION = 360, - tB_SPLINE_SURFACE_WITH_KNOTS = 361, - tB_SPLINE_CURVE_WITH_KNOTS = 362, - tCARTESIAN_POINT = 363, - tTRUE = 364, - tFALSE = 365, - tUNSPECIFIED = 366, - tU = 367, - tV = 368, - tEDGE_CURVE = 369, - tVERTEX_POINT = 370, - tORIENTED_EDGE = 371, - tPLANE = 372, - tFACE_OUTER_BOUND = 373, - tEDGE_LOOP = 374, - tADVANCED_FACE = 375, - tVECTOR = 376, - tDIRECTION = 377, - tAXIS2_PLACEMENT_3D = 378, - tISO = 379, - tENDISO = 380, - tENDSEC = 381, - tDATA = 382, - tHEADER = 383, - tFILE_DESCRIPTION = 384, - tFILE_SCHEMA = 385, - tFILE_NAME = 386, - tMANIFOLD_SOLID_BREP = 387, - tCLOSED_SHELL = 388, - tADVANCED_BREP_SHAPE_REPRESENTATION = 389, - tFACE_BOUND = 390, - tCYLINDRICAL_SURFACE = 391, - tCONICAL_SURFACE = 392, - tCIRCLE = 393, - tTRIMMED_CURVE = 394, - tGEOMETRIC_SET = 395, - tCOMPOSITE_CURVE_SEGMENT = 396, - tCONTINUOUS = 397, - tCOMPOSITE_CURVE = 398, - tTOROIDAL_SURFACE = 399, - tPRODUCT_DEFINITION = 400, - tPRODUCT_DEFINITION_SHAPE = 401, - tSHAPE_DEFINITION_REPRESENTATION = 402, - tELLIPSE = 403, - tAFFECTDIVIDE = 404, - tAFFECTTIMES = 405, - tAFFECTMINUS = 406, - tAFFECTPLUS = 407, - tOR = 408, - tAND = 409, - tAPPROXEQUAL = 410, - tNOTEQUAL = 411, - tEQUAL = 412, - tGREATEROREQUAL = 413, - tLESSOREQUAL = 414, - tCROSSPRODUCT = 415, - UNARYPREC = 416, - tMINUSMINUS = 417, - tPLUSPLUS = 418 - }; -#endif -#define tDOUBLE 258 -#define tSTRING 259 -#define tBIGSTR 260 -#define tEND 261 -#define tAFFECT 262 -#define tDOTS 263 -#define tPi 264 -#define tMPI_Rank 265 -#define tMPI_Size 266 -#define tExp 267 -#define tLog 268 -#define tLog10 269 -#define tSqrt 270 -#define tSin 271 -#define tAsin 272 -#define tCos 273 -#define tAcos 274 -#define tTan 275 -#define tRand 276 -#define tAtan 277 -#define tAtan2 278 -#define tSinh 279 -#define tCosh 280 -#define tTanh 281 -#define tFabs 282 -#define tFloor 283 -#define tCeil 284 -#define tFmod 285 -#define tModulo 286 -#define tHypot 287 -#define tPrintf 288 -#define tSprintf 289 -#define tStrCat 290 -#define tStrPrefix 291 -#define tStrRelative 292 -#define tBoundingBox 293 -#define tDraw 294 -#define tToday 295 -#define tPoint 296 -#define tCircle 297 -#define tEllipse 298 -#define tLine 299 -#define tSurface 300 -#define tSpline 301 -#define tVolume 302 -#define tCharacteristic 303 -#define tLength 304 -#define tParametric 305 -#define tElliptic 306 -#define tPlane 307 -#define tRuled 308 -#define tTransfinite 309 -#define tComplex 310 -#define tPhysical 311 -#define tUsing 312 -#define tBump 313 -#define tProgression 314 -#define tPlugin 315 -#define tRotate 316 -#define tTranslate 317 -#define tSymmetry 318 -#define tDilate 319 -#define tExtrude 320 -#define tDuplicata 321 -#define tLoop 322 -#define tRecombine 323 -#define tDelete 324 -#define tCoherence 325 -#define tIntersect 326 -#define tAttractor 327 -#define tLayers 328 -#define tAlias 329 -#define tAliasWithOptions 330 -#define tText2D 331 -#define tText3D 332 -#define tInterpolationScheme 333 -#define tTime 334 -#define tCombine 335 -#define tBSpline 336 -#define tBezier 337 -#define tNurbs 338 -#define tOrder 339 -#define tWith 340 -#define tBounds 341 -#define tKnots 342 -#define tColor 343 -#define tColorTable 344 -#define tFor 345 -#define tIn 346 -#define tEndFor 347 -#define tIf 348 -#define tEndIf 349 -#define tExit 350 -#define tReturn 351 -#define tCall 352 -#define tFunction 353 -#define tTrimmed 354 -#define tShow 355 -#define tHide 356 -#define tGetValue 357 -#define tGMSH_MAJOR_VERSION 358 -#define tGMSH_MINOR_VERSION 359 -#define tGMSH_PATCH_VERSION 360 -#define tB_SPLINE_SURFACE_WITH_KNOTS 361 -#define tB_SPLINE_CURVE_WITH_KNOTS 362 -#define tCARTESIAN_POINT 363 -#define tTRUE 364 -#define tFALSE 365 -#define tUNSPECIFIED 366 -#define tU 367 -#define tV 368 -#define tEDGE_CURVE 369 -#define tVERTEX_POINT 370 -#define tORIENTED_EDGE 371 -#define tPLANE 372 -#define tFACE_OUTER_BOUND 373 -#define tEDGE_LOOP 374 -#define tADVANCED_FACE 375 -#define tVECTOR 376 -#define tDIRECTION 377 -#define tAXIS2_PLACEMENT_3D 378 -#define tISO 379 -#define tENDISO 380 -#define tENDSEC 381 -#define tDATA 382 -#define tHEADER 383 -#define tFILE_DESCRIPTION 384 -#define tFILE_SCHEMA 385 -#define tFILE_NAME 386 -#define tMANIFOLD_SOLID_BREP 387 -#define tCLOSED_SHELL 388 -#define tADVANCED_BREP_SHAPE_REPRESENTATION 389 -#define tFACE_BOUND 390 -#define tCYLINDRICAL_SURFACE 391 -#define tCONICAL_SURFACE 392 -#define tCIRCLE 393 -#define tTRIMMED_CURVE 394 -#define tGEOMETRIC_SET 395 -#define tCOMPOSITE_CURVE_SEGMENT 396 -#define tCONTINUOUS 397 -#define tCOMPOSITE_CURVE 398 -#define tTOROIDAL_SURFACE 399 -#define tPRODUCT_DEFINITION 400 -#define tPRODUCT_DEFINITION_SHAPE 401 -#define tSHAPE_DEFINITION_REPRESENTATION 402 -#define tELLIPSE 403 -#define tAFFECTDIVIDE 404 -#define tAFFECTTIMES 405 -#define tAFFECTMINUS 406 -#define tAFFECTPLUS 407 -#define tOR 408 -#define tAND 409 -#define tAPPROXEQUAL 410 -#define tNOTEQUAL 411 -#define tEQUAL 412 -#define tGREATEROREQUAL 413 -#define tLESSOREQUAL 414 -#define tCROSSPRODUCT 415 -#define UNARYPREC 416 -#define tMINUSMINUS 417 -#define tPLUSPLUS 418 - - - - -#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED) -#line 79 "Gmsh.y" -typedef union YYSTYPE { +typedef union { char *c; int i; unsigned int u; @@ -368,14 +7,167 @@ typedef union YYSTYPE { Shape s; List_T *l; } YYSTYPE; -/* Line 1249 of yacc.c. */ -#line 372 "Gmsh.tab.hpp" -# define yystype YYSTYPE /* obsolescent; will be withdrawn */ -# define YYSTYPE_IS_DECLARED 1 -# define YYSTYPE_IS_TRIVIAL 1 -#endif - -extern YYSTYPE yylval; - +#define tDOUBLE 257 +#define tSTRING 258 +#define tBIGSTR 259 +#define tEND 260 +#define tAFFECT 261 +#define tDOTS 262 +#define tPi 263 +#define tMPI_Rank 264 +#define tMPI_Size 265 +#define tExp 266 +#define tLog 267 +#define tLog10 268 +#define tSqrt 269 +#define tSin 270 +#define tAsin 271 +#define tCos 272 +#define tAcos 273 +#define tTan 274 +#define tRand 275 +#define tAtan 276 +#define tAtan2 277 +#define tSinh 278 +#define tCosh 279 +#define tTanh 280 +#define tFabs 281 +#define tFloor 282 +#define tCeil 283 +#define tFmod 284 +#define tModulo 285 +#define tHypot 286 +#define tPrintf 287 +#define tSprintf 288 +#define tStrCat 289 +#define tStrPrefix 290 +#define tStrRelative 291 +#define tBoundingBox 292 +#define tDraw 293 +#define tToday 294 +#define tPoint 295 +#define tCircle 296 +#define tEllipse 297 +#define tLine 298 +#define tSurface 299 +#define tSpline 300 +#define tVolume 301 +#define tCharacteristic 302 +#define tLength 303 +#define tParametric 304 +#define tElliptic 305 +#define tPlane 306 +#define tRuled 307 +#define tTransfinite 308 +#define tComplex 309 +#define tPhysical 310 +#define tUsing 311 +#define tBump 312 +#define tProgression 313 +#define tPlugin 314 +#define tRotate 315 +#define tTranslate 316 +#define tSymmetry 317 +#define tDilate 318 +#define tExtrude 319 +#define tDuplicata 320 +#define tLoop 321 +#define tRecombine 322 +#define tDelete 323 +#define tCoherence 324 +#define tIntersect 325 +#define tAttractor 326 +#define tLayers 327 +#define tAlias 328 +#define tAliasWithOptions 329 +#define tText2D 330 +#define tText3D 331 +#define tInterpolationScheme 332 +#define tTime 333 +#define tCombine 334 +#define tBSpline 335 +#define tBezier 336 +#define tNurbs 337 +#define tOrder 338 +#define tWith 339 +#define tBounds 340 +#define tKnots 341 +#define tColor 342 +#define tColorTable 343 +#define tFor 344 +#define tIn 345 +#define tEndFor 346 +#define tIf 347 +#define tEndIf 348 +#define tExit 349 +#define tReturn 350 +#define tCall 351 +#define tFunction 352 +#define tTrimmed 353 +#define tShow 354 +#define tHide 355 +#define tGetValue 356 +#define tGMSH_MAJOR_VERSION 357 +#define tGMSH_MINOR_VERSION 358 +#define tGMSH_PATCH_VERSION 359 +#define tB_SPLINE_SURFACE_WITH_KNOTS 360 +#define tB_SPLINE_CURVE_WITH_KNOTS 361 +#define tCARTESIAN_POINT 362 +#define tTRUE 363 +#define tFALSE 364 +#define tUNSPECIFIED 365 +#define tU 366 +#define tV 367 +#define tEDGE_CURVE 368 +#define tVERTEX_POINT 369 +#define tORIENTED_EDGE 370 +#define tPLANE 371 +#define tFACE_OUTER_BOUND 372 +#define tEDGE_LOOP 373 +#define tADVANCED_FACE 374 +#define tVECTOR 375 +#define tDIRECTION 376 +#define tAXIS2_PLACEMENT_3D 377 +#define tISO 378 +#define tENDISO 379 +#define tENDSEC 380 +#define tDATA 381 +#define tHEADER 382 +#define tFILE_DESCRIPTION 383 +#define tFILE_SCHEMA 384 +#define tFILE_NAME 385 +#define tMANIFOLD_SOLID_BREP 386 +#define tCLOSED_SHELL 387 +#define tADVANCED_BREP_SHAPE_REPRESENTATION 388 +#define tFACE_BOUND 389 +#define tCYLINDRICAL_SURFACE 390 +#define tCONICAL_SURFACE 391 +#define tCIRCLE 392 +#define tTRIMMED_CURVE 393 +#define tGEOMETRIC_SET 394 +#define tCOMPOSITE_CURVE_SEGMENT 395 +#define tCONTINUOUS 396 +#define tCOMPOSITE_CURVE 397 +#define tTOROIDAL_SURFACE 398 +#define tPRODUCT_DEFINITION 399 +#define tPRODUCT_DEFINITION_SHAPE 400 +#define tSHAPE_DEFINITION_REPRESENTATION 401 +#define tELLIPSE 402 +#define tAFFECTPLUS 403 +#define tAFFECTMINUS 404 +#define tAFFECTTIMES 405 +#define tAFFECTDIVIDE 406 +#define tOR 407 +#define tAND 408 +#define tEQUAL 409 +#define tNOTEQUAL 410 +#define tAPPROXEQUAL 411 +#define tLESSOREQUAL 412 +#define tGREATEROREQUAL 413 +#define tCROSSPRODUCT 414 +#define tPLUSPLUS 415 +#define tMINUSMINUS 416 +#define UNARYPREC 417 +extern YYSTYPE yylval; diff --git a/Parser/Gmsh.y b/Parser/Gmsh.y index 9378dad6920467c9ba9e5de0778ad9a6d44ff999..8152910089531adba8735fef80b3547cd4e54e99 100644 --- a/Parser/Gmsh.y +++ b/Parser/Gmsh.y @@ -1,5 +1,5 @@ %{ -// $Id: Gmsh.y,v 1.207 2005-04-19 16:03:15 remacle Exp $ +// $Id: Gmsh.y,v 1.208 2005-06-10 20:59:18 geuzaine Exp $ // // Copyright (C) 1997-2005 C. Geuzaine, J.-F. Remacle // @@ -1851,6 +1851,10 @@ Delete : if(!strcmp($2, "Meshes") || !strcmp($2, "All")){ Init_Mesh(THEM); } + else if(!strcmp($2, "Physicals")){ + List_Action(THEM->PhysicalGroups, Free_PhysicalGroup); + List_Reset(THEM->PhysicalGroups); + } else{ yymsg(GERROR, "Unknown command 'Delete %s'", $2); } diff --git a/Parser/Gmsh.yy.cpp b/Parser/Gmsh.yy.cpp index ff541eef8304a1374dd63a43e5ff2b61c30b31d8..e97d862e67d64733b3192ae6f3b1597790aeded2 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.236 2005-04-19 16:03:15 remacle Exp $ + * $Header: /cvsroot/gmsh/Parser/Gmsh.yy.cpp,v 1.237 2005-06-10 20:59:18 geuzaine Exp $ */ #define FLEX_SCANNER @@ -1026,7 +1026,7 @@ char *yytext; #line 1 "Gmsh.l" #define INITIAL 0 #line 2 "Gmsh.l" -// $Id: Gmsh.yy.cpp,v 1.236 2005-04-19 16:03:15 remacle Exp $ +// $Id: Gmsh.yy.cpp,v 1.237 2005-06-10 20:59:18 geuzaine Exp $ // // Copyright (C) 1997-2005 C. Geuzaine, J.-F. Remacle // diff --git a/benchmarks/2d/discrete_curve.geo b/benchmarks/2d/discrete_curve.geo deleted file mode 100644 index 2beee96849e07661b422997e1174b13e5762be5f..0000000000000000000000000000000000000000 --- a/benchmarks/2d/discrete_curve.geo +++ /dev/null @@ -1,108 +0,0 @@ -Discrete Line (1) = {12} -{ - 0,0,0, - 0.008666908357418674,0,0, - 0.01741059051494093,0,0, - 0.02623968793850377,0,0, - 0.03515556989052919,0,0, - 0.04415202866465823,0,0, - 0.0532426446041934,0,0, - 0.0624120060694025,0,0, - 0.07167921785688836,0,0, - 0.0810265391141614,0,0, - 0.09047240713174502,0,0, - 0.1,0,0 -}; -Discrete Line (2) = {34} -{ - 0.1,0.3,0, - 0.1,0.2909090909090913,0, - 0.1,0.2818181818181826,0, - 0.1,0.272727272727274,0, - 0.1,0.2636363636363653,0, - 0.1,0.2545454545454566,0, - 0.1,0.245454545454548,0, - 0.1,0.2363636363636393,0, - 0.1,0.2272727272727306,0, - 0.1,0.2181818181818216,0, - 0.1,0.2090909090909125,0, - 0.1,0.2000000000000035,0, - 0.1,0.1909090909090944,0, - 0.1,0.1818181818181853,0, - 0.1,0.1727272727272762,0, - 0.1,0.1636363636363671,0, - 0.1,0.154545454545458,0, - 0.1,0.1454545454545489,0, - 0.1,0.1363636363636398,0, - 0.1,0.1272727272727307,0, - 0.1,0.1181818181818216,0, - 0.1,0.1090909090909125,0, - 0.1,0.1000000000000034,0, - 0.1,0.09090909090909433,0, - 0.1,0.08181818181818527,0, - 0.1,0.07272727272727605,0, - 0.1,0.06363636363636654,0, - 0.1,0.05454545454545703,0, - 0.1,0.04545454545454754,0, - 0.1,0.03636363636363803,0, - 0.1,0.02727272727272851,0, - 0.1,0.018181818181819,0, - 0.1,0.009090909090909483,0, - 0.1,0,0 -}; -Discrete Line (3) = {12} -{ - 0.1,0.3,0, - 0.09090909090909115,0.3,0, - 0.0818181818181823,0.3,0, - 0.07272727272727345,0.3,0, - 0.06363636363636459,0.3,0, - 0.05454545454545573,0.3,0, - 0.0454545454545468,0.3,0, - 0.03636363636363778,0.3,0, - 0.02727272727272877,0.3,0, - 0.01818181818181929,0.3,0, - 0.009090909090909639,0.3,0, - 0,0.3,0 -}; -Discrete Line (4) = {36} -{ - 0,0.3,0, - 0,0.2909973636414624,0, - 0,0.2819947272829249,0, - 0.01,0.2730438656697747,0, - 0.02,0.2640976732852516,0, - 0.01,0.2551978447229378,0, - 0.02,0.2463080963195167,0, - 0.03,0.2374585496946034,0, - 0.06,0.2286252452795079,0, - 0.04,0.219825219879103,0, - 0.02,0.2110483594596965,0, - 0.01,0.2022970847862346,0, - 0,0.1935766683700231,0, - 0,0.1848733639512526,0, - 0,0.176209391545889,0, - 0,0.167553266739908,0, - 0,0.1589457383531955,0, - 0,0.1503382099664829,0, - 0,0.1417849077882686,0, - 0,0.1332338234281653,0, - 0,0.1247260882725001,0, - 0,0.1162314479471221,0, - 0,0.1077605053582608,0, - 0,0.09932087161239131,0, - 0,0.09090627422926471,0, - 0,0.08251660763823583,0, - 0,0.07415176555653609,0, - 0,0.06581227474114783,0, - 0,0.05750037195565337,0, - 0,0.04921307894911468,0, - 0,0.04095028725862424,0, - 0,0.03271188767963543,0, - 0,0.0244977702583297,0, - 0,0.01630782428387874,0, - 0,0.008141938280599425,0, - 0,0,0 -}; -Line Loop(1) = {4,1,-2,3}; -Plane Surface(1) = {1}; diff --git a/benchmarks/extrude/discrete.geo b/benchmarks/extrude/discrete.geo deleted file mode 100644 index 6e81a8ede6c7d380aed181bc84e661738b5d1177..0000000000000000000000000000000000000000 --- a/benchmarks/extrude/discrete.geo +++ /dev/null @@ -1,1367 +0,0 @@ - -//This only defines the topology, not the actual geometry -Point(1) = {0, 0, 0, 1}; -Point(2) = {.1, 0, 0, 1} ; -Point(3) = {.1, .3, 0, 1} ; -Point(4) = {0, .3, 0, 1} ; -Line(1) = {1,2} ; -Line(2) = {3,2} ; -Line(3) = {3,4} ; -Line(4) = {4,1} ; -Line Loop(6) = {1,-2,3,4}; -Plane Surface(6) = {6}; - - -Discrete Line {1} = {12} -{ - 0,0,0, - 0.008666908357418674,0,0, - 0.01741059051494093,0,0, - 0.02623968793850377, -0.01,0, // special!! - 0.03515556989052919,0,0, - 0.04415202866465823,0,0, - 0.0532426446041934,0,0, - 0.0624120060694025,0,0, - 0.07167921785688836,0,0, - 0.0810265391141614,0,0, - 0.09047240713174502,0,0, - 0.1,0,0 -}; -Discrete Line {2} = {34} -{ - 0.1,0.3,0, - 0.1,0.2909090909090913,0, - 0.1,0.2818181818181826,0, - 0.1,0.272727272727274,0, - 0.1,0.2636363636363653,0, - 0.1,0.2545454545454566,0, - 0.1,0.245454545454548,0, - 0.1,0.2363636363636393,0, - 0.1,0.2272727272727306,0, - 0.1,0.2181818181818216,0, - 0.1,0.2090909090909125,0, - 0.1,0.2000000000000035,0, - 0.1,0.1909090909090944,0, - 0.1,0.1818181818181853,0, - 0.1,0.1727272727272762,0, - 0.1,0.1636363636363671,0, - 0.1,0.154545454545458,0, - 0.1,0.1454545454545489,0, - 0.1,0.1363636363636398,0, - 0.1,0.1272727272727307,0, - 0.1,0.1181818181818216,0, - 0.1,0.1090909090909125,0, - 0.1,0.1000000000000034,0, - 0.1,0.09090909090909433,0, - 0.1,0.08181818181818527,0, - 0.1,0.07272727272727605,0, - 0.1,0.06363636363636654,0, - 0.1,0.05454545454545703,0, - 0.1,0.04545454545454754,0, - 0.1,0.03636363636363803,0, - 0.1,0.02727272727272851,0, - 0.1,0.018181818181819,0, - 0.1,0.009090909090909483,0, - 0.1,0,0 -}; -Discrete Line {3} = {12} -{ - 0.1,0.3,0, - 0.09090909090909115,0.3,0, - 0.0818181818181823,0.3,0, - 0.07272727272727345,0.3,0, - 0.06363636363636459,0.3,0, - 0.05454545454545573,0.3,0, - 0.0454545454545468,0.3,0, - 0.03636363636363778,0.3,0, - 0.02727272727272877,0.3,0, - 0.01818181818181929,0.3,0, - 0.009090909090909639,0.3,0, - 0,0.3,0 -}; -Discrete Line {4} = {36} -{ - 0,0.3,0, - 0,0.2909973636414624,0, - 0,0.2819947272829249,0, - 0,0.2730438656697747,0, - 0,0.2640976732852516,0, - 0,0.2551978447229378,0, - 0,0.2463080963195167,0, - 0,0.2374585496946034,0, - 0,0.2286252452795079,0, - 0,0.219825219879103,0, - 0,0.2110483594596965,0, - 0,0.2022970847862346,0, - 0,0.1935766683700231,0, - 0,0.1848733639512526,0, - 0,0.176209391545889,0, - 0,0.167553266739908,0, - 0,0.1589457383531955,0, - 0,0.1503382099664829,0, - 0,0.1417849077882686,0, - 0,0.1332338234281653,0, - 0,0.1247260882725001,0, - 0,0.1162314479471221,0, - 0,0.1077605053582608,0, - 0,0.09932087161239131,0, - 0,0.09090627422926471,0, - 0,0.08251660763823583,0, - 0,0.07415176555653609,0, - 0,0.06581227474114783,0, - 0,0.05750037195565337,0, - 0,0.04921307894911468,0, - 0,0.04095028725862424,0, - 0,0.03271188767963543,0, - 0,0.0244977702583297,0, - 0,0.01630782428387874,0, - 0,0.008141938280599425,0, - 0,0,0 -}; - -Discrete Surface {6} = {444, 796} -{ - 0,0,0, 0,0,1, - 0.1,0,0, 0,0,1, - 0.1,0.3,0, 0,0,1, - 0,0.3,0, 0,0,1, - 0.008666908357418674,0,0, 0,0,1, - 0.01741059051494093,0,0, 0,0,1, - 0.02623968793850377, -0.01,0, 0,0,1, // special!! - 0.03515556989052919,0,0, 0,0,1, - 0.04415202866465823,0,0, 0,0,1, - 0.0532426446041934,0,0, 0,0,1, - 0.0624120060694025,0,0, 0,0,1, - 0.07167921785688836,0,0, 0,0,1, - 0.0810265391141614,0,0, 0,0,1, - 0.09047240713174502,0,0, 0,0,1, - 0.1,0.2909090909090913,0, 0,0,1, - 0.1,0.2818181818181826,0, 0,0,1, - 0.1,0.272727272727274,0, 0,0,1, - 0.1,0.2636363636363653,0, 0,0,1, - 0.1,0.2545454545454566,0, 0,0,1, - 0.1,0.245454545454548,0, 0,0,1, - 0.1,0.2363636363636393,0, 0,0,1, - 0.1,0.2272727272727306,0, 0,0,1, - 0.1,0.2181818181818216,0, 0,0,1, - 0.1,0.2090909090909125,0, 0,0,1, - 0.1,0.2000000000000035,0, 0,0,1, - 0.1,0.1909090909090944,0, 0,0,1, - 0.1,0.1818181818181853,0, 0,0,1, - 0.1,0.1727272727272762,0, 0,0,1, - 0.1,0.1636363636363671,0, 0,0,1, - 0.1,0.154545454545458,0, 0,0,1, - 0.1,0.1454545454545489,0, 0,0,1, - 0.1,0.1363636363636398,0, 0,0,1, - 0.1,0.1272727272727307,0, 0,0,1, - 0.1,0.1181818181818216,0, 0,0,1, - 0.1,0.1090909090909125,0, 0,0,1, - 0.1,0.1000000000000034,0, 0,0,1, - 0.1,0.09090909090909433,0, 0,0,1, - 0.1,0.08181818181818527,0, 0,0,1, - 0.1,0.07272727272727605,0, 0,0,1, - 0.1,0.06363636363636654,0, 0,0,1, - 0.1,0.05454545454545703,0, 0,0,1, - 0.1,0.04545454545454754,0, 0,0,1, - 0.1,0.03636363636363803,0, 0,0,1, - 0.1,0.02727272727272851,0, 0,0,1, - 0.1,0.018181818181819,0, 0,0,1, - 0.1,0.009090909090909483,0, 0,0,1, - 0.09090909090909115,0.3,0, 0,0,1, - 0.0818181818181823,0.3,0, 0,0,1, - 0.07272727272727345,0.3,0, 0,0,1, - 0.06363636363636459,0.3,0, 0,0,1, - 0.05454545454545573,0.3,0, 0,0,1, - 0.0454545454545468,0.3,0, 0,0,1, - 0.03636363636363778,0.3,0, 0,0,1, - 0.02727272727272877,0.3,0, 0,0,1, - 0.01818181818181929,0.3,0, 0,0,1, - 0.009090909090909639,0.3,0, 0,0,1, - 0,0.2909973636414624,0, 0,0,1, - 0,0.2819947272829249,0, 0,0,1, - 0,0.2730438656697747,0, 0,0,1, - 0,0.2640976732852516,0, 0,0,1, - 0,0.2551978447229378,0, 0,0,1, - 0,0.2463080963195167,0, 0,0,1, - 0,0.2374585496946034,0, 0,0,1, - 0,0.2286252452795079,0, 0,0,1, - 0,0.219825219879103,0, 0,0,1, - 0,0.2110483594596965,0, 0,0,1, - 0,0.2022970847862346,0, 0,0,1, - 0,0.1935766683700231,0, 0,0,1, - 0,0.1848733639512526,0, 0,0,1, - 0,0.176209391545889,0, 0,0,1, - 0,0.167553266739908,0, 0,0,1, - 0,0.1589457383531955,0, 0,0,1, - 0,0.1503382099664829,0, 0,0,1, - 0,0.1417849077882686,0, 0,0,1, - 0,0.1332338234281653,0, 0,0,1, - 0,0.1247260882725001,0, 0,0,1, - 0,0.1162314479471221,0, 0,0,1, - 0,0.1077605053582608,0, 0,0,1, - 0,0.09932087161239131,0, 0,0,1, - 0,0.09090627422926471,0, 0,0,1, - 0,0.08251660763823583,0, 0,0,1, - 0,0.07415176555653609,0, 0,0,1, - 0,0.06581227474114783,0, 0,0,1, - 0,0.05750037195565337,0, 0,0,1, - 0,0.04921307894911468,0, 0,0,1, - 0,0.04095028725862424,0, 0,0,1, - 0,0.03271188767963543,0, 0,0,1, - 0,0.0244977702583297,0, 0,0,1, - 0,0.01630782428387874,0, 0,0,1, - 0,0.008141938280599425,0, 0,0,1, - 0.04943856805802106,0.05380328937598064,0, 0,0,1, - 0.04937989365470935,0.1124832183441131,0, 0,0,1, - 0.04906455701727032,0.1635647017394161,0, 0,0,1, - 0.04994965630437984,0.2156919141195039,0, 0,0,1, - 0.04267059113765502,0.2570469829773546,0, 0,0,1, - 0.03391641368163509,0.08278404853543544,0, 0,0,1, - 0.06648368881305394,0.08370353619075385,0, 0,0,1, - 0.03070072220881402,0.1373583285161116,0, 0,0,1, - 0.03239234128878235,0.188915673583429,0, 0,0,1, - 0.0299460344723322,0.03007783319538664,0, 0,0,1, - 0.06768096916602667,0.1896895353909995,0, 0,0,1, - 0.06786973965039635,0.1380641153053757,0, 0,0,1, - 0.06906611821771347,0.2409311118264899,0, 0,0,1, - 0.06996652307867668,0.03039994189830039,0, 0,0,1, - 0.0691174250123677,0.2709158238749525,0, 0,0,1, - 0.02840537430302887,0.2325216109658483,0, 0,0,1, - 0.02511114213595724,0.05911563651928614,0, 0,0,1, - 0.02517831137330134,0.1072439011631667,0, 0,0,1, - 0.07607995685001075,0.05822965058595274,0, 0,0,1, - 0.02396473897811648,0.163320481320246,0, 0,0,1, - 0.07452432870166287,0.1081253136296552,0, 0,0,1, - 0.07581076254876624,0.2140703859407646,0, 0,0,1, - 0.07494032044919846,0.1626124210265359,0, 0,0,1, - 0.02541377229030616,0.2752671742933001,0, 0,0,1, - 0.02240981574582322,0.2107215231865771,0, 0,0,1, - 0.04983413295137611,0.02097457574043528,0, 0,0,1, - 0.04941134832955653,0.2785088943493572,0, 0,0,1, - 0.02162182272400273,0.2549169591250538,0, 0,0,1, - 0.04869901355652118,0.2352716829945559,0, 0,0,1, - 0.04981200873474365,0.07334226180713629,0, 0,0,1, - 0.04972809749452883,0.1319447222339546,0, 0,0,1, - 0.04952763128918493,0.09235013068152129,0, 0,0,1, - 0.05002720146062067,0.1835006745097555,0, 0,0,1, - 0.01809529513063262,0.1247780828255636,0, 0,0,1, - 0.01806478650235874,0.01690638044718323,0, 0,0,1, - 0.01689220873880078,0.04297580650570328,0, 0,0,1, - 0.08133050962236976,0.2542589654384563,0, 0,0,1, - 0.01685845588998747,0.07560732514480217,0, 0,0,1, - 0.08215665746834816,0.1233506374840099,0, 0,0,1, - 0.0174793557941356,0.1790378811691205,0, 0,0,1, - 0.01725612321248826,0.14730753645529,0, 0,0,1, - 0.0825185154372209,0.1777739795212497,0, 0,0,1, - 0.08191001837008111,0.01695445239954515,0, 0,0,1, - 0.08245487873338836,0.04241313266827915,0, 0,0,1, - 0.01635842356981337,0.09201689545532704,0, 0,0,1, - 0.08221593334653349,0.07521836620235664,0, 0,0,1, - 0.03535329177557378,0.1208894731361945,0, 0,0,1, - 0.06001063963613316,0.2559387961281948,0, 0,0,1, - 0.0818077764056373,0.2827883909497645,0, 0,0,1, - 0.08171498673025543,0.2290982824542263,0, 0,0,1, - 0.04602930931322723,0.03681584715365363,0, 0,0,1, - 0.06477178552435675,0.1207471907520468,0, 0,0,1, - 0.08298195022619295,0.0925110661864206,0, 0,0,1, - 0.08276139739664286,0.198420223448365,0, 0,0,1, - 0.04488355136692088,0.1987639857646004,0, 0,0,1, - 0.08334696745782752,0.1457081058311505,0, 0,0,1, - 0.04459948929908309,0.1473579168334732,0, 0,0,1, - 0.06512452849271227,0.04622580932201703,0, 0,0,1, - 0.01621820841377811,0.1961418883892152,0, 0,0,1, - 0.06376040295637672,0.1734094645067047,0, 0,0,1, - 0.06356993495135672,0.2250288024266472,0, 0,0,1, - 0.03478326135552385,0.01494248276679263,0, 0,0,1, - 0.06198546362461019,0.2038989860551927,0, 0,0,1, - 0.06134781879471848,0.1516492286781151,0, 0,0,1, - 0.0363866071532066,0.174109283615948,0, 0,0,1, - 0.06470603073057905,0.01567617532170828,0, 0,0,1, - 0.03278456750073648,0.04654991808697145,0, 0,0,1, - 0.01477110422850003,0.2240497891622102,0, 0,0,1, - 0.03522911699557398,0.2201105953795862,0, 0,0,1, - 0.06406464582549254,0.2842927462456292,0, 0,0,1, - 0.03654951041452378,0.06791888012814969,0, 0,0,1, - 0.01463326826816211,0.2407821891772683,0, 0,0,1, - 0.03625883431497984,0.09693863914053574,0, 0,0,1, - 0.06171780826535542,0.102608518923871,0, 0,0,1, - 0.06086854646045398,0.06259484700313865,0, 0,0,1, - 0.03546452601422212,0.2852032479815787,0, 0,0,1, - 0.01450570869194033,0.2853022845979487,0, 0,0,1, - 0.03378001693506955,0.2465928739089589,0, 0,0,1, - 0.01344752229879137,0.03102195188520347,0, 0,0,1, - 0.08657587267131039,0.2682189789078185,0, 0,0,1, - 0.0138172616037642,0.2655531414559898,0, 0,0,1, - 0.03128238727688393,0.1511216326400835,0, 0,0,1, - 0.01241722575031191,0.1126136155927706,0, 0,0,1, - 0.01144695717269534,0.06240812142373482,0, 0,0,1, - 0.03817302106601303,0.2708393258556307,0, 0,0,1, - 0.0861838194316748,0.2433468087849759,0, 0,0,1, - 0.08653320051361627,0.03123670729056622,0, 0,0,1, - 0.01352711071236765,0.1358222689587102,0, 0,0,1, - 0.08750863010173002,0.1123907133147419,0, 0,0,1, - 0.05774929704258962,0.03215453948304765,0, 0,0,1, - 0.01166746654190703,0.1632932444597857,0, 0,0,1, - 0.03359178895074701,0.2025823138227348,0, 0,0,1, - 0.08919625723778936,0.1594149220724857,0, 0,0,1, - 0.08830555960514255,0.05904372679951998,0, 0,0,1, - 0.05269622362352771,0.2664452262662085,0, 0,0,1, - 0.08836469565632354,0.2137520755691794,0, 0,0,1, - 0.07170724523121683,0.0712567286527829,0, 0,0,1, - 0.03842089931684848,0.05631835663662797,0, 0,0,1, - 0.03919462708672876,0.1091173700064188,0, 0,0,1, - 0.07101730360489114,0.09441473403353508,0, 0,0,1, - 0.0384936307883243,0.161454328389355,0, 0,0,1, - 0.01148442970974977,0.2068433063302576,0, 0,0,1, - 0.05635282539443316,0.1937282888974277,0, 0,0,1, - 0.08672687094080134,0.136389452677617,0, 0,0,1, - 0.05733229973588551,0.140935008677078,0, 0,0,1, - 0.05025602369477496,0.2491586739726355,0, 0,0,1, - 0.02777188266670655,0.2621911089520076,0, 0,0,1, - 0.04896364134540693,0.01012503553289783,0, 0,0,1, - 0.08915978538268282,0.1877368376200544,0, 0,0,1, - 0.04467794673397693,0.08274600679155963,0, 0,0,1, - 0.01125607504756643,0.1004022065934169,0, 0,0,1, - 0.01014017967121661,0.05048150026903755,0, 0,0,1, - 0.02605423709559382,0.01104838406806721,0, 0,0,1, - 0.04113593165098633,0.02761886599493008,0, 0,0,1, - 0.009637786125538663,0.2502841526904231,0, 0,0,1, - 0.01005307094342986,0.08411889939387246,0, 0,0,1, - 0.009581445548931599,0.01102332891106007,0, 0,0,1, - 0.03884945350904942,0.2307109426059477,0, 0,0,1, - 0.05554050725953068,0.08270220398137947,0, 0,0,1, - 0.02501380175597523,0.2884257167879166,0, 0,0,1, - 0.04992435965025796,0.2899567511109187,0, 0,0,1, - 0.07035767159446743,0.2511128590589935,0, 0,0,1, - 0.05454812588931711,0.04374557655640481,0, 0,0,1, - 0.08910837445055786,0.1012521849088495,0, 0,0,1, - 0.07191532300695119,0.1477130220576167,0, 0,0,1, - 0.07144348541409365,0.1994029552460558,0, 0,0,1, - 0.04104154947073443,0.2106499218226232,0, 0,0,1, - 0.07430545316632886,0.01019683179112018,0, 0,0,1, - 0.07342724934351655,0.2887172598334418,0, 0,0,1, - 0.02714979904802766,0.09108586827788052,0, 0,0,1, - 0.06018497728191427,0.1628850465678994,0, 0,0,1, - 0.052813043019131,0.2257300937159397,0, 0,0,1, - 0.05959717747406301,0.2747518875092944,0, 0,0,1, - 0.09018732191646869,0.1697652393643418,0, 0,0,1, - 0.04636563487995943,0.06377448745989739,0, 0,0,1, - 0.05949764517598849,0.2351304159620017,0, 0,0,1, - 0.08942753179949342,0.08411738992572398,0, 0,0,1, - 0.01017930031863925,0.1877782374489671,0, 0,0,1, - 0.03886163791568874,0.1303484230966758,0, 0,0,1, - 0.02627432503760547,0.06945286839030726,0, 0,0,1, - 0.04545850862201047,0.1220601887527192,0, 0,0,1, - 0.06015102574654745,0.09221713671545681,0, 0,0,1, - 0.06081015567090238,0.1305611072067474,0, 0,0,1, - 0.04552734130476399,0.1022116915267994,0, 0,0,1, - 0.02603376948071753,0.1175195093502542,0, 0,0,1, - 0.01092884955846057,0.2752475207523316,0, 0,0,1, - 0.02623682280070831,0.1730196004758258,0, 0,0,1, - 0.0599728170545432,0.2149318402201275,0, 0,0,1, - 0.02723773418906296,0.02054104817437022,0, 0,0,1, - 0.02819188959081512,0.1275125763903226,0, 0,0,1, - 0.02496486337772009,0.2213873111207296,0, 0,0,1, - 0.04221080556799754,0.1896758652024453,0, 0,0,1, - 0.07354334101592894,0.2236089656829513,0, 0,0,1, - 0.07174158576799367,0.1800930573003826,0, 0,0,1, - 0.09028233510548966,0.01137390075889436,0, 0,0,1, - 0.06152915382403199,0.07317590874410404,0, 0,0,1, - 0.04678947611597696,0.1735629976052024,0, 0,0,1, - 0.009101103377849942,0.1204479307077391,0, 0,0,1, - 0.04269479255974289,0.04633604038286526,0, 0,0,1, - 0.07721167986007606,0.08423475137568255,0, 0,0,1, - 0.07238629015733426,0.12829865846332,0, 0,0,1, - 0.07390625424649344,0.1175043837685203,0, 0,0,1, - 0.09064407637701408,0.259665338097065,0, 0,0,1, - 0.009222490210454572,0.172835227104156,0, 0,0,1, - 0.009356380077452781,0.1535584613955532,0, 0,0,1, - 0.009114285192323603,0.02122829277464142,0, 0,0,1, - 0.07796114827250969,0.1883201522610519,0, 0,0,1, - 0.008937306344383857,0.07052872865870194,0, 0,0,1, - 0.09030542885147326,0.2885685604701616,0, 0,0,1, - 0.06044455779806655,0.1831220183615892,0, 0,0,1, - 0.07264606348732416,0.03991380119060847,0, 0,0,1, - 0.09062061219000558,0.04901015385761164,0, 0,0,1, - 0.09069398766617448,0.0688598192042111,0, 0,0,1, - 0.008123984341192419,0.03787387046147667,0, 0,0,1, - 0.02469969170136275,0.08104728642847858,0, 0,0,1, - 0.06033048963429793,0.2455496260239905,0, 0,0,1, - 0.02151101002359235,0.03418690517024868,0, 0,0,1, - 0.07286101546871832,0.02072029833490226,0, 0,0,1, - 0.05947433126150597,0.1125615271409249,0, 0,0,1, - 0.02167160681543153,0.1393636770469187,0, 0,0,1, - 0.09059415405628564,0.2236295645622291,0, 0,0,1, - 0.02480075783544586,0.2419154818943148,0, 0,0,1, - 0.008816776876076344,0.2167587936842484,0, 0,0,1, - 0.009038346020500104,0.232484759114464,0, 0,0,1, - 0.02207635133126941,0.1879588155809851,0, 0,0,1, - 0.09057955899663048,0.2768325469266408,0, 0,0,1, - 0.02449752549330311,0.0496811686398899,0, 0,0,1, - 0.09092016500874539,0.2041131979983527,0, 0,0,1, - 0.05836549929763069,0.008376517204580238,0, 0,0,1, - 0.05204071400842313,0.1542418473656231,0, 0,0,1, - 0.07777279335694906,0.1380211700913576,0, 0,0,1, - 0.07237020078977648,0.261380298133381,0, 0,0,1, - 0.09191195996468564,0.1224920799838925,0, 0,0,1, - 0.07486187282829837,0.04913563922524344,0, 0,0,1, - 0.05232879015259182,0.2061619553276807,0, 0,0,1, - 0.07265981053425072,0.2793504808417681,0, 0,0,1, - 0.03631683207598058,0.0376577773159079,0, 0,0,1, - 0.05892483751673459,0.05363467383883449,0, 0,0,1, - 0.0907058058023005,0.02238482403021362,0, 0,0,1, - 0.05824806068059205,0.02311420003147432,0, 0,0,1, - 0.05512793619522999,0.1222660922205425,0, 0,0,1, - 0.07867930612091967,0.2378613324047284,0, 0,0,1, - 0.00828650221244636,0.1440812556269965,0, 0,0,1, - 0.02612712529536975,0.1967455934565623,0, 0,0,1, - 0.06228004117172392,0.2653937179216883,0, 0,0,1, - 0.03410425775749156,0.2553770537574441,0, 0,0,1, - 0.01792042953401478,0.1564626589208993,0, 0,0,1, - 0.0916107121475075,0.03912967887302492,0, 0,0,1, - 0.07505368834360296,0.1711114557478963,0, 0,0,1, - 0.08046291293405049,0.06591108507188968,0, 0,0,1, - 0.09132848802679211,0.150162442763718,0, 0,0,1, - 0.04269937468251984,0.2424832394702249,0, 0,0,1, - 0.09050420217545246,0.2341426047472606,0, 0,0,1, - 0.03975338931817624,0.007871382293476517,0, 0,0,1, - 0.04064464564859555,0.1391376642072461,0, 0,0,1, - 0.04402955716651866,0.2222460808906515,0, 0,0,1, - 0.01781094460619342,0.1701471730655267,0, 0,0,1, - 0.07830644960148971,0.03342448812186011,0, 0,0,1, - 0.007680505493733437,0.1976435436744516,0, 0,0,1, - 0.007978941021165942,0.09307023661607147,0, 0,0,1, - 0.01922404935778042,0.232300123844155,0, 0,0,1, - 0.02030636901147868,0.09982551488877046,0, 0,0,1, - 0.09203777807414038,0.2498676571143333,0, 0,0,1, - 0.09191797952574435,0.1783662442836693,0, 0,0,1, - 0.02013040691781846,0.02572483794683859,0, 0,0,1, - 0.08200939129162396,0.2073426073847147,0, 0,0,1, - 0.06411941390668997,0.03788558157562232,0, 0,0,1, - 0.0820234490865738,0.2206696002838985,0, 0,0,1, - 0.05510766430874156,0.170357204533289,0, 0,0,1, - 0.007707431642602998,0.2597693215451046,0, 0,0,1, - 0.03115925135530253,0.2117345352657591,0, 0,0,1, - 0.05881742449159542,0.2918979187621946,0, 0,0,1, - 0.01792553337181894,0.007350198036130873,0, 0,0,1, - 0.04104786614712366,0.2921517055439529,0, 0,0,1, - 0.03956365628563203,0.07587586206590409,0, 0,0,1, - 0.03011925807439417,0.1807152709944913,0, 0,0,1, - 0.0169965923551548,0.05541862941953492,0, 0,0,1, - 0.07007105450898299,0.2317783654849989,0, 0,0,1, - 0.039153242039623,0.08967297719647721,0, 0,0,1, - 0.05069536332949499,0.2579824565603571,0, 0,0,1, - 0.04423848987717183,0.1557302026851194,0, 0,0,1, - 0.07971797010460688,0.1019432919633422,0, 0,0,1, - 0.07752715094272272,0.2461740403567472,0, 0,0,1, - 0.06764803967079111,0.05481581517747639,0, 0,0,1, - 0.007533120601931467,0.1292895752948564,0, 0,0,1, - 0.04979604467376633,0.02898993917936817,0, 0,0,1, - 0.07866726386665482,0.2719272950050943,0, 0,0,1, - 0.09194760516771022,0.09344624816131675,0, 0,0,1, - 0.08012666225562021,0.1552818613912269,0, 0,0,1, - 0.026366013561071,0.04072178847116093,0, 0,0,1, - 0.0406404175121087,0.1813224982555967,0, 0,0,1, - 0.06638208514037212,0.007101162012875179,0, 0,0,1, - 0.04873969210343436,0.1405054590535852,0, 0,0,1, - 0.09257325665513802,0.195999067427848,0, 0,0,1, - 0.03433451395152162,0.2384288662471029,0, 0,0,1, - 0.01803447107018375,0.06617082913848593,0, 0,0,1, - 0.01975582745424454,0.2032394433774424,0, 0,0,1, - 0.04258400381771957,0.01700724641307161,0, 0,0,1, - 0.008332875258948913,0.2917417162256912,0, 0,0,1, - 0.02596818098385111,0.1459870696530841,0, 0,0,1, - 0.0284813111066133,0.09948506531989622,0, 0,0,1, - 0.03301240442506546,0.2771741624555794,0, 0,0,1, - 0.06827016675558029,0.1662310737536424,0, 0,0,1, - 0.08168386994819452,0.29247682863844,0, 0,0,1, - 0.03228751871615694,0.167030539725871,0, 0,0,1, - 0.08267317943672375,0.05203032866969079,0, 0,0,1, - 0.06806624889808816,0.2099772078322099,0, 0,0,1, - 0.0676470016575042,0.1113157378906632,0, 0,0,1, - 0.03176345523353472,0.07527260243293438,0, 0,0,1, - 0.006727574683700789,0.2243100910403469,0, 0,0,1, - 0.06847543202057235,0.1580869773249052,0, 0,0,1, - 0.08222672781710733,0.1657210258356022,0, 0,0,1, - 0.06419506740159016,0.1965542798077724,0, 0,0,1, - 0.01690471517486694,0.2162290054845376,0, 0,0,1, - 0.03078113302537267,0.05407929293730027,0, 0,0,1, - 0.06447188102771494,0.1446280134389742,0, 0,0,1, - 0.03281131309366399,0.2929154260670946,0, 0,0,1, - 0.006726481086626164,0.2416771527065344,0, 0,0,1, - 0.08276808882988401,0.007883453229140693,0, 0,0,1, - 0.09252357500887304,0.141268696520782,0, 0,0,1, - 0.04095044642843683,0.2785195262531039,0, 0,0,1, - 0.03195337655869265,0.06152851823439536,0, 0,0,1, - 0.03482085141749088,0.02261717698222997,0, 0,0,1, - 0.0559253145233716,0.01585099576030879,0, 0,0,1, - 0.04429939055991405,0.2650152624206911,0, 0,0,1, - 0.05396617709251803,0.09952288632236958,0, 0,0,1, - 0.0538079771730238,0.0604060922087004,0, 0,0,1, - 0.06807337640732652,0.2179883403884909,0, 0,0,1, - 0.05588105233390689,0.2837633782998984,0, 0,0,1, - 0.03632231678897647,0.1953673325900875,0, 0,0,1, - 0.02175961762897538,0.1321682569834458,0, 0,0,1, - 0.007030750697466995,0.1801725989026808,0, 0,0,1, - 0.07982936275250382,0.02553204659693582,0, 0,0,1, - 0.006549149915343314,0.2680664709570159,0, 0,0,1, - 0.01922010621654489,0.2788199052065876,0, 0,0,1, - 0.06917588693459614,0.06400363451096822,0, 0,0,1, - 0.03234087162575537,0.006826108049671261,0, 0,0,1, - 0.006073945327801719,0.02904488705957779,0, 0,0,1, - 0.09273862553505061,0.0764897543699725,0, 0,0,1, - 0.02019298640880669,0.2616149302400951,0, 0,0,1, - 0.0698486666672703,0.1030349614053262,0, 0,0,1, - 0.06652295667467534,0.2928006394660684,0, 0,0,1, - 0.03655616266154597,0.2631152686607987,0, 0,0,1, - 0.08131503545642571,0.2630154572072237,0, 0,0,1, - 0.006587093819851195,0.04483545546311527,0, 0,0,1, - 0.03131119373679582,0.226133694576312,0, 0,0,1, - 0.01837862784181576,0.1157793891016666,0, 0,0,1, - 0.04057812939192712,0.1155898129989157,0, 0,0,1, - 0.03126362495172781,0.1583960213678358,0, 0,0,1, - 0.03219475038017165,0.1118490023868191,0, 0,0,1, - 0.01770265376607229,0.2932650874040193,0, 0,0,1, - 0.04865479506954632,0.1918858975862876,0, 0,0,1, - 0.03485079864769412,0.1448742717513725,0, 0,0,1, - 0.007667777071145932,0.1071389343860374,0, 0,0,1, - 0.006799845784060426,0.07737403919837535,0, 0,0,1, - 0.04329470810445293,0.07020566345252041,0, 0,0,1, - 0.01809499667680631,0.2483745579559958,0, 0,0,1, - 0.006748884107321751,0.05692622109812206,0, 0,0,1, - 0.09372260441845391,0.268209661854113,0, 0,0,1, - 0.0403602124799252,0.2502709559319859,0, 0,0,1, - 0.04295879196070669,0.09543438184957867,0, 0,0,1, - 0.006553222701963051,0.2829221135957352,0, 0,0,1, - 0.05305261031651766,0.241523805427261,0, 0,0,1, - 0.05486016736149558,0.06712202410998261,0, 0,0,1, - 0.09185760483216832,0.1306472448677418,0, 0,0,1, - 0.09386080916472941,0.2414288730536943,0, 0,0,1, - 0.01701816133570556,0.1071453047137566,0, 0,0,1, - 0.005857386015204671,0.137103665976998,0, 0,0,1, - 0.02099360625206249,0.2694021584839839,0, 0,0,1, - 0.07199460326175358,0.07792080313624447,0, 0,0,1, - 0.02475347689816131,0.1536915908196552,0, 0,0,1, - 0.01501358330785345,0.2568506752171648,0, 0,0,1, - 0.07966327601372003,0.112672133762342,0, 0,0,1, - 0.04078645678860521,0.1682260077493461,0, 0,0,1, - 0.06554299075583314,0.02423008020022461,0, 0,0,1, - 0.09398325079210289,0.03154891727662895,0, 0,0,1, - 0.05453794860086236,0.1063635685725725,0, 0,0,1, - 0.05523471010008513,0.1772782843706078,0, 0,0,1, - 0.01824217424612933,0.08483644085341754,0, 0,0,1, - 0.06619328448596223,0.2774584463968358,0, 0,0,1, - 0.09406310001300849,0.1079688986841182,0, 0,0,1, - 0.05242367337145461,0.1467906376872577,0, 0,0,1, - 0.04606368775049969,0.2289539738618407,0, 0,0,1, - 0.02753588322626437,0.2814575041755443,0, 0,0,1, - 0.0381279394497433,0.1520724930468378,0, 0,0,1, - 0.04374982295112967,0.2851079171767646,0, 0,0,1, - 0.03039971713968145,0.2700751922892058,0, 0,0,1, - 0.0273819597074987,0.2512202996312642,0, 0,0,1, - 0.02635630161136649,0.2046771409478179,0, 0,0,1, - 0.04499335366173904,0.2722439304320244,0, 0,0,1, - 0.03415593675720739,0.1040329787507068,0, 0,0,1, - 0.07520936860734033,0.206195072540403,0, 0,0,1, - 0.006255882734957453,0.1137822797445116,0, 0,0,1, - 0.08184997135179831,0.1315212808568459,0, 0,0,1 -} -{ - 3, 168,266,125, - 3, 125,263,168, - 3, 281,294,137, - 3, 179,212,140, - 3, 144,216,181, - 3, 192,284,144, - 3, 173,257,82, - 3, 80,205,79, - 3, 33,282,178, - 3, 215,256,143, - 3, 211,281,137, - 3, 129,325,274, - 3, 205,309,79, - 3, 229,264,127, - 3, 178,430,33, - 3, 152,284,192, - 3, 229,358,264, - 3, 93,237,221, - 3, 221,237,150, - 3, 71,180,70, - 3, 82,407,173, - 3, 255,314,168, - 3, 177,334,123, - 3, 28,223,182, - 3, 236,325,129, - 3, 96,249,189, - 3, 124,314,255, - 3, 4,206,89, - 3, 138,336,275, - 3, 189,249,142, - 3, 100,256,215, - 3, 28,182,29, - 3, 175,312,126, - 3, 39,183,40, - 3, 275,336,169, - 3, 178,422,331, - 3, 338,360,214, - 3, 105,310,240, - 3, 291,327,139, - 3, 178,331,213, - 3, 258,275,15, - 3, 4,322,206, - 3, 5,322,4, - 3, 180,253,70, - 3, 126,332,175, - 3, 139,327,242, - 3, 22,185,23, - 3, 144,284,216, - 3, 71,254,180, - 3, 178,282,128, - 3, 240,395,105, - 3, 123,380,177, - 3, 125,326,201, - 3, 133,307,176, - 3, 187,224,160, - 3, 118,301,207, - 3, 112,360,338, - 3, 176,297,133, - 3, 184,222,116, - 3, 186,299,135, - 3, 179,424,103, - 3, 177,269,130, - 3, 199,208,121, - 3, 128,422,178, - 3, 140,335,179, - 3, 301,344,207, - 3, 66,191,65, - 3, 206,255,88, - 3, 276,326,125, - 3, 130,292,177, - 3, 45,244,13, - 3, 325,340,98, - 3, 286,339,99, - 3, 144,401,192, - 3, 183,261,40, - 3, 90,224,187, - 3, 186,385,299, - 3, 120,232,194, - 3, 98,340,241, - 3, 39,262,183, - 3, 44,288,244, - 3, 25,198,26, - 3, 212,248,140, - 3, 194,232,101, - 3, 268,290,91, - 3, 90,248,212, - 3, 156,248,187, - 3, 163,231,189, - 3, 189,231,96, - 3, 120,304,228, - 3, 92,279,220, - 3, 120,342,304, - 3, 89,206,88, - 3, 181,379,144, - 3, 220,279,153, - 3, 188,233,91, - 3, 119,208,199, - 3, 36,226,37, - 3, 187,248,90, - 3, 179,316,212, - 3, 103,316,179, - 3, 109,306,180, - 3, 139,302,291, - 3, 291,302,175, - 3, 180,296,109, - 3, 22,270,185, - 3, 216,284,93, - 3, 240,310,157, - 3, 216,305,158, - 3, 93,305,216, - 3, 299,385,108, - 3, 46,258,14, - 3, 108,355,183, - 3, 12,217,11, - 3, 183,299,108, - 3, 1,45,13, - 3, 149,298,243, - 3, 122,259,192, - 3, 245,419,96, - 3, 182,300,29, - 3, 208,231,121, - 3, 4,89,0, - 3, 227,308,67, - 3, 36,337,226, - 3, 189,390,163, - 3, 123,334,247, - 3, 243,259,149, - 3, 191,272,65, - 3, 226,249,135, - 3, 192,259,100, - 3, 142,249,226, - 3, 185,277,23, - 3, 117,437,196, - 3, 100,259,243, - 3, 44,244,45, - 3, 164,385,245, - 3, 208,245,96, - 3, 12,368,217, - 3, 245,385,186, - 3, 196,437,295, - 3, 228,239,136, - 3, 14,258,15, - 3, 149,352,298, - 3, 198,313,26, - 3, 160,371,187, - 3, 97,239,228, - 3, 166,384,209, - 3, 201,394,125, - 3, 131,361,223, - 3, 143,256,198, - 3, 202,322,6, - 3, 116,439,184, - 3, 137,294,184, - 3, 184,329,137, - 3, 187,364,156, - 3, 186,419,245, - 3, 221,225,118, - 3, 185,317,111, - 3, 211,265,102, - 3, 91,290,230, - 3, 137,265,211, - 3, 33,430,34, - 3, 219,311,134, - 3, 150,225,221, - 3, 68,227,67, - 3, 384,433,209, - 3, 298,361,131, - 3, 233,440,162, - 3, 111,315,185, - 3, 414,443,128, - 3, 141,250,232, - 3, 9,197,8, - 3, 114,363,191, - 3, 138,275,258, - 3, 232,250,101, - 3, 142,331,189, - 3, 199,324,119, - 3, 136,230,228, - 3, 289,424,179, - 3, 14,2,46, - 3, 135,419,186, - 3, 101,280,214, - 3, 95,328,219, - 3, 129,274,227, - 3, 99,339,266, - 3, 106,345,326, - 3, 228,230,120, - 3, 289,335,115, - 3, 125,394,263, - 3, 219,328,162, - 3, 234,239,123, - 3, 227,274,148, - 3, 214,280,145, - 3, 179,335,289, - 3, 212,316,147, - 3, 136,239,234, - 3, 66,308,191, - 3, 202,238,124, - 3, 170,418,235, - 3, 188,440,233, - 3, 93,284,237, - 3, 282,414,128, - 3, 235,418,384, - 3, 237,284,152, - 3, 145,280,193, - 3, 182,338,300, - 3, 27,223,28, - 3, 203,286,99, - 3, 121,328,199, - 3, 195,265,137, - 3, 96,231,208, - 3, 212,287,90, - 3, 300,338,145, - 3, 151,238,202, - 3, 46,353,258, - 3, 234,396,107, - 3, 124,255,206, - 3, 191,308,148, - 3, 203,372,347, - 3, 140,286,203, - 3, 156,286,248, - 3, 147,287,212, - 3, 153,431,194, - 3, 193,369,145, - 3, 91,397,188, - 3, 97,380,239, - 3, 192,362,152, - 3, 100,362,192, - 3, 248,286,140, - 3, 205,404,127, - 3, 47,353,46, - 3, 148,346,191, - 3, 78,309,200, - 3, 250,280,101, - 3, 396,416,107, - 3, 190,330,92, - 3, 134,428,219, - 3, 198,256,131, - 3, 269,380,97, - 3, 192,401,122, - 3, 92,423,190, - 3, 191,346,114, - 3, 61,204,60, - 3, 72,292,254, - 3, 219,350,311, - 3, 86,387,263, - 3, 119,245,208, - 3, 218,353,48, - 3, 21,302,270, - 3, 203,347,115, - 3, 126,312,252, - 3, 6,322,5, - 3, 219,428,264, - 3, 324,405,119, - 3, 331,422,110, - 3, 9,278,197, - 3, 235,411,58, - 3, 194,365,153, - 3, 326,345,173, - 3, 194,342,120, - 3, 101,365,194, - 3, 217,267,155, - 3, 58,411,57, - 3, 127,404,257, - 3, 94,409,195, - 3, 261,297,41, - 3, 141,290,268, - 3, 51,210,50, - 3, 132,267,217, - 3, 163,357,268, - 3, 281,336,104, - 3, 104,294,281, - 3, 176,382,288, - 3, 331,390,189, - 3, 148,308,227, - 3, 200,403,78, - 3, 86,263,85, - 3, 53,400,209, - 3, 159,285,218, - 3, 201,407,84, - 3, 244,288,132, - 3, 215,356,152, - 3, 195,329,94, - 3, 99,314,238, - 3, 141,251,250, - 3, 137,329,195, - 3, 163,390,357, - 3, 260,283,147, - 3, 196,389,117, - 3, 250,251,128, - 3, 114,320,240, - 3, 197,303,8, - 3, 83,407,82, - 3, 214,360,153, - 3, 251,422,128, - 3, 240,320,158, - 3, 281,393,336, - 3, 288,382,132, - 3, 348,400,55, - 3, 143,441,215, - 3, 398,434,190, - 3, 244,368,13, - 3, 48,353,47, - 3, 134,309,205, - 3, 102,332,211, - 3, 161,310,271, - 3, 102,265,225, - 3, 271,310,105, - 3, 124,322,202, - 3, 193,443,414, - 3, 156,339,286, - 3, 266,314,99, - 3, 219,264,95, - 3, 131,313,198, - 3, 369,414,31, - 3, 250,443,280, - 3, 55,400,54, - 3, 121,410,328, - 3, 243,256,100, - 3, 131,256,243, - 3, 198,343,143, - 3, 136,399,397, - 3, 213,337,35, - 3, 126,281,211, - 3, 70,253,69, - 3, 206,322,124, - 3, 230,290,120, - 3, 347,372,151, - 3, 13,368,12, - 3, 229,345,106, - 3, 193,414,369, - 3, 274,325,98, - 3, 105,344,271, - 3, 120,290,232, - 3, 3,348,55, - 3, 56,348,3, - 3, 145,338,214, - 3, 271,344,167, - 3, 287,333,164, - 3, 72,254,71, - 3, 110,390,331, - 3, 134,311,200, - 3, 73,292,72, - 3, 200,309,134, - 3, 315,441,143, - 3, 158,305,207, - 3, 162,410,233, - 3, 197,373,115, - 3, 191,363,272, - 3, 27,313,223, - 3, 95,324,199, - 3, 199,328,95, - 3, 231,375,121, - 3, 76,247,75, - 3, 333,385,164, - 3, 82,257,81, - 3, 263,387,168, - 3, 84,394,201, - 3, 54,400,53, - 3, 227,381,129, - 3, 20,302,21, - 3, 61,367,204, - 3, 127,428,205, - 3, 218,285,138, - 3, 150,327,225, - 3, 168,387,255, - 3, 25,343,198, - 3, 260,307,133, - 3, 6,386,202, - 3, 115,347,197, - 3, 40,261,41, - 3, 225,327,102, - 3, 215,441,356, - 3, 163,375,231, - 3, 267,382,103, - 3, 204,367,161, - 3, 202,386,151, - 3, 270,302,139, - 3, 184,294,222, - 3, 204,319,60, - 3, 279,431,153, - 3, 200,416,403, - 3, 222,294,104, - 3, 133,297,261, - 3, 403,416,172, - 3, 38,262,39, - 3, 254,292,130, - 3, 41,297,42, - 3, 79,309,78, - 3, 65,272,64, - 3, 271,437,406, - 3, 406,437,117, - 3, 97,349,269, - 3, 234,399,136, - 3, 205,428,134, - 3, 115,335,203, - 3, 171,434,398, - 3, 326,407,201, - 3, 173,407,326, - 3, 135,388,226, - 3, 203,335,140, - 3, 216,320,181, - 3, 232,290,141, - 3, 98,379,293, - 3, 173,345,257, - 3, 293,379,181, - 3, 102,327,291, - 3, 63,273,62, - 3, 99,372,203, - 3, 118,412,301, - 3, 129,381,253, - 3, 301,412,195, - 3, 207,432,118, - 3, 161,406,204, - 3, 257,345,127, - 3, 226,337,142, - 3, 285,336,138, - 3, 236,306,109, - 3, 35,430,213, - 3, 21,270,22, - 3, 17,252,18, - 3, 291,332,102, - 3, 133,283,260, - 3, 88,255,87, - 3, 397,399,188, - 3, 210,321,50, - 3, 224,405,160, - 3, 283,333,147, - 3, 80,404,205, - 3, 172,396,247, - 3, 103,382,307, - 3, 51,323,210, - 3, 106,371,229, - 3, 130,296,254, - 3, 221,305,93, - 3, 222,378,116, - 3, 220,318,92, - 3, 207,395,158, - 3, 105,395,207, - 3, 247,396,123, - 3, 254,296,180, - 3, 78,403,77, - 3, 228,304,97, - 3, 10,278,9, - 3, 159,378,222, - 3, 264,358,95, - 3, 149,318,220, - 3, 229,371,160, - 3, 207,344,105, - 3, 224,413,119, - 3, 217,368,132, - 3, 209,366,53, - 3, 273,367,62, - 3, 84,407,83, - 3, 223,313,131, - 3, 249,419,135, - 3, 129,306,236, - 3, 213,331,142, - 3, 135,299,262, - 3, 211,332,126, - 3, 217,341,11, - 3, 43,425,288, - 3, 243,298,131, - 3, 142,337,213, - 3, 158,320,216, - 3, 262,299,183, - 3, 190,434,330, - 3, 97,402,349, - 3, 43,288,44, - 3, 209,400,166, - 3, 165,366,209, - 3, 146,402,304, - 3, 209,433,165, - 3, 111,317,242, - 3, 262,388,135, - 3, 252,393,126, - 3, 169,393,252, - 3, 23,277,24, - 3, 230,397,91, - 3, 116,378,210, - 3, 210,435,116, - 3, 48,391,218, - 3, 56,411,348, - 3, 233,426,91, - 3, 138,353,218, - 3, 213,430,178, - 3, 274,293,148, - 3, 155,341,217, - 3, 146,434,402, - 3, 98,293,274, - 3, 154,340,325, - 3, 157,310,273, - 3, 246,423,92, - 3, 152,362,215, - 3, 215,362,100, - 3, 253,306,129, - 3, 153,365,214, - 3, 35,337,36, - 3, 273,310,161, - 3, 15,275,16, - 3, 214,365,101, - 3, 238,314,124, - 3, 145,369,300, - 3, 283,355,108, - 3, 277,315,143, - 3, 180,306,253, - 3, 57,411,56, - 3, 185,315,277, - 3, 132,368,244, - 3, 246,340,154, - 3, 264,428,127, - 3, 242,317,139, - 3, 122,340,246, - 3, 197,347,303, - 3, 141,357,251, - 3, 92,318,246, - 3, 329,374,94, - 3, 103,307,260, - 3, 184,374,329, - 3, 159,429,285, - 3, 26,313,27, - 3, 220,352,149, - 3, 252,312,18, - 3, 154,325,236, - 3, 153,360,220, - 3, 32,282,33, - 3, 218,391,159, - 3, 76,442,247, - 3, 162,350,219, - 3, 147,316,260, - 3, 143,343,277, - 3, 260,316,103, - 3, 160,358,229, - 3, 223,361,182, - 3, 118,432,221, - 3, 127,345,229, - 3, 144,379,241, - 3, 338,361,112, - 3, 261,355,133, - 3, 161,367,273, - 3, 182,361,338, - 3, 288,425,176, - 3, 122,401,241, - 3, 128,443,250, - 3, 222,429,159, - 3, 242,327,150, - 3, 90,376,224, - 3, 92,330,279, - 3, 168,314,266, - 3, 268,357,141, - 3, 247,334,75, - 3, 226,388,37, - 3, 246,427,122, - 3, 68,381,227, - 3, 225,412,118, - 3, 195,409,301, - 3, 104,429,222, - 3, 240,363,114, - 3, 157,363,240, - 3, 139,317,270, - 3, 303,347,151, - 3, 270,317,185, - 3, 119,405,224, - 3, 109,354,236, - 3, 8,303,7, - 3, 241,340,122, - 3, 236,354,154, - 3, 177,380,269, - 3, 136,397,230, - 3, 17,408,252, - 3, 258,353,138, - 3, 252,408,169, - 3, 152,356,237, - 3, 255,387,87, - 3, 121,375,233, - 3, 175,332,291, - 3, 238,372,99, - 3, 133,355,283, - 3, 235,383,170, - 3, 106,326,276, - 3, 293,346,148, - 3, 58,383,235, - 3, 237,377,150, - 3, 278,373,197, - 3, 242,377,111, - 3, 245,413,164, - 3, 123,396,234, - 3, 107,399,234, - 3, 34,430,35, - 3, 233,410,121, - 3, 125,339,276, - 3, 29,300,30, - 3, 239,380,123, - 3, 235,384,166, - 3, 151,372,238, - 3, 266,339,125, - 3, 279,330,146, - 3, 259,427,149, - 3, 276,339,156, - 3, 241,379,98, - 3, 166,411,235, - 3, 150,377,242, - 3, 251,357,110, - 3, 275,408,16, - 3, 130,420,296, - 3, 108,333,283, - 3, 158,395,240, - 3, 169,408,275, - 3, 183,355,261, - 3, 11,341,10, - 3, 10,341,278, - 3, 7,386,6, - 3, 151,386,303, - 3, 155,373,278, - 3, 278,341,155, - 3, 119,413,245, - 3, 269,349,130, - 3, 50,321,49, - 3, 241,401,144, - 3, 296,420,109, - 3, 253,381,69, - 3, 147,333,287, - 3, 376,413,224, - 3, 67,308,66, - 3, 265,412,225, - 3, 104,336,285, - 3, 277,343,24, - 3, 60,319,59, - 3, 18,312,19, - 3, 52,323,51, - 3, 167,344,301, - 3, 287,376,90, - 3, 154,423,246, - 3, 272,359,64, - 3, 267,424,155, - 3, 311,416,200, - 3, 77,442,76, - 3, 164,376,287, - 3, 63,359,273, - 3, 375,426,233, - 3, 273,359,157, - 3, 247,442,172, - 3, 96,419,249, - 3, 289,373,155, - 3, 298,352,112, - 3, 157,359,272, - 3, 167,437,271, - 3, 271,406,161, - 3, 320,438,181, - 3, 156,364,276, - 3, 257,404,81, - 3, 263,394,85, - 3, 318,427,246, - 3, 272,363,157, - 3, 311,350,107, - 3, 110,422,251, - 3, 113,433,384, - 3, 276,364,106, - 3, 392,436,196, - 3, 108,385,333, - 3, 122,427,259, - 3, 38,388,262, - 3, 132,382,267, - 3, 349,420,130, - 3, 319,383,59, - 3, 49,391,48, - 3, 403,442,77, - 3, 75,334,74, - 3, 196,436,418, - 3, 304,342,146, - 3, 166,400,348, - 3, 109,420,398, - 3, 52,366,323, - 3, 170,383,319, - 3, 112,361,298, - 3, 30,369,31, - 3, 24,343,25, - 3, 384,418,113, - 3, 195,412,265, - 3, 184,439,374, - 3, 174,436,392, - 3, 268,426,163, - 3, 91,426,268, - 3, 53,366,52, - 3, 103,424,267, - 3, 357,390,110, - 3, 155,424,289, - 3, 295,392,196, - 3, 307,382,176, - 3, 115,373,289, - 3, 336,393,169, - 3, 126,393,281, - 3, 31,414,32, - 3, 172,416,396, - 3, 114,438,320, - 3, 149,427,318, - 3, 349,402,171, - 3, 107,440,399, - 3, 175,415,312, - 3, 210,378,321, - 3, 324,358,160, - 3, 312,415,19, - 3, 321,378,159, - 3, 323,366,165, - 3, 167,409,295, - 3, 406,421,204, - 3, 300,369,30, - 3, 295,409,94, - 3, 293,438,346, - 3, 146,431,279, - 3, 117,421,406, - 3, 37,388,38, - 3, 32,414,282, - 3, 319,421,170, - 3, 285,429,104, - 3, 64,359,63, - 3, 280,443,193, - 3, 354,423,154, - 3, 190,423,354, - 3, 81,404,80, - 3, 350,440,107, - 3, 418,436,113, - 3, 69,381,68, - 3, 94,392,295, - 3, 303,386,7, - 3, 95,358,324, - 3, 174,370,351, - 3, 159,391,321, - 3, 62,367,61, - 3, 321,391,49, - 3, 305,432,207, - 3, 73,417,292, - 3, 181,438,293, - 3, 176,425,297, - 3, 364,371,106, - 3, 187,371,364, - 3, 220,360,352, - 3, 109,398,354, - 3, 292,417,177, - 3, 59,383,58, - 3, 297,425,42, - 3, 334,417,74, - 3, 352,360,112, - 3, 354,398,190, - 3, 85,394,84, - 3, 111,377,356, - 3, 177,417,334, - 3, 301,409,167, - 3, 165,433,351, - 3, 87,387,86, - 3, 304,402,97, - 3, 20,415,302, - 3, 302,415,175, - 3, 348,411,166, - 3, 295,437,167, - 3, 356,377,237, - 3, 351,370,165, - 3, 196,418,389, - 3, 170,421,389, - 3, 160,405,324, - 3, 165,435,323, - 3, 16,408,17, - 3, 328,410,162, - 3, 74,417,73, - 3, 19,415,20, - 3, 107,416,311, - 3, 221,432,305, - 3, 204,421,319, - 3, 42,425,43, - 3, 116,435,370, - 3, 111,441,315, - 3, 342,431,146, - 3, 194,431,342, - 3, 374,392,94, - 3, 174,392,374, - 3, 174,439,370, - 3, 323,435,210, - 3, 399,440,188, - 3, 330,434,146, - 3, 370,435,165, - 3, 356,441,111, - 3, 398,420,171, - 3, 171,420,349, - 3, 351,436,174, - 3, 351,433,113, - 3, 163,426,375, - 3, 346,438,114, - 3, 402,434,171, - 3, 113,436,351, - 3, 164,413,376, - 3, 162,440,350, - 3, 389,418,170, - 3, 374,439,174, - 3, 370,439,116, - 3, 172,442,403, - 3, 389,421,117 -}; -Extrude Surface {6, {0.0,0.0,0.1}}{Layers{1,1,1};}; diff --git a/benchmarks/extrude/old_extrude_discrete.geo b/benchmarks/extrude/old_extrude_discrete.geo deleted file mode 100644 index 7ac966a1ff5ee2ea51240a0ba81a92bcbde094de..0000000000000000000000000000000000000000 --- a/benchmarks/extrude/old_extrude_discrete.geo +++ /dev/null @@ -1,1351 +0,0 @@ -Discrete Line (1) = {12} -{ - 0,0,0, - 0.008666908357418674,0,0, - 0.01741059051494093,0,0, - 0.02623968793850377,0,0, - 0.03515556989052919,0,0, - 0.04415202866465823,0,0, - 0.0532426446041934,0,0, - 0.0624120060694025,0,0, - 0.07167921785688836,0,0, - 0.0810265391141614,0,0, - 0.09047240713174502,0,0, - 0.1,0,0 -}; -Discrete Line (2) = {34} -{ - 0.1,0.3,0, - 0.1,0.2909090909090913,0, - 0.1,0.2818181818181826,0, - 0.1,0.272727272727274,0, - 0.1,0.2636363636363653,0, - 0.1,0.2545454545454566,0, - 0.1,0.245454545454548,0, - 0.1,0.2363636363636393,0, - 0.1,0.2272727272727306,0, - 0.1,0.2181818181818216,0, - 0.1,0.2090909090909125,0, - 0.1,0.2000000000000035,0, - 0.1,0.1909090909090944,0, - 0.1,0.1818181818181853,0, - 0.1,0.1727272727272762,0, - 0.1,0.1636363636363671,0, - 0.1,0.154545454545458,0, - 0.1,0.1454545454545489,0, - 0.1,0.1363636363636398,0, - 0.1,0.1272727272727307,0, - 0.1,0.1181818181818216,0, - 0.1,0.1090909090909125,0, - 0.1,0.1000000000000034,0, - 0.1,0.09090909090909433,0, - 0.1,0.08181818181818527,0, - 0.1,0.07272727272727605,0, - 0.1,0.06363636363636654,0, - 0.1,0.05454545454545703,0, - 0.1,0.04545454545454754,0, - 0.1,0.03636363636363803,0, - 0.1,0.02727272727272851,0, - 0.1,0.018181818181819,0, - 0.1,0.009090909090909483,0, - 0.1,0,0 -}; -Discrete Line (3) = {12} -{ - 0.1,0.3,0, - 0.09090909090909115,0.3,0, - 0.0818181818181823,0.3,0, - 0.07272727272727345,0.3,0, - 0.06363636363636459,0.3,0, - 0.05454545454545573,0.3,0, - 0.0454545454545468,0.3,0, - 0.03636363636363778,0.3,0, - 0.02727272727272877,0.3,0, - 0.01818181818181929,0.3,0, - 0.009090909090909639,0.3,0, - 0,0.3,0 -}; -Discrete Line (4) = {36} -{ - 0,0.3,0, - 0,0.2909973636414624,0, - 0,0.2819947272829249,0, - 0,0.2730438656697747,0, - 0,0.2640976732852516,0, - 0,0.2551978447229378,0, - 0,0.2463080963195167,0, - 0,0.2374585496946034,0, - 0,0.2286252452795079,0, - 0,0.219825219879103,0, - 0,0.2110483594596965,0, - 0,0.2022970847862346,0, - 0,0.1935766683700231,0, - 0,0.1848733639512526,0, - 0,0.176209391545889,0, - 0,0.167553266739908,0, - 0,0.1589457383531955,0, - 0,0.1503382099664829,0, - 0,0.1417849077882686,0, - 0,0.1332338234281653,0, - 0,0.1247260882725001,0, - 0,0.1162314479471221,0, - 0,0.1077605053582608,0, - 0,0.09932087161239131,0, - 0,0.09090627422926471,0, - 0,0.08251660763823583,0, - 0,0.07415176555653609,0, - 0,0.06581227474114783,0, - 0,0.05750037195565337,0, - 0,0.04921307894911468,0, - 0,0.04095028725862424,0, - 0,0.03271188767963543,0, - 0,0.0244977702583297,0, - 0,0.01630782428387874,0, - 0,0.008141938280599425,0, - 0,0,0 -}; -Discrete Surface (6) = {444, 796} -{ - 0,0,0, 0,0,1, - 0.1,0,0, 0,0,1, - 0.1,0.3,0, 0,0,1, - 0,0.3,0, 0,0,1, - 0.008666908357418674,0,0, 0,0,1, - 0.01741059051494093,0,0, 0,0,1, - 0.02623968793850377,0,0, 0,0,1, - 0.03515556989052919,0,0, 0,0,1, - 0.04415202866465823,0,0, 0,0,1, - 0.0532426446041934,0,0, 0,0,1, - 0.0624120060694025,0,0, 0,0,1, - 0.07167921785688836,0,0, 0,0,1, - 0.0810265391141614,0,0, 0,0,1, - 0.09047240713174502,0,0, 0,0,1, - 0.1,0.2909090909090913,0, 0,0,1, - 0.1,0.2818181818181826,0, 0,0,1, - 0.1,0.272727272727274,0, 0,0,1, - 0.1,0.2636363636363653,0, 0,0,1, - 0.1,0.2545454545454566,0, 0,0,1, - 0.1,0.245454545454548,0, 0,0,1, - 0.1,0.2363636363636393,0, 0,0,1, - 0.1,0.2272727272727306,0, 0,0,1, - 0.1,0.2181818181818216,0, 0,0,1, - 0.1,0.2090909090909125,0, 0,0,1, - 0.1,0.2000000000000035,0, 0,0,1, - 0.1,0.1909090909090944,0, 0,0,1, - 0.1,0.1818181818181853,0, 0,0,1, - 0.1,0.1727272727272762,0, 0,0,1, - 0.1,0.1636363636363671,0, 0,0,1, - 0.1,0.154545454545458,0, 0,0,1, - 0.1,0.1454545454545489,0, 0,0,1, - 0.1,0.1363636363636398,0, 0,0,1, - 0.1,0.1272727272727307,0, 0,0,1, - 0.1,0.1181818181818216,0, 0,0,1, - 0.1,0.1090909090909125,0, 0,0,1, - 0.1,0.1000000000000034,0, 0,0,1, - 0.1,0.09090909090909433,0, 0,0,1, - 0.1,0.08181818181818527,0, 0,0,1, - 0.1,0.07272727272727605,0, 0,0,1, - 0.1,0.06363636363636654,0, 0,0,1, - 0.1,0.05454545454545703,0, 0,0,1, - 0.1,0.04545454545454754,0, 0,0,1, - 0.1,0.03636363636363803,0, 0,0,1, - 0.1,0.02727272727272851,0, 0,0,1, - 0.1,0.018181818181819,0, 0,0,1, - 0.1,0.009090909090909483,0, 0,0,1, - 0.09090909090909115,0.3,0, 0,0,1, - 0.0818181818181823,0.3,0, 0,0,1, - 0.07272727272727345,0.3,0, 0,0,1, - 0.06363636363636459,0.3,0, 0,0,1, - 0.05454545454545573,0.3,0, 0,0,1, - 0.0454545454545468,0.3,0, 0,0,1, - 0.03636363636363778,0.3,0, 0,0,1, - 0.02727272727272877,0.3,0, 0,0,1, - 0.01818181818181929,0.3,0, 0,0,1, - 0.009090909090909639,0.3,0, 0,0,1, - 0,0.2909973636414624,0, 0,0,1, - 0,0.2819947272829249,0, 0,0,1, - 0,0.2730438656697747,0, 0,0,1, - 0,0.2640976732852516,0, 0,0,1, - 0,0.2551978447229378,0, 0,0,1, - 0,0.2463080963195167,0, 0,0,1, - 0,0.2374585496946034,0, 0,0,1, - 0,0.2286252452795079,0, 0,0,1, - 0,0.219825219879103,0, 0,0,1, - 0,0.2110483594596965,0, 0,0,1, - 0,0.2022970847862346,0, 0,0,1, - 0,0.1935766683700231,0, 0,0,1, - 0,0.1848733639512526,0, 0,0,1, - 0,0.176209391545889,0, 0,0,1, - 0,0.167553266739908,0, 0,0,1, - 0,0.1589457383531955,0, 0,0,1, - 0,0.1503382099664829,0, 0,0,1, - 0,0.1417849077882686,0, 0,0,1, - 0,0.1332338234281653,0, 0,0,1, - 0,0.1247260882725001,0, 0,0,1, - 0,0.1162314479471221,0, 0,0,1, - 0,0.1077605053582608,0, 0,0,1, - 0,0.09932087161239131,0, 0,0,1, - 0,0.09090627422926471,0, 0,0,1, - 0,0.08251660763823583,0, 0,0,1, - 0,0.07415176555653609,0, 0,0,1, - 0,0.06581227474114783,0, 0,0,1, - 0,0.05750037195565337,0, 0,0,1, - 0,0.04921307894911468,0, 0,0,1, - 0,0.04095028725862424,0, 0,0,1, - 0,0.03271188767963543,0, 0,0,1, - 0,0.0244977702583297,0, 0,0,1, - 0,0.01630782428387874,0, 0,0,1, - 0,0.008141938280599425,0, 0,0,1, - 0.04943856805802106,0.05380328937598064,0, 0,0,1, - 0.04937989365470935,0.1124832183441131,0, 0,0,1, - 0.04906455701727032,0.1635647017394161,0, 0,0,1, - 0.04994965630437984,0.2156919141195039,0, 0,0,1, - 0.04267059113765502,0.2570469829773546,0, 0,0,1, - 0.03391641368163509,0.08278404853543544,0, 0,0,1, - 0.06648368881305394,0.08370353619075385,0, 0,0,1, - 0.03070072220881402,0.1373583285161116,0, 0,0,1, - 0.03239234128878235,0.188915673583429,0, 0,0,1, - 0.0299460344723322,0.03007783319538664,0, 0,0,1, - 0.06768096916602667,0.1896895353909995,0, 0,0,1, - 0.06786973965039635,0.1380641153053757,0, 0,0,1, - 0.06906611821771347,0.2409311118264899,0, 0,0,1, - 0.06996652307867668,0.03039994189830039,0, 0,0,1, - 0.0691174250123677,0.2709158238749525,0, 0,0,1, - 0.02840537430302887,0.2325216109658483,0, 0,0,1, - 0.02511114213595724,0.05911563651928614,0, 0,0,1, - 0.02517831137330134,0.1072439011631667,0, 0,0,1, - 0.07607995685001075,0.05822965058595274,0, 0,0,1, - 0.02396473897811648,0.163320481320246,0, 0,0,1, - 0.07452432870166287,0.1081253136296552,0, 0,0,1, - 0.07581076254876624,0.2140703859407646,0, 0,0,1, - 0.07494032044919846,0.1626124210265359,0, 0,0,1, - 0.02541377229030616,0.2752671742933001,0, 0,0,1, - 0.02240981574582322,0.2107215231865771,0, 0,0,1, - 0.04983413295137611,0.02097457574043528,0, 0,0,1, - 0.04941134832955653,0.2785088943493572,0, 0,0,1, - 0.02162182272400273,0.2549169591250538,0, 0,0,1, - 0.04869901355652118,0.2352716829945559,0, 0,0,1, - 0.04981200873474365,0.07334226180713629,0, 0,0,1, - 0.04972809749452883,0.1319447222339546,0, 0,0,1, - 0.04952763128918493,0.09235013068152129,0, 0,0,1, - 0.05002720146062067,0.1835006745097555,0, 0,0,1, - 0.01809529513063262,0.1247780828255636,0, 0,0,1, - 0.01806478650235874,0.01690638044718323,0, 0,0,1, - 0.01689220873880078,0.04297580650570328,0, 0,0,1, - 0.08133050962236976,0.2542589654384563,0, 0,0,1, - 0.01685845588998747,0.07560732514480217,0, 0,0,1, - 0.08215665746834816,0.1233506374840099,0, 0,0,1, - 0.0174793557941356,0.1790378811691205,0, 0,0,1, - 0.01725612321248826,0.14730753645529,0, 0,0,1, - 0.0825185154372209,0.1777739795212497,0, 0,0,1, - 0.08191001837008111,0.01695445239954515,0, 0,0,1, - 0.08245487873338836,0.04241313266827915,0, 0,0,1, - 0.01635842356981337,0.09201689545532704,0, 0,0,1, - 0.08221593334653349,0.07521836620235664,0, 0,0,1, - 0.03535329177557378,0.1208894731361945,0, 0,0,1, - 0.06001063963613316,0.2559387961281948,0, 0,0,1, - 0.0818077764056373,0.2827883909497645,0, 0,0,1, - 0.08171498673025543,0.2290982824542263,0, 0,0,1, - 0.04602930931322723,0.03681584715365363,0, 0,0,1, - 0.06477178552435675,0.1207471907520468,0, 0,0,1, - 0.08298195022619295,0.0925110661864206,0, 0,0,1, - 0.08276139739664286,0.198420223448365,0, 0,0,1, - 0.04488355136692088,0.1987639857646004,0, 0,0,1, - 0.08334696745782752,0.1457081058311505,0, 0,0,1, - 0.04459948929908309,0.1473579168334732,0, 0,0,1, - 0.06512452849271227,0.04622580932201703,0, 0,0,1, - 0.01621820841377811,0.1961418883892152,0, 0,0,1, - 0.06376040295637672,0.1734094645067047,0, 0,0,1, - 0.06356993495135672,0.2250288024266472,0, 0,0,1, - 0.03478326135552385,0.01494248276679263,0, 0,0,1, - 0.06198546362461019,0.2038989860551927,0, 0,0,1, - 0.06134781879471848,0.1516492286781151,0, 0,0,1, - 0.0363866071532066,0.174109283615948,0, 0,0,1, - 0.06470603073057905,0.01567617532170828,0, 0,0,1, - 0.03278456750073648,0.04654991808697145,0, 0,0,1, - 0.01477110422850003,0.2240497891622102,0, 0,0,1, - 0.03522911699557398,0.2201105953795862,0, 0,0,1, - 0.06406464582549254,0.2842927462456292,0, 0,0,1, - 0.03654951041452378,0.06791888012814969,0, 0,0,1, - 0.01463326826816211,0.2407821891772683,0, 0,0,1, - 0.03625883431497984,0.09693863914053574,0, 0,0,1, - 0.06171780826535542,0.102608518923871,0, 0,0,1, - 0.06086854646045398,0.06259484700313865,0, 0,0,1, - 0.03546452601422212,0.2852032479815787,0, 0,0,1, - 0.01450570869194033,0.2853022845979487,0, 0,0,1, - 0.03378001693506955,0.2465928739089589,0, 0,0,1, - 0.01344752229879137,0.03102195188520347,0, 0,0,1, - 0.08657587267131039,0.2682189789078185,0, 0,0,1, - 0.0138172616037642,0.2655531414559898,0, 0,0,1, - 0.03128238727688393,0.1511216326400835,0, 0,0,1, - 0.01241722575031191,0.1126136155927706,0, 0,0,1, - 0.01144695717269534,0.06240812142373482,0, 0,0,1, - 0.03817302106601303,0.2708393258556307,0, 0,0,1, - 0.0861838194316748,0.2433468087849759,0, 0,0,1, - 0.08653320051361627,0.03123670729056622,0, 0,0,1, - 0.01352711071236765,0.1358222689587102,0, 0,0,1, - 0.08750863010173002,0.1123907133147419,0, 0,0,1, - 0.05774929704258962,0.03215453948304765,0, 0,0,1, - 0.01166746654190703,0.1632932444597857,0, 0,0,1, - 0.03359178895074701,0.2025823138227348,0, 0,0,1, - 0.08919625723778936,0.1594149220724857,0, 0,0,1, - 0.08830555960514255,0.05904372679951998,0, 0,0,1, - 0.05269622362352771,0.2664452262662085,0, 0,0,1, - 0.08836469565632354,0.2137520755691794,0, 0,0,1, - 0.07170724523121683,0.0712567286527829,0, 0,0,1, - 0.03842089931684848,0.05631835663662797,0, 0,0,1, - 0.03919462708672876,0.1091173700064188,0, 0,0,1, - 0.07101730360489114,0.09441473403353508,0, 0,0,1, - 0.0384936307883243,0.161454328389355,0, 0,0,1, - 0.01148442970974977,0.2068433063302576,0, 0,0,1, - 0.05635282539443316,0.1937282888974277,0, 0,0,1, - 0.08672687094080134,0.136389452677617,0, 0,0,1, - 0.05733229973588551,0.140935008677078,0, 0,0,1, - 0.05025602369477496,0.2491586739726355,0, 0,0,1, - 0.02777188266670655,0.2621911089520076,0, 0,0,1, - 0.04896364134540693,0.01012503553289783,0, 0,0,1, - 0.08915978538268282,0.1877368376200544,0, 0,0,1, - 0.04467794673397693,0.08274600679155963,0, 0,0,1, - 0.01125607504756643,0.1004022065934169,0, 0,0,1, - 0.01014017967121661,0.05048150026903755,0, 0,0,1, - 0.02605423709559382,0.01104838406806721,0, 0,0,1, - 0.04113593165098633,0.02761886599493008,0, 0,0,1, - 0.009637786125538663,0.2502841526904231,0, 0,0,1, - 0.01005307094342986,0.08411889939387246,0, 0,0,1, - 0.009581445548931599,0.01102332891106007,0, 0,0,1, - 0.03884945350904942,0.2307109426059477,0, 0,0,1, - 0.05554050725953068,0.08270220398137947,0, 0,0,1, - 0.02501380175597523,0.2884257167879166,0, 0,0,1, - 0.04992435965025796,0.2899567511109187,0, 0,0,1, - 0.07035767159446743,0.2511128590589935,0, 0,0,1, - 0.05454812588931711,0.04374557655640481,0, 0,0,1, - 0.08910837445055786,0.1012521849088495,0, 0,0,1, - 0.07191532300695119,0.1477130220576167,0, 0,0,1, - 0.07144348541409365,0.1994029552460558,0, 0,0,1, - 0.04104154947073443,0.2106499218226232,0, 0,0,1, - 0.07430545316632886,0.01019683179112018,0, 0,0,1, - 0.07342724934351655,0.2887172598334418,0, 0,0,1, - 0.02714979904802766,0.09108586827788052,0, 0,0,1, - 0.06018497728191427,0.1628850465678994,0, 0,0,1, - 0.052813043019131,0.2257300937159397,0, 0,0,1, - 0.05959717747406301,0.2747518875092944,0, 0,0,1, - 0.09018732191646869,0.1697652393643418,0, 0,0,1, - 0.04636563487995943,0.06377448745989739,0, 0,0,1, - 0.05949764517598849,0.2351304159620017,0, 0,0,1, - 0.08942753179949342,0.08411738992572398,0, 0,0,1, - 0.01017930031863925,0.1877782374489671,0, 0,0,1, - 0.03886163791568874,0.1303484230966758,0, 0,0,1, - 0.02627432503760547,0.06945286839030726,0, 0,0,1, - 0.04545850862201047,0.1220601887527192,0, 0,0,1, - 0.06015102574654745,0.09221713671545681,0, 0,0,1, - 0.06081015567090238,0.1305611072067474,0, 0,0,1, - 0.04552734130476399,0.1022116915267994,0, 0,0,1, - 0.02603376948071753,0.1175195093502542,0, 0,0,1, - 0.01092884955846057,0.2752475207523316,0, 0,0,1, - 0.02623682280070831,0.1730196004758258,0, 0,0,1, - 0.0599728170545432,0.2149318402201275,0, 0,0,1, - 0.02723773418906296,0.02054104817437022,0, 0,0,1, - 0.02819188959081512,0.1275125763903226,0, 0,0,1, - 0.02496486337772009,0.2213873111207296,0, 0,0,1, - 0.04221080556799754,0.1896758652024453,0, 0,0,1, - 0.07354334101592894,0.2236089656829513,0, 0,0,1, - 0.07174158576799367,0.1800930573003826,0, 0,0,1, - 0.09028233510548966,0.01137390075889436,0, 0,0,1, - 0.06152915382403199,0.07317590874410404,0, 0,0,1, - 0.04678947611597696,0.1735629976052024,0, 0,0,1, - 0.009101103377849942,0.1204479307077391,0, 0,0,1, - 0.04269479255974289,0.04633604038286526,0, 0,0,1, - 0.07721167986007606,0.08423475137568255,0, 0,0,1, - 0.07238629015733426,0.12829865846332,0, 0,0,1, - 0.07390625424649344,0.1175043837685203,0, 0,0,1, - 0.09064407637701408,0.259665338097065,0, 0,0,1, - 0.009222490210454572,0.172835227104156,0, 0,0,1, - 0.009356380077452781,0.1535584613955532,0, 0,0,1, - 0.009114285192323603,0.02122829277464142,0, 0,0,1, - 0.07796114827250969,0.1883201522610519,0, 0,0,1, - 0.008937306344383857,0.07052872865870194,0, 0,0,1, - 0.09030542885147326,0.2885685604701616,0, 0,0,1, - 0.06044455779806655,0.1831220183615892,0, 0,0,1, - 0.07264606348732416,0.03991380119060847,0, 0,0,1, - 0.09062061219000558,0.04901015385761164,0, 0,0,1, - 0.09069398766617448,0.0688598192042111,0, 0,0,1, - 0.008123984341192419,0.03787387046147667,0, 0,0,1, - 0.02469969170136275,0.08104728642847858,0, 0,0,1, - 0.06033048963429793,0.2455496260239905,0, 0,0,1, - 0.02151101002359235,0.03418690517024868,0, 0,0,1, - 0.07286101546871832,0.02072029833490226,0, 0,0,1, - 0.05947433126150597,0.1125615271409249,0, 0,0,1, - 0.02167160681543153,0.1393636770469187,0, 0,0,1, - 0.09059415405628564,0.2236295645622291,0, 0,0,1, - 0.02480075783544586,0.2419154818943148,0, 0,0,1, - 0.008816776876076344,0.2167587936842484,0, 0,0,1, - 0.009038346020500104,0.232484759114464,0, 0,0,1, - 0.02207635133126941,0.1879588155809851,0, 0,0,1, - 0.09057955899663048,0.2768325469266408,0, 0,0,1, - 0.02449752549330311,0.0496811686398899,0, 0,0,1, - 0.09092016500874539,0.2041131979983527,0, 0,0,1, - 0.05836549929763069,0.008376517204580238,0, 0,0,1, - 0.05204071400842313,0.1542418473656231,0, 0,0,1, - 0.07777279335694906,0.1380211700913576,0, 0,0,1, - 0.07237020078977648,0.261380298133381,0, 0,0,1, - 0.09191195996468564,0.1224920799838925,0, 0,0,1, - 0.07486187282829837,0.04913563922524344,0, 0,0,1, - 0.05232879015259182,0.2061619553276807,0, 0,0,1, - 0.07265981053425072,0.2793504808417681,0, 0,0,1, - 0.03631683207598058,0.0376577773159079,0, 0,0,1, - 0.05892483751673459,0.05363467383883449,0, 0,0,1, - 0.0907058058023005,0.02238482403021362,0, 0,0,1, - 0.05824806068059205,0.02311420003147432,0, 0,0,1, - 0.05512793619522999,0.1222660922205425,0, 0,0,1, - 0.07867930612091967,0.2378613324047284,0, 0,0,1, - 0.00828650221244636,0.1440812556269965,0, 0,0,1, - 0.02612712529536975,0.1967455934565623,0, 0,0,1, - 0.06228004117172392,0.2653937179216883,0, 0,0,1, - 0.03410425775749156,0.2553770537574441,0, 0,0,1, - 0.01792042953401478,0.1564626589208993,0, 0,0,1, - 0.0916107121475075,0.03912967887302492,0, 0,0,1, - 0.07505368834360296,0.1711114557478963,0, 0,0,1, - 0.08046291293405049,0.06591108507188968,0, 0,0,1, - 0.09132848802679211,0.150162442763718,0, 0,0,1, - 0.04269937468251984,0.2424832394702249,0, 0,0,1, - 0.09050420217545246,0.2341426047472606,0, 0,0,1, - 0.03975338931817624,0.007871382293476517,0, 0,0,1, - 0.04064464564859555,0.1391376642072461,0, 0,0,1, - 0.04402955716651866,0.2222460808906515,0, 0,0,1, - 0.01781094460619342,0.1701471730655267,0, 0,0,1, - 0.07830644960148971,0.03342448812186011,0, 0,0,1, - 0.007680505493733437,0.1976435436744516,0, 0,0,1, - 0.007978941021165942,0.09307023661607147,0, 0,0,1, - 0.01922404935778042,0.232300123844155,0, 0,0,1, - 0.02030636901147868,0.09982551488877046,0, 0,0,1, - 0.09203777807414038,0.2498676571143333,0, 0,0,1, - 0.09191797952574435,0.1783662442836693,0, 0,0,1, - 0.02013040691781846,0.02572483794683859,0, 0,0,1, - 0.08200939129162396,0.2073426073847147,0, 0,0,1, - 0.06411941390668997,0.03788558157562232,0, 0,0,1, - 0.0820234490865738,0.2206696002838985,0, 0,0,1, - 0.05510766430874156,0.170357204533289,0, 0,0,1, - 0.007707431642602998,0.2597693215451046,0, 0,0,1, - 0.03115925135530253,0.2117345352657591,0, 0,0,1, - 0.05881742449159542,0.2918979187621946,0, 0,0,1, - 0.01792553337181894,0.007350198036130873,0, 0,0,1, - 0.04104786614712366,0.2921517055439529,0, 0,0,1, - 0.03956365628563203,0.07587586206590409,0, 0,0,1, - 0.03011925807439417,0.1807152709944913,0, 0,0,1, - 0.0169965923551548,0.05541862941953492,0, 0,0,1, - 0.07007105450898299,0.2317783654849989,0, 0,0,1, - 0.039153242039623,0.08967297719647721,0, 0,0,1, - 0.05069536332949499,0.2579824565603571,0, 0,0,1, - 0.04423848987717183,0.1557302026851194,0, 0,0,1, - 0.07971797010460688,0.1019432919633422,0, 0,0,1, - 0.07752715094272272,0.2461740403567472,0, 0,0,1, - 0.06764803967079111,0.05481581517747639,0, 0,0,1, - 0.007533120601931467,0.1292895752948564,0, 0,0,1, - 0.04979604467376633,0.02898993917936817,0, 0,0,1, - 0.07866726386665482,0.2719272950050943,0, 0,0,1, - 0.09194760516771022,0.09344624816131675,0, 0,0,1, - 0.08012666225562021,0.1552818613912269,0, 0,0,1, - 0.026366013561071,0.04072178847116093,0, 0,0,1, - 0.0406404175121087,0.1813224982555967,0, 0,0,1, - 0.06638208514037212,0.007101162012875179,0, 0,0,1, - 0.04873969210343436,0.1405054590535852,0, 0,0,1, - 0.09257325665513802,0.195999067427848,0, 0,0,1, - 0.03433451395152162,0.2384288662471029,0, 0,0,1, - 0.01803447107018375,0.06617082913848593,0, 0,0,1, - 0.01975582745424454,0.2032394433774424,0, 0,0,1, - 0.04258400381771957,0.01700724641307161,0, 0,0,1, - 0.008332875258948913,0.2917417162256912,0, 0,0,1, - 0.02596818098385111,0.1459870696530841,0, 0,0,1, - 0.0284813111066133,0.09948506531989622,0, 0,0,1, - 0.03301240442506546,0.2771741624555794,0, 0,0,1, - 0.06827016675558029,0.1662310737536424,0, 0,0,1, - 0.08168386994819452,0.29247682863844,0, 0,0,1, - 0.03228751871615694,0.167030539725871,0, 0,0,1, - 0.08267317943672375,0.05203032866969079,0, 0,0,1, - 0.06806624889808816,0.2099772078322099,0, 0,0,1, - 0.0676470016575042,0.1113157378906632,0, 0,0,1, - 0.03176345523353472,0.07527260243293438,0, 0,0,1, - 0.006727574683700789,0.2243100910403469,0, 0,0,1, - 0.06847543202057235,0.1580869773249052,0, 0,0,1, - 0.08222672781710733,0.1657210258356022,0, 0,0,1, - 0.06419506740159016,0.1965542798077724,0, 0,0,1, - 0.01690471517486694,0.2162290054845376,0, 0,0,1, - 0.03078113302537267,0.05407929293730027,0, 0,0,1, - 0.06447188102771494,0.1446280134389742,0, 0,0,1, - 0.03281131309366399,0.2929154260670946,0, 0,0,1, - 0.006726481086626164,0.2416771527065344,0, 0,0,1, - 0.08276808882988401,0.007883453229140693,0, 0,0,1, - 0.09252357500887304,0.141268696520782,0, 0,0,1, - 0.04095044642843683,0.2785195262531039,0, 0,0,1, - 0.03195337655869265,0.06152851823439536,0, 0,0,1, - 0.03482085141749088,0.02261717698222997,0, 0,0,1, - 0.0559253145233716,0.01585099576030879,0, 0,0,1, - 0.04429939055991405,0.2650152624206911,0, 0,0,1, - 0.05396617709251803,0.09952288632236958,0, 0,0,1, - 0.0538079771730238,0.0604060922087004,0, 0,0,1, - 0.06807337640732652,0.2179883403884909,0, 0,0,1, - 0.05588105233390689,0.2837633782998984,0, 0,0,1, - 0.03632231678897647,0.1953673325900875,0, 0,0,1, - 0.02175961762897538,0.1321682569834458,0, 0,0,1, - 0.007030750697466995,0.1801725989026808,0, 0,0,1, - 0.07982936275250382,0.02553204659693582,0, 0,0,1, - 0.006549149915343314,0.2680664709570159,0, 0,0,1, - 0.01922010621654489,0.2788199052065876,0, 0,0,1, - 0.06917588693459614,0.06400363451096822,0, 0,0,1, - 0.03234087162575537,0.006826108049671261,0, 0,0,1, - 0.006073945327801719,0.02904488705957779,0, 0,0,1, - 0.09273862553505061,0.0764897543699725,0, 0,0,1, - 0.02019298640880669,0.2616149302400951,0, 0,0,1, - 0.0698486666672703,0.1030349614053262,0, 0,0,1, - 0.06652295667467534,0.2928006394660684,0, 0,0,1, - 0.03655616266154597,0.2631152686607987,0, 0,0,1, - 0.08131503545642571,0.2630154572072237,0, 0,0,1, - 0.006587093819851195,0.04483545546311527,0, 0,0,1, - 0.03131119373679582,0.226133694576312,0, 0,0,1, - 0.01837862784181576,0.1157793891016666,0, 0,0,1, - 0.04057812939192712,0.1155898129989157,0, 0,0,1, - 0.03126362495172781,0.1583960213678358,0, 0,0,1, - 0.03219475038017165,0.1118490023868191,0, 0,0,1, - 0.01770265376607229,0.2932650874040193,0, 0,0,1, - 0.04865479506954632,0.1918858975862876,0, 0,0,1, - 0.03485079864769412,0.1448742717513725,0, 0,0,1, - 0.007667777071145932,0.1071389343860374,0, 0,0,1, - 0.006799845784060426,0.07737403919837535,0, 0,0,1, - 0.04329470810445293,0.07020566345252041,0, 0,0,1, - 0.01809499667680631,0.2483745579559958,0, 0,0,1, - 0.006748884107321751,0.05692622109812206,0, 0,0,1, - 0.09372260441845391,0.268209661854113,0, 0,0,1, - 0.0403602124799252,0.2502709559319859,0, 0,0,1, - 0.04295879196070669,0.09543438184957867,0, 0,0,1, - 0.006553222701963051,0.2829221135957352,0, 0,0,1, - 0.05305261031651766,0.241523805427261,0, 0,0,1, - 0.05486016736149558,0.06712202410998261,0, 0,0,1, - 0.09185760483216832,0.1306472448677418,0, 0,0,1, - 0.09386080916472941,0.2414288730536943,0, 0,0,1, - 0.01701816133570556,0.1071453047137566,0, 0,0,1, - 0.005857386015204671,0.137103665976998,0, 0,0,1, - 0.02099360625206249,0.2694021584839839,0, 0,0,1, - 0.07199460326175358,0.07792080313624447,0, 0,0,1, - 0.02475347689816131,0.1536915908196552,0, 0,0,1, - 0.01501358330785345,0.2568506752171648,0, 0,0,1, - 0.07966327601372003,0.112672133762342,0, 0,0,1, - 0.04078645678860521,0.1682260077493461,0, 0,0,1, - 0.06554299075583314,0.02423008020022461,0, 0,0,1, - 0.09398325079210289,0.03154891727662895,0, 0,0,1, - 0.05453794860086236,0.1063635685725725,0, 0,0,1, - 0.05523471010008513,0.1772782843706078,0, 0,0,1, - 0.01824217424612933,0.08483644085341754,0, 0,0,1, - 0.06619328448596223,0.2774584463968358,0, 0,0,1, - 0.09406310001300849,0.1079688986841182,0, 0,0,1, - 0.05242367337145461,0.1467906376872577,0, 0,0,1, - 0.04606368775049969,0.2289539738618407,0, 0,0,1, - 0.02753588322626437,0.2814575041755443,0, 0,0,1, - 0.0381279394497433,0.1520724930468378,0, 0,0,1, - 0.04374982295112967,0.2851079171767646,0, 0,0,1, - 0.03039971713968145,0.2700751922892058,0, 0,0,1, - 0.0273819597074987,0.2512202996312642,0, 0,0,1, - 0.02635630161136649,0.2046771409478179,0, 0,0,1, - 0.04499335366173904,0.2722439304320244,0, 0,0,1, - 0.03415593675720739,0.1040329787507068,0, 0,0,1, - 0.07520936860734033,0.206195072540403,0, 0,0,1, - 0.006255882734957453,0.1137822797445116,0, 0,0,1, - 0.08184997135179831,0.1315212808568459,0, 0,0,1 -} -{ - 3, 168,266,125, - 3, 125,263,168, - 3, 281,294,137, - 3, 179,212,140, - 3, 144,216,181, - 3, 192,284,144, - 3, 173,257,82, - 3, 80,205,79, - 3, 33,282,178, - 3, 215,256,143, - 3, 211,281,137, - 3, 129,325,274, - 3, 205,309,79, - 3, 229,264,127, - 3, 178,430,33, - 3, 152,284,192, - 3, 229,358,264, - 3, 93,237,221, - 3, 221,237,150, - 3, 71,180,70, - 3, 82,407,173, - 3, 255,314,168, - 3, 177,334,123, - 3, 28,223,182, - 3, 236,325,129, - 3, 96,249,189, - 3, 124,314,255, - 3, 4,206,89, - 3, 138,336,275, - 3, 189,249,142, - 3, 100,256,215, - 3, 28,182,29, - 3, 175,312,126, - 3, 39,183,40, - 3, 275,336,169, - 3, 178,422,331, - 3, 338,360,214, - 3, 105,310,240, - 3, 291,327,139, - 3, 178,331,213, - 3, 258,275,15, - 3, 4,322,206, - 3, 5,322,4, - 3, 180,253,70, - 3, 126,332,175, - 3, 139,327,242, - 3, 22,185,23, - 3, 144,284,216, - 3, 71,254,180, - 3, 178,282,128, - 3, 240,395,105, - 3, 123,380,177, - 3, 125,326,201, - 3, 133,307,176, - 3, 187,224,160, - 3, 118,301,207, - 3, 112,360,338, - 3, 176,297,133, - 3, 184,222,116, - 3, 186,299,135, - 3, 179,424,103, - 3, 177,269,130, - 3, 199,208,121, - 3, 128,422,178, - 3, 140,335,179, - 3, 301,344,207, - 3, 66,191,65, - 3, 206,255,88, - 3, 276,326,125, - 3, 130,292,177, - 3, 45,244,13, - 3, 325,340,98, - 3, 286,339,99, - 3, 144,401,192, - 3, 183,261,40, - 3, 90,224,187, - 3, 186,385,299, - 3, 120,232,194, - 3, 98,340,241, - 3, 39,262,183, - 3, 44,288,244, - 3, 25,198,26, - 3, 212,248,140, - 3, 194,232,101, - 3, 268,290,91, - 3, 90,248,212, - 3, 156,248,187, - 3, 163,231,189, - 3, 189,231,96, - 3, 120,304,228, - 3, 92,279,220, - 3, 120,342,304, - 3, 89,206,88, - 3, 181,379,144, - 3, 220,279,153, - 3, 188,233,91, - 3, 119,208,199, - 3, 36,226,37, - 3, 187,248,90, - 3, 179,316,212, - 3, 103,316,179, - 3, 109,306,180, - 3, 139,302,291, - 3, 291,302,175, - 3, 180,296,109, - 3, 22,270,185, - 3, 216,284,93, - 3, 240,310,157, - 3, 216,305,158, - 3, 93,305,216, - 3, 299,385,108, - 3, 46,258,14, - 3, 108,355,183, - 3, 12,217,11, - 3, 183,299,108, - 3, 1,45,13, - 3, 149,298,243, - 3, 122,259,192, - 3, 245,419,96, - 3, 182,300,29, - 3, 208,231,121, - 3, 4,89,0, - 3, 227,308,67, - 3, 36,337,226, - 3, 189,390,163, - 3, 123,334,247, - 3, 243,259,149, - 3, 191,272,65, - 3, 226,249,135, - 3, 192,259,100, - 3, 142,249,226, - 3, 185,277,23, - 3, 117,437,196, - 3, 100,259,243, - 3, 44,244,45, - 3, 164,385,245, - 3, 208,245,96, - 3, 12,368,217, - 3, 245,385,186, - 3, 196,437,295, - 3, 228,239,136, - 3, 14,258,15, - 3, 149,352,298, - 3, 198,313,26, - 3, 160,371,187, - 3, 97,239,228, - 3, 166,384,209, - 3, 201,394,125, - 3, 131,361,223, - 3, 143,256,198, - 3, 202,322,6, - 3, 116,439,184, - 3, 137,294,184, - 3, 184,329,137, - 3, 187,364,156, - 3, 186,419,245, - 3, 221,225,118, - 3, 185,317,111, - 3, 211,265,102, - 3, 91,290,230, - 3, 137,265,211, - 3, 33,430,34, - 3, 219,311,134, - 3, 150,225,221, - 3, 68,227,67, - 3, 384,433,209, - 3, 298,361,131, - 3, 233,440,162, - 3, 111,315,185, - 3, 414,443,128, - 3, 141,250,232, - 3, 9,197,8, - 3, 114,363,191, - 3, 138,275,258, - 3, 232,250,101, - 3, 142,331,189, - 3, 199,324,119, - 3, 136,230,228, - 3, 289,424,179, - 3, 14,2,46, - 3, 135,419,186, - 3, 101,280,214, - 3, 95,328,219, - 3, 129,274,227, - 3, 99,339,266, - 3, 106,345,326, - 3, 228,230,120, - 3, 289,335,115, - 3, 125,394,263, - 3, 219,328,162, - 3, 234,239,123, - 3, 227,274,148, - 3, 214,280,145, - 3, 179,335,289, - 3, 212,316,147, - 3, 136,239,234, - 3, 66,308,191, - 3, 202,238,124, - 3, 170,418,235, - 3, 188,440,233, - 3, 93,284,237, - 3, 282,414,128, - 3, 235,418,384, - 3, 237,284,152, - 3, 145,280,193, - 3, 182,338,300, - 3, 27,223,28, - 3, 203,286,99, - 3, 121,328,199, - 3, 195,265,137, - 3, 96,231,208, - 3, 212,287,90, - 3, 300,338,145, - 3, 151,238,202, - 3, 46,353,258, - 3, 234,396,107, - 3, 124,255,206, - 3, 191,308,148, - 3, 203,372,347, - 3, 140,286,203, - 3, 156,286,248, - 3, 147,287,212, - 3, 153,431,194, - 3, 193,369,145, - 3, 91,397,188, - 3, 97,380,239, - 3, 192,362,152, - 3, 100,362,192, - 3, 248,286,140, - 3, 205,404,127, - 3, 47,353,46, - 3, 148,346,191, - 3, 78,309,200, - 3, 250,280,101, - 3, 396,416,107, - 3, 190,330,92, - 3, 134,428,219, - 3, 198,256,131, - 3, 269,380,97, - 3, 192,401,122, - 3, 92,423,190, - 3, 191,346,114, - 3, 61,204,60, - 3, 72,292,254, - 3, 219,350,311, - 3, 86,387,263, - 3, 119,245,208, - 3, 218,353,48, - 3, 21,302,270, - 3, 203,347,115, - 3, 126,312,252, - 3, 6,322,5, - 3, 219,428,264, - 3, 324,405,119, - 3, 331,422,110, - 3, 9,278,197, - 3, 235,411,58, - 3, 194,365,153, - 3, 326,345,173, - 3, 194,342,120, - 3, 101,365,194, - 3, 217,267,155, - 3, 58,411,57, - 3, 127,404,257, - 3, 94,409,195, - 3, 261,297,41, - 3, 141,290,268, - 3, 51,210,50, - 3, 132,267,217, - 3, 163,357,268, - 3, 281,336,104, - 3, 104,294,281, - 3, 176,382,288, - 3, 331,390,189, - 3, 148,308,227, - 3, 200,403,78, - 3, 86,263,85, - 3, 53,400,209, - 3, 159,285,218, - 3, 201,407,84, - 3, 244,288,132, - 3, 215,356,152, - 3, 195,329,94, - 3, 99,314,238, - 3, 141,251,250, - 3, 137,329,195, - 3, 163,390,357, - 3, 260,283,147, - 3, 196,389,117, - 3, 250,251,128, - 3, 114,320,240, - 3, 197,303,8, - 3, 83,407,82, - 3, 214,360,153, - 3, 251,422,128, - 3, 240,320,158, - 3, 281,393,336, - 3, 288,382,132, - 3, 348,400,55, - 3, 143,441,215, - 3, 398,434,190, - 3, 244,368,13, - 3, 48,353,47, - 3, 134,309,205, - 3, 102,332,211, - 3, 161,310,271, - 3, 102,265,225, - 3, 271,310,105, - 3, 124,322,202, - 3, 193,443,414, - 3, 156,339,286, - 3, 266,314,99, - 3, 219,264,95, - 3, 131,313,198, - 3, 369,414,31, - 3, 250,443,280, - 3, 55,400,54, - 3, 121,410,328, - 3, 243,256,100, - 3, 131,256,243, - 3, 198,343,143, - 3, 136,399,397, - 3, 213,337,35, - 3, 126,281,211, - 3, 70,253,69, - 3, 206,322,124, - 3, 230,290,120, - 3, 347,372,151, - 3, 13,368,12, - 3, 229,345,106, - 3, 193,414,369, - 3, 274,325,98, - 3, 105,344,271, - 3, 120,290,232, - 3, 3,348,55, - 3, 56,348,3, - 3, 145,338,214, - 3, 271,344,167, - 3, 287,333,164, - 3, 72,254,71, - 3, 110,390,331, - 3, 134,311,200, - 3, 73,292,72, - 3, 200,309,134, - 3, 315,441,143, - 3, 158,305,207, - 3, 162,410,233, - 3, 197,373,115, - 3, 191,363,272, - 3, 27,313,223, - 3, 95,324,199, - 3, 199,328,95, - 3, 231,375,121, - 3, 76,247,75, - 3, 333,385,164, - 3, 82,257,81, - 3, 263,387,168, - 3, 84,394,201, - 3, 54,400,53, - 3, 227,381,129, - 3, 20,302,21, - 3, 61,367,204, - 3, 127,428,205, - 3, 218,285,138, - 3, 150,327,225, - 3, 168,387,255, - 3, 25,343,198, - 3, 260,307,133, - 3, 6,386,202, - 3, 115,347,197, - 3, 40,261,41, - 3, 225,327,102, - 3, 215,441,356, - 3, 163,375,231, - 3, 267,382,103, - 3, 204,367,161, - 3, 202,386,151, - 3, 270,302,139, - 3, 184,294,222, - 3, 204,319,60, - 3, 279,431,153, - 3, 200,416,403, - 3, 222,294,104, - 3, 133,297,261, - 3, 403,416,172, - 3, 38,262,39, - 3, 254,292,130, - 3, 41,297,42, - 3, 79,309,78, - 3, 65,272,64, - 3, 271,437,406, - 3, 406,437,117, - 3, 97,349,269, - 3, 234,399,136, - 3, 205,428,134, - 3, 115,335,203, - 3, 171,434,398, - 3, 326,407,201, - 3, 173,407,326, - 3, 135,388,226, - 3, 203,335,140, - 3, 216,320,181, - 3, 232,290,141, - 3, 98,379,293, - 3, 173,345,257, - 3, 293,379,181, - 3, 102,327,291, - 3, 63,273,62, - 3, 99,372,203, - 3, 118,412,301, - 3, 129,381,253, - 3, 301,412,195, - 3, 207,432,118, - 3, 161,406,204, - 3, 257,345,127, - 3, 226,337,142, - 3, 285,336,138, - 3, 236,306,109, - 3, 35,430,213, - 3, 21,270,22, - 3, 17,252,18, - 3, 291,332,102, - 3, 133,283,260, - 3, 88,255,87, - 3, 397,399,188, - 3, 210,321,50, - 3, 224,405,160, - 3, 283,333,147, - 3, 80,404,205, - 3, 172,396,247, - 3, 103,382,307, - 3, 51,323,210, - 3, 106,371,229, - 3, 130,296,254, - 3, 221,305,93, - 3, 222,378,116, - 3, 220,318,92, - 3, 207,395,158, - 3, 105,395,207, - 3, 247,396,123, - 3, 254,296,180, - 3, 78,403,77, - 3, 228,304,97, - 3, 10,278,9, - 3, 159,378,222, - 3, 264,358,95, - 3, 149,318,220, - 3, 229,371,160, - 3, 207,344,105, - 3, 224,413,119, - 3, 217,368,132, - 3, 209,366,53, - 3, 273,367,62, - 3, 84,407,83, - 3, 223,313,131, - 3, 249,419,135, - 3, 129,306,236, - 3, 213,331,142, - 3, 135,299,262, - 3, 211,332,126, - 3, 217,341,11, - 3, 43,425,288, - 3, 243,298,131, - 3, 142,337,213, - 3, 158,320,216, - 3, 262,299,183, - 3, 190,434,330, - 3, 97,402,349, - 3, 43,288,44, - 3, 209,400,166, - 3, 165,366,209, - 3, 146,402,304, - 3, 209,433,165, - 3, 111,317,242, - 3, 262,388,135, - 3, 252,393,126, - 3, 169,393,252, - 3, 23,277,24, - 3, 230,397,91, - 3, 116,378,210, - 3, 210,435,116, - 3, 48,391,218, - 3, 56,411,348, - 3, 233,426,91, - 3, 138,353,218, - 3, 213,430,178, - 3, 274,293,148, - 3, 155,341,217, - 3, 146,434,402, - 3, 98,293,274, - 3, 154,340,325, - 3, 157,310,273, - 3, 246,423,92, - 3, 152,362,215, - 3, 215,362,100, - 3, 253,306,129, - 3, 153,365,214, - 3, 35,337,36, - 3, 273,310,161, - 3, 15,275,16, - 3, 214,365,101, - 3, 238,314,124, - 3, 145,369,300, - 3, 283,355,108, - 3, 277,315,143, - 3, 180,306,253, - 3, 57,411,56, - 3, 185,315,277, - 3, 132,368,244, - 3, 246,340,154, - 3, 264,428,127, - 3, 242,317,139, - 3, 122,340,246, - 3, 197,347,303, - 3, 141,357,251, - 3, 92,318,246, - 3, 329,374,94, - 3, 103,307,260, - 3, 184,374,329, - 3, 159,429,285, - 3, 26,313,27, - 3, 220,352,149, - 3, 252,312,18, - 3, 154,325,236, - 3, 153,360,220, - 3, 32,282,33, - 3, 218,391,159, - 3, 76,442,247, - 3, 162,350,219, - 3, 147,316,260, - 3, 143,343,277, - 3, 260,316,103, - 3, 160,358,229, - 3, 223,361,182, - 3, 118,432,221, - 3, 127,345,229, - 3, 144,379,241, - 3, 338,361,112, - 3, 261,355,133, - 3, 161,367,273, - 3, 182,361,338, - 3, 288,425,176, - 3, 122,401,241, - 3, 128,443,250, - 3, 222,429,159, - 3, 242,327,150, - 3, 90,376,224, - 3, 92,330,279, - 3, 168,314,266, - 3, 268,357,141, - 3, 247,334,75, - 3, 226,388,37, - 3, 246,427,122, - 3, 68,381,227, - 3, 225,412,118, - 3, 195,409,301, - 3, 104,429,222, - 3, 240,363,114, - 3, 157,363,240, - 3, 139,317,270, - 3, 303,347,151, - 3, 270,317,185, - 3, 119,405,224, - 3, 109,354,236, - 3, 8,303,7, - 3, 241,340,122, - 3, 236,354,154, - 3, 177,380,269, - 3, 136,397,230, - 3, 17,408,252, - 3, 258,353,138, - 3, 252,408,169, - 3, 152,356,237, - 3, 255,387,87, - 3, 121,375,233, - 3, 175,332,291, - 3, 238,372,99, - 3, 133,355,283, - 3, 235,383,170, - 3, 106,326,276, - 3, 293,346,148, - 3, 58,383,235, - 3, 237,377,150, - 3, 278,373,197, - 3, 242,377,111, - 3, 245,413,164, - 3, 123,396,234, - 3, 107,399,234, - 3, 34,430,35, - 3, 233,410,121, - 3, 125,339,276, - 3, 29,300,30, - 3, 239,380,123, - 3, 235,384,166, - 3, 151,372,238, - 3, 266,339,125, - 3, 279,330,146, - 3, 259,427,149, - 3, 276,339,156, - 3, 241,379,98, - 3, 166,411,235, - 3, 150,377,242, - 3, 251,357,110, - 3, 275,408,16, - 3, 130,420,296, - 3, 108,333,283, - 3, 158,395,240, - 3, 169,408,275, - 3, 183,355,261, - 3, 11,341,10, - 3, 10,341,278, - 3, 7,386,6, - 3, 151,386,303, - 3, 155,373,278, - 3, 278,341,155, - 3, 119,413,245, - 3, 269,349,130, - 3, 50,321,49, - 3, 241,401,144, - 3, 296,420,109, - 3, 253,381,69, - 3, 147,333,287, - 3, 376,413,224, - 3, 67,308,66, - 3, 265,412,225, - 3, 104,336,285, - 3, 277,343,24, - 3, 60,319,59, - 3, 18,312,19, - 3, 52,323,51, - 3, 167,344,301, - 3, 287,376,90, - 3, 154,423,246, - 3, 272,359,64, - 3, 267,424,155, - 3, 311,416,200, - 3, 77,442,76, - 3, 164,376,287, - 3, 63,359,273, - 3, 375,426,233, - 3, 273,359,157, - 3, 247,442,172, - 3, 96,419,249, - 3, 289,373,155, - 3, 298,352,112, - 3, 157,359,272, - 3, 167,437,271, - 3, 271,406,161, - 3, 320,438,181, - 3, 156,364,276, - 3, 257,404,81, - 3, 263,394,85, - 3, 318,427,246, - 3, 272,363,157, - 3, 311,350,107, - 3, 110,422,251, - 3, 113,433,384, - 3, 276,364,106, - 3, 392,436,196, - 3, 108,385,333, - 3, 122,427,259, - 3, 38,388,262, - 3, 132,382,267, - 3, 349,420,130, - 3, 319,383,59, - 3, 49,391,48, - 3, 403,442,77, - 3, 75,334,74, - 3, 196,436,418, - 3, 304,342,146, - 3, 166,400,348, - 3, 109,420,398, - 3, 52,366,323, - 3, 170,383,319, - 3, 112,361,298, - 3, 30,369,31, - 3, 24,343,25, - 3, 384,418,113, - 3, 195,412,265, - 3, 184,439,374, - 3, 174,436,392, - 3, 268,426,163, - 3, 91,426,268, - 3, 53,366,52, - 3, 103,424,267, - 3, 357,390,110, - 3, 155,424,289, - 3, 295,392,196, - 3, 307,382,176, - 3, 115,373,289, - 3, 336,393,169, - 3, 126,393,281, - 3, 31,414,32, - 3, 172,416,396, - 3, 114,438,320, - 3, 149,427,318, - 3, 349,402,171, - 3, 107,440,399, - 3, 175,415,312, - 3, 210,378,321, - 3, 324,358,160, - 3, 312,415,19, - 3, 321,378,159, - 3, 323,366,165, - 3, 167,409,295, - 3, 406,421,204, - 3, 300,369,30, - 3, 295,409,94, - 3, 293,438,346, - 3, 146,431,279, - 3, 117,421,406, - 3, 37,388,38, - 3, 32,414,282, - 3, 319,421,170, - 3, 285,429,104, - 3, 64,359,63, - 3, 280,443,193, - 3, 354,423,154, - 3, 190,423,354, - 3, 81,404,80, - 3, 350,440,107, - 3, 418,436,113, - 3, 69,381,68, - 3, 94,392,295, - 3, 303,386,7, - 3, 95,358,324, - 3, 174,370,351, - 3, 159,391,321, - 3, 62,367,61, - 3, 321,391,49, - 3, 305,432,207, - 3, 73,417,292, - 3, 181,438,293, - 3, 176,425,297, - 3, 364,371,106, - 3, 187,371,364, - 3, 220,360,352, - 3, 109,398,354, - 3, 292,417,177, - 3, 59,383,58, - 3, 297,425,42, - 3, 334,417,74, - 3, 352,360,112, - 3, 354,398,190, - 3, 85,394,84, - 3, 111,377,356, - 3, 177,417,334, - 3, 301,409,167, - 3, 165,433,351, - 3, 87,387,86, - 3, 304,402,97, - 3, 20,415,302, - 3, 302,415,175, - 3, 348,411,166, - 3, 295,437,167, - 3, 356,377,237, - 3, 351,370,165, - 3, 196,418,389, - 3, 170,421,389, - 3, 160,405,324, - 3, 165,435,323, - 3, 16,408,17, - 3, 328,410,162, - 3, 74,417,73, - 3, 19,415,20, - 3, 107,416,311, - 3, 221,432,305, - 3, 204,421,319, - 3, 42,425,43, - 3, 116,435,370, - 3, 111,441,315, - 3, 342,431,146, - 3, 194,431,342, - 3, 374,392,94, - 3, 174,392,374, - 3, 174,439,370, - 3, 323,435,210, - 3, 399,440,188, - 3, 330,434,146, - 3, 370,435,165, - 3, 356,441,111, - 3, 398,420,171, - 3, 171,420,349, - 3, 351,436,174, - 3, 351,433,113, - 3, 163,426,375, - 3, 346,438,114, - 3, 402,434,171, - 3, 113,436,351, - 3, 164,413,376, - 3, 162,440,350, - 3, 389,418,170, - 3, 374,439,174, - 3, 370,439,116, - 3, 172,442,403, - 3, 389,421,117 -}; diff --git a/benchmarks/extrude/surf.msh b/benchmarks/extrude/surf.msh new file mode 100644 index 0000000000000000000000000000000000000000..0422288c95a04c13fac29b39f77fe799ec5cb588 --- /dev/null +++ b/benchmarks/extrude/surf.msh @@ -0,0 +1,268 @@ +$NOD +84 +1 -0.075 0 0 +2 -0.075 0.05 0 +3 -0.035 0.05 0 +5 -0.025 0.06 0 +6 -0.025 0.15 0 +7 0.025 0.15 0 +8 0.025 0.06 0 +10 0.035 0.05 0 +11 0.075 0.05 0 +12 0.075 0 0 +13 0.03 0 0 +14 0.0109652703637529 0.0491025641025641 0 +16 -0.0109652703637529 0.0491025641025641 0 +17 -0.03 0 0 +18 -0.015 0.1 0 +19 -0.015 0.12 0 +21 0.015 0.12 0 +22 0.015 0.1 0 +24 0 0.135 0 +25 0 0.08500000000000001 0 +26 -0.02101213252967133 0.02318537468306153 0 +27 -0.01499439601227832 0.03870890975523548 0 +28 0.006672216884674129 0.0546202758905197 0 +29 2.861386074960455e-15 0.05670761232557028 0 +30 -0.006672216884671904 0.05462027589052125 0 +31 0.01499439601227833 0.03870890975523544 0 +32 0.02101213252967131 0.02318537468306156 0 +33 0.04915695417475923 0.05 0 +34 0.02792893218813446 0.0529289321881346 0 +35 0.025 0.07050207674561985 0 +36 0.025 0.08386245490342162 0 +37 0.025 0.100860814575335 0 +38 0.025 0.1224934996808837 0 +39 -0.025 0.1224934996808836 0 +40 -0.025 0.100860814575335 0 +41 -0.025 0.08386245490342145 0 +42 -0.025 0.07050207674561988 0 +43 -0.02792893218813476 0.05292893218813429 0 +44 -0.0491569541747593 0.05 0 +45 -0.015 0.1100000000000009 0 +46 0.01060660171780078 0.1306066017177956 0 +47 -0.010606601717797 0.1306066017177994 0 +48 -0.01060660171779871 0.08939339828220229 0 +49 0.01060660171779681 0.08939339828220039 0 +50 0.015 0.1099999999999991 0 +51 -0.0003952465477365416 0.1151095661552487 0 +52 -0.0003081840445035213 0.100314009646701 0 +53 0.002226335800738071 0.1245145588919018 0 +54 -0.005861490658885202 0.107041848887915 0 +55 0.005713555476752103 0.1069470842297659 0 +56 -0.00634749052301216 0.1212139671063793 0 +57 0.007859882105366625 0.1153426614308058 0 +58 -0.00157576024369819 0.09289421447504989 0 +59 0.006694619833783632 0.09740397783872531 0 +60 -0.007083463183855603 0.09832134469841361 0 +61 -0.008693641475427668 0.1145517750655404 0 +62 -0.008276586261843702 0.0708685144124603 0 +63 0.008400061913945699 0.07088560994326665 0 +64 -0.04121175058317086 0.02862904086572193 0 +65 0.04122820988160054 0.02862556114903235 0 +66 0.02677870418201832 0.04094939289741954 0 +67 -0.02676075449350464 0.04095554692294305 0 +68 -0.01549825710033483 0.07946498875473762 0 +69 0.0155394002827713 0.07950032691122735 0 +70 -0.01404984468315653 0.06202291250566357 0 +71 0.0140860945906206 0.06199654787282388 0 +72 6.803059197117234e-05 0.06630431086350139 0 +73 5.551672715979858e-05 0.07559235972177888 0 +74 0.01849569291549359 0.05226915830450645 0 +75 -0.0184842434550625 0.05227150845553569 0 +76 0.0631799338714841 0.0260746478528118 0 +77 -0.06316061649909735 0.02607257415165654 0 +78 0.005314041042838588 0.1439464830399123 0 +79 -0.009091344025161784 0.1427628763207046 0 +80 -0.01900195911287293 0.0912618219743967 0 +81 0.01900774938260002 0.09126487116421787 0 +82 -0.006817597108997714 0.08015313017377412 0 +83 0.006874004810919198 0.08020654122361565 0 +84 -0.006230979079654975 0.06223982932617283 0 +85 0.05243031523717537 0.01036592623324008 0 +86 -0.0524170471478999 0.01036209767478765 0 +87 0.006300685116073176 0.06221121337717751 0 +88 -0.01704730754955557 0.0694428217079274 0 +89 0.01711347140466049 0.06939248724667128 0 +$ENDNOD +$ELM +178 +1 1 1 1 2 1 17 +2 1 2 2 2 17 26 +3 1 2 2 2 26 27 +4 1 2 2 2 27 16 +5 1 3 3 2 14 28 +6 1 3 3 2 28 29 +7 1 3 3 2 29 30 +8 1 3 3 2 30 16 +9 1 4 4 2 14 31 +10 1 4 4 2 31 32 +11 1 4 4 2 32 13 +12 1 5 5 2 13 12 +13 1 6 6 2 12 11 +14 1 7 7 2 11 33 +15 1 7 7 2 33 10 +16 1 8 8 2 8 34 +17 1 8 8 2 34 10 +18 1 9 9 2 8 35 +19 1 9 9 2 35 36 +20 1 9 9 2 36 37 +21 1 9 9 2 37 38 +22 1 9 9 2 38 7 +23 1 10 10 2 7 6 +24 1 11 11 2 6 39 +25 1 11 11 2 39 40 +26 1 11 11 2 40 41 +27 1 11 11 2 41 42 +28 1 11 11 2 42 5 +29 1 12 12 2 3 43 +30 1 12 12 2 43 5 +31 1 13 13 2 3 44 +32 1 13 13 2 44 2 +33 1 14 14 2 2 1 +34 1 15 15 2 18 45 +35 1 15 15 2 45 19 +36 1 16 16 2 21 46 +37 1 16 16 2 46 24 +38 1 17 17 2 24 47 +39 1 17 17 2 47 19 +40 1 18 18 2 18 48 +41 1 18 18 2 48 25 +42 1 19 19 2 25 49 +43 1 19 19 2 49 22 +44 1 20 20 2 21 50 +45 1 20 20 2 50 22 +46 2 22 22 3 47 53 24 +47 2 22 22 3 46 53 21 +48 2 22 22 3 49 58 25 +49 2 22 22 3 49 59 58 +50 2 22 22 3 47 56 53 +51 2 22 22 3 53 57 21 +52 2 22 22 3 24 53 46 +53 2 22 22 3 50 55 22 +54 2 22 22 3 18 54 45 +55 2 22 22 3 55 59 22 +56 2 22 22 3 54 55 51 +57 2 22 22 3 52 55 54 +58 2 22 22 3 19 56 47 +59 2 22 22 3 18 60 54 +60 2 22 22 3 51 57 53 +61 2 22 22 3 48 60 18 +62 2 22 22 3 25 58 48 +63 2 22 22 3 58 59 52 +64 2 22 22 3 22 59 49 +65 2 22 22 3 52 59 55 +66 2 22 22 3 53 56 51 +67 2 22 22 3 21 57 50 +68 2 22 22 3 45 61 19 +69 2 22 22 3 50 57 55 +70 2 22 22 3 54 60 52 +71 2 22 22 3 51 61 54 +72 2 22 22 3 55 57 51 +73 2 22 22 3 58 60 48 +74 2 22 22 3 56 61 51 +75 2 22 22 3 54 61 45 +76 2 22 22 3 19 61 56 +77 2 22 22 3 52 60 58 +78 2 24 24 3 65 76 33 +79 2 24 24 3 44 77 64 +80 2 24 24 3 27 75 67 +81 2 24 24 3 66 74 31 +82 2 24 24 3 70 75 30 +83 2 24 24 3 28 74 71 +84 2 24 24 3 16 75 27 +85 2 24 24 3 2 77 44 +86 2 24 24 3 33 76 11 +87 2 24 24 3 31 74 14 +88 2 24 24 3 34 74 66 +89 2 24 24 3 67 75 43 +90 2 24 24 3 30 75 16 +91 2 24 24 3 14 74 28 +92 2 24 24 3 38 7 46 +93 2 24 24 3 39 47 6 +94 2 24 24 3 48 82 25 +95 2 24 24 3 25 83 49 +96 2 24 24 3 70 88 5 +97 2 24 24 3 44 64 3 +98 2 24 24 3 10 65 33 +99 2 24 24 3 5 88 42 +100 2 24 24 3 8 89 71 +101 2 24 24 3 36 69 35 +102 2 24 24 3 42 68 41 +103 2 24 24 3 35 89 8 +104 2 24 24 3 5 75 70 +105 2 24 24 3 69 89 35 +106 2 24 24 3 71 74 8 +107 2 24 24 3 42 88 68 +108 2 24 24 3 34 66 10 +109 2 24 24 3 3 67 43 +110 2 24 24 3 49 81 22 +111 2 24 24 3 18 80 48 +112 2 24 24 3 26 64 17 +113 2 24 24 3 13 65 32 +114 2 24 24 3 64 67 3 +115 2 24 24 3 10 66 65 +116 2 24 24 3 48 80 68 +117 2 24 24 3 69 81 49 +118 2 24 24 3 64 86 17 +119 2 24 24 3 13 85 65 +120 2 24 24 3 72 73 62 +121 2 24 24 3 63 73 72 +122 2 24 24 3 21 38 46 +123 2 24 24 3 19 47 39 +124 2 24 24 3 68 82 48 +125 2 24 24 3 50 38 21 +126 2 24 24 3 45 19 39 +127 2 24 24 3 49 83 69 +128 2 24 24 3 65 85 76 +129 2 24 24 3 77 86 64 +130 2 24 24 3 32 66 31 +131 2 24 24 3 27 67 26 +132 2 24 24 3 26 67 64 +133 2 24 24 3 65 66 32 +134 2 24 24 3 68 80 41 +135 2 24 24 3 46 78 24 +136 2 24 24 3 24 79 47 +137 2 24 24 3 36 81 69 +138 2 24 24 3 62 82 68 +139 2 24 24 3 30 84 70 +140 2 24 24 3 69 83 63 +141 2 24 24 3 71 87 28 +142 2 24 24 3 7 78 46 +143 2 24 24 3 47 79 6 +144 2 24 24 3 63 83 73 +145 2 24 24 3 73 82 62 +146 2 24 24 3 72 84 29 +147 2 24 24 3 29 87 72 +148 2 24 24 3 70 84 62 +149 2 24 24 3 22 37 50 +150 2 24 24 3 63 87 71 +151 2 24 24 3 18 45 40 +152 2 24 24 3 68 88 62 +153 2 24 24 3 25 82 73 +154 2 24 24 3 63 89 69 +155 2 24 24 3 73 83 25 +156 2 24 24 3 62 88 70 +157 2 24 24 3 8 74 34 +158 2 24 24 3 43 75 5 +159 2 24 24 3 71 89 63 +160 2 24 24 3 62 84 72 +161 2 24 24 3 72 87 63 +162 2 24 24 3 76 85 12 +163 2 24 24 3 1 86 77 +164 2 24 24 3 29 84 30 +165 2 24 24 3 28 87 29 +166 2 24 24 3 78 79 24 +167 2 24 24 3 22 81 37 +168 2 24 24 3 40 80 18 +169 2 24 24 3 6 79 78 +170 2 24 24 3 12 85 13 +171 2 24 24 3 17 86 1 +172 2 24 24 3 6 78 7 +173 2 24 24 3 11 76 12 +174 2 24 24 3 1 77 2 +175 2 24 24 3 40 45 39 +176 2 24 24 3 37 38 50 +177 2 24 24 3 41 80 40 +178 2 24 24 3 37 81 36 +$ENDELM diff --git a/demos/sphere-discrete.geo b/demos/sphere-discrete.geo index 8696d047ecadd99a5606a4a7dd466a25ce0f694c..6615051035f328cbbd14dd46e8f8e60b7be14ff6 100644 --- a/demos/sphere-discrete.geo +++ b/demos/sphere-discrete.geo @@ -1,1110 +1,12 @@ -// include a geometry: +// merge a surface mesh -Include "sphere.geo"; +Merge "sphere-surf.msh"; -// add a discrete representation (triangulation) to the 8 patches: +// delete all physical groups -Discrete Surface {14} = {52, 81} -{ - 0,1,0, -0.122515,0.98474,0.122512, - -1,0,0, -0.984764,0.122431,0.122423, - 0,0,1, -0.122404,0.122414,0.984769, - -0.2225209339563045,0.9749279121818258,0, -0.239906,0.959951,0.104813, - -0.4338837391175415,0.9009688679024271,0, -0.450162,0.883349,0.0859828, - -0.6234898018587169,0.781831482468043,0, -0.614356,0.778627,0.0785648, - -0.7818314824680178,0.6234898018587486,0, -0.778702,0.614265,0.078522, - -0.9009688679024137,0.4338837391175694,0, -0.883414,0.450062,0.085871, - -0.9749279121818222,0.2225209339563205,0, -0.959995,0.239808,0.104655, - 0,0.2225209339563045,0.9749279121818258, -0.104665,0.239828,0.959989, - 0,0.4338837391175415,0.9009688679024271, -0.0858828,0.450056,0.883416, - 0,0.6234898018587169,0.781831482468043, -0.0784496,0.614289,0.778688, - 0,0.7818314824680178,0.6234898018587486, -0.0785016,0.778643,0.614339, - 0,0.9009688679024137,0.4338837391175694, -0.0859305,0.883365,0.450142, - 0,0.9749279121818222,0.2225209339563205, -0.10477,0.959956,0.239904, - -0.2225209339563045,0,0.9749279121818258, -0.239899,0.104607,0.959975, - -0.4338837391175415,0,0.9009688679024271, -0.450112,0.0858309,0.88339, - -0.6234898018587169,0,0.781831482468043, -0.614309,0.0784069,0.778675, - -0.7818314824680178,0,0.6234898018587486, -0.778648,0.0783846,0.614347, - -0.9009688679024137,0,0.4338837391175694, -0.883398,0.0857796,0.450107, - -0.9749279121818222,0,0.2225209339563205, -0.95998,0.104611,0.239877, - -0.5563510131363865,0.5891913365526474,0.5859412249701538, -0.542357,0.590033,0.584747, - -0.8420396490396795,0.3830634023521231,0.3797808676698783, -0.839974,0.374758,0.373325, - -0.3798339505169332,0.8419039660392607,0.3833065117213258, -0.372733,0.8419,0.371728, - -0.3797253600454539,0.3830944029537457,0.8420518706843709, -0.372425,0.371777,0.842019, - -0.6753919245902565,0.672472844325763,0.3026979107737808, -0.670219,0.670424,0.294803, - -0.3218754731214902,0.6695561180725229,0.6693958339437879, -0.32481,0.663018,0.662834, - -0.6728325927539981,0.3074671081024881,0.6728746452087147, -0.668554,0.300625,0.669074, - -0.5292993303235405,0.8186255982747985,0.2229224350615393, -0.536905,0.806866,0.211508, - -0.8187957438348996,0.2226199084012708,0.5291641867450418, -0.806747,0.212352,0.536623, - -0.2227796568807776,0.5290641967745843,0.8188199683686377, -0.207863,0.53658,0.80846, - -0.5291126005877934,0.2227347916511525,0.8187991125945772, -0.536453,0.212078,0.806973, - -0.2228644638653538,0.8187181284284164,0.5291806711483696, -0.207918,0.808415,0.53663, - -0.8188650976802843,0.5289662361210328,0.222840695031449, -0.808171,0.537047,0.207786, - -0.2413111399348926,0.9399456419452581,0.2413944369774025, -0.211067,0.944506,0.211191, - -0.9400308625837783,0.2411047633180826,0.2412684687567402, -0.944571,0.211002,0.211012, - -0.2412555782973508,0.2410481643257406,0.9400486902217813, -0.211007,0.210993,0.944575, - -0.7119538381502901,0.4365391341902741,0.5500502935167957, -0.705589,0.427957,0.550848, - -0.5500945701675112,0.7146221593960822,0.4321001427018011, -0.550965,0.710175,0.420829, - -0.5469423456398116,0.4355031120810015,0.7149763189866385, -0.547841,0.423966,0.710887, - -0.4068237774364799,0.5362674037682693,0.7395347191745937, -0.40612,0.533904,0.731977, - -0.4071959581063569,0.7397418450163052,0.5357006446338911, -0.406763,0.73247,0.532743, - -0.7238608601175065,0.5538568359169417,0.4114219673645391, -0.709024,0.555658,0.416627, - -0.387338262855515,0.9054783182404259,0.173421383052493, -0.374535,0.90294,0.16978, - -0.1732777759107061,0.3870691149951774,0.9056226119645898, -0.169017,0.374464,0.90319, - -0.9056033827977032,0.1730510265700378,0.3872155155440856, -0.903031,0.169551,0.374448, - -0.9056547245159975,0.3870338671095289,0.173188644753235, -0.9032,0.374446,0.169, - -0.3872181038881538,0.1731347990436712,0.9055862645269011, -0.374441,0.169583,0.903027, - -0.1733157885866541,0.9055130627573574,0.3873037773702063, -0.169052,0.903099,0.374656, - -0.1387159089663307,0.7001774912902294,0.7003638366054901, -0.147659,0.69386,0.693942, - -0.7003805613717944,0.7001268278826707,0.1388868398998138, -0.694658,0.694213,0.143778, - -0.7002399905549749,0.1385871413765045,0.7003267865022653, -0.694292,0.144624,0.694348 -} -{ - 3, 21,26,41, - 3, 26,21,40, - 3, 21,38,42, - 3, 38,25,42, - 3, 19,18,29, - 3, 12,13,32, - 3, 17,16,31, - 3, 6,7,33, - 3, 4,5,28, - 3, 10,11,30, - 3, 14,0,34, - 3, 0,3,34, - 3, 15,2,36, - 3, 2,9,36, - 3, 1,20,35, - 3, 8,1,35, - 3, 37,27,39, - 3, 21,37,39, - 3, 29,27,37, - 3, 22,29,37, - 3, 28,25,38, - 3, 23,28,38, - 3, 27,31,39, - 3, 31,24,39, - 3, 37,21,42, - 3, 38,21,41, - 3, 21,39,40, - 3, 12,32,49, - 3, 29,18,51, - 3, 17,31,51, - 3, 6,33,50, - 3, 30,11,49, - 3, 28,5,50, - 3, 32,26,49, - 3, 27,29,51, - 3, 31,27,51, - 3, 26,30,49, - 3, 25,28,50, - 3, 33,25,50, - 3, 29,22,45, - 3, 22,33,46, - 3, 28,23,43, - 3, 23,32,48, - 3, 30,24,44, - 3, 24,31,47, - 3, 35,22,46, - 3, 22,35,45, - 3, 34,23,48, - 3, 23,34,43, - 3, 36,24,47, - 3, 24,36,44, - 3, 11,12,49, - 3, 5,6,50, - 3, 18,17,51, - 3, 24,30,40, - 3, 30,26,40, - 3, 26,32,41, - 3, 32,23,41, - 3, 25,33,42, - 3, 33,22,42, - 3, 3,4,43, - 3, 7,8,46, - 3, 9,10,44, - 3, 16,15,47, - 3, 13,14,48, - 3, 20,19,45, - 3, 34,3,43, - 3, 36,9,44, - 3, 14,34,48, - 3, 15,36,47, - 3, 8,35,46, - 3, 35,20,45, - 3, 4,28,43, - 3, 19,29,45, - 3, 10,30,44, - 3, 31,16,47, - 3, 33,7,46, - 3, 32,13,48, - 3, 39,24,40, - 3, 23,38,41, - 3, 22,37,42 -}; -Discrete Surface {16} = {52, 81} -{ - -1,0,0, -0.984751,-0.122474,0.122472, - 0,-1,0, -0.12241,-0.984769,0.122407, - 0,0,1, -0.122396,-0.122395,0.984773, - -0.9749279121818258,-0.2225209339563045,0, -0.959961,-0.239897,0.104752, - -0.9009688679024271,-0.4338837391175415,0, -0.883368,-0.450136,0.0859321, - -0.781831482468043,-0.6234898018587169,0, -0.778627,-0.61436,0.0785302, - -0.6234898018587486,-0.7818314824680178,0, -0.614272,-0.778698,0.0785121, - -0.4338837391175694,-0.9009688679024137,0, -0.450064,-0.88341,0.0859004, - -0.2225209339563205,-0.9749279121818222,0, -0.239856,-0.959983,0.104655, - 0,-0.9749279121818258,0.2225209339563045, -0.10462,-0.959983,0.239867, - 0,-0.9009688679024271,0.4338837391175415, -0.085826,-0.883406,0.450085, - 0,-0.781831482468043,0.6234898018587169, -0.0784005,-0.778667,0.614321, - 0,-0.6234898018587486,0.7818314824680178, -0.078355,-0.614353,0.778648, - 0,-0.4338837391175694,0.9009688679024137, -0.0857939,-0.450079,0.883413, - 0,-0.2225209339563205,0.9749279121818222, -0.104614,-0.239875,0.959981, - -0.2225209339563045,0,0.9749279121818258, -0.239852,-0.104629,0.959987, - -0.4338837391175415,0,0.9009688679024271, -0.450067,-0.0859189,0.883406, - -0.6234898018587169,0,0.781831482468043, -0.614244,-0.0785397,0.778715, - -0.7818314824680178,0,0.6234898018587486, -0.778621,-0.0785432,0.614366, - -0.9009688679024137,0,0.4338837391175694, -0.883348,-0.0859592,0.450167, - -0.9749279121818222,0,0.2225209339563205, -0.959951,-0.104755,0.239933, - -0.5891739597173604,-0.5859267582329895,0.5563846503928759, -0.590016,-0.584743,0.542382, - -0.8419127444975067,-0.3832956880031617,0.3798278226832703, -0.841902,-0.37172,0.37273, - -0.3830319266375962,-0.3798140560026974,0.8420379005840273, -0.374731,-0.373352,0.839975, - -0.3830962287846832,-0.8420361401778793,0.3797583983098432, -0.37177,-0.842016,0.37244, - -0.6724551411042631,-0.3026819813906181,0.675416689766084, -0.670407,-0.294789,0.670241, - -0.3074593270180926,-0.672898715672147,0.6728120755921047, -0.300613,-0.66909,0.668544, - -0.6694819429356987,-0.6694380360672032,0.3219419986716052, -0.662963,-0.662861,0.32487, - -0.8186317970101905,-0.2228947190282516,0.5293044527516347, -0.80686,-0.211489,0.536919, - -0.8186752178400962,-0.5292648531294992,0.2228237624690563, -0.808386,-0.536664,0.207932, - -0.2225458354114695,-0.5292281668310217,0.8187740993566104, -0.212334,-0.536638,0.806743, - -0.5289963636854366,-0.8188492010634111,0.2228267380169126, -0.536546,-0.808476,0.207899, - -0.2227059204974404,-0.818813193627507,0.5291057278541499, -0.212071,-0.806978,0.536446, - -0.5289072831516629,-0.2229228528648696,0.8188788376041078, -0.537021,-0.207817,0.808182, - -0.9399854125748424,-0.2412485225886563,0.241301840040954, -0.944519,-0.211134,0.211067, - -0.2411171591604495,-0.2411369205332241,0.9400615157423891, -0.211015,-0.210973,0.944576, - -0.2411250692806426,-0.9400488545283774,0.2411780745495407, -0.211026,-0.944574,0.210978, - -0.7146247227093602,-0.4320795897393267,0.5501079194131282, -0.710172,-0.420818,0.550976, - -0.4365077211110331,-0.5500730988781458,0.7119554728198711, -0.427923,-0.550866,0.705596, - -0.4355132027224509,-0.7149605088910298,0.5469549199588074, -0.423957,-0.710884,0.547854, - -0.739722819915368,-0.5357169371269953,0.4072069959197624, -0.732454,-0.532757,0.406772, - -0.5538319021633533,-0.4114410233267031,0.7238696011549567, -0.555634,-0.416642,0.709034, - -0.536222691610783,-0.7395443154817047,0.4068654565608939, -0.533871,-0.731983,0.406157, - -0.1731323186330627,-0.3871870186504138,0.9055980745823108, -0.169581,-0.374423,0.903037, - -0.9055122870236548,-0.3872886711296661,0.1733637317090477, -0.9031,-0.374638,0.16907, - -0.9054744348258696,-0.1733958397421412,0.3873627907066191, -0.902942,-0.169748,0.374546, - -0.1731523847291243,-0.9056087016176271,0.387157763615347, -0.169602,-0.903043,0.374395, - -0.3870917535634846,-0.9056091936898463,0.1732973275815335, -0.374482,-0.903182,0.16902, - -0.3870543025771477,-0.1732581944706739,0.9056309552213407, -0.374458,-0.169021,0.903192, - -0.7001111616130116,-0.1388450909573361,0.7004044976522603, -0.694187,-0.143765,0.694684, - -0.1385903208504232,-0.7002963699986529,0.7002698352821806, -0.144615,-0.694351,0.694294, - -0.7001375485780742,-0.700373566173228,0.1388680272517487, -0.693811,-0.693976,0.147729 -} -{ - 3, 27,21,40, - 3, 21,27,42, - 3, 37,21,41, - 3, 25,37,41, - 3, 4,5,29, - 3, 10,11,32, - 3, 6,7,31, - 3, 16,17,33, - 3, 18,19,28, - 3, 12,13,30, - 3, 2,15,35, - 3, 14,2,35, - 3, 0,3,34, - 3, 20,0,34, - 3, 8,1,36, - 3, 1,9,36, - 3, 26,38,39, - 3, 38,21,39, - 3, 26,30,38, - 3, 30,23,38, - 3, 25,28,37, - 3, 28,22,37, - 3, 32,26,39, - 3, 24,32,39, - 3, 21,38,41, - 3, 21,37,40, - 3, 39,21,42, - 3, 32,11,50, - 3, 33,17,49, - 3, 6,31,51, - 3, 29,5,51, - 3, 18,28,49, - 3, 12,30,50, - 3, 28,25,49, - 3, 26,32,50, - 3, 25,33,49, - 3, 27,29,51, - 3, 30,26,50, - 3, 31,27,51, - 3, 22,28,45, - 3, 29,22,44, - 3, 23,30,43, - 3, 33,23,48, - 3, 24,31,47, - 3, 32,24,46, - 3, 23,35,48, - 3, 22,34,44, - 3, 34,22,45, - 3, 35,23,43, - 3, 24,36,46, - 3, 36,24,47, - 3, 17,18,49, - 3, 11,12,50, - 3, 5,6,51, - 3, 22,29,40, - 3, 29,27,40, - 3, 31,24,42, - 3, 27,31,42, - 3, 23,33,41, - 3, 33,25,41, - 3, 7,8,47, - 3, 9,10,46, - 3, 19,20,45, - 3, 15,16,48, - 3, 13,14,43, - 3, 3,4,44, - 3, 20,34,45, - 3, 8,36,47, - 3, 34,3,44, - 3, 14,35,43, - 3, 35,15,48, - 3, 36,9,46, - 3, 28,19,45, - 3, 30,13,43, - 3, 4,29,44, - 3, 31,7,47, - 3, 10,32,46, - 3, 16,33,48, - 3, 37,22,40, - 3, 38,23,41, - 3, 24,39,42 -}; -Discrete Surface {18} = {52, 81} -{ - 1,0,0, 0.984764,0.122433,0.12242, - 0,1,0, 0.122487,0.984747,0.122489, - 0,0,1, 0.122406,0.122409,0.984769, - 0.9749279121818258,0.2225209339563045,0, 0.959983,0.239834,0.104717, - 0.9009688679024271,0.4338837391175415,0, 0.883403,0.450066,0.0859646, - 0.781831482468043,0.6234898018587169,0, 0.778687,0.61428,0.0785374, - 0.6234898018587486,0.7818314824680178,0, 0.614334,0.778648,0.0785165, - 0.4338837391175694,0.9009688679024137,0, 0.450127,0.883374,0.0859246, - 0.2225209339563205,0.9749279121818222,0, 0.239899,0.95996,0.104749, - 0,0.2225209339563045,0.9749279121818258, 0.104626,0.239828,0.959993, - 0,0.4338837391175415,0.9009688679024271, 0.085855,0.450057,0.883418, - 0,0.6234898018587169,0.781831482468043, 0.0785015,0.614266,0.778704, - 0,0.7818314824680178,0.6234898018587486, 0.0785611,0.778623,0.614361, - 0,0.9009688679024137,0.4338837391175694, 0.0859743,0.883349,0.450162, - 0,0.9749279121818222,0.2225209339563205, 0.10478,0.959953,0.239916, - 0.9749279121818258,0,0.2225209339563045, 0.959968,0.104622,0.239916, - 0.9009688679024271,0,0.4338837391175415, 0.883395,0.0857913,0.450111, - 0.781831482468043,0,0.6234898018587169, 0.778645,0.0783959,0.614353, - 0.6234898018587486,0,0.7818314824680178, 0.614324,0.0784177,0.778664, - 0.4338837391175694,0,0.9009688679024137, 0.450092,0.0858087,0.883403, - 0.2225209339563205,0,0.9749279121818222, 0.239868,0.104611,0.959983, - 0.5773975082211721,0.5772658431569984,0.5773874468883697, 0.572933,0.57281,0.57295, - 0.3797485602057286,0.3830922972137126,0.8420410745751534, 0.373151,0.374203,0.840355, - 0.3832767388182142,0.8419248558493657,0.3798176911490971, 0.374414,0.840224,0.373235, - 0.8420170835457154,0.3795977373384021,0.3832972850096181, 0.840317,0.373008,0.374434, - 0.3026571833356536,0.6724767521347996,0.6754062855619029, 0.294606,0.670137,0.670602, - 0.6726904731290684,0.6752005624957614,0.3026412733956574, 0.670332,0.670411,0.294597, - 0.6752694072280159,0.3024967167989908,0.6726863859444547, 0.670474,0.294442,0.670337, - 0.2229137773738889,0.818629188910303,0.5292974232185897, 0.211474,0.806818,0.536991, - 0.8187775028377696,0.2225862292360681,0.5292085498176807, 0.808227,0.207407,0.53715, - 0.5291382686399343,0.2226582304778837,0.8188020734701312, 0.536865,0.211314,0.80695, - 0.5291833920367963,0.8187257216634471,0.222830106180351, 0.537139,0.808189,0.207565, - 0.8188036229545755,0.5290216888759822,0.2229405899875666, 0.806956,0.53678,0.211485, - 0.2227915010233589,0.5289645632117742,0.8188795661928487, 0.207537,0.536954,0.808322, - 0.2411833793097393,0.2411144071855667,0.940050224040975, 0.210975,0.211014,0.944577, - 0.2413224491124619,0.9399707559051969,0.2412853177616952, 0.211157,0.944517,0.211056, - 0.9400310943183324,0.2410528987544552,0.2413194009455931, 0.944561,0.210899,0.211152, - 0.4313730843637155,0.7136827955596668,0.5518817835865384, 0.421664,0.708113,0.552785, - 0.713827010318361,0.5516947649210976,0.4313743692757338, 0.708257,0.552597,0.421671, - 0.5518003610587108,0.4312517423531107,0.7138195188682946, 0.552706,0.421506,0.708268, - 0.5523084755418044,0.7255270998470831,0.4105676256138265, 0.553681,0.712255,0.414308, - 0.7256174675725395,0.410401811892177,0.5523130339598187, 0.71235,0.414138,0.553687, - 0.4105268835831876,0.552121102724671,0.7256927304941428, 0.414282,0.553507,0.712407, - 0.1734007930103921,0.905482508392202,0.3873376832172581, 0.169758,0.902946,0.374533, - 0.3871717518779475,0.1731157346343897,0.9056097267473995, 0.374411,0.169587,0.903039, - 0.9055956496979217,0.3870715972956999,0.1734130921146891, 0.903036,0.374319,0.169774, - 0.3872736887512665,0.9055241543510425,0.1733250710871884, 0.37463,0.903111,0.16905, - 0.9055618366283053,0.1731245241546386,0.3872798216992269, 0.903146,0.168892,0.374632, - 0.1731812158179551,0.3870480621949327,0.9056500786938431, 0.168978,0.374455,0.903202, - 0.7002488228573803,0.1386915780636993,0.7002972798523552, 0.694547,0.143633,0.694362, - 0.1388740971332977,0.7001122720230394,0.7003976384656098, 0.143762,0.69421,0.694665, - 0.7003153309228675,0.7002045971493689,0.138823936986611, 0.694371,0.694506,0.143746 -} -{ - 3, 37,42,21, - 3, 38,40,21, - 3, 39,41,21, - 3, 25,42,37, - 3, 26,40,38, - 3, 27,41,39, - 3, 5,32,4, - 3, 7,31,6, - 3, 12,28,13, - 3, 10,33,11, - 3, 16,29,17, - 3, 18,30,19, - 3, 20,34,2, - 3, 2,34,9, - 3, 3,36,0, - 3, 1,35,8, - 3, 0,36,15, - 3, 14,35,1, - 3, 27,39,30, - 3, 30,39,22, - 3, 25,37,28, - 3, 28,37,23, - 3, 32,38,24, - 3, 26,38,32, - 3, 21,42,39, - 3, 21,40,37, - 3, 21,41,38, - 3, 5,51,32, - 3, 31,51,6, - 3, 33,50,11, - 3, 12,50,28, - 3, 18,49,30, - 3, 29,49,17, - 3, 32,51,26, - 3, 28,50,25, - 3, 26,51,31, - 3, 30,49,27, - 3, 27,49,29, - 3, 25,50,33, - 3, 22,44,30, - 3, 33,48,22, - 3, 23,43,28, - 3, 31,46,23, - 3, 29,47,24, - 3, 24,45,32, - 3, 22,48,34, - 3, 34,44,22, - 3, 23,46,35, - 3, 35,43,23, - 3, 36,45,24, - 3, 24,47,36, - 3, 17,49,18, - 3, 6,51,5, - 3, 11,50,12, - 3, 29,41,27, - 3, 24,41,29, - 3, 23,40,31, - 3, 31,40,26, - 3, 22,42,33, - 3, 33,42,25, - 3, 9,48,10, - 3, 8,46,7, - 3, 19,44,20, - 3, 13,43,14, - 3, 4,45,3, - 3, 15,47,16, - 3, 20,44,34, - 3, 35,46,8, - 3, 34,48,9, - 3, 14,43,35, - 3, 36,47,15, - 3, 3,45,36, - 3, 28,43,13, - 3, 30,44,19, - 3, 16,47,29, - 3, 32,45,4, - 3, 7,46,31, - 3, 10,48,33, - 3, 37,40,23, - 3, 38,41,24, - 3, 39,42,22 -}; -Discrete Surface {20} = {52, 81} -{ - 0,1,0, -0.122455,0.984755,-0.122462, - -1,0,0, -0.984772,0.122395,-0.122398, - 0,0,-1, -0.122479,0.122484,-0.984749, - -0.2225209339563045,0.9749279121818258,0, -0.239895,0.959969,-0.104667, - -0.4338837391175415,0.9009688679024271,0, -0.450137,0.883375,-0.0858445, - -0.6234898018587169,0.781831482468043,0, -0.614331,0.778656,-0.0784349, - -0.7818314824680178,0.6234898018587486,0, -0.778663,0.614329,-0.078386, - -0.9009688679024137,0.4338837391175694,0, -0.883413,0.450079,-0.0857806, - -0.9749279121818222,0.2225209339563205,0, -0.959988,0.239858,-0.10459, - 0,0.9749279121818258,-0.2225209339563045, -0.10473,0.959976,-0.239849, - 0,0.9009688679024271,-0.4338837391175415, -0.0859399,0.883388,-0.450097, - 0,0.781831482468043,-0.6234898018587169, -0.0785477,0.778677,-0.614293, - 0,0.6234898018587486,-0.7818314824680178, -0.0785761,0.614315,-0.778657, - 0,0.4338837391175694,-0.9009688679024137, -0.0860114,0.450122,-0.883368, - 0,0.2225209339563205,-0.9749279121818222, -0.104791,0.239899,-0.959957, - -0.9749279121818258,0,-0.2225209339563045, -0.959986,0.104631,-0.239853, - -0.9009688679024271,0,-0.4338837391175415, -0.883411,0.0858646,-0.450069, - -0.781831482468043,0,-0.6234898018587169, -0.778677,0.0784596,-0.614303, - -0.6234898018587486,0,-0.7818314824680178, -0.614329,0.0784952,-0.778652, - -0.4338837391175694,0,-0.9009688679024137, -0.450141,0.0859311,-0.883365, - -0.2225209339563205,0,-0.9749279121818222, -0.239917,0.104739,-0.959956, - -0.5893879580428182,0.5858474733326092,-0.5562414699741602, -0.590253,0.584563,-0.542317, - -0.8420676034188912,0.3831776001275439,-0.3796036349133443, -0.842055,0.371599,-0.372504, - -0.3832854644825078,0.8419879923855095,-0.3796741868285129, -0.372019,0.841871,-0.372482, - -0.3833451742354813,0.3797875732454184,-0.8419072850272081, -0.374995,0.373254,-0.839915, - -0.6726926174038673,0.3025837760254035,-0.6752241883127346, -0.670638,0.294698,-0.670049, - -0.6696685957970373,0.6693344717392071,-0.3217690837960243, -0.663163,0.662745,-0.324698, - -0.3077262804727168,0.6728336329442314,-0.6727551165482694, -0.300866,0.669044,-0.668483, - -0.818826677556628,0.2227600018553431,-0.5290596905098209, -0.807021,0.211401,-0.536719, - -0.8188213780920877,0.5291322482695965,-0.22260154031294, -0.808509,0.536553,-0.207766, - -0.222917078188717,0.8187693639884328,-0.529084613153564, -0.212387,0.806887,-0.536424, - -0.2229647660528292,0.5291603643361042,-0.8187039435978214, -0.212466,0.536613,-0.806734, - -0.529180413377845,0.8187475575528992,-0.2227631932775632, -0.53671,0.808389,-0.207812, - -0.5291958652372423,0.2228532421373683,-0.818711324033881, -0.537249,0.207764,-0.808044, - -0.2413448069238479,0.2412385734077831,-0.9399770141298913, -0.211184,0.211027,-0.944517, - -0.2413284655822042,0.939999694145296,-0.2411662460613576, -0.21115,0.944546,-0.210958, - -0.9400606467506419,0.2411578154404622,-0.2410993405482855, -0.944582,0.211054,-0.210915, - -0.714827673344605,0.4319866040212881,-0.5499172305445864, -0.710373,0.420719,-0.550791, - -0.4365224164682918,0.7141474013804089,-0.5472126039706944, -0.42442,0.710518,-0.547956, - -0.436005803133462,0.5498864103046268,-0.7124070994686148, -0.427978,0.550652,-0.705751, - -0.7399033033139369,0.5356117749852135,-0.4070173865665636, -0.732635,0.532653,-0.406582, - -0.5364975655684501,0.7393967586510092,-0.406771268016907, -0.534165,0.731817,-0.406068, - -0.5540393011783294,0.4113729089503583,-0.7237495984347924, -0.555791,0.416594,-0.708936, - -0.9056288813092817,0.3871461718451766,-0.1730727337686621, -0.903188,0.374534,-0.16889, - -0.1733450347435898,0.9055759351131357,-0.3871481982061028, -0.169742,0.903015,-0.374383, - -0.9056169924196077,0.1732289551666146,-0.387104111486262, -0.90305,0.169657,-0.374349, - -0.3872713263411691,0.9055614026992059,-0.1731457965186272, -0.374631,0.903135,-0.168935, - -0.173496184263821,0.3872477854449849,-0.905502471718279, -0.169814,0.374461,-0.902966, - -0.3873059041793304,0.1733274642458965,-0.9055101365173267, -0.374656,0.16904,-0.903102, - -0.7003137941471791,0.1387336794161172,-0.7002239751185544, -0.694364,0.14369,-0.694527, - -0.7003005030275156,0.7002562852844972,-0.1386376150025851, -0.693936,0.693885,-0.14759, - -0.138892797652994,0.7002951312474406,-0.7002111438391035, -0.144819,0.694321,-0.69427 -} -{ - 3, 26,21,40, - 3, 21,26,41, - 3, 37,21,42, - 3, 25,37,42, - 3, 12,13,31, - 3, 17,16,28, - 3, 7,6,29, - 3, 19,18,33, - 3, 10,11,30, - 3, 5,4,32, - 3, 14,2,34, - 3, 2,20,34, - 3, 0,9,35, - 3, 1,8,36, - 3, 15,1,36, - 3, 3,0,35, - 3, 21,38,39, - 3, 38,27,39, - 3, 25,28,37, - 3, 28,22,37, - 3, 30,27,38, - 3, 23,30,38, - 3, 31,24,39, - 3, 27,31,39, - 3, 21,37,40, - 3, 38,21,41, - 3, 21,39,42, - 3, 33,18,49, - 3, 5,32,50, - 3, 12,31,51, - 3, 17,28,49, - 3, 30,11,51, - 3, 29,6,50, - 3, 28,25,49, - 3, 26,29,50, - 3, 31,27,51, - 3, 32,26,50, - 3, 27,30,51, - 3, 25,33,49, - 3, 22,28,45, - 3, 29,22,43, - 3, 30,23,44, - 3, 23,32,46, - 3, 24,31,47, - 3, 33,24,48, - 3, 24,34,48, - 3, 34,24,47, - 3, 35,23,46, - 3, 22,36,43, - 3, 23,35,44, - 3, 36,22,45, - 3, 18,17,49, - 3, 6,5,50, - 3, 11,12,51, - 3, 29,26,40, - 3, 22,29,40, - 3, 26,32,41, - 3, 32,23,41, - 3, 33,25,42, - 3, 24,33,42, - 3, 9,10,44, - 3, 20,19,48, - 3, 4,3,46, - 3, 13,14,47, - 3, 16,15,45, - 3, 8,7,43, - 3, 14,34,47, - 3, 34,20,48, - 3, 35,9,44, - 3, 15,36,45, - 3, 36,8,43, - 3, 3,35,46, - 3, 28,16,45, - 3, 7,29,43, - 3, 10,30,44, - 3, 31,13,47, - 3, 32,4,46, - 3, 19,33,48, - 3, 37,22,40, - 3, 23,38,41, - 3, 39,24,42 -}; -Discrete Surface {22} = {52, 81} -{ - 1,0,0, 0.98478,0.122368,-0.12237, - 0,1,0, 0.122433,0.98476,-0.122447, - 0,0,-1, 0.122473,0.122483,-0.98475, - 0.9749279121818258,0.2225209339563045,0, 0.959989,0.239864,-0.104576, - 0.9009688679024271,0.4338837391175415,0, 0.883416,0.450069,-0.0858124, - 0.781831482468043,0.6234898018587169,0, 0.778678,0.614308,-0.078392, - 0.6234898018587486,0.7818314824680178,0, 0.614338,0.778649,-0.0784431, - 0.4338837391175694,0.9009688679024137,0, 0.450152,0.883365,-0.085863, - 0.2225209339563205,0.9749279121818222,0, 0.239935,0.959961,-0.104646, - 0,0.9749279121818258,-0.2225209339563045, 0.104724,0.959984,-0.239825, - 0,0.9009688679024271,-0.4338837391175415, 0.0859306,0.8834,-0.450078, - 0,0.781831482468043,-0.6234898018587169, 0.0785123,0.77867,-0.614306, - 0,0.6234898018587486,-0.7818314824680178, 0.0785608,0.614301,-0.778668, - 0,0.4338837391175694,-0.9009688679024137, 0.085974,0.450117,-0.883374, - 0,0.2225209339563205,-0.9749279121818222, 0.10476,0.23985,-0.959973, - 0.2225209339563045,0,-0.9749279121818258, 0.239926,0.104705,-0.959956, - 0.4338837391175415,0,-0.9009688679024271, 0.450155,0.0858584,-0.883364, - 0.6234898018587169,0,-0.781831482468043, 0.614381,0.0784617,-0.778616, - 0.7818314824680178,0,-0.6234898018587486, 0.778705,0.0784445,-0.614269, - 0.9009688679024137,0,-0.4338837391175694, 0.883424,0.0858506,-0.450048, - 0.9749279121818222,0,-0.2225209339563205, 0.959993,0.104592,-0.239845, - 0.5859391712886065,0.5563256584048392,-0.5892173192941191, 0.584763,0.542311,-0.590061, - 0.3833480208274531,0.379695987305025,-0.8419472976831952, 0.371766,0.372589,-0.841945, - 0.8420645922398214,0.3797061412567955,-0.3830854925216411, 0.842045,0.372388,-0.371751, - 0.3798087346788101,0.8419883069517581,-0.3831486133886693, 0.373362,0.839916,-0.374853, - 0.3026754046034515,0.6752595066698167,-0.6726159390479917, 0.294788,0.670095,-0.670553, - 0.6694647709091803,0.3218490312764669,-0.6694999025551025, 0.66289,0.324777,-0.662978, - 0.6728998724979469,0.6727945852345686,-0.3074950670804557, 0.669108,0.668507,-0.300654, - 0.5292998471455702,0.2227124424393522,-0.818682457498219, 0.536701,0.207834,-0.80839, - 0.2228583430834042,0.8187642833724724,-0.5291148264573806, 0.207805,0.808093,-0.537154, - 0.818836191976977,0.5290847461902158,-0.2226646459448115, 0.806999,0.536418,-0.212067, - 0.8188754936591693,0.2227548200221398,-0.5289887211177093, 0.808498,0.207842,-0.536533, - 0.5291830608152351,0.8187376007865073,-0.2227888180759134, 0.536655,0.806705,-0.212427, - 0.2229847307409096,0.5291030287822968,-0.8187355237676126, 0.211525,0.536766,-0.806954, - 0.9400876615466238,0.2410968941290492,-0.2410549477979327, 0.944593,0.210933,-0.210993, - 0.2413642744151451,0.9400181742343745,-0.2410583387083743, 0.211076,0.94455,-0.211013, - 0.2413825517047067,0.2411868212365993,-0.9399806012736452, 0.211193,0.210978,-0.944528, - 0.4321236687492747,0.5499831336456151,-0.7146937040565199, 0.420852,0.550851,-0.710251, - 0.5500676303804031,0.7119168204212273,-0.4365776580762989, 0.550863,0.705542,-0.42802, - 0.7149765298922113,0.5469201323683206,-0.4355306617287044, 0.710903,0.547815,-0.423971, - 0.53575238786075,0.4070954925393013,-0.7397596718753998, 0.532794,0.406665,-0.732486, - 0.4114335427191056,0.7237704094371225,-0.5539664332168072, 0.416632,0.708946,-0.555754, - 0.7395654932385209,0.4068071878816575,-0.5362375482569743, 0.732004,0.406099,-0.533884, - 0.1733505144855424,0.905595278989113,-0.3871004918551286, 0.169078,0.903162,-0.374492, - 0.1733589218084804,0.3871689197164382,-0.9055626917968785, 0.169773,0.374408,-0.902997, - 0.3873602066341191,0.1731943373187928,-0.9055121582797161, 0.3747,0.168959,-0.9031, - 0.9056298008796511,0.3871159275578428,-0.1731355639697386, 0.90306,0.374362,-0.169588, - 0.9056444523434659,0.1732045460361161,-0.3870507898021157, 0.903208,0.168967,-0.374449, - 0.3873220011234146,0.9055331419120227,-0.1731802429646654, 0.374523,0.902984,-0.169611, - 0.1388155768430232,0.7002810696448952,-0.7002404718826034, 0.143753,0.694555,-0.694319, - 0.7004185930032947,0.138734782254702,-0.7001189769299865, 0.694004,0.147649,-0.693803, - 0.7003427867535132,0.7002193581288997,-0.1386105320334892, 0.694354,0.69428,-0.144644 -} -{ - 3, 26,40,21, - 3, 21,42,26, - 3, 37,41,21, - 3, 25,41,37, - 3, 6,32,7, - 3, 16,28,17, - 3, 4,30,5, - 3, 12,33,13, - 3, 18,31,19, - 3, 10,29,11, - 3, 0,34,3, - 3, 2,36,15, - 3, 8,35,1, - 3, 20,34,0, - 3, 1,35,9, - 3, 14,36,2, - 3, 38,39,21, - 3, 27,39,38, - 3, 23,39,30, - 3, 30,39,27, - 3, 25,37,33, - 3, 33,37,22, - 3, 27,38,32, - 3, 32,38,24, - 3, 21,40,37, - 3, 39,42,21, - 3, 21,41,38, - 3, 6,51,32, - 3, 12,49,33, - 3, 30,51,5, - 3, 28,50,17, - 3, 18,50,31, - 3, 29,49,11, - 3, 33,49,25, - 3, 32,51,27, - 3, 26,50,28, - 3, 27,51,30, - 3, 25,49,29, - 3, 31,50,26, - 3, 28,45,22, - 3, 22,44,33, - 3, 30,46,23, - 3, 29,43,24, - 3, 23,47,31, - 3, 24,48,32, - 3, 34,47,23, - 3, 23,46,34, - 3, 36,44,22, - 3, 35,48,24, - 3, 22,45,36, - 3, 24,43,35, - 3, 11,49,12, - 3, 17,50,18, - 3, 5,51,6, - 3, 28,40,26, - 3, 22,40,28, - 3, 29,41,25, - 3, 24,41,29, - 3, 31,42,23, - 3, 26,42,31, - 3, 13,44,14, - 3, 3,46,4, - 3, 19,47,20, - 3, 15,45,16, - 3, 9,43,10, - 3, 7,48,8, - 3, 20,47,34, - 3, 34,46,3, - 3, 8,48,35, - 3, 36,45,15, - 3, 14,44,36, - 3, 35,43,9, - 3, 16,45,28, - 3, 10,43,29, - 3, 4,46,30, - 3, 33,44,13, - 3, 31,47,19, - 3, 32,48,7, - 3, 37,40,22, - 3, 38,41,24, - 3, 23,42,39 -}; -Discrete Surface {24} = {52, 81} -{ - -1,0,0, -0.984755,-0.122457,-0.122463, - 0,-1,0, -0.12238,-0.984777,-0.122379, - 0,0,-1, -0.122475,-0.122464,-0.984752, - -0.9749279121818258,-0.2225209339563045,0, -0.959968,-0.239895,-0.104677, - -0.9009688679024271,-0.4338837391175415,0, -0.883383,-0.450128,-0.085816, - -0.781831482468043,-0.6234898018587169,0, -0.778628,-0.614372,-0.0784089, - -0.6234898018587486,-0.7818314824680178,0, -0.614297,-0.778686,-0.0784088, - -0.4338837391175694,-0.9009688679024137,0, -0.450056,-0.883423,-0.0858103, - -0.2225209339563205,-0.9749279121818222,0, -0.23984,-0.959994,-0.104586, - 0,-0.2225209339563045,-0.9749279121818258, -0.104673,-0.239911,-0.959964, - 0,-0.4338837391175415,-0.9009688679024271, -0.0858323,-0.450145,-0.883372, - 0,-0.6234898018587169,-0.781831482468043, -0.0784191,-0.614353,-0.77864, - 0,-0.7818314824680178,-0.6234898018587486, -0.0784002,-0.778685,-0.614297, - 0,-0.9009688679024137,-0.4338837391175694, -0.0858292,-0.883419,-0.45006, - 0,-0.9749279121818222,-0.2225209339563205, -0.104591,-0.959988,-0.239861, - -0.9749279121818258,0,-0.2225209339563045, -0.959977,-0.104727,-0.239848, - -0.9009688679024271,0,-0.4338837391175415, -0.883394,-0.0859542,-0.450084, - -0.781831482468043,0,-0.6234898018587169, -0.778689,-0.078595,-0.614274, - -0.6234898018587486,0,-0.7818314824680178, -0.614325,-0.0786109,-0.778648, - -0.4338837391175694,0,-0.9009688679024137, -0.450137,-0.0860079,-0.88336, - -0.2225209339563205,0,-0.9749279121818222, -0.239876,-0.104783,-0.959964, - -0.5772695775917365,-0.5774986739195732,-0.5772825273712237, -0.572829,-0.573034,-0.572828, - -0.84196313047808,-0.3798992890913108,-0.3831141478399601, -0.840278,-0.373299,-0.374229, - -0.3797028243146233,-0.3833437635931001,-0.8419485314296209, -0.373117,-0.374476,-0.840248, - -0.3830905136777825,-0.8420998695293594,-0.3796175286407161, -0.374224,-0.840396,-0.373037, - -0.6753243551337411,-0.3027731950622603,-0.6725068152847703, -0.670524,-0.29472,-0.670165, - -0.3024772074324191,-0.6727371886460419,-0.6752275372697392, -0.294427,-0.670395,-0.670421, - -0.6725743222424133,-0.6753769447274838,-0.3025058133900864, -0.670222,-0.670585,-0.294448, - -0.5292174927727776,-0.223002704946997,-0.8186583788936386, -0.536914,-0.211546,-0.806848, - -0.2226833000638701,-0.8188538710222593,-0.5290468905897465, -0.211316,-0.806997,-0.536795, - -0.8187203356570324,-0.5292761830240482,-0.2226365467199614, -0.806873,-0.536978,-0.21131, - -0.5290517759521769,-0.8188565804062726,-0.222661588303518, -0.537008,-0.808313,-0.207441, - -0.8188227158507502,-0.2229462044382169,-0.5289850478946116, -0.808267,-0.207645,-0.53699, - -0.2227325903706494,-0.529216153645598,-0.818734563716809, -0.207458,-0.537179,-0.808191, - -0.9399984230250011,-0.2413072965836146,-0.2411923648088554, -0.944542,-0.211063,-0.211058, - -0.2411511507515107,-0.2413837538184203,-0.939989370907213, -0.210971,-0.211188,-0.944532, - -0.2410801920780593,-0.9400774632642785,-0.2411117094251689, -0.211005,-0.944593,-0.210922, - -0.5517781426680181,-0.4314677981220309,-0.7137061349796773, -0.552685,-0.421761,-0.708133, - -0.4312103344164486,-0.7139098887588355,-0.5517157947663075, -0.421497,-0.708343,-0.552616, - -0.713714500400269,-0.5519227237848676,-0.4312689508095874, -0.708164,-0.552829,-0.421519, - -0.5521677488223272,-0.7257225329274983,-0.4104123781099352, -0.553538,-0.712452,-0.414159, - -0.4104405569192795,-0.5523732789308037,-0.7255496127965321, -0.414188,-0.553753,-0.71227, - -0.7256084869996465,-0.4106472382707756,-0.5521423580603867, -0.712318,-0.414404,-0.55353, - -0.3872356151275075,-0.1734669114635066,-0.9055152180479035, -0.374448,-0.169808,-0.90297, - -0.9055506771866307,-0.3872938960312142,-0.1731514081314203, -0.902993,-0.374505,-0.169607, - -0.3870718820895837,-0.9056522451436749,-0.1731075330771961, -0.374476,-0.903209,-0.168914, - -0.1731521009109305,-0.9056319794730243,-0.387098855501065, -0.169601,-0.903064,-0.37435, - -0.1731388911786651,-0.3873154164098633,-0.9055438671174173, -0.168933,-0.374662,-0.903122, - -0.9055868324173046,-0.1733653089407871,-0.3871136252027702, -0.903155,-0.169093,-0.374503, - -0.1386071422526729,-0.7003584662261064,-0.7002044007823989, -0.14361,-0.694399,-0.694511, - -0.7001839358065174,-0.7003668919256927,-0.1386677003494544, -0.694259,-0.694649,-0.14363, - -0.7003037139973485,-0.1389907216206266,-0.7001830726996985, -0.694609,-0.143845,-0.694244 -} -{ - 3, 37,21,42, - 3, 38,21,41, - 3, 39,21,40, - 3, 25,37,42, - 3, 26,38,41, - 3, 27,39,40, - 3, 16,17,32, - 3, 12,13,29, - 3, 10,11,33, - 3, 18,19,28, - 3, 5,4,30, - 3, 7,6,31, - 3, 3,0,34, - 3, 0,15,34, - 3, 14,1,36, - 3, 1,8,36, - 3, 20,2,35, - 3, 2,9,35, - 3, 27,30,39, - 3, 30,22,39, - 3, 29,24,38, - 3, 26,29,38, - 3, 28,23,37, - 3, 25,28,37, - 3, 21,39,42, - 3, 21,37,41, - 3, 21,38,40, - 3, 32,17,51, - 3, 33,11,49, - 3, 12,29,49, - 3, 31,6,50, - 3, 18,28,51, - 3, 5,30,50, - 3, 29,26,49, - 3, 26,33,49, - 3, 25,32,51, - 3, 27,31,50, - 3, 30,27,50, - 3, 28,25,51, - 3, 22,30,44, - 3, 23,28,43, - 3, 32,22,48, - 3, 24,29,46, - 3, 33,23,47, - 3, 31,24,45, - 3, 22,34,48, - 3, 34,22,44, - 3, 23,35,47, - 3, 35,23,43, - 3, 24,36,45, - 3, 36,24,46, - 3, 6,5,50, - 3, 11,12,49, - 3, 17,18,51, - 3, 31,27,40, - 3, 24,31,40, - 3, 23,33,41, - 3, 33,26,41, - 3, 32,25,42, - 3, 22,32,42, - 3, 19,20,43, - 3, 9,10,47, - 3, 13,14,46, - 3, 4,3,44, - 3, 15,16,48, - 3, 8,7,45, - 3, 20,35,43, - 3, 34,15,48, - 3, 35,9,47, - 3, 3,34,44, - 3, 14,36,46, - 3, 36,8,45, - 3, 28,19,43, - 3, 29,13,46, - 3, 30,4,44, - 3, 7,31,45, - 3, 10,33,47, - 3, 16,32,48, - 3, 38,24,40, - 3, 37,23,41, - 3, 39,22,42 -}; -Discrete Surface {26} = {52, 81} -{ - 1,0,0, 0.984748,-0.122489,0.122483, - 0,-1,0, 0.122431,-0.984763,0.122429, - 0,0,1, 0.122403,-0.12239,0.984772, - 0.2225209339563045,-0.9749279121818258,0, 0.239878,-0.959973,0.104693, - 0.4338837391175415,-0.9009688679024271,0, 0.450115,-0.883378,0.0859452, - 0.6234898018587169,-0.781831482468043,0, 0.61429,-0.778679,0.0785497, - 0.7818314824680178,-0.6234898018587486,0, 0.778657,-0.614318,0.0785558, - 0.9009688679024137,-0.4338837391175694,0, 0.883378,-0.450117,0.0859298, - 0.9749279121818222,-0.2225209339563205,0, 0.959974,-0.239848,0.104748, - 0,-0.9749279121818258,0.2225209339563045, 0.104646,-0.959975,0.239882, - 0,-0.9009688679024271,0.4338837391175415, 0.0858065,-0.88339,0.450117, - 0,-0.781831482468043,0.6234898018587169, 0.078391,-0.77863,0.614371, - 0,-0.6234898018587486,0.7818314824680178, 0.0783931,-0.6143,0.778685, - 0,-0.4338837391175694,0.9009688679024137, 0.0857936,-0.450092,0.883405, - 0,-0.2225209339563205,0.9749279121818222, 0.104571,-0.2399,0.959978, - 0.9749279121818258,0,0.2225209339563045, 0.959963,-0.104711,0.2399, - 0.9009688679024271,0,0.4338837391175415, 0.883367,-0.0858669,0.450149, - 0.781831482468043,0,0.6234898018587169, 0.778638,-0.0784803,0.61435, - 0.6234898018587486,0,0.7818314824680178, 0.614279,-0.0784977,0.778691, - 0.4338837391175694,0,0.9009688679024137, 0.450052,-0.0859335,0.883413, - 0.2225209339563205,0,0.9749279121818222, 0.239823,-0.104674,0.95999, - 0.5562362296434989,-0.5892873078556966,0.5859536739929354, 0.542234,-0.590133,0.58476, - 0.379631482535034,-0.8420001196937259,0.3832982928577649, 0.372536,-0.841989,0.371718, - 0.8419507438249342,-0.3832004904200074,0.3798425163456342, 0.839884,-0.374901,0.373385, - 0.3795997889605593,-0.383211584909677,0.8420527782719962, 0.372285,-0.37189,0.842032, - 0.6752432432178479,-0.6726190830865717,0.3027047098667921, 0.670068,-0.670571,0.294811, - 0.3217475856345757,-0.6695551673930269,0.6694582629265332, 0.32468,-0.663039,0.662877, - 0.6727481513444266,-0.3076078244196465,0.6728947610714556, 0.668462,-0.300768,0.669104, - 0.2226247189467654,-0.8187264055377613,0.5292717698247944, 0.207774,-0.808432,0.536662, - 0.5290976173389155,-0.8187546494143835,0.2229290562471527, 0.536748,-0.806972,0.211508, - 0.8187129126998818,-0.2227948663497247,0.529223427630523, 0.806682,-0.212467,0.536668, - 0.5290281209351817,-0.2228626208160659,0.8188172112032769, 0.536361,-0.212193,0.807001, - 0.8187477273741733,-0.5291154775816621,0.222916760083724, 0.808069,-0.537184,0.20782, - 0.2226542480795667,-0.5290616966468142,0.818852166628244, 0.207757,-0.536609,0.808474, - 0.2409822723092781,-0.2412752005135622,0.940060624027513, 0.210868,-0.211114,0.944579, - 0.2411660665082168,-0.940027817059061,0.241219060281517, 0.210959,-0.944555,0.21111, - 0.9399729757239932,-0.2412317021621468,0.2413671110554286, 0.944531,-0.211091,0.211075, - 0.5499299045673061,-0.7147438131086641,0.432109235416839, 0.550801,-0.710292,0.420844, - 0.711854847669069,-0.4366704490006968,0.5500741417728132, 0.705486,-0.428096,0.550875, - 0.5468451287458627,-0.4356145731504423,0.7149825268868089, 0.54774,-0.424071,0.710903, - 0.4070083452587269,-0.7398160510180921,0.5357390992397658, 0.406585,-0.732542,0.532777, - 0.4067327418520041,-0.536318187205414,0.739548386904055, 0.406009,-0.533962,0.731997, - 0.7237478007374487,-0.5539922097701387,0.4114386875478945, 0.708902,-0.555796,0.416652, - 0.1731283969129102,-0.9055730119909469,0.3872519582024065, 0.168922,-0.903145,0.374614, - 0.3870324919716934,-0.1733375755341491,0.905624870168757, 0.374298,-0.169729,0.903057, - 0.9055697866426881,-0.3871835396531574,0.1732982090449555, 0.903136,-0.374561,0.169059, - 0.9055351630461629,-0.1731964558613765,0.3873100293853463, 0.90298,-0.169646,0.374514, - 0.3871822963766067,-0.9055633174158891,0.1733347851191408, 0.37441,-0.903005,0.169731, - 0.1730639008743107,-0.3871909797468753,0.9056096742926176, 0.168871,-0.374569,0.903179, - 0.7002101296688213,-0.7003004695285231,0.1388707116337059, 0.69453,-0.694338,0.14378, - 0.138619816648913,-0.7001949480301813,0.7003653614764782, 0.147574,-0.693851,0.693976, - 0.7001878684342804,-0.1387563001500807,0.7003454592689502, 0.694236,-0.144732,0.694376 -} -{ - 3, 26,40,21, - 3, 21,41,26, - 3, 37,42,21, - 3, 25,42,37, - 3, 19,31,18, - 3, 12,33,13, - 3, 10,28,11, - 3, 17,30,16, - 3, 7,32,6, - 3, 5,29,4, - 3, 3,35,1, - 3, 1,35,9, - 3, 0,36,8, - 3, 15,36,0, - 3, 2,34,20, - 3, 14,34,2, - 3, 38,39,21, - 3, 27,39,38, - 3, 30,38,23, - 3, 27,38,30, - 3, 25,37,29, - 3, 29,37,22, - 3, 31,39,27, - 3, 24,39,31, - 3, 21,42,38, - 3, 21,40,37, - 3, 39,41,21, - 3, 32,49,6, - 3, 31,51,18, - 3, 12,50,33, - 3, 17,51,30, - 3, 28,50,11, - 3, 5,49,29, - 3, 25,49,32, - 3, 29,49,25, - 3, 26,50,28, - 3, 27,51,31, - 3, 30,51,27, - 3, 33,50,26, - 3, 28,43,22, - 3, 22,47,29, - 3, 23,46,30, - 3, 32,45,23, - 3, 31,44,24, - 3, 24,48,33, - 3, 23,45,36, - 3, 36,46,23, - 3, 35,47,22, - 3, 22,43,35, - 3, 34,48,24, - 3, 24,44,34, - 3, 6,49,5, - 3, 11,50,12, - 3, 18,51,17, - 3, 22,40,28, - 3, 28,40,26, - 3, 33,41,24, - 3, 26,41,33, - 3, 32,42,25, - 3, 23,42,32, - 3, 16,46,15, - 3, 9,43,10, - 3, 4,47,3, - 3, 20,44,19, - 3, 13,48,14, - 3, 8,45,7, - 3, 3,47,35, - 3, 35,43,9, - 3, 15,46,36, - 3, 34,44,20, - 3, 14,48,34, - 3, 36,45,8, - 3, 10,43,28, - 3, 29,47,4, - 3, 19,44,31, - 3, 30,46,16, - 3, 7,45,32, - 3, 33,48,13, - 3, 37,40,22, - 3, 38,42,23, - 3, 24,41,39 -}; -Discrete Surface {28} = {52, 81} -{ - 1,0,0, 0.984774,-0.122389,-0.122393, - 0,-1,0, 0.122454,-0.984755,-0.122467, - 0,0,-1, 0.122486,-0.122494,-0.984747, - 0.2225209339563045,-0.9749279121818258,0, 0.23992,-0.959962,-0.104663, - 0.4338837391175415,-0.9009688679024271,0, 0.450136,-0.883379,-0.0858171, - 0.6234898018587169,-0.781831482468043,0, 0.614354,-0.778641,-0.0784189, - 0.7818314824680178,-0.6234898018587486,0, 0.778675,-0.614308,-0.0784292, - 0.9009688679024137,-0.4338837391175694,0, 0.883406,-0.450083,-0.0858306, - 0.9749279121818222,-0.2225209339563205,0, 0.959983,-0.239876,-0.104599, - 0,-0.2225209339563045,-0.9749279121818258, 0.104803,-0.239888,-0.959958, - 0,-0.4338837391175415,-0.9009688679024271, 0.0859955,-0.45013,-0.883365, - 0,-0.6234898018587169,-0.781831482468043, 0.0785631,-0.614333,-0.778645, - 0,-0.7818314824680178,-0.6234898018587486, 0.0785609,-0.778691,-0.614273, - 0,-0.9009688679024137,-0.4338837391175694, 0.0859583,-0.883402,-0.450069, - 0,-0.9749279121818222,-0.2225209339563205, 0.104743,-0.959983,-0.23982, - 0.2225209339563045,0,-0.9749279121818258, 0.239936,-0.104748,-0.95995, - 0.4338837391175415,0,-0.9009688679024271, 0.450157,-0.085921,-0.883358, - 0.6234898018587169,0,-0.781831482468043, 0.614362,-0.0784803,-0.778627, - 0.7818314824680178,0,-0.6234898018587486, 0.778699,-0.0784265,-0.614278, - 0.9009688679024137,0,-0.4338837391175694, 0.883428,-0.0858381,-0.450042, - 0.9749279121818222,0,-0.2225209339563205, 0.959994,-0.104613,-0.239831, - 0.5859486929982002,-0.5563009588034338,-0.5892311706178661, 0.584664,-0.54239,-0.590085, - 0.3798761156615365,-0.8419770211980179,-0.3831065999020506, 0.373346,-0.839979,-0.374755, - 0.8420704125389167,-0.3796786979607712,-0.383094644398667, 0.841954,-0.372489,-0.371822, - 0.3833350412367143,-0.3797808232280372,-0.8419173192605161, 0.371763,-0.372683,-0.841907, - 0.3027033258366951,-0.6753351282855078,-0.6725274492042674, 0.294819,-0.67017,-0.670465, - 0.6694605502798633,-0.3218334946857595,-0.6695115915776017, 0.662882,-0.324766,-0.662993, - 0.6728906055049545,-0.6727865777354171,-0.3075328522558483, 0.669105,-0.668508,-0.300667, - 0.2229376938120609,-0.5292234361610151,-0.8186722443422245, 0.211522,-0.536849,-0.8069, - 0.8188224301906811,-0.5290888951853807,-0.2226989729452329, 0.80693,-0.53643,-0.212234, - 0.5292598840013308,-0.2228349609840075,-0.8186784285528107, 0.536685,-0.207895,-0.808383, - 0.8188781000679831,-0.2227000244022184,-0.5290023468392038, 0.808497,-0.207819,-0.536547, - 0.5292315452324026,-0.8187424707032278,-0.2226612607913472, 0.53667,-0.806753,-0.212263, - 0.2229354047206933,-0.8188187995996506,-0.5289956612149129, 0.20784,-0.808135,-0.537081, - 0.2413849643846921,-0.939997589368462,-0.2411178850030153, 0.211092,-0.944544,-0.211024, - 0.2413899272889897,-0.2412262733201097,-0.9399685098870656, 0.211201,-0.21102,-0.944515, - 0.9400661598943587,-0.2411616179419472,-0.2410743500634208, 0.944585,-0.210958,-0.211001, - 0.7142315096471628,-0.5472437518056613,-0.4363449729994669, 0.710604,-0.547987,-0.424232, - 0.4321029310497181,-0.5500433569490331,-0.7146603316993312, 0.420847,-0.55092,-0.710199, - 0.5499571522198194,-0.7124611202180825,-0.4358282623300991, 0.550728,-0.705807,-0.427783, - 0.5357429952408004,-0.4071444508634915,-0.739738301393453, 0.532784,-0.406721,-0.732467, - 0.7395001008498453,-0.4068052415678343,-0.5363309476189138, 0.731929,-0.406086,-0.533991, - 0.4114428622315243,-0.7238556309819232,-0.5538481830932669, 0.416682,-0.709032,-0.555603, - 0.1734858993751746,-0.3872646829086703,-0.9054991491993061, 0.169809,-0.374471,-0.902962, - 0.9056128840955302,-0.3871494556498503,-0.1731399981205132, 0.903047,-0.374391,-0.169595, - 0.9056529521501742,-0.1731707971395433,-0.3870414186073367, 0.90321,-0.168958,-0.374452, - 0.1733841403045848,-0.905602500481075,-0.3870685355629761, 0.169107,-0.903166,-0.37447, - 0.3873226864144086,-0.9055400783802825,-0.1731424385567425, 0.374525,-0.902989,-0.16959, - 0.3873657605401575,-0.1733389076302821,-0.9054840657624625, 0.374693,-0.169033,-0.903087, - 0.7004019174674438,-0.1386973009763194,-0.7001430826695609, 0.69399,-0.147637,-0.693819, - 0.1388894710103084,-0.7003205860102653,-0.7001862891258258, 0.143788,-0.694619,-0.694248, - 0.7003235576454836,-0.7002233653286996,-0.1386874614029438, 0.694362,-0.694268,-0.144673 -} -{ - 3, 21,26,41, - 3, 26,21,40, - 3, 38,21,42, - 3, 25,38,42, - 3, 13,12,33, - 3, 16,17,30, - 3, 11,10,28, - 3, 7,6,29, - 3, 5,4,32, - 3, 18,19,31, - 3, 9,2,35, - 3, 2,15,35, - 3, 1,14,34, - 3, 0,8,36, - 3, 3,1,34, - 3, 20,0,36, - 3, 21,37,39, - 3, 37,27,39, - 3, 27,32,39, - 3, 32,22,39, - 3, 23,29,37, - 3, 29,27,37, - 3, 28,24,38, - 3, 25,28,38, - 3, 21,39,42, - 3, 37,21,41, - 3, 21,38,40, - 3, 33,12,50, - 3, 30,17,49, - 3, 29,6,51, - 3, 18,31,49, - 3, 11,28,50, - 3, 5,32,51, - 3, 26,30,49, - 3, 25,33,50, - 3, 27,29,51, - 3, 28,25,50, - 3, 31,26,49, - 3, 32,27,51, - 3, 29,23,44, - 3, 23,31,45, - 3, 22,32,47, - 3, 33,22,46, - 3, 24,28,43, - 3, 30,24,48, - 3, 22,34,46, - 3, 34,22,47, - 3, 36,23,45, - 3, 23,36,44, - 3, 24,35,48, - 3, 35,24,43, - 3, 17,18,49, - 3, 6,5,51, - 3, 12,11,50, - 3, 30,26,40, - 3, 24,30,40, - 3, 26,31,41, - 3, 31,23,41, - 3, 22,33,42, - 3, 33,25,42, - 3, 10,9,43, - 3, 15,16,48, - 3, 4,3,47, - 3, 8,7,44, - 3, 19,20,45, - 3, 14,13,46, - 3, 9,35,43, - 3, 35,15,48, - 3, 3,34,47, - 3, 36,8,44, - 3, 20,36,45, - 3, 34,14,46, - 3, 28,10,43, - 3, 7,29,44, - 3, 31,19,45, - 3, 16,30,48, - 3, 32,4,47, - 3, 13,33,46, - 3, 38,24,40, - 3, 23,37,41, - 3, 39,22,42 -}; +Delete Physicals; + +// add a geometrical volume + +Surface Loop(29) = {28,26,16,14,20,24,22,18}; +Volume(30) = {29}; diff --git a/demos/sphere-surf.msh b/demos/sphere-surf.msh new file mode 100644 index 0000000000000000000000000000000000000000..ad9755ebf89e2e90b994d1393b3c647236c62b48 --- /dev/null +++ b/demos/sphere-surf.msh @@ -0,0 +1,1064 @@ +$NOD +326 +2 1 0 0 +3 0 1 0 +4 -1 0 0 +5 0 -1 0 +6 0 0 -1 +7 0 0 1 +8 0.9749279121818258 0.2225209339563045 0 +9 0.9009688679024271 0.4338837391175415 0 +10 0.781831482468043 0.6234898018587169 0 +11 0.6234898018587486 0.7818314824680178 0 +12 0.4338837391175694 0.9009688679024137 0 +13 0.2225209339563205 0.9749279121818222 0 +14 -0.2225209339563045 0.9749279121818258 0 +15 -0.4338837391175415 0.9009688679024271 0 +16 -0.6234898018587169 0.781831482468043 0 +17 -0.7818314824680178 0.6234898018587486 0 +18 -0.9009688679024137 0.4338837391175694 0 +19 -0.9749279121818222 0.2225209339563205 0 +20 -0.9749279121818258 -0.2225209339563045 0 +21 -0.9009688679024271 -0.4338837391175415 0 +22 -0.781831482468043 -0.6234898018587169 0 +23 -0.6234898018587486 -0.7818314824680178 0 +24 -0.4338837391175694 -0.9009688679024137 0 +25 -0.2225209339563205 -0.9749279121818222 0 +26 0.2225209339563045 -0.9749279121818258 0 +27 0.4338837391175415 -0.9009688679024271 0 +28 0.6234898018587169 -0.781831482468043 0 +29 0.7818314824680178 -0.6234898018587486 0 +30 0.9009688679024137 -0.4338837391175694 0 +31 0.9749279121818222 -0.2225209339563205 0 +32 0 0.9749279121818258 -0.2225209339563045 +33 0 0.9009688679024271 -0.4338837391175415 +34 0 0.781831482468043 -0.6234898018587169 +35 0 0.6234898018587486 -0.7818314824680178 +36 0 0.4338837391175694 -0.9009688679024137 +37 0 0.2225209339563205 -0.9749279121818222 +38 0 -0.2225209339563045 -0.9749279121818258 +39 0 -0.4338837391175415 -0.9009688679024271 +40 0 -0.6234898018587169 -0.781831482468043 +41 0 -0.7818314824680178 -0.6234898018587486 +42 0 -0.9009688679024137 -0.4338837391175694 +43 0 -0.9749279121818222 -0.2225209339563205 +44 0 -0.9749279121818258 0.2225209339563045 +45 0 -0.9009688679024271 0.4338837391175415 +46 0 -0.781831482468043 0.6234898018587169 +47 0 -0.6234898018587486 0.7818314824680178 +48 0 -0.4338837391175694 0.9009688679024137 +49 0 -0.2225209339563205 0.9749279121818222 +50 0 0.2225209339563045 0.9749279121818258 +51 0 0.4338837391175415 0.9009688679024271 +52 0 0.6234898018587169 0.781831482468043 +53 0 0.7818314824680178 0.6234898018587486 +54 0 0.9009688679024137 0.4338837391175694 +55 0 0.9749279121818222 0.2225209339563205 +56 0.9749279121818258 0 0.2225209339563045 +57 0.9009688679024271 0 0.4338837391175415 +58 0.781831482468043 0 0.6234898018587169 +59 0.6234898018587486 0 0.7818314824680178 +60 0.4338837391175694 0 0.9009688679024137 +61 0.2225209339563205 0 0.9749279121818222 +62 -0.2225209339563045 0 0.9749279121818258 +63 -0.4338837391175415 0 0.9009688679024271 +64 -0.6234898018587169 0 0.781831482468043 +65 -0.7818314824680178 0 0.6234898018587486 +66 -0.9009688679024137 0 0.4338837391175694 +67 -0.9749279121818222 0 0.2225209339563205 +68 -0.9749279121818258 0 -0.2225209339563045 +69 -0.9009688679024271 0 -0.4338837391175415 +70 -0.781831482468043 0 -0.6234898018587169 +71 -0.6234898018587486 0 -0.7818314824680178 +72 -0.4338837391175694 0 -0.9009688679024137 +73 -0.2225209339563205 0 -0.9749279121818222 +74 0.2225209339563045 0 -0.9749279121818258 +75 0.4338837391175415 0 -0.9009688679024271 +76 0.6234898018587169 0 -0.781831482468043 +77 0.7818314824680178 0 -0.6234898018587486 +78 0.9009688679024137 0 -0.4338837391175694 +79 0.9749279121818222 0 -0.2225209339563205 +80 -0.5563510131363865 0.5891913365526474 0.5859412249701538 +81 -0.8420396490396795 0.3830634023521231 0.3797808676698783 +82 -0.3798339505169332 0.8419039660392607 0.3833065117213258 +83 -0.3797253600454539 0.3830944029537457 0.8420518706843709 +84 -0.6753919245902565 0.672472844325763 0.3026979107737808 +85 -0.3218754731214902 0.6695561180725229 0.6693958339437879 +86 -0.6728325927539981 0.3074671081024881 0.6728746452087147 +87 -0.5292993303235405 0.8186255982747985 0.2229224350615393 +88 -0.8187957438348996 0.2226199084012708 0.5291641867450418 +89 -0.2227796568807776 0.5290641967745843 0.8188199683686377 +90 -0.5291126005877934 0.2227347916511525 0.8187991125945772 +91 -0.2228644638653538 0.8187181284284164 0.5291806711483696 +92 -0.8188650976802843 0.5289662361210328 0.222840695031449 +93 -0.2413111399348926 0.9399456419452581 0.2413944369774025 +94 -0.9400308625837783 0.2411047633180826 0.2412684687567402 +95 -0.2412555782973508 0.2410481643257406 0.9400486902217813 +96 -0.7119538381502901 0.4365391341902741 0.5500502935167957 +97 -0.5500945701675112 0.7146221593960822 0.4321001427018011 +98 -0.5469423456398116 0.4355031120810015 0.7149763189866385 +99 -0.4068237774364799 0.5362674037682693 0.7395347191745937 +100 -0.4071959581063569 0.7397418450163052 0.5357006446338911 +101 -0.7238608601175065 0.5538568359169417 0.4114219673645391 +102 -0.387338262855515 0.9054783182404259 0.173421383052493 +103 -0.1732777759107061 0.3870691149951774 0.9056226119645898 +104 -0.9056033827977032 0.1730510265700378 0.3872155155440856 +105 -0.9056547245159975 0.3870338671095289 0.173188644753235 +106 -0.3872181038881538 0.1731347990436712 0.9055862645269011 +107 -0.1733157885866541 0.9055130627573574 0.3873037773702063 +108 -0.1387159089663307 0.7001774912902294 0.7003638366054901 +109 -0.7003805613717944 0.7001268278826707 0.1388868398998138 +110 -0.7002399905549749 0.1385871413765045 0.7003267865022653 +111 -0.5891739597173604 -0.5859267582329895 0.5563846503928759 +112 -0.8419127444975067 -0.3832956880031617 0.3798278226832703 +113 -0.3830319266375962 -0.3798140560026974 0.8420379005840273 +114 -0.3830962287846832 -0.8420361401778793 0.3797583983098432 +115 -0.6724551411042631 -0.3026819813906181 0.675416689766084 +116 -0.3074593270180926 -0.672898715672147 0.6728120755921047 +117 -0.6694819429356987 -0.6694380360672032 0.3219419986716052 +118 -0.8186317970101905 -0.2228947190282516 0.5293044527516347 +119 -0.8186752178400962 -0.5292648531294992 0.2228237624690563 +120 -0.2225458354114695 -0.5292281668310217 0.8187740993566104 +121 -0.5289963636854366 -0.8188492010634111 0.2228267380169126 +122 -0.2227059204974404 -0.818813193627507 0.5291057278541499 +123 -0.5289072831516629 -0.2229228528648696 0.8188788376041078 +124 -0.9399854125748424 -0.2412485225886563 0.241301840040954 +125 -0.2411171591604495 -0.2411369205332241 0.9400615157423891 +126 -0.2411250692806426 -0.9400488545283774 0.2411780745495407 +127 -0.7146247227093602 -0.4320795897393267 0.5501079194131282 +128 -0.4365077211110331 -0.5500730988781458 0.7119554728198711 +129 -0.4355132027224509 -0.7149605088910298 0.5469549199588074 +130 -0.739722819915368 -0.5357169371269953 0.4072069959197624 +131 -0.5538319021633533 -0.4114410233267031 0.7238696011549567 +132 -0.536222691610783 -0.7395443154817047 0.4068654565608939 +133 -0.1731323186330627 -0.3871870186504138 0.9055980745823108 +134 -0.9055122870236548 -0.3872886711296661 0.1733637317090477 +135 -0.9054744348258696 -0.1733958397421412 0.3873627907066191 +136 -0.1731523847291243 -0.9056087016176271 0.387157763615347 +137 -0.3870917535634846 -0.9056091936898463 0.1732973275815335 +138 -0.3870543025771477 -0.1732581944706739 0.9056309552213407 +139 -0.7001111616130116 -0.1388450909573361 0.7004044976522603 +140 -0.1385903208504232 -0.7002963699986529 0.7002698352821806 +141 -0.7001375485780742 -0.700373566173228 0.1388680272517487 +142 0.5773975082211721 0.5772658431569984 0.5773874468883697 +143 0.3797485602057286 0.3830922972137126 0.8420410745751534 +144 0.3832767388182142 0.8419248558493657 0.3798176911490971 +145 0.8420170835457154 0.3795977373384021 0.3832972850096181 +146 0.3026571833356536 0.6724767521347996 0.6754062855619029 +147 0.6726904731290684 0.6752005624957614 0.3026412733956574 +148 0.6752694072280159 0.3024967167989908 0.6726863859444547 +149 0.2229137773738889 0.818629188910303 0.5292974232185897 +150 0.8187775028377696 0.2225862292360681 0.5292085498176807 +151 0.5291382686399343 0.2226582304778837 0.8188020734701312 +152 0.5291833920367963 0.8187257216634471 0.222830106180351 +153 0.8188036229545755 0.5290216888759822 0.2229405899875666 +154 0.2227915010233589 0.5289645632117742 0.8188795661928487 +155 0.2411833793097393 0.2411144071855667 0.940050224040975 +156 0.2413224491124619 0.9399707559051969 0.2412853177616952 +157 0.9400310943183324 0.2410528987544552 0.2413194009455931 +158 0.4313730843637155 0.7136827955596668 0.5518817835865384 +159 0.713827010318361 0.5516947649210976 0.4313743692757338 +160 0.5518003610587108 0.4312517423531107 0.7138195188682946 +161 0.5523084755418044 0.7255270998470831 0.4105676256138265 +162 0.7256174675725395 0.410401811892177 0.5523130339598187 +163 0.4105268835831876 0.552121102724671 0.7256927304941428 +164 0.1734007930103921 0.905482508392202 0.3873376832172581 +165 0.3871717518779475 0.1731157346343897 0.9056097267473995 +166 0.9055956496979217 0.3870715972956999 0.1734130921146891 +167 0.3872736887512665 0.9055241543510425 0.1733250710871884 +168 0.9055618366283053 0.1731245241546386 0.3872798216992269 +169 0.1731812158179551 0.3870480621949327 0.9056500786938431 +170 0.7002488228573803 0.1386915780636993 0.7002972798523552 +171 0.1388740971332977 0.7001122720230394 0.7003976384656098 +172 0.7003153309228675 0.7002045971493689 0.138823936986611 +173 -0.5893879580428182 0.5858474733326092 -0.5562414699741602 +174 -0.8420676034188912 0.3831776001275439 -0.3796036349133443 +175 -0.3832854644825078 0.8419879923855095 -0.3796741868285129 +176 -0.3833451742354813 0.3797875732454184 -0.8419072850272081 +177 -0.6726926174038673 0.3025837760254035 -0.6752241883127346 +178 -0.6696685957970373 0.6693344717392071 -0.3217690837960243 +179 -0.3077262804727168 0.6728336329442314 -0.6727551165482694 +180 -0.818826677556628 0.2227600018553431 -0.5290596905098209 +181 -0.8188213780920877 0.5291322482695965 -0.22260154031294 +182 -0.222917078188717 0.8187693639884328 -0.529084613153564 +183 -0.2229647660528292 0.5291603643361042 -0.8187039435978214 +184 -0.529180413377845 0.8187475575528992 -0.2227631932775632 +185 -0.5291958652372423 0.2228532421373683 -0.818711324033881 +186 -0.2413448069238479 0.2412385734077831 -0.9399770141298913 +187 -0.2413284655822042 0.939999694145296 -0.2411662460613576 +188 -0.9400606467506419 0.2411578154404622 -0.2410993405482855 +189 -0.714827673344605 0.4319866040212881 -0.5499172305445864 +190 -0.4365224164682918 0.7141474013804089 -0.5472126039706944 +191 -0.436005803133462 0.5498864103046268 -0.7124070994686148 +192 -0.7399033033139369 0.5356117749852135 -0.4070173865665636 +193 -0.5364975655684501 0.7393967586510092 -0.406771268016907 +194 -0.5540393011783294 0.4113729089503583 -0.7237495984347924 +195 -0.9056288813092817 0.3871461718451766 -0.1730727337686621 +196 -0.1733450347435898 0.9055759351131357 -0.3871481982061028 +197 -0.9056169924196077 0.1732289551666146 -0.387104111486262 +198 -0.3872713263411691 0.9055614026992059 -0.1731457965186272 +199 -0.173496184263821 0.3872477854449849 -0.905502471718279 +200 -0.3873059041793304 0.1733274642458965 -0.9055101365173267 +201 -0.7003137941471791 0.1387336794161172 -0.7002239751185544 +202 -0.7003005030275156 0.7002562852844972 -0.1386376150025851 +203 -0.138892797652994 0.7002951312474406 -0.7002111438391035 +204 0.5859391712886065 0.5563256584048392 -0.5892173192941191 +205 0.3833480208274531 0.379695987305025 -0.8419472976831952 +206 0.8420645922398214 0.3797061412567955 -0.3830854925216411 +207 0.3798087346788101 0.8419883069517581 -0.3831486133886693 +208 0.3026754046034515 0.6752595066698167 -0.6726159390479917 +209 0.6694647709091803 0.3218490312764669 -0.6694999025551025 +210 0.6728998724979469 0.6727945852345686 -0.3074950670804557 +211 0.5292998471455702 0.2227124424393522 -0.818682457498219 +212 0.2228583430834042 0.8187642833724724 -0.5291148264573806 +213 0.818836191976977 0.5290847461902158 -0.2226646459448115 +214 0.8188754936591693 0.2227548200221398 -0.5289887211177093 +215 0.5291830608152351 0.8187376007865073 -0.2227888180759134 +216 0.2229847307409096 0.5291030287822968 -0.8187355237676126 +217 0.9400876615466238 0.2410968941290492 -0.2410549477979327 +218 0.2413642744151451 0.9400181742343745 -0.2410583387083743 +219 0.2413825517047067 0.2411868212365993 -0.9399806012736452 +220 0.4321236687492747 0.5499831336456151 -0.7146937040565199 +221 0.5500676303804031 0.7119168204212273 -0.4365776580762989 +222 0.7149765298922113 0.5469201323683206 -0.4355306617287044 +223 0.53575238786075 0.4070954925393013 -0.7397596718753998 +224 0.4114335427191056 0.7237704094371225 -0.5539664332168072 +225 0.7395654932385209 0.4068071878816575 -0.5362375482569743 +226 0.1733505144855424 0.905595278989113 -0.3871004918551286 +227 0.1733589218084804 0.3871689197164382 -0.9055626917968785 +228 0.3873602066341191 0.1731943373187928 -0.9055121582797161 +229 0.9056298008796511 0.3871159275578428 -0.1731355639697386 +230 0.9056444523434659 0.1732045460361161 -0.3870507898021157 +231 0.3873220011234146 0.9055331419120227 -0.1731802429646654 +232 0.1388155768430232 0.7002810696448952 -0.7002404718826034 +233 0.7004185930032947 0.138734782254702 -0.7001189769299865 +234 0.7003427867535132 0.7002193581288997 -0.1386105320334892 +235 -0.5772695775917365 -0.5774986739195732 -0.5772825273712237 +236 -0.84196313047808 -0.3798992890913108 -0.3831141478399601 +237 -0.3797028243146233 -0.3833437635931001 -0.8419485314296209 +238 -0.3830905136777825 -0.8420998695293594 -0.3796175286407161 +239 -0.6753243551337411 -0.3027731950622603 -0.6725068152847703 +240 -0.3024772074324191 -0.6727371886460419 -0.6752275372697392 +241 -0.6725743222424133 -0.6753769447274838 -0.3025058133900864 +242 -0.5292174927727776 -0.223002704946997 -0.8186583788936386 +243 -0.2226833000638701 -0.8188538710222593 -0.5290468905897465 +244 -0.8187203356570324 -0.5292761830240482 -0.2226365467199614 +245 -0.5290517759521769 -0.8188565804062726 -0.222661588303518 +246 -0.8188227158507502 -0.2229462044382169 -0.5289850478946116 +247 -0.2227325903706494 -0.529216153645598 -0.818734563716809 +248 -0.9399984230250011 -0.2413072965836146 -0.2411923648088554 +249 -0.2411511507515107 -0.2413837538184203 -0.939989370907213 +250 -0.2410801920780593 -0.9400774632642785 -0.2411117094251689 +251 -0.5517781426680181 -0.4314677981220309 -0.7137061349796773 +252 -0.4312103344164486 -0.7139098887588355 -0.5517157947663075 +253 -0.713714500400269 -0.5519227237848676 -0.4312689508095874 +254 -0.5521677488223272 -0.7257225329274983 -0.4104123781099352 +255 -0.4104405569192795 -0.5523732789308037 -0.7255496127965321 +256 -0.7256084869996465 -0.4106472382707756 -0.5521423580603867 +257 -0.3872356151275075 -0.1734669114635066 -0.9055152180479035 +258 -0.9055506771866307 -0.3872938960312142 -0.1731514081314203 +259 -0.3870718820895837 -0.9056522451436749 -0.1731075330771961 +260 -0.1731521009109305 -0.9056319794730243 -0.387098855501065 +261 -0.1731388911786651 -0.3873154164098633 -0.9055438671174173 +262 -0.9055868324173046 -0.1733653089407871 -0.3871136252027702 +263 -0.1386071422526729 -0.7003584662261064 -0.7002044007823989 +264 -0.7001839358065174 -0.7003668919256927 -0.1386677003494544 +265 -0.7003037139973485 -0.1389907216206266 -0.7001830726996985 +266 0.5562362296434989 -0.5892873078556966 0.5859536739929354 +267 0.379631482535034 -0.8420001196937259 0.3832982928577649 +268 0.8419507438249342 -0.3832004904200074 0.3798425163456342 +269 0.3795997889605593 -0.383211584909677 0.8420527782719962 +270 0.6752432432178479 -0.6726190830865717 0.3027047098667921 +271 0.3217475856345757 -0.6695551673930269 0.6694582629265332 +272 0.6727481513444266 -0.3076078244196465 0.6728947610714556 +273 0.2226247189467654 -0.8187264055377613 0.5292717698247944 +274 0.5290976173389155 -0.8187546494143835 0.2229290562471527 +275 0.8187129126998818 -0.2227948663497247 0.529223427630523 +276 0.5290281209351817 -0.2228626208160659 0.8188172112032769 +277 0.8187477273741733 -0.5291154775816621 0.222916760083724 +278 0.2226542480795667 -0.5290616966468142 0.818852166628244 +279 0.2409822723092781 -0.2412752005135622 0.940060624027513 +280 0.2411660665082168 -0.940027817059061 0.241219060281517 +281 0.9399729757239932 -0.2412317021621468 0.2413671110554286 +282 0.5499299045673061 -0.7147438131086641 0.432109235416839 +283 0.711854847669069 -0.4366704490006968 0.5500741417728132 +284 0.5468451287458627 -0.4356145731504423 0.7149825268868089 +285 0.4070083452587269 -0.7398160510180921 0.5357390992397658 +286 0.4067327418520041 -0.536318187205414 0.739548386904055 +287 0.7237478007374487 -0.5539922097701387 0.4114386875478945 +288 0.1731283969129102 -0.9055730119909469 0.3872519582024065 +289 0.3870324919716934 -0.1733375755341491 0.905624870168757 +290 0.9055697866426881 -0.3871835396531574 0.1732982090449555 +291 0.9055351630461629 -0.1731964558613765 0.3873100293853463 +292 0.3871822963766067 -0.9055633174158891 0.1733347851191408 +293 0.1730639008743107 -0.3871909797468753 0.9056096742926176 +294 0.7002101296688213 -0.7003004695285231 0.1388707116337059 +295 0.138619816648913 -0.7001949480301813 0.7003653614764782 +296 0.7001878684342804 -0.1387563001500807 0.7003454592689502 +297 0.5859486929982002 -0.5563009588034338 -0.5892311706178661 +298 0.3798761156615365 -0.8419770211980179 -0.3831065999020506 +299 0.8420704125389167 -0.3796786979607712 -0.383094644398667 +300 0.3833350412367143 -0.3797808232280372 -0.8419173192605161 +301 0.3027033258366951 -0.6753351282855078 -0.6725274492042674 +302 0.6694605502798633 -0.3218334946857595 -0.6695115915776017 +303 0.6728906055049545 -0.6727865777354171 -0.3075328522558483 +304 0.2229376938120609 -0.5292234361610151 -0.8186722443422245 +305 0.8188224301906811 -0.5290888951853807 -0.2226989729452329 +306 0.5292598840013308 -0.2228349609840075 -0.8186784285528107 +307 0.8188781000679831 -0.2227000244022184 -0.5290023468392038 +308 0.5292315452324026 -0.8187424707032278 -0.2226612607913472 +309 0.2229354047206933 -0.8188187995996506 -0.5289956612149129 +310 0.2413849643846921 -0.939997589368462 -0.2411178850030153 +311 0.2413899272889897 -0.2412262733201097 -0.9399685098870656 +312 0.9400661598943587 -0.2411616179419472 -0.2410743500634208 +313 0.7142315096471628 -0.5472437518056613 -0.4363449729994669 +314 0.4321029310497181 -0.5500433569490331 -0.7146603316993312 +315 0.5499571522198194 -0.7124611202180825 -0.4358282623300991 +316 0.5357429952408004 -0.4071444508634915 -0.739738301393453 +317 0.7395001008498453 -0.4068052415678343 -0.5363309476189138 +318 0.4114428622315243 -0.7238556309819232 -0.5538481830932669 +319 0.1734858993751746 -0.3872646829086703 -0.9054991491993061 +320 0.9056128840955302 -0.3871494556498503 -0.1731399981205132 +321 0.9056529521501742 -0.1731707971395433 -0.3870414186073367 +322 0.1733841403045848 -0.905602500481075 -0.3870685355629761 +323 0.3873226864144086 -0.9055400783802825 -0.1731424385567425 +324 0.3873657605401575 -0.1733389076302821 -0.9054840657624625 +325 0.7004019174674438 -0.1386973009763194 -0.7001430826695609 +326 0.1388894710103084 -0.7003205860102653 -0.7001862891258258 +327 0.7003235576454836 -0.7002233653286996 -0.1386874614029438 +$ENDNOD +$ELM +732 +1 1 1 1 2 2 8 +2 1 1 1 2 8 9 +3 1 1 1 2 9 10 +4 1 1 1 2 10 11 +5 1 1 1 2 11 12 +6 1 1 1 2 12 13 +7 1 1 1 2 13 3 +8 1 2 2 2 3 14 +9 1 2 2 2 14 15 +10 1 2 2 2 15 16 +11 1 2 2 2 16 17 +12 1 2 2 2 17 18 +13 1 2 2 2 18 19 +14 1 2 2 2 19 4 +15 1 3 3 2 4 20 +16 1 3 3 2 20 21 +17 1 3 3 2 21 22 +18 1 3 3 2 22 23 +19 1 3 3 2 23 24 +20 1 3 3 2 24 25 +21 1 3 3 2 25 5 +22 1 4 4 2 5 26 +23 1 4 4 2 26 27 +24 1 4 4 2 27 28 +25 1 4 4 2 28 29 +26 1 4 4 2 29 30 +27 1 4 4 2 30 31 +28 1 4 4 2 31 2 +29 1 5 5 2 3 32 +30 1 5 5 2 32 33 +31 1 5 5 2 33 34 +32 1 5 5 2 34 35 +33 1 5 5 2 35 36 +34 1 5 5 2 36 37 +35 1 5 5 2 37 6 +36 1 6 6 2 6 38 +37 1 6 6 2 38 39 +38 1 6 6 2 39 40 +39 1 6 6 2 40 41 +40 1 6 6 2 41 42 +41 1 6 6 2 42 43 +42 1 6 6 2 43 5 +43 1 7 7 2 5 44 +44 1 7 7 2 44 45 +45 1 7 7 2 45 46 +46 1 7 7 2 46 47 +47 1 7 7 2 47 48 +48 1 7 7 2 48 49 +49 1 7 7 2 49 7 +50 1 8 8 2 7 50 +51 1 8 8 2 50 51 +52 1 8 8 2 51 52 +53 1 8 8 2 52 53 +54 1 8 8 2 53 54 +55 1 8 8 2 54 55 +56 1 8 8 2 55 3 +57 1 9 9 2 2 56 +58 1 9 9 2 56 57 +59 1 9 9 2 57 58 +60 1 9 9 2 58 59 +61 1 9 9 2 59 60 +62 1 9 9 2 60 61 +63 1 9 9 2 61 7 +64 1 10 10 2 7 62 +65 1 10 10 2 62 63 +66 1 10 10 2 63 64 +67 1 10 10 2 64 65 +68 1 10 10 2 65 66 +69 1 10 10 2 66 67 +70 1 10 10 2 67 4 +71 1 11 11 2 4 68 +72 1 11 11 2 68 69 +73 1 11 11 2 69 70 +74 1 11 11 2 70 71 +75 1 11 11 2 71 72 +76 1 11 11 2 72 73 +77 1 11 11 2 73 6 +78 1 12 12 2 6 74 +79 1 12 12 2 74 75 +80 1 12 12 2 75 76 +81 1 12 12 2 76 77 +82 1 12 12 2 77 78 +83 1 12 12 2 78 79 +84 1 12 12 2 79 2 +85 2 14 14 3 80 85 100 +86 2 14 14 3 85 80 99 +87 2 14 14 3 80 97 101 +88 2 14 14 3 97 84 101 +89 2 14 14 3 66 65 88 +90 2 14 14 3 53 54 91 +91 2 14 14 3 64 63 90 +92 2 14 14 3 17 18 92 +93 2 14 14 3 15 16 87 +94 2 14 14 3 51 52 89 +95 2 14 14 3 55 3 93 +96 2 14 14 3 3 14 93 +97 2 14 14 3 62 7 95 +98 2 14 14 3 7 50 95 +99 2 14 14 3 4 67 94 +100 2 14 14 3 19 4 94 +101 2 14 14 3 96 86 98 +102 2 14 14 3 80 96 98 +103 2 14 14 3 88 86 96 +104 2 14 14 3 81 88 96 +105 2 14 14 3 87 84 97 +106 2 14 14 3 82 87 97 +107 2 14 14 3 86 90 98 +108 2 14 14 3 90 83 98 +109 2 14 14 3 96 80 101 +110 2 14 14 3 97 80 100 +111 2 14 14 3 80 98 99 +112 2 14 14 3 53 91 108 +113 2 14 14 3 88 65 110 +114 2 14 14 3 64 90 110 +115 2 14 14 3 17 92 109 +116 2 14 14 3 89 52 108 +117 2 14 14 3 87 16 109 +118 2 14 14 3 91 85 108 +119 2 14 14 3 86 88 110 +120 2 14 14 3 90 86 110 +121 2 14 14 3 85 89 108 +122 2 14 14 3 84 87 109 +123 2 14 14 3 92 84 109 +124 2 14 14 3 88 81 104 +125 2 14 14 3 81 92 105 +126 2 14 14 3 87 82 102 +127 2 14 14 3 82 91 107 +128 2 14 14 3 89 83 103 +129 2 14 14 3 83 90 106 +130 2 14 14 3 94 81 105 +131 2 14 14 3 81 94 104 +132 2 14 14 3 93 82 107 +133 2 14 14 3 82 93 102 +134 2 14 14 3 95 83 106 +135 2 14 14 3 83 95 103 +136 2 14 14 3 52 53 108 +137 2 14 14 3 16 17 109 +138 2 14 14 3 65 64 110 +139 2 14 14 3 83 89 99 +140 2 14 14 3 89 85 99 +141 2 14 14 3 85 91 100 +142 2 14 14 3 91 82 100 +143 2 14 14 3 84 92 101 +144 2 14 14 3 92 81 101 +145 2 14 14 3 14 15 102 +146 2 14 14 3 18 19 105 +147 2 14 14 3 50 51 103 +148 2 14 14 3 63 62 106 +149 2 14 14 3 54 55 107 +150 2 14 14 3 67 66 104 +151 2 14 14 3 93 14 102 +152 2 14 14 3 95 50 103 +153 2 14 14 3 55 93 107 +154 2 14 14 3 62 95 106 +155 2 14 14 3 19 94 105 +156 2 14 14 3 94 67 104 +157 2 14 14 3 15 87 102 +158 2 14 14 3 66 88 104 +159 2 14 14 3 51 89 103 +160 2 14 14 3 90 63 106 +161 2 14 14 3 92 18 105 +162 2 14 14 3 91 54 107 +163 2 14 14 3 98 83 99 +164 2 14 14 3 82 97 100 +165 2 14 14 3 81 96 101 +166 2 16 16 3 117 111 130 +167 2 16 16 3 111 117 132 +168 2 16 16 3 127 111 131 +169 2 16 16 3 115 127 131 +170 2 16 16 3 21 22 119 +171 2 16 16 3 45 46 122 +172 2 16 16 3 23 24 121 +173 2 16 16 3 63 64 123 +174 2 16 16 3 65 66 118 +175 2 16 16 3 47 48 120 +176 2 16 16 3 7 62 125 +177 2 16 16 3 49 7 125 +178 2 16 16 3 4 20 124 +179 2 16 16 3 67 4 124 +180 2 16 16 3 25 5 126 +181 2 16 16 3 5 44 126 +182 2 16 16 3 116 128 129 +183 2 16 16 3 128 111 129 +184 2 16 16 3 116 120 128 +185 2 16 16 3 120 113 128 +186 2 16 16 3 115 118 127 +187 2 16 16 3 118 112 127 +188 2 16 16 3 122 116 129 +189 2 16 16 3 114 122 129 +190 2 16 16 3 111 128 131 +191 2 16 16 3 111 127 130 +192 2 16 16 3 129 111 132 +193 2 16 16 3 122 46 140 +194 2 16 16 3 123 64 139 +195 2 16 16 3 23 121 141 +196 2 16 16 3 119 22 141 +197 2 16 16 3 65 118 139 +198 2 16 16 3 47 120 140 +199 2 16 16 3 118 115 139 +200 2 16 16 3 116 122 140 +201 2 16 16 3 115 123 139 +202 2 16 16 3 117 119 141 +203 2 16 16 3 120 116 140 +204 2 16 16 3 121 117 141 +205 2 16 16 3 112 118 135 +206 2 16 16 3 119 112 134 +207 2 16 16 3 113 120 133 +208 2 16 16 3 123 113 138 +209 2 16 16 3 114 121 137 +210 2 16 16 3 122 114 136 +211 2 16 16 3 113 125 138 +212 2 16 16 3 112 124 134 +213 2 16 16 3 124 112 135 +214 2 16 16 3 125 113 133 +215 2 16 16 3 114 126 136 +216 2 16 16 3 126 114 137 +217 2 16 16 3 64 65 139 +218 2 16 16 3 46 47 140 +219 2 16 16 3 22 23 141 +220 2 16 16 3 112 119 130 +221 2 16 16 3 119 117 130 +222 2 16 16 3 121 114 132 +223 2 16 16 3 117 121 132 +224 2 16 16 3 113 123 131 +225 2 16 16 3 123 115 131 +226 2 16 16 3 24 25 137 +227 2 16 16 3 44 45 136 +228 2 16 16 3 66 67 135 +229 2 16 16 3 62 63 138 +230 2 16 16 3 48 49 133 +231 2 16 16 3 20 21 134 +232 2 16 16 3 67 124 135 +233 2 16 16 3 25 126 137 +234 2 16 16 3 124 20 134 +235 2 16 16 3 49 125 133 +236 2 16 16 3 125 62 138 +237 2 16 16 3 126 44 136 +238 2 16 16 3 118 66 135 +239 2 16 16 3 120 48 133 +240 2 16 16 3 21 119 134 +241 2 16 16 3 121 24 137 +242 2 16 16 3 45 122 136 +243 2 16 16 3 63 123 138 +244 2 16 16 3 127 112 130 +245 2 16 16 3 128 113 131 +246 2 16 16 3 114 129 132 +247 2 18 18 3 158 163 142 +248 2 18 18 3 159 161 142 +249 2 18 18 3 160 162 142 +250 2 18 18 3 146 163 158 +251 2 18 18 3 147 161 159 +252 2 18 18 3 148 162 160 +253 2 18 18 3 10 153 9 +254 2 18 18 3 12 152 11 +255 2 18 18 3 53 149 54 +256 2 18 18 3 51 154 52 +257 2 18 18 3 57 150 58 +258 2 18 18 3 59 151 60 +259 2 18 18 3 61 155 7 +260 2 18 18 3 7 155 50 +261 2 18 18 3 8 157 2 +262 2 18 18 3 3 156 13 +263 2 18 18 3 2 157 56 +264 2 18 18 3 55 156 3 +265 2 18 18 3 148 160 151 +266 2 18 18 3 151 160 143 +267 2 18 18 3 146 158 149 +268 2 18 18 3 149 158 144 +269 2 18 18 3 153 159 145 +270 2 18 18 3 147 159 153 +271 2 18 18 3 142 163 160 +272 2 18 18 3 142 161 158 +273 2 18 18 3 142 162 159 +274 2 18 18 3 10 172 153 +275 2 18 18 3 152 172 11 +276 2 18 18 3 154 171 52 +277 2 18 18 3 53 171 149 +278 2 18 18 3 59 170 151 +279 2 18 18 3 150 170 58 +280 2 18 18 3 153 172 147 +281 2 18 18 3 149 171 146 +282 2 18 18 3 147 172 152 +283 2 18 18 3 151 170 148 +284 2 18 18 3 148 170 150 +285 2 18 18 3 146 171 154 +286 2 18 18 3 143 165 151 +287 2 18 18 3 154 169 143 +288 2 18 18 3 144 164 149 +289 2 18 18 3 152 167 144 +290 2 18 18 3 150 168 145 +291 2 18 18 3 145 166 153 +292 2 18 18 3 143 169 155 +293 2 18 18 3 155 165 143 +294 2 18 18 3 144 167 156 +295 2 18 18 3 156 164 144 +296 2 18 18 3 157 166 145 +297 2 18 18 3 145 168 157 +298 2 18 18 3 58 170 59 +299 2 18 18 3 11 172 10 +300 2 18 18 3 52 171 53 +301 2 18 18 3 150 162 148 +302 2 18 18 3 145 162 150 +303 2 18 18 3 144 161 152 +304 2 18 18 3 152 161 147 +305 2 18 18 3 143 163 154 +306 2 18 18 3 154 163 146 +307 2 18 18 3 50 169 51 +308 2 18 18 3 13 167 12 +309 2 18 18 3 60 165 61 +310 2 18 18 3 54 164 55 +311 2 18 18 3 9 166 8 +312 2 18 18 3 56 168 57 +313 2 18 18 3 61 165 155 +314 2 18 18 3 156 167 13 +315 2 18 18 3 155 169 50 +316 2 18 18 3 55 164 156 +317 2 18 18 3 157 168 56 +318 2 18 18 3 8 166 157 +319 2 18 18 3 149 164 54 +320 2 18 18 3 151 165 60 +321 2 18 18 3 57 168 150 +322 2 18 18 3 153 166 9 +323 2 18 18 3 12 167 152 +324 2 18 18 3 51 169 154 +325 2 18 18 3 158 161 144 +326 2 18 18 3 159 162 145 +327 2 18 18 3 160 163 143 +328 2 20 20 3 178 173 192 +329 2 20 20 3 173 178 193 +330 2 20 20 3 189 173 194 +331 2 20 20 3 177 189 194 +332 2 20 20 3 35 36 183 +333 2 20 20 3 70 69 180 +334 2 20 20 3 18 17 181 +335 2 20 20 3 72 71 185 +336 2 20 20 3 33 34 182 +337 2 20 20 3 16 15 184 +338 2 20 20 3 37 6 186 +339 2 20 20 3 6 73 186 +340 2 20 20 3 3 32 187 +341 2 20 20 3 4 19 188 +342 2 20 20 3 68 4 188 +343 2 20 20 3 14 3 187 +344 2 20 20 3 173 190 191 +345 2 20 20 3 190 179 191 +346 2 20 20 3 177 180 189 +347 2 20 20 3 180 174 189 +348 2 20 20 3 182 179 190 +349 2 20 20 3 175 182 190 +350 2 20 20 3 183 176 191 +351 2 20 20 3 179 183 191 +352 2 20 20 3 173 189 192 +353 2 20 20 3 190 173 193 +354 2 20 20 3 173 191 194 +355 2 20 20 3 185 71 201 +356 2 20 20 3 16 184 202 +357 2 20 20 3 35 183 203 +358 2 20 20 3 70 180 201 +359 2 20 20 3 182 34 203 +360 2 20 20 3 181 17 202 +361 2 20 20 3 180 177 201 +362 2 20 20 3 178 181 202 +363 2 20 20 3 183 179 203 +364 2 20 20 3 184 178 202 +365 2 20 20 3 179 182 203 +366 2 20 20 3 177 185 201 +367 2 20 20 3 174 180 197 +368 2 20 20 3 181 174 195 +369 2 20 20 3 182 175 196 +370 2 20 20 3 175 184 198 +371 2 20 20 3 176 183 199 +372 2 20 20 3 185 176 200 +373 2 20 20 3 176 186 200 +374 2 20 20 3 186 176 199 +375 2 20 20 3 187 175 198 +376 2 20 20 3 174 188 195 +377 2 20 20 3 175 187 196 +378 2 20 20 3 188 174 197 +379 2 20 20 3 71 70 201 +380 2 20 20 3 17 16 202 +381 2 20 20 3 34 35 203 +382 2 20 20 3 181 178 192 +383 2 20 20 3 174 181 192 +384 2 20 20 3 178 184 193 +385 2 20 20 3 184 175 193 +386 2 20 20 3 185 177 194 +387 2 20 20 3 176 185 194 +388 2 20 20 3 32 33 196 +389 2 20 20 3 73 72 200 +390 2 20 20 3 15 14 198 +391 2 20 20 3 36 37 199 +392 2 20 20 3 69 68 197 +393 2 20 20 3 19 18 195 +394 2 20 20 3 37 186 199 +395 2 20 20 3 186 73 200 +396 2 20 20 3 187 32 196 +397 2 20 20 3 68 188 197 +398 2 20 20 3 188 19 195 +399 2 20 20 3 14 187 198 +400 2 20 20 3 180 69 197 +401 2 20 20 3 18 181 195 +402 2 20 20 3 33 182 196 +403 2 20 20 3 183 36 199 +404 2 20 20 3 184 15 198 +405 2 20 20 3 72 185 200 +406 2 20 20 3 189 174 192 +407 2 20 20 3 175 190 193 +408 2 20 20 3 191 176 194 +409 2 22 22 3 209 223 204 +410 2 22 22 3 204 225 209 +411 2 22 22 3 220 224 204 +412 2 22 22 3 208 224 220 +413 2 22 22 3 11 215 12 +414 2 22 22 3 75 211 76 +415 2 22 22 3 9 213 10 +416 2 22 22 3 35 216 36 +417 2 22 22 3 77 214 78 +418 2 22 22 3 33 212 34 +419 2 22 22 3 2 217 8 +420 2 22 22 3 6 219 74 +421 2 22 22 3 13 218 3 +422 2 22 22 3 79 217 2 +423 2 22 22 3 3 218 32 +424 2 22 22 3 37 219 6 +425 2 22 22 3 221 222 204 +426 2 22 22 3 210 222 221 +427 2 22 22 3 206 222 213 +428 2 22 22 3 213 222 210 +429 2 22 22 3 208 220 216 +430 2 22 22 3 216 220 205 +431 2 22 22 3 210 221 215 +432 2 22 22 3 215 221 207 +433 2 22 22 3 204 223 220 +434 2 22 22 3 222 225 204 +435 2 22 22 3 204 224 221 +436 2 22 22 3 11 234 215 +437 2 22 22 3 35 232 216 +438 2 22 22 3 213 234 10 +439 2 22 22 3 211 233 76 +440 2 22 22 3 77 233 214 +441 2 22 22 3 212 232 34 +442 2 22 22 3 216 232 208 +443 2 22 22 3 215 234 210 +444 2 22 22 3 209 233 211 +445 2 22 22 3 210 234 213 +446 2 22 22 3 208 232 212 +447 2 22 22 3 214 233 209 +448 2 22 22 3 211 228 205 +449 2 22 22 3 205 227 216 +450 2 22 22 3 213 229 206 +451 2 22 22 3 212 226 207 +452 2 22 22 3 206 230 214 +453 2 22 22 3 207 231 215 +454 2 22 22 3 217 230 206 +455 2 22 22 3 206 229 217 +456 2 22 22 3 219 227 205 +457 2 22 22 3 218 231 207 +458 2 22 22 3 205 228 219 +459 2 22 22 3 207 226 218 +460 2 22 22 3 34 232 35 +461 2 22 22 3 76 233 77 +462 2 22 22 3 10 234 11 +463 2 22 22 3 211 223 209 +464 2 22 22 3 205 223 211 +465 2 22 22 3 212 224 208 +466 2 22 22 3 207 224 212 +467 2 22 22 3 214 225 206 +468 2 22 22 3 209 225 214 +469 2 22 22 3 36 227 37 +470 2 22 22 3 8 229 9 +471 2 22 22 3 78 230 79 +472 2 22 22 3 74 228 75 +473 2 22 22 3 32 226 33 +474 2 22 22 3 12 231 13 +475 2 22 22 3 79 230 217 +476 2 22 22 3 217 229 8 +477 2 22 22 3 13 231 218 +478 2 22 22 3 219 228 74 +479 2 22 22 3 37 227 219 +480 2 22 22 3 218 226 32 +481 2 22 22 3 75 228 211 +482 2 22 22 3 33 226 212 +483 2 22 22 3 9 229 213 +484 2 22 22 3 216 227 36 +485 2 22 22 3 214 230 78 +486 2 22 22 3 215 231 12 +487 2 22 22 3 220 223 205 +488 2 22 22 3 221 224 207 +489 2 22 22 3 206 225 222 +490 2 24 24 3 251 235 256 +491 2 24 24 3 252 235 255 +492 2 24 24 3 253 235 254 +493 2 24 24 3 239 251 256 +494 2 24 24 3 240 252 255 +495 2 24 24 3 241 253 254 +496 2 24 24 3 69 70 246 +497 2 24 24 3 41 42 243 +498 2 24 24 3 39 40 247 +499 2 24 24 3 71 72 242 +500 2 24 24 3 22 21 244 +501 2 24 24 3 24 23 245 +502 2 24 24 3 20 4 248 +503 2 24 24 3 4 68 248 +504 2 24 24 3 43 5 250 +505 2 24 24 3 5 25 250 +506 2 24 24 3 73 6 249 +507 2 24 24 3 6 38 249 +508 2 24 24 3 241 244 253 +509 2 24 24 3 244 236 253 +510 2 24 24 3 243 238 252 +511 2 24 24 3 240 243 252 +512 2 24 24 3 242 237 251 +513 2 24 24 3 239 242 251 +514 2 24 24 3 235 253 256 +515 2 24 24 3 235 251 255 +516 2 24 24 3 235 252 254 +517 2 24 24 3 246 70 265 +518 2 24 24 3 247 40 263 +519 2 24 24 3 41 243 263 +520 2 24 24 3 245 23 264 +521 2 24 24 3 71 242 265 +522 2 24 24 3 22 244 264 +523 2 24 24 3 243 240 263 +524 2 24 24 3 240 247 263 +525 2 24 24 3 239 246 265 +526 2 24 24 3 241 245 264 +527 2 24 24 3 244 241 264 +528 2 24 24 3 242 239 265 +529 2 24 24 3 236 244 258 +530 2 24 24 3 237 242 257 +531 2 24 24 3 246 236 262 +532 2 24 24 3 238 243 260 +533 2 24 24 3 247 237 261 +534 2 24 24 3 245 238 259 +535 2 24 24 3 236 248 262 +536 2 24 24 3 248 236 258 +537 2 24 24 3 237 249 261 +538 2 24 24 3 249 237 257 +539 2 24 24 3 238 250 259 +540 2 24 24 3 250 238 260 +541 2 24 24 3 23 22 264 +542 2 24 24 3 40 41 263 +543 2 24 24 3 70 71 265 +544 2 24 24 3 245 241 254 +545 2 24 24 3 238 245 254 +546 2 24 24 3 237 247 255 +547 2 24 24 3 247 240 255 +548 2 24 24 3 246 239 256 +549 2 24 24 3 236 246 256 +550 2 24 24 3 72 73 257 +551 2 24 24 3 38 39 261 +552 2 24 24 3 42 43 260 +553 2 24 24 3 21 20 258 +554 2 24 24 3 68 69 262 +555 2 24 24 3 25 24 259 +556 2 24 24 3 73 249 257 +557 2 24 24 3 248 68 262 +558 2 24 24 3 249 38 261 +559 2 24 24 3 20 248 258 +560 2 24 24 3 43 250 260 +561 2 24 24 3 250 25 259 +562 2 24 24 3 242 72 257 +563 2 24 24 3 243 42 260 +564 2 24 24 3 244 21 258 +565 2 24 24 3 24 245 259 +566 2 24 24 3 39 247 261 +567 2 24 24 3 69 246 262 +568 2 24 24 3 252 238 254 +569 2 24 24 3 251 237 255 +570 2 24 24 3 253 236 256 +571 2 26 26 3 271 285 266 +572 2 26 26 3 266 286 271 +573 2 26 26 3 282 287 266 +574 2 26 26 3 270 287 282 +575 2 26 26 3 60 276 59 +576 2 26 26 3 47 278 48 +577 2 26 26 3 45 273 46 +578 2 26 26 3 58 275 57 +579 2 26 26 3 30 277 29 +580 2 26 26 3 28 274 27 +581 2 26 26 3 26 280 5 +582 2 26 26 3 5 280 44 +583 2 26 26 3 2 281 31 +584 2 26 26 3 56 281 2 +585 2 26 26 3 7 279 61 +586 2 26 26 3 49 279 7 +587 2 26 26 3 283 284 266 +588 2 26 26 3 272 284 283 +589 2 26 26 3 275 283 268 +590 2 26 26 3 272 283 275 +591 2 26 26 3 270 282 274 +592 2 26 26 3 274 282 267 +593 2 26 26 3 276 284 272 +594 2 26 26 3 269 284 276 +595 2 26 26 3 266 287 283 +596 2 26 26 3 266 285 282 +597 2 26 26 3 284 286 266 +598 2 26 26 3 277 294 29 +599 2 26 26 3 276 296 59 +600 2 26 26 3 47 295 278 +601 2 26 26 3 58 296 275 +602 2 26 26 3 273 295 46 +603 2 26 26 3 28 294 274 +604 2 26 26 3 270 294 277 +605 2 26 26 3 274 294 270 +606 2 26 26 3 271 295 273 +607 2 26 26 3 272 296 276 +608 2 26 26 3 275 296 272 +609 2 26 26 3 278 295 271 +610 2 26 26 3 273 288 267 +611 2 26 26 3 267 292 274 +612 2 26 26 3 268 291 275 +613 2 26 26 3 277 290 268 +614 2 26 26 3 276 289 269 +615 2 26 26 3 269 293 278 +616 2 26 26 3 268 290 281 +617 2 26 26 3 281 291 268 +618 2 26 26 3 280 292 267 +619 2 26 26 3 267 288 280 +620 2 26 26 3 279 293 269 +621 2 26 26 3 269 289 279 +622 2 26 26 3 29 294 28 +623 2 26 26 3 46 295 47 +624 2 26 26 3 59 296 58 +625 2 26 26 3 267 285 273 +626 2 26 26 3 273 285 271 +627 2 26 26 3 278 286 269 +628 2 26 26 3 271 286 278 +629 2 26 26 3 277 287 270 +630 2 26 26 3 268 287 277 +631 2 26 26 3 57 291 56 +632 2 26 26 3 44 288 45 +633 2 26 26 3 27 292 26 +634 2 26 26 3 61 289 60 +635 2 26 26 3 48 293 49 +636 2 26 26 3 31 290 30 +637 2 26 26 3 26 292 280 +638 2 26 26 3 280 288 44 +639 2 26 26 3 56 291 281 +640 2 26 26 3 279 289 61 +641 2 26 26 3 49 293 279 +642 2 26 26 3 281 290 31 +643 2 26 26 3 45 288 273 +644 2 26 26 3 274 292 27 +645 2 26 26 3 60 289 276 +646 2 26 26 3 275 291 57 +647 2 26 26 3 30 290 277 +648 2 26 26 3 278 293 48 +649 2 26 26 3 282 285 267 +650 2 26 26 3 283 287 268 +651 2 26 26 3 269 286 284 +652 2 28 28 3 297 302 317 +653 2 28 28 3 302 297 316 +654 2 28 28 3 314 297 318 +655 2 28 28 3 301 314 318 +656 2 28 28 3 42 41 309 +657 2 28 28 3 75 76 306 +658 2 28 28 3 40 39 304 +659 2 28 28 3 30 29 305 +660 2 28 28 3 28 27 308 +661 2 28 28 3 77 78 307 +662 2 28 28 3 38 6 311 +663 2 28 28 3 6 74 311 +664 2 28 28 3 5 43 310 +665 2 28 28 3 2 31 312 +666 2 28 28 3 26 5 310 +667 2 28 28 3 79 2 312 +668 2 28 28 3 297 313 315 +669 2 28 28 3 313 303 315 +670 2 28 28 3 303 308 315 +671 2 28 28 3 308 298 315 +672 2 28 28 3 299 305 313 +673 2 28 28 3 305 303 313 +674 2 28 28 3 304 300 314 +675 2 28 28 3 301 304 314 +676 2 28 28 3 297 315 318 +677 2 28 28 3 313 297 317 +678 2 28 28 3 297 314 316 +679 2 28 28 3 309 41 326 +680 2 28 28 3 306 76 325 +681 2 28 28 3 305 29 327 +682 2 28 28 3 77 307 325 +683 2 28 28 3 40 304 326 +684 2 28 28 3 28 308 327 +685 2 28 28 3 302 306 325 +686 2 28 28 3 301 309 326 +687 2 28 28 3 303 305 327 +688 2 28 28 3 304 301 326 +689 2 28 28 3 307 302 325 +690 2 28 28 3 308 303 327 +691 2 28 28 3 305 299 320 +692 2 28 28 3 299 307 321 +693 2 28 28 3 298 308 323 +694 2 28 28 3 309 298 322 +695 2 28 28 3 300 304 319 +696 2 28 28 3 306 300 324 +697 2 28 28 3 298 310 322 +698 2 28 28 3 310 298 323 +699 2 28 28 3 312 299 321 +700 2 28 28 3 299 312 320 +701 2 28 28 3 300 311 324 +702 2 28 28 3 311 300 319 +703 2 28 28 3 76 77 325 +704 2 28 28 3 29 28 327 +705 2 28 28 3 41 40 326 +706 2 28 28 3 306 302 316 +707 2 28 28 3 300 306 316 +708 2 28 28 3 302 307 317 +709 2 28 28 3 307 299 317 +710 2 28 28 3 298 309 318 +711 2 28 28 3 309 301 318 +712 2 28 28 3 39 38 319 +713 2 28 28 3 74 75 324 +714 2 28 28 3 27 26 323 +715 2 28 28 3 31 30 320 +716 2 28 28 3 78 79 321 +717 2 28 28 3 43 42 322 +718 2 28 28 3 38 311 319 +719 2 28 28 3 311 74 324 +720 2 28 28 3 26 310 323 +721 2 28 28 3 312 31 320 +722 2 28 28 3 79 312 321 +723 2 28 28 3 310 43 322 +724 2 28 28 3 304 39 319 +725 2 28 28 3 30 305 320 +726 2 28 28 3 307 78 321 +727 2 28 28 3 75 306 324 +728 2 28 28 3 308 27 323 +729 2 28 28 3 42 309 322 +730 2 28 28 3 314 300 316 +731 2 28 28 3 299 313 317 +732 2 28 28 3 315 298 318 +$ENDELM diff --git a/demos/sphere-stl.stl b/demos/sphere-surf.stl similarity index 100% rename from demos/sphere-stl.stl rename to demos/sphere-surf.stl diff --git a/doc/VERSIONS b/doc/VERSIONS index 90567f30e0b1eb075e76bd4c09c41171c4494e14..8dfe7e737b0ed4c1cc2069fc0d7c2a0c9ef4a4c8 100644 --- a/doc/VERSIONS +++ b/doc/VERSIONS @@ -1,4 +1,4 @@ -$Id: VERSIONS,v 1.334 2005-06-09 22:19:02 geuzaine Exp $ +$Id: VERSIONS,v 1.335 2005-06-10 20:59:20 geuzaine Exp $ New since 1.60: added support for second order (curved) elements in post-processor; new version (1.4) of post-processing file formats; new @@ -8,8 +8,8 @@ the parser; changed View.ArrowLocation into View.GlyphLocation; optimized memory usage when loading many (>1000) views; optimzed loading and drawing of line meshes and 2D iso views; optimize handling of meshes with large number of physical entities; Removed Discrete -Line and Discrete Surface commands: the same functionnality can now be -obtained by simply loading meshes in the usual formats; fixed coloring +Line and Discrete Surface commands (the same functionnality can now be +obtained by simply loading a mesh in .msh format); fixed coloring by mesh partition; new "mesh statistics" export format; new full-quad recombine option; various small bug fixes. diff --git a/doc/texinfo/gmsh.texi b/doc/texinfo/gmsh.texi index c45f0a7a759d087961c450c92a91c5eacd0b57b4..dbb57b0bef1ae5ab93ecd38115b46239869ecd43 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.183 2005-05-13 05:09:08 geuzaine Exp $ +@c $Id: gmsh.texi,v 1.184 2005-06-10 20:59:21 geuzaine Exp $ @c @c Copyright (C) 1997-2005 C. Geuzaine, J.-F. Remacle @c @@ -1292,6 +1292,9 @@ min, X max, Y min, Y max, Z min, Z max). @item Delete All; Deletes all geometrical entities and all currently loaded meshes. +@item Delete Physicals; +Deletes all physical groups. + @item Print @var{char-expression}; Prints the graphic window in a file named @var{char-expression}, using the current @code{Print.Format} (@pxref{General options}). If the path in