From 47cc32f58de1e48b97c89e67365ca0b501aa79e3 Mon Sep 17 00:00:00 2001 From: Christophe Geuzaine <cgeuzaine@ulg.ac.be> Date: Mon, 1 Dec 2003 21:51:24 +0000 Subject: [PATCH] - Slightly reorganized the visibility browser window (the "toggle" behaviour in the input field was confusing) - added Show and Hide commands in the parser to enable scripting of the visibility stuff - Moved Visibility.{cpp,h} into Common/ to avoid dependencies with the Graphics library in the parser --- Common/Context.h | 1 + Common/DefaultOptions.h | 30 +- Common/Makefile | 9 +- Common/Options.cpp | 15 +- Common/Options.h | 1 + {Graphics => Common}/Visibility.cpp | 260 +- {Graphics => Common}/Visibility.h | 1 + Fltk/Callbacks.cpp | 31 +- Fltk/GUI.cpp | 23 +- Fltk/Makefile | 4 +- Geo/CAD.cpp | 44 +- Geo/CAD.h | 1 + Geo/Makefile | 4 +- Graphics/Makefile | 9 +- Parser/Gmsh.l | 4 +- Parser/Gmsh.tab.cpp | 8647 ++++++++++++++------------- Parser/Gmsh.tab.hpp | 136 +- Parser/Gmsh.y | 53 +- Parser/Gmsh.yy.cpp | 1597 ++--- Parser/Makefile | 4 +- benchmarks/misc/visibility.geo | 6 + doc/VERSIONS | 5 +- doc/texinfo/gmsh.texi | 16 +- 23 files changed, 5576 insertions(+), 5325 deletions(-) rename {Graphics => Common}/Visibility.cpp (76%) rename {Graphics => Common}/Visibility.h (96%) create mode 100644 benchmarks/misc/visibility.geo diff --git a/Common/Context.h b/Common/Context.h index cf8c78e234..cdcab1d975 100644 --- a/Common/Context.h +++ b/Common/Context.h @@ -128,6 +128,7 @@ public : // approximative equivalent model length of a pixel int color_scheme ; // general color scheme int quadric_subdivisions; // nb of subdivisions for gluQuadrics (spheres/cylinders) + int visibility_mode ; // VIS_GEOM, VIS_MESH, ... // geometry options struct{ diff --git a/Common/DefaultOptions.h b/Common/DefaultOptions.h index 4b4d76a994..6b034e39b0 100644 --- a/Common/DefaultOptions.h +++ b/Common/DefaultOptions.h @@ -591,6 +591,8 @@ StringXNumber GeneralOptions_Number[] = { "Horizontal position (in pixels) of the upper left corner of the visibility window" }, { F|S, "VisibilityPositionY" , opt_general_visibility_position1 , 150. , "Vertical position (in pixels) of the upper left corner of the visibility window" }, + { F|S, "VisibilityMode" , opt_general_visibility_mode , 0. , + "Default Visibility mode for visibility browser (Geometry+Mesh, Geometry or Mesh)" }, { F|O, "ZoomFactor" , opt_general_zoom_factor , 1.1 , "`Speed' of the middle mouse button zoom" }, @@ -867,7 +869,7 @@ StringXNumber ViewOptions_Number[] = { { F|O, "AutoPosition" , opt_view_auto_position , 1. , "Position the scale or the 2D graph automatically to avoid overlaps" }, - { F|O, "Boundary" , opt_view_boundary , 0 , + { F|O, "Boundary" , opt_view_boundary , 0. , "Draw the `N minus b'-dimensional boundary of the simplex (N=simplex dimension, b=option value)" }, { F, "CustomMax" , opt_view_custom_max , 0. , @@ -958,7 +960,7 @@ StringXNumber ViewOptions_Number[] = { { F|O, "RangeType" , opt_view_range_type , DRAW_POST_DEFAULT , "Value scale range type (1=default, 2=custom)" }, - { F|O, "SaturateValues" , opt_view_saturate_values , 0 , + { F|O, "SaturateValues" , opt_view_saturate_values , 0. , "Saturate the view values to custom min and max (1=true, 0=false)" }, { F|O, "ScaleType" , opt_view_scale_type , DRAW_POST_LINEAR , "Value scale type (1=linear, 2=logarithmic, 3=double logarithmic)" }, @@ -991,36 +993,36 @@ StringXNumber ViewOptions_Number[] = { } ; StringXNumber PrintOptions_Number[] = { - { F|O, "EpsBackground" , opt_print_eps_background , 1 , + { F|O, "EpsBackground" , opt_print_eps_background , 1. , "Save image background in PostScript/PDF output" }, - { F|O, "EpsBestRoot" , opt_print_eps_best_root , 1 , + { F|O, "EpsBestRoot" , opt_print_eps_best_root , 1. , "Try to minimize primitive splitting in BSP tree sorted PostScript/PDF output" }, - { F|O, "EpsCompress" , opt_print_eps_compress , 0 , + { F|O, "EpsCompress" , opt_print_eps_compress , 0. , "Compress PostScript/PDF output using zlib" }, { F|O, "EpsFontSize" , opt_print_eps_font_size , 12. , "Font size used in PostScript/PDF output" }, - { F|O, "EpsLineWidthFactor" , opt_print_eps_line_width_factor , 0.2 , + { F|O, "EpsLineWidthFactor" , opt_print_eps_line_width_factor , 1.0 , "Width factor for lines in PostScript/PDF output" }, - { F|O, "EpsOcclusionCulling" , opt_print_eps_occlusion_culling , 1 , + { F|O, "EpsOcclusionCulling" , opt_print_eps_occlusion_culling , 1. , "Cull occluded primitives (to reduce PostScript/PDF file size)" }, - { F|O, "EpsPointSizeFactor" , opt_print_eps_point_size_factor , 1. , + { F|O, "EpsPointSizeFactor" , opt_print_eps_point_size_factor , 1.0 , "Size factor for points in PostScript/PDF output" }, - { F|O, "EpsQuality" , opt_print_eps_quality , 1 , + { F|O, "EpsQuality" , opt_print_eps_quality , 1. , "PostScript/PDF quality (1=simple sort, 2=BSP tree sort)" }, { F|O, "Format" , opt_print_format , FORMAT_AUTO , "File format (10=automatic)" }, - { F|O, "GifDither" , opt_print_gif_dither , 0 , + { F|O, "GifDither" , opt_print_gif_dither , 0. , "Apply dithering to GIF output" }, - { F|O, "GifInterlace" , opt_print_gif_interlace , 0 , + { F|O, "GifInterlace" , opt_print_gif_interlace , 0. , "Interlace GIF output" }, - { F|O, "GifSort" , opt_print_gif_sort , 1 , + { F|O, "GifSort" , opt_print_gif_sort , 1. , "Sort the colormap in GIF output" }, - { F|O, "GifTransparent" , opt_print_gif_transparent , 0 , + { F|O, "GifTransparent" , opt_print_gif_transparent , 0. , "Output transparent GIF image" }, - { F|O, "JpegQuality" , opt_print_jpeg_quality , 100 , + { F|O, "JpegQuality" , opt_print_jpeg_quality , 100. , "JPEG quality (between 1 and 100)" }, { 0, NULL , NULL , 0. } diff --git a/Common/Makefile b/Common/Makefile index ed1945ac58..d03268010c 100644 --- a/Common/Makefile +++ b/Common/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.46 2003-11-29 01:38:49 geuzaine Exp $ +# $Id: Makefile,v 1.47 2003-12-01 21:51:19 geuzaine Exp $ # # Copyright (C) 1997-2003 C. Geuzaine, J.-F. Remacle # @@ -32,6 +32,7 @@ SRC = Context.cpp\ CommandLine.cpp\ Timer.cpp\ ColorTable.cpp\ + Visibility.cpp\ Trackball.cpp\ License.cpp @@ -85,6 +86,12 @@ Timer.o: Timer.cpp ColorTable.o: ColorTable.cpp Gmsh.h Message.h ../DataStr/Malloc.h \ ../DataStr/List.h ../DataStr/Tree.h ../DataStr/avl.h ../DataStr/Tools.h \ ColorTable.h Context.h +Visibility.o: Visibility.cpp Gmsh.h Message.h ../DataStr/Malloc.h \ + ../DataStr/List.h ../DataStr/Tree.h ../DataStr/avl.h ../DataStr/Tools.h \ + ../Geo/Geo.h ../Geo/CAD.h ../Mesh/Mesh.h ../Mesh/Vertex.h \ + ../Mesh/Simplex.h ../Mesh/Edge.h ../Geo/ExtrudeParams.h ../Mesh/STL.h \ + ../Mesh/Metric.h ../Mesh/Matrix.h ../Geo/DataBase.h ../Parser/Parser.h \ + Visibility.h Trackball.o: Trackball.cpp Trackball.h License.o: License.cpp Gmsh.h Message.h ../DataStr/Malloc.h \ ../DataStr/List.h ../DataStr/Tree.h ../DataStr/avl.h ../DataStr/Tools.h diff --git a/Common/Options.cpp b/Common/Options.cpp index 5d96af3a19..ddf9a78b4b 100644 --- a/Common/Options.cpp +++ b/Common/Options.cpp @@ -1,4 +1,4 @@ -// $Id: Options.cpp,v 1.122 2003-12-01 05:56:30 geuzaine Exp $ +// $Id: Options.cpp,v 1.123 2003-12-01 21:51:19 geuzaine Exp $ // // Copyright (C) 1997-2003 C. Geuzaine, J.-F. Remacle // @@ -1816,6 +1816,19 @@ double opt_general_visibility_position1(OPT_ARGS_NUM) return CTX.vis_position[1]; } +double opt_general_visibility_mode(OPT_ARGS_NUM) +{ + if(action & GMSH_SET) + CTX.visibility_mode = (int)val; +#if defined(HAVE_FLTK) + if(WID && (action & GMSH_GUI)){ + if(CTX.visibility_mode > 0 && CTX.visibility_mode < 3) + WID->vis_browser_mode->value(CTX.visibility_mode); + } +#endif + return CTX.visibility_mode; +} + double opt_general_center_windows(OPT_ARGS_NUM) { if(action & GMSH_SET) diff --git a/Common/Options.h b/Common/Options.h index 99c7de665d..df651e3658 100644 --- a/Common/Options.h +++ b/Common/Options.h @@ -206,6 +206,7 @@ double opt_general_statistics_position0(OPT_ARGS_NUM); double opt_general_statistics_position1(OPT_ARGS_NUM); double opt_general_visibility_position0(OPT_ARGS_NUM); double opt_general_visibility_position1(OPT_ARGS_NUM); +double opt_general_visibility_mode(OPT_ARGS_NUM); double opt_general_center_windows(OPT_ARGS_NUM); double opt_general_session_save(OPT_ARGS_NUM); double opt_general_options_save(OPT_ARGS_NUM); diff --git a/Graphics/Visibility.cpp b/Common/Visibility.cpp similarity index 76% rename from Graphics/Visibility.cpp rename to Common/Visibility.cpp index 9300fc57c1..ca126d8c3d 100644 --- a/Graphics/Visibility.cpp +++ b/Common/Visibility.cpp @@ -1,4 +1,4 @@ -// $Id: Visibility.cpp,v 1.9 2003-05-22 21:41:12 geuzaine Exp $ +// $Id: Visibility.cpp,v 1.1 2003-12-01 21:51:19 geuzaine Exp $ // // Copyright (C) 1997-2003 C. Geuzaine, J.-F. Remacle // @@ -515,65 +515,168 @@ void InitVisibilityThroughPhysical() } } -static int vnod, velm, vcur, vsur, vvol; +void SetVisibilityByNumber(int num, int type, int mode) +{ + int i, found; + List_T *tmp; + Vertex vv, *v, **pv; + Curve *c; + Surface *s; + Volume *V; + Simplex SS, *S, **pS; + Hexahedron HH, *H, **pH; + Prism PP, *P, **pP; + Pyramid QQ, *Q, **pQ; + + switch (type) { + case 0: //node + vv.Num = num; + v = &vv; + if((pv = (Vertex **) Tree_PQuery(THEM->Vertices, &v))) + (*pv)->Visible = mode; + else + Msg(WARNING, "Unknown node %d (use '*' to hide/show all nodes)", num); + break; + case 1: //element + SS.Num = num; + S = &SS; + HH.Num = num; + H = &HH; + PP.Num = num; + P = &PP; + QQ.Num = num; + Q = &QQ; + found = 0; + tmp = Tree2List(THEM->Curves); + for(i = 0; i < List_Nbr(tmp); i++) { + List_Read(tmp, i, &c); + if((pS = (Simplex **) Tree_PQuery(c->Simplexes, &S))) { + (*pS)->Visible = mode; + found = 1; + break; + } + } + List_Delete(tmp); + if(!found) { + tmp = Tree2List(THEM->Surfaces); + for(i = 0; i < List_Nbr(tmp); i++) { + List_Read(tmp, i, &s); + if((pS = (Simplex **) Tree_PQuery(s->Simplexes, &S))) { + (*pS)->Visible = mode; + found = 1; + break; + } + } + List_Delete(tmp); + if(!found) { + if((pS = (Simplex **) Tree_PQuery(THEM->Simplexes, &S))) { + (*pS)->Visible = mode; + } + else { + tmp = Tree2List(THEM->Volumes); + for(i = 0; i < List_Nbr(tmp); i++) { + List_Read(tmp, i, &V); + if((pH = (Hexahedron **) Tree_PQuery(V->Hexahedra, &H))) { + (*pH)->Visible = mode; + found = 1; + break; + } + if((pP = (Prism **) Tree_PQuery(V->Prisms, &P))) { + (*pP)->Visible = mode; + found = 1; + break; + } + if((pQ = (Pyramid **) Tree_PQuery(V->Pyramids, &Q))) { + (*pQ)->Visible = mode; + found = 1; + break; + } + } + List_Delete(tmp); + if(!found) + Msg(WARNING, "Unknown element %d (use '*' to hide/show all elements)", num); + } + } + } + break; + case 2: //point + if((v = FindPoint(num, THEM))) + v->Visible = mode; + else + Msg(WARNING, "Unknown point %d (use '*' to hide/show all points)", num); + break; + case 3: //curve + if((c = FindCurve(num, THEM))) + c->Visible = mode; + else + Msg(WARNING, "Unknown curve %d (use '*' to hide/show all curves)", num); + break; + case 4: //surface + if((s = FindSurface(num, THEM))) + s->Visible = mode; + else + Msg(WARNING, "Unknown surface %d (use '*' to hide/show all surfaces)", num); + break; + case 5: //volume + if((V = FindVolume(num, THEM))) + V->Visible = mode; + else + Msg(WARNING, "Unknown volume %d (use '*' to hide/show all volumes)", num); + break; + } +} + +static int vmode; + static void vis_nod(void *a, void *b) { - (*(Vertex **) a)->Visible = vnod; + (*(Vertex **) a)->Visible = vmode; } static void vis_sim(void *a, void *b) { - (*(Simplex **) a)->Visible = velm; + (*(Simplex **) a)->Visible = vmode; } static void vis_hex(void *a, void *b) { - (*(Hexahedron **) a)->Visible = velm; + (*(Hexahedron **) a)->Visible = vmode; } static void vis_pri(void *a, void *b) { - (*(Prism **) a)->Visible = velm; + (*(Prism **) a)->Visible = vmode; } static void vis_pyr(void *a, void *b) { - (*(Pyramid **) a)->Visible = velm; + (*(Pyramid **) a)->Visible = vmode; } static void vis_cur(void *a, void *b) { - (*(Curve **) a)->Visible = vcur; + (*(Curve **) a)->Visible = vmode; } static void vis_sur(void *a, void *b) { - (*(Surface **) a)->Visible = vsur; + (*(Surface **) a)->Visible = vmode; } static void vis_vol(void *a, void *b) { - (*(Volume **) a)->Visible = vvol; + (*(Volume **) a)->Visible = vmode; } void SetVisibilityByNumber(char *str, int type, int mode) { - static int allnod = 1, allelm = 1, allpnt = 1, allcur = 1, allsur = - 1, allvol = 1; - int i, found, num; + int i; List_T *tmp; - Vertex vv, *v, **pv; Curve *c; Surface *s; Volume *V; - Simplex SS, *S, **pS; - Hexahedron HH, *H, **pH; - Prism PP, *P, **pP; - Pyramid QQ, *Q, **pQ; + + vmode = mode; if(!strcmp(str, "all") || !strcmp(str, "*")) { switch (type) { case 0: //node - allnod = !allnod; - vnod = allnod ? VIS_MESH : 0; Tree_Action(THEM->Vertices, vis_nod); break; case 1: //element - allelm = !allelm; - velm = allelm ? VIS_MESH : 0; tmp = Tree2List(THEM->Curves); for(i = 0; i < List_Nbr(tmp); i++) { List_Read(tmp, i, &c); @@ -597,131 +700,20 @@ void SetVisibilityByNumber(char *str, int type, int mode) List_Delete(tmp); break; case 2: //point - allpnt = !allpnt; - vnod = allpnt ? VIS_MESH | VIS_GEOM : 0; Tree_Action(THEM->Points, vis_nod); break; case 3: //curve - allcur = !allcur; - vcur = allcur ? VIS_MESH | VIS_GEOM : 0; Tree_Action(THEM->Curves, vis_cur); break; case 4: //surface - allsur = !allsur; - vsur = allsur ? VIS_MESH | VIS_GEOM : 0; Tree_Action(THEM->Surfaces, vis_sur); break; case 5: //volume - allvol = !allvol; - vvol = allvol ? VIS_MESH | VIS_GEOM : 0; Tree_Action(THEM->Volumes, vis_vol); break; } } else { - num = atoi(str); - - switch (type) { - case 0: //node - vv.Num = num; - v = &vv; - if((pv = (Vertex **) Tree_PQuery(THEM->Vertices, &v))) - (*pv)->Visible = (*pv)->Visible ? 0 : VIS_MESH; - else - Msg(WARNING, "Unknown node %d (use '*' to hide/show all nodes)", num); - break; - case 1: //element - SS.Num = num; - S = &SS; - HH.Num = num; - H = &HH; - PP.Num = num; - P = &PP; - QQ.Num = num; - Q = &QQ; - found = 0; - tmp = Tree2List(THEM->Curves); - for(i = 0; i < List_Nbr(tmp); i++) { - List_Read(tmp, i, &c); - if((pS = (Simplex **) Tree_PQuery(c->Simplexes, &S))) { - (*pS)->Visible = (*pS)->Visible ? 0 : VIS_MESH; - found = 1; - break; - } - } - List_Delete(tmp); - if(!found) { - tmp = Tree2List(THEM->Surfaces); - for(i = 0; i < List_Nbr(tmp); i++) { - List_Read(tmp, i, &s); - if((pS = (Simplex **) Tree_PQuery(s->Simplexes, &S))) { - (*pS)->Visible = (*pS)->Visible ? 0 : VIS_MESH; - found = 1; - break; - } - } - List_Delete(tmp); - if(!found) { - if((pS = (Simplex **) Tree_PQuery(THEM->Simplexes, &S))) { - (*pS)->Visible = (*pS)->Visible ? 0 : VIS_MESH; - } - else { - tmp = Tree2List(THEM->Volumes); - for(i = 0; i < List_Nbr(tmp); i++) { - List_Read(tmp, i, &V); - if((pH = (Hexahedron **) Tree_PQuery(V->Hexahedra, &H))) { - (*pH)->Visible = (*pH)->Visible ? 0 : VIS_MESH; - found = 1; - break; - } - if((pP = (Prism **) Tree_PQuery(V->Prisms, &P))) { - (*pP)->Visible = (*pP)->Visible ? 0 : VIS_MESH; - found = 1; - break; - } - if((pQ = (Pyramid **) Tree_PQuery(V->Pyramids, &Q))) { - (*pQ)->Visible = (*pQ)->Visible ? 0 : VIS_MESH; - found = 1; - break; - } - } - List_Delete(tmp); - if(!found) - Msg(WARNING, - "Unknown element %d (use '*' to hide/show all elements)", - num); - } - } - } - break; - case 2: //point - if((v = FindPoint(num, THEM))) - v->Visible = v->Visible ? 0 : VIS_GEOM | VIS_MESH; - else - Msg(WARNING, "Unknown point %d (use '*' to hide/show all points)", - num); - break; - case 3: //curve - if((c = FindCurve(num, THEM))) - c->Visible = c->Visible ? 0 : VIS_GEOM | VIS_MESH; - else - Msg(WARNING, "Unknown curve %d (use '*' to hide/show all curves)", - num); - break; - case 4: //surface - if((s = FindSurface(num, THEM))) - s->Visible = s->Visible ? 0 : VIS_GEOM | VIS_MESH; - else - Msg(WARNING, "Unknown surface %d (use '*' to hide/show all surfaces)", - num); - break; - case 5: //volume - if((V = FindVolume(num, THEM))) - V->Visible = V->Visible ? 0 : VIS_GEOM | VIS_MESH; - else - Msg(WARNING, "Unknown volume %d (use '*' to hide/show all volumes)", - num); - break; - } + SetVisibilityByNumber(atoi(str), type, mode); } } diff --git a/Graphics/Visibility.h b/Common/Visibility.h similarity index 96% rename from Graphics/Visibility.h rename to Common/Visibility.h index 3b46292105..b90d51f294 100644 --- a/Graphics/Visibility.h +++ b/Common/Visibility.h @@ -53,6 +53,7 @@ void SetVisibilitySort(int sort); List_T* GetVisibilityList(int type); void ClearVisibilityList(int type); void InitVisibilityThroughPhysical(); +void SetVisibilityByNumber(int num, int type, int mode); void SetVisibilityByNumber(char *str, int type, int mode); #endif diff --git a/Fltk/Callbacks.cpp b/Fltk/Callbacks.cpp index 8ff8abde5f..b4cb0e76a7 100644 --- a/Fltk/Callbacks.cpp +++ b/Fltk/Callbacks.cpp @@ -1,4 +1,4 @@ -// $Id: Callbacks.cpp,v 1.189 2003-11-29 01:38:49 geuzaine Exp $ +// $Id: Callbacks.cpp,v 1.190 2003-12-01 21:51:19 geuzaine Exp $ // // Copyright (C) 1997-2003 C. Geuzaine, J.-F. Remacle // @@ -1319,19 +1319,24 @@ void visibility_sort_cb(CALLBACK_ARGS) void visibility_number_cb(CALLBACK_ARGS) { - int pos, mode, type = WID->vis_input_mode->value(); - char *str = (char *)((Fl_Input *) w)->value(); + int pos, mode, type = WID->vis_input_mode->value(), val = (long int)data; + char *str = (char *)WID->vis_input->value(); - switch (WID->vis_browser_mode->value()) { - case 0: - mode = VIS_GEOM | VIS_MESH; - break; - case 1: - mode = VIS_GEOM; - break; - default: - mode = VIS_MESH; - break; + if(val){ // show + switch (WID->vis_browser_mode->value()) { + case 0: + mode = VIS_GEOM | VIS_MESH; + break; + case 1: + mode = VIS_GEOM; + break; + default: + mode = VIS_MESH; + break; + } + } + else{ // hide + mode = 0; } SetVisibilityByNumber(str, type, mode); diff --git a/Fltk/GUI.cpp b/Fltk/GUI.cpp index 16dd508138..5e366654c7 100644 --- a/Fltk/GUI.cpp +++ b/Fltk/GUI.cpp @@ -1,4 +1,4 @@ -// $Id: GUI.cpp,v 1.256 2003-12-01 05:56:30 geuzaine Exp $ +// $Id: GUI.cpp,v 1.257 2003-12-01 21:51:19 geuzaine Exp $ // // Copyright (C) 1997-2003 C. Geuzaine, J.-F. Remacle // @@ -2837,15 +2837,22 @@ void GUI::create_visibility_window() vis_window->resizable(new Fl_Box(width - 3 * WB - 2 * BB - 10, 3 * WB + 2 * BH + 10, 10, 10)); vis_window->size_range(width, 5 * BH + 5 * WB); - vis_input = new Fl_Input(1 * WB, height - 2 * WB - 2 * BH, (brw - 2 * WB) / 3, BH); - vis_input->callback(visibility_number_cb); - vis_input->when(FL_WHEN_ENTER_KEY | FL_WHEN_NOT_CHANGED); + { + int ww = (((brw - 2 * WB) / 3) - WB) / 2; + + Fl_Button *o1 = new Fl_Button(1 * WB, height - 2 * WB - 2 * BH, ww, BH, "Show"); + o1->callback(visibility_number_cb, (void *)1); + Fl_Button *o2 = new Fl_Button(2 * WB + ww, height - 2 * WB - 2 * BH, ww, BH, "Hide"); + o2->callback(visibility_number_cb, (void *)0); + + vis_input_mode = new Fl_Choice(2 * WB + (brw - 2 * WB) / 3, height - 2 * WB - 2 * BH, (brw - 2 * WB) / 3, BH); + vis_input_mode->menu(input_mode_table); + + vis_input = new Fl_Input(3 * WB + 2 * (brw - 2 * WB) / 3, height - 2 * WB - 2 * BH, (brw - 2 * WB) / 3, BH); #if !((FL_MAJOR_VERSION == 1) && (FL_MINOR_VERSION == 0)) - vis_input->tooltip("Enter a number (or *) and press <return> to toggle the vibility of an entity"); + vis_input->tooltip("Enter an entity number, or *"); #endif - - vis_input_mode = new Fl_Choice(2 * WB + (brw - 2 * WB) / 3, height - 2 * WB - 2 * BH, (brw - 2 * WB) / 3, BH); - vis_input_mode->menu(input_mode_table); + } { Fl_Return_Button *o = new Fl_Return_Button(width - 2 * BB - 2 * WB, height - BH - WB, BB, BH, "Apply"); diff --git a/Fltk/Makefile b/Fltk/Makefile index e618b0d5da..3c3877bc22 100644 --- a/Fltk/Makefile +++ b/Fltk/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.47 2003-11-29 01:38:49 geuzaine Exp $ +# $Id: Makefile,v 1.48 2003-12-01 21:51:19 geuzaine Exp $ # # Copyright (C) 1997-2003 C. Geuzaine, J.-F. Remacle # @@ -99,7 +99,7 @@ Callbacks.o: Callbacks.cpp ../Common/Gmsh.h ../Common/Message.h \ ../Common/ColorTable.h ../Common/Timer.h ../Graphics/CreateFile.h \ ../Parser/OpenFile.h ../Common/CommandLine.h ../Common/Context.h \ ../Common/Options.h GUI.h Opengl_Window.h Colorbar_Window.h Callbacks.h \ - ../Plugin/Plugin.h ../Graphics/Visibility.h Solvers.h + ../Plugin/Plugin.h ../Common/Visibility.h Solvers.h Opengl.o: Opengl.cpp ../Common/Gmsh.h ../Common/Message.h \ ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \ ../DataStr/avl.h ../DataStr/Tools.h ../Common/GmshUI.h \ diff --git a/Geo/CAD.cpp b/Geo/CAD.cpp index 74be86e4c8..09cf1cf3e0 100644 --- a/Geo/CAD.cpp +++ b/Geo/CAD.cpp @@ -1,4 +1,4 @@ -// $Id: CAD.cpp,v 1.68 2003-11-22 01:41:41 geuzaine Exp $ +// $Id: CAD.cpp,v 1.69 2003-12-01 21:51:20 geuzaine Exp $ // // Copyright (C) 1997-2003 C. Geuzaine, J.-F. Remacle // @@ -28,6 +28,7 @@ #include "Create.h" #include "CAD.h" #include "Edge.h" +#include "Visibility.h" #include "Context.h" extern Mesh *THEM; @@ -513,6 +514,15 @@ void ColorSurface(int is, unsigned int col) s->Color.mesh = s->Color.geom = col; } +void ColorVolume(int iv, unsigned int col) +{ + Volume *v = FindVolume(iv, THEM); + if(!v) + return; + v->Color.type = 1; + v->Color.mesh = v->Color.geom = col; +} + void ColorShape(int Type, int Num, unsigned int Color) { switch (Type) { @@ -533,6 +543,38 @@ void ColorShape(int Type, int Num, unsigned int Color) case MSH_SURF_PLAN: ColorSurface(Num, Color); break; + case MSH_VOLUME: + ColorVolume(Num, Color); + break; + default: + break; + } +} + +void VisibilityShape(int Type, int Num, int Mode) +{ + switch (Type) { + case MSH_POINT: + SetVisibilityByNumber(Num, 2, Mode); + break; + case MSH_SEGM_LINE: + case MSH_SEGM_SPLN: + case MSH_SEGM_BSPLN: + case MSH_SEGM_BEZIER: + case MSH_SEGM_CIRC: + case MSH_SEGM_ELLI: + case MSH_SEGM_NURBS: + SetVisibilityByNumber(Num, 3, Mode); + break; + case MSH_SURF_NURBS: + case MSH_SURF_TRIC: + case MSH_SURF_REGL: + case MSH_SURF_PLAN: + SetVisibilityByNumber(Num, 4, Mode); + break; + case MSH_VOLUME: + SetVisibilityByNumber(Num, 5, Mode); + break; default: break; } diff --git a/Geo/CAD.h b/Geo/CAD.h index a379f7fe97..80ffcd4ffe 100644 --- a/Geo/CAD.h +++ b/Geo/CAD.h @@ -60,6 +60,7 @@ void SymmetryShapes(double A,double B,double C, void CopyShape(int Type, int Num, int *New); void DeleteShape(int Type, int Num); void ColorShape(int Type, int Num, unsigned int Color); +void VisibilityShape(int Type, int Num, int Mode); void ProtudeXYZ(double &x, double &y, double &z, ExtrudeParams *e); diff --git a/Geo/Makefile b/Geo/Makefile index 5d76531416..53eea3b9e4 100644 --- a/Geo/Makefile +++ b/Geo/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.40 2003-11-29 01:38:50 geuzaine Exp $ +# $Id: Makefile,v 1.41 2003-12-01 21:51:20 geuzaine Exp $ # # Copyright (C) 1997-2003 C. Geuzaine, J.-F. Remacle # @@ -63,7 +63,7 @@ CAD.o: CAD.cpp ../Common/Gmsh.h ../Common/Message.h ../DataStr/Malloc.h \ ../Numeric/Numeric.h Geo.h ../Mesh/Mesh.h ../Mesh/Vertex.h \ ../Mesh/Simplex.h ../Mesh/Edge.h ../Geo/ExtrudeParams.h ../Mesh/STL.h \ ../Mesh/Metric.h ../Mesh/Matrix.h DataBase.h ../Mesh/Interpolation.h \ - ../Mesh/Create.h CAD.h ../Common/Context.h + ../Mesh/Create.h CAD.h ../Common/Visibility.h ../Common/Context.h DataBase.o: DataBase.cpp ../Common/Gmsh.h ../Common/Message.h \ ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \ ../DataStr/avl.h ../DataStr/Tools.h ../Numeric/Numeric.h Geo.h \ diff --git a/Graphics/Makefile b/Graphics/Makefile index d2dfae4a5c..db67e05756 100644 --- a/Graphics/Makefile +++ b/Graphics/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.52 2003-04-02 06:04:23 geuzaine Exp $ +# $Id: Makefile,v 1.53 2003-12-01 21:51:20 geuzaine Exp $ # # Copyright (C) 1997-2003 C. Geuzaine, J.-F. Remacle # @@ -34,7 +34,6 @@ SRC = Draw.cpp \ Iso.cpp \ Entity.cpp \ ReadImg.cpp \ - Visibility.cpp \ Scale.cpp \ Graph2D.cpp \ Axes.cpp \ @@ -122,12 +121,6 @@ ReadImg.o: ReadImg.cpp ReadImg.h ../Common/Gmsh.h ../Common/Message.h \ ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \ ../DataStr/avl.h ../DataStr/Tools.h ../Common/GmshUI.h \ ../Common/Views.h ../Common/ColorTable.h -Visibility.o: Visibility.cpp ../Common/Gmsh.h ../Common/Message.h \ - ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \ - ../DataStr/avl.h ../DataStr/Tools.h ../Geo/Geo.h ../Geo/CAD.h \ - ../Mesh/Mesh.h ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Edge.h \ - ../Geo/ExtrudeParams.h ../Mesh/STL.h ../Mesh/Metric.h ../Mesh/Matrix.h \ - ../Geo/DataBase.h ../Parser/Parser.h Visibility.h Scale.o: Scale.cpp ../Common/Gmsh.h ../Common/Message.h \ ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \ ../DataStr/avl.h ../DataStr/Tools.h ../Common/GmshUI.h \ diff --git a/Parser/Gmsh.l b/Parser/Gmsh.l index 6678b36cdf..04474d0b95 100644 --- a/Parser/Gmsh.l +++ b/Parser/Gmsh.l @@ -1,6 +1,6 @@ %{ -// $Id: Gmsh.l,v 1.49 2003-11-29 01:38:51 geuzaine Exp $ +// $Id: Gmsh.l,v 1.50 2003-12-01 21:51:20 geuzaine Exp $ // // Copyright (C) 1997-2003 C. Geuzaine, J.-F. Remacle // @@ -159,6 +159,7 @@ Fmod return tFmod; For return tFor; Function return tFunction; +Hide return tHide; Hypot return tHypot; In return tIn; @@ -208,6 +209,7 @@ Symmetry return tSymmetry; Sprintf return tSprintf; StrCat return tStrCat; StrPrefix return tStrPrefix; +Show return tShow; Triangulation return tTriangulation; Transfinite return tTransfinite; diff --git a/Parser/Gmsh.tab.cpp b/Parser/Gmsh.tab.cpp index d217fb3be4..71753aabae 100644 --- a/Parser/Gmsh.tab.cpp +++ b/Parser/Gmsh.tab.cpp @@ -120,77 +120,79 @@ #define tFunction 370 #define tMesh 371 #define tTrimmed 372 -#define tB_SPLINE_SURFACE_WITH_KNOTS 373 -#define tB_SPLINE_CURVE_WITH_KNOTS 374 -#define tCARTESIAN_POINT 375 -#define tTRUE 376 -#define tFALSE 377 -#define tUNSPECIFIED 378 -#define tU 379 -#define tV 380 -#define tEDGE_CURVE 381 -#define tVERTEX_POINT 382 -#define tORIENTED_EDGE 383 -#define tPLANE 384 -#define tFACE_OUTER_BOUND 385 -#define tEDGE_LOOP 386 -#define tADVANCED_FACE 387 -#define tVECTOR 388 -#define tDIRECTION 389 -#define tAXIS2_PLACEMENT_3D 390 -#define tISO 391 -#define tENDISO 392 -#define tENDSEC 393 -#define tDATA 394 -#define tHEADER 395 -#define tFILE_DESCRIPTION 396 -#define tFILE_SCHEMA 397 -#define tFILE_NAME 398 -#define tMANIFOLD_SOLID_BREP 399 -#define tCLOSED_SHELL 400 -#define tADVANCED_BREP_SHAPE_REPRESENTATION 401 -#define tFACE_BOUND 402 -#define tCYLINDRICAL_SURFACE 403 -#define tCONICAL_SURFACE 404 -#define tCIRCLE 405 -#define tTRIMMED_CURVE 406 -#define tGEOMETRIC_SET 407 -#define tCOMPOSITE_CURVE_SEGMENT 408 -#define tCONTINUOUS 409 -#define tCOMPOSITE_CURVE 410 -#define tTOROIDAL_SURFACE 411 -#define tPRODUCT_DEFINITION 412 -#define tPRODUCT_DEFINITION_SHAPE 413 -#define tSHAPE_DEFINITION_REPRESENTATION 414 -#define tELLIPSE 415 -#define tSolid 416 -#define tEndSolid 417 -#define tVertex 418 -#define tFacet 419 -#define tNormal 420 -#define tOuter 421 -#define tLoopSTL 422 -#define tEndLoop 423 -#define tEndFacet 424 -#define tAFFECTPLUS 425 -#define tAFFECTMINUS 426 -#define tAFFECTTIMES 427 -#define tAFFECTDIVIDE 428 -#define tOR 429 -#define tAND 430 -#define tEQUAL 431 -#define tNOTEQUAL 432 -#define tAPPROXEQUAL 433 -#define tLESSOREQUAL 434 -#define tGREATEROREQUAL 435 -#define tCROSSPRODUCT 436 -#define tPLUSPLUS 437 -#define tMINUSMINUS 438 -#define UNARYPREC 439 +#define tShow 373 +#define tHide 374 +#define tB_SPLINE_SURFACE_WITH_KNOTS 375 +#define tB_SPLINE_CURVE_WITH_KNOTS 376 +#define tCARTESIAN_POINT 377 +#define tTRUE 378 +#define tFALSE 379 +#define tUNSPECIFIED 380 +#define tU 381 +#define tV 382 +#define tEDGE_CURVE 383 +#define tVERTEX_POINT 384 +#define tORIENTED_EDGE 385 +#define tPLANE 386 +#define tFACE_OUTER_BOUND 387 +#define tEDGE_LOOP 388 +#define tADVANCED_FACE 389 +#define tVECTOR 390 +#define tDIRECTION 391 +#define tAXIS2_PLACEMENT_3D 392 +#define tISO 393 +#define tENDISO 394 +#define tENDSEC 395 +#define tDATA 396 +#define tHEADER 397 +#define tFILE_DESCRIPTION 398 +#define tFILE_SCHEMA 399 +#define tFILE_NAME 400 +#define tMANIFOLD_SOLID_BREP 401 +#define tCLOSED_SHELL 402 +#define tADVANCED_BREP_SHAPE_REPRESENTATION 403 +#define tFACE_BOUND 404 +#define tCYLINDRICAL_SURFACE 405 +#define tCONICAL_SURFACE 406 +#define tCIRCLE 407 +#define tTRIMMED_CURVE 408 +#define tGEOMETRIC_SET 409 +#define tCOMPOSITE_CURVE_SEGMENT 410 +#define tCONTINUOUS 411 +#define tCOMPOSITE_CURVE 412 +#define tTOROIDAL_SURFACE 413 +#define tPRODUCT_DEFINITION 414 +#define tPRODUCT_DEFINITION_SHAPE 415 +#define tSHAPE_DEFINITION_REPRESENTATION 416 +#define tELLIPSE 417 +#define tSolid 418 +#define tEndSolid 419 +#define tVertex 420 +#define tFacet 421 +#define tNormal 422 +#define tOuter 423 +#define tLoopSTL 424 +#define tEndLoop 425 +#define tEndFacet 426 +#define tAFFECTPLUS 427 +#define tAFFECTMINUS 428 +#define tAFFECTTIMES 429 +#define tAFFECTDIVIDE 430 +#define tOR 431 +#define tAND 432 +#define tEQUAL 433 +#define tNOTEQUAL 434 +#define tAPPROXEQUAL 435 +#define tLESSOREQUAL 436 +#define tGREATEROREQUAL 437 +#define tCROSSPRODUCT 438 +#define tPLUSPLUS 439 +#define tMINUSMINUS 440 +#define UNARYPREC 441 #line 1 "Gmsh.y" -// $Id: Gmsh.tab.cpp,v 1.172 2003-11-29 19:29:26 geuzaine Exp $ +// $Id: Gmsh.tab.cpp,v 1.173 2003-12-01 21:51:20 geuzaine Exp $ // // Copyright (C) 1997-2003 C. Geuzaine, J.-F. Remacle // @@ -235,6 +237,7 @@ #include "Timer.h" #include "CreateFile.h" #include "STL.h" +#include "Visibility.h" Tree_T *Symbol_T = NULL; @@ -269,7 +272,7 @@ void skip_until (char *skip, char *until); int PrintListOfDouble (char *format, List_T *list, char *buffer); void FixRelativePath(char *in, char *out); -#line 82 "Gmsh.y" +#line 83 "Gmsh.y" typedef union { char *c; int i; @@ -289,26 +292,26 @@ typedef union { -#define YYFINAL 2302 +#define YYFINAL 2320 #define YYFLAG -32768 -#define YYNTBASE 204 +#define YYNTBASE 206 -#define YYTRANSLATE(x) ((unsigned)(x) <= 439 ? yytranslate[x] : 337) +#define YYTRANSLATE(x) ((unsigned)(x) <= 441 ? yytranslate[x] : 340) 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, 191, 2, 2, 2, 189, 2, 2, 196, - 197, 187, 185, 201, 186, 200, 188, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 181, - 2, 183, 175, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 193, 2, 2, 2, 191, 2, 2, 198, + 199, 189, 187, 203, 188, 202, 190, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 183, + 2, 185, 177, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 198, 2, 199, 195, 2, 2, 2, 2, 2, 2, + 200, 2, 201, 197, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 202, 2, 203, 2, 2, 2, 2, 2, + 2, 2, 204, 2, 205, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -338,8 +341,9 @@ static const short yytranslate[] = { 0, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, - 167, 168, 169, 170, 171, 172, 173, 174, 176, 177, - 178, 179, 180, 182, 184, 190, 192, 193, 194 + 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, + 178, 179, 180, 181, 182, 184, 186, 192, 194, 195, + 196 }; #if YYDEBUG != 0 @@ -350,427 +354,430 @@ static const short yyprhs[] = { 0, 229, 243, 253, 265, 279, 289, 299, 311, 321, 333, 343, 355, 369, 383, 395, 409, 427, 437, 449, 461, 475, 487, 497, 498, 501, 503, 505, 507, 509, 511, - 513, 515, 517, 519, 521, 523, 525, 527, 533, 541, - 548, 557, 558, 561, 564, 567, 570, 573, 576, 579, - 582, 585, 588, 591, 594, 597, 600, 603, 606, 609, - 612, 615, 618, 621, 624, 627, 630, 633, 636, 638, - 642, 643, 657, 659, 663, 664, 678, 680, 684, 685, - 699, 701, 705, 706, 726, 728, 732, 733, 753, 755, - 759, 760, 780, 782, 786, 787, 813, 815, 819, 820, - 846, 848, 852, 853, 879, 881, 885, 886, 918, 920, - 924, 925, 957, 959, 963, 964, 996, 998, 1002, 1003, - 1035, 1037, 1041, 1042, 1074, 1076, 1080, 1081, 1113, 1115, - 1119, 1120, 1176, 1178, 1182, 1183, 1239, 1241, 1245, 1246, - 1302, 1304, 1308, 1309, 1353, 1355, 1359, 1360, 1404, 1406, - 1410, 1411, 1455, 1457, 1461, 1462, 1500, 1502, 1506, 1507, - 1545, 1547, 1551, 1552, 1590, 1592, 1596, 1597, 1611, 1613, - 1617, 1618, 1634, 1636, 1638, 1640, 1642, 1644, 1646, 1648, - 1653, 1661, 1671, 1678, 1682, 1689, 1696, 1706, 1713, 1723, - 1729, 1738, 1747, 1759, 1766, 1776, 1786, 1796, 1804, 1813, - 1826, 1833, 1841, 1849, 1862, 1870, 1878, 1888, 1906, 1915, - 1924, 1932, 1940, 1952, 1961, 1974, 1983, 1998, 2021, 2042, - 2051, 2060, 2069, 2077, 2086, 2092, 2104, 2110, 2120, 2122, - 2124, 2126, 2127, 2130, 2137, 2144, 2151, 2156, 2163, 2168, - 2175, 2179, 2185, 2189, 2197, 2201, 2209, 2213, 2216, 2219, - 2226, 2235, 2244, 2255, 2257, 2260, 2262, 2266, 2271, 2273, - 2282, 2295, 2310, 2311, 2324, 2325, 2342, 2343, 2362, 2371, - 2384, 2399, 2400, 2413, 2414, 2431, 2432, 2451, 2460, 2473, - 2488, 2489, 2502, 2503, 2520, 2521, 2540, 2542, 2545, 2555, - 2563, 2566, 2573, 2583, 2593, 2602, 2611, 2620, 2627, 2632, - 2635, 2638, 2640, 2642, 2644, 2646, 2648, 2650, 2654, 2657, - 2660, 2663, 2667, 2671, 2675, 2679, 2683, 2687, 2691, 2695, - 2699, 2703, 2707, 2711, 2715, 2719, 2725, 2730, 2735, 2740, - 2745, 2750, 2755, 2760, 2765, 2770, 2775, 2782, 2787, 2792, - 2797, 2802, 2807, 2812, 2819, 2826, 2833, 2838, 2843, 2848, - 2853, 2858, 2863, 2868, 2873, 2878, 2883, 2888, 2895, 2900, - 2905, 2910, 2915, 2920, 2925, 2932, 2939, 2946, 2951, 2953, - 2955, 2957, 2959, 2961, 2966, 2969, 2975, 2979, 2986, 2991, - 2999, 3001, 3004, 3007, 3011, 3015, 3027, 3037, 3045, 3053, - 3054, 3058, 3060, 3064, 3065, 3069, 3073, 3075, 3079, 3081, - 3083, 3087, 3092, 3096, 3102, 3107, 3109, 3111, 3113, 3117, - 3122, 3129, 3137, 3139, 3141, 3145, 3149, 3159, 3167, 3169, - 3175, 3179, 3186, 3188, 3192, 3194, 3201, 3206, 3211, 3218, - 3225 + 513, 515, 517, 519, 521, 523, 525, 527, 529, 535, + 543, 550, 559, 560, 563, 566, 569, 572, 575, 578, + 581, 584, 587, 590, 593, 596, 599, 602, 605, 608, + 611, 614, 617, 620, 623, 626, 629, 632, 635, 638, + 640, 644, 645, 659, 661, 665, 666, 680, 682, 686, + 687, 701, 703, 707, 708, 728, 730, 734, 735, 755, + 757, 761, 762, 782, 784, 788, 789, 815, 817, 821, + 822, 848, 850, 854, 855, 881, 883, 887, 888, 920, + 922, 926, 927, 959, 961, 965, 966, 998, 1000, 1004, + 1005, 1037, 1039, 1043, 1044, 1076, 1078, 1082, 1083, 1115, + 1117, 1121, 1122, 1178, 1180, 1184, 1185, 1241, 1243, 1247, + 1248, 1304, 1306, 1310, 1311, 1355, 1357, 1361, 1362, 1406, + 1408, 1412, 1413, 1457, 1459, 1463, 1464, 1502, 1504, 1508, + 1509, 1547, 1549, 1553, 1554, 1592, 1594, 1598, 1599, 1613, + 1615, 1619, 1620, 1636, 1638, 1640, 1642, 1644, 1646, 1648, + 1650, 1655, 1663, 1673, 1680, 1684, 1691, 1698, 1708, 1715, + 1725, 1731, 1740, 1749, 1761, 1768, 1778, 1788, 1798, 1806, + 1815, 1828, 1835, 1843, 1851, 1864, 1872, 1880, 1890, 1908, + 1917, 1926, 1934, 1942, 1954, 1963, 1976, 1985, 2000, 2023, + 2044, 2053, 2062, 2071, 2079, 2088, 2094, 2106, 2112, 2122, + 2124, 2126, 2128, 2129, 2132, 2139, 2146, 2153, 2160, 2165, + 2172, 2177, 2184, 2188, 2194, 2198, 2202, 2207, 2212, 2216, + 2224, 2228, 2236, 2240, 2243, 2246, 2253, 2262, 2271, 2282, + 2284, 2287, 2289, 2293, 2298, 2300, 2309, 2322, 2337, 2338, + 2351, 2352, 2369, 2370, 2389, 2398, 2411, 2426, 2427, 2440, + 2441, 2458, 2459, 2478, 2487, 2500, 2515, 2516, 2529, 2530, + 2547, 2548, 2567, 2569, 2572, 2582, 2590, 2593, 2600, 2610, + 2620, 2629, 2638, 2647, 2654, 2659, 2662, 2665, 2667, 2669, + 2671, 2673, 2675, 2677, 2681, 2684, 2687, 2690, 2694, 2698, + 2702, 2706, 2710, 2714, 2718, 2722, 2726, 2730, 2734, 2738, + 2742, 2746, 2752, 2757, 2762, 2767, 2772, 2777, 2782, 2787, + 2792, 2797, 2802, 2809, 2814, 2819, 2824, 2829, 2834, 2839, + 2846, 2853, 2860, 2865, 2870, 2875, 2880, 2885, 2890, 2895, + 2900, 2905, 2910, 2915, 2922, 2927, 2932, 2937, 2942, 2947, + 2952, 2959, 2966, 2973, 2978, 2980, 2982, 2984, 2986, 2988, + 2993, 2996, 3002, 3006, 3013, 3018, 3026, 3028, 3031, 3034, + 3038, 3042, 3054, 3064, 3072, 3080, 3081, 3085, 3087, 3091, + 3092, 3096, 3100, 3102, 3106, 3108, 3110, 3114, 3119, 3123, + 3129, 3134, 3136, 3138, 3140, 3144, 3149, 3156, 3164, 3166, + 3168, 3172, 3176, 3186, 3194, 3196, 3202, 3206, 3213, 3215, + 3219, 3221, 3228, 3233, 3238, 3245, 3252 }; -static const short yyrhs[] = { 207, - 0, 206, 0, 212, 0, 1, 6, 0, 3, 0, - 186, 3, 0, 162, 0, 165, 166, 205, 205, 205, - 167, 168, 164, 205, 205, 205, 164, 205, 205, 205, - 164, 205, 205, 205, 169, 170, 0, 163, 0, 0, - 207, 208, 0, 209, 0, 211, 0, 210, 0, 137, - 6, 0, 138, 6, 0, 140, 6, 0, 139, 6, - 0, 141, 6, 0, 142, 196, 326, 201, 5, 197, - 6, 0, 143, 196, 326, 197, 6, 0, 144, 196, - 5, 201, 5, 201, 326, 201, 326, 201, 5, 201, - 5, 201, 5, 197, 6, 0, 3, 7, 121, 196, - 5, 201, 324, 197, 6, 0, 3, 7, 120, 196, - 5, 201, 322, 201, 330, 201, 321, 201, 321, 201, - 321, 201, 330, 201, 330, 201, 321, 197, 6, 0, - 3, 7, 119, 196, 5, 201, 322, 201, 322, 201, - 328, 201, 321, 201, 321, 201, 321, 201, 321, 201, - 330, 201, 330, 201, 330, 201, 330, 201, 321, 197, - 6, 0, 3, 7, 127, 196, 5, 201, 3, 201, - 3, 201, 3, 201, 321, 197, 6, 0, 3, 7, - 131, 196, 5, 201, 3, 201, 321, 197, 6, 0, - 3, 7, 148, 196, 5, 201, 3, 201, 321, 197, - 6, 0, 3, 7, 129, 196, 5, 201, 187, 201, - 187, 201, 322, 201, 321, 197, 6, 0, 3, 7, - 132, 196, 5, 201, 330, 197, 6, 0, 3, 7, - 133, 196, 5, 201, 330, 201, 3, 201, 321, 197, - 6, 0, 3, 7, 128, 196, 5, 201, 3, 197, - 6, 0, 3, 7, 134, 196, 5, 201, 3, 201, - 322, 197, 6, 0, 3, 7, 136, 196, 5, 201, - 3, 201, 3, 201, 3, 197, 6, 0, 3, 7, - 135, 196, 5, 201, 324, 197, 6, 0, 3, 7, - 130, 196, 5, 201, 3, 197, 6, 0, 3, 7, - 41, 196, 5, 201, 3, 201, 3, 197, 6, 0, - 3, 7, 146, 196, 5, 201, 330, 197, 6, 0, - 3, 7, 147, 196, 5, 201, 330, 201, 3, 197, - 6, 0, 3, 7, 145, 196, 5, 201, 3, 197, - 6, 0, 3, 7, 149, 196, 5, 201, 3, 201, - 322, 197, 6, 0, 3, 7, 150, 196, 5, 201, - 3, 201, 322, 201, 322, 197, 6, 0, 3, 7, - 157, 196, 5, 201, 3, 201, 322, 201, 322, 197, - 6, 0, 3, 7, 151, 196, 5, 201, 3, 201, - 322, 197, 6, 0, 3, 7, 161, 196, 5, 201, - 3, 201, 322, 201, 322, 197, 6, 0, 3, 7, - 152, 196, 5, 201, 3, 201, 330, 201, 330, 201, - 321, 201, 321, 197, 6, 0, 3, 7, 153, 196, - 5, 201, 330, 197, 6, 0, 3, 7, 154, 196, - 155, 201, 321, 201, 3, 197, 6, 0, 3, 7, - 156, 196, 5, 201, 330, 201, 321, 197, 6, 0, - 3, 7, 158, 196, 5, 201, 5, 201, 3, 201, - 3, 197, 6, 0, 3, 7, 159, 196, 5, 201, - 5, 201, 3, 197, 6, 0, 3, 7, 160, 196, - 3, 201, 3, 197, 6, 0, 0, 212, 213, 0, - 215, 0, 214, 0, 297, 0, 298, 0, 299, 0, - 302, 0, 303, 0, 304, 0, 307, 0, 319, 0, - 320, 0, 306, 0, 305, 0, 33, 196, 5, 197, - 6, 0, 33, 196, 5, 201, 332, 197, 6, 0, - 4, 5, 202, 216, 203, 6, 0, 4, 5, 4, - 324, 202, 216, 203, 6, 0, 0, 216, 218, 0, - 216, 221, 0, 216, 224, 0, 216, 227, 0, 216, - 230, 0, 216, 233, 0, 216, 236, 0, 216, 239, - 0, 216, 242, 0, 216, 245, 0, 216, 248, 0, - 216, 251, 0, 216, 254, 0, 216, 257, 0, 216, - 260, 0, 216, 263, 0, 216, 266, 0, 216, 269, - 0, 216, 272, 0, 216, 275, 0, 216, 278, 0, - 216, 281, 0, 216, 284, 0, 216, 287, 0, 216, - 290, 0, 216, 293, 0, 322, 0, 217, 201, 322, - 0, 0, 72, 196, 322, 201, 322, 201, 322, 197, - 219, 202, 217, 203, 6, 0, 322, 0, 220, 201, - 322, 0, 0, 73, 196, 322, 201, 322, 201, 322, - 197, 222, 202, 220, 203, 6, 0, 322, 0, 223, - 201, 322, 0, 0, 74, 196, 322, 201, 322, 201, - 322, 197, 225, 202, 223, 203, 6, 0, 322, 0, - 226, 201, 322, 0, 0, 75, 196, 322, 201, 322, - 201, 322, 201, 322, 201, 322, 201, 322, 197, 228, - 202, 226, 203, 6, 0, 322, 0, 229, 201, 322, - 0, 0, 76, 196, 322, 201, 322, 201, 322, 201, - 322, 201, 322, 201, 322, 197, 231, 202, 229, 203, - 6, 0, 322, 0, 232, 201, 322, 0, 0, 77, - 196, 322, 201, 322, 201, 322, 201, 322, 201, 322, - 201, 322, 197, 234, 202, 232, 203, 6, 0, 322, - 0, 235, 201, 322, 0, 0, 78, 196, 322, 201, - 322, 201, 322, 201, 322, 201, 322, 201, 322, 201, - 322, 201, 322, 201, 322, 197, 237, 202, 235, 203, - 6, 0, 322, 0, 238, 201, 322, 0, 0, 79, - 196, 322, 201, 322, 201, 322, 201, 322, 201, 322, - 201, 322, 201, 322, 201, 322, 201, 322, 197, 240, - 202, 238, 203, 6, 0, 322, 0, 241, 201, 322, - 0, 0, 80, 196, 322, 201, 322, 201, 322, 201, - 322, 201, 322, 201, 322, 201, 322, 201, 322, 201, - 322, 197, 243, 202, 241, 203, 6, 0, 322, 0, - 244, 201, 322, 0, 0, 81, 196, 322, 201, 322, - 201, 322, 201, 322, 201, 322, 201, 322, 201, 322, - 201, 322, 201, 322, 201, 322, 201, 322, 201, 322, - 197, 246, 202, 244, 203, 6, 0, 322, 0, 247, - 201, 322, 0, 0, 82, 196, 322, 201, 322, 201, - 322, 201, 322, 201, 322, 201, 322, 201, 322, 201, - 322, 201, 322, 201, 322, 201, 322, 201, 322, 197, - 249, 202, 247, 203, 6, 0, 322, 0, 250, 201, - 322, 0, 0, 83, 196, 322, 201, 322, 201, 322, - 201, 322, 201, 322, 201, 322, 201, 322, 201, 322, - 201, 322, 201, 322, 201, 322, 201, 322, 197, 252, - 202, 250, 203, 6, 0, 322, 0, 253, 201, 322, - 0, 0, 84, 196, 322, 201, 322, 201, 322, 201, - 322, 201, 322, 201, 322, 201, 322, 201, 322, 201, - 322, 201, 322, 201, 322, 201, 322, 197, 255, 202, - 253, 203, 6, 0, 322, 0, 256, 201, 322, 0, - 0, 85, 196, 322, 201, 322, 201, 322, 201, 322, - 201, 322, 201, 322, 201, 322, 201, 322, 201, 322, - 201, 322, 201, 322, 201, 322, 197, 258, 202, 256, - 203, 6, 0, 322, 0, 259, 201, 322, 0, 0, - 86, 196, 322, 201, 322, 201, 322, 201, 322, 201, - 322, 201, 322, 201, 322, 201, 322, 201, 322, 201, - 322, 201, 322, 201, 322, 197, 261, 202, 259, 203, - 6, 0, 322, 0, 262, 201, 322, 0, 0, 87, - 196, 322, 201, 322, 201, 322, 201, 322, 201, 322, - 201, 322, 201, 322, 201, 322, 201, 322, 201, 322, - 201, 322, 201, 322, 201, 322, 201, 322, 201, 322, - 201, 322, 201, 322, 201, 322, 201, 322, 201, 322, - 201, 322, 201, 322, 201, 322, 201, 322, 197, 264, - 202, 262, 203, 6, 0, 322, 0, 265, 201, 322, - 0, 0, 88, 196, 322, 201, 322, 201, 322, 201, - 322, 201, 322, 201, 322, 201, 322, 201, 322, 201, - 322, 201, 322, 201, 322, 201, 322, 201, 322, 201, - 322, 201, 322, 201, 322, 201, 322, 201, 322, 201, - 322, 201, 322, 201, 322, 201, 322, 201, 322, 201, - 322, 197, 267, 202, 265, 203, 6, 0, 322, 0, - 268, 201, 322, 0, 0, 89, 196, 322, 201, 322, - 201, 322, 201, 322, 201, 322, 201, 322, 201, 322, - 201, 322, 201, 322, 201, 322, 201, 322, 201, 322, - 201, 322, 201, 322, 201, 322, 201, 322, 201, 322, - 201, 322, 201, 322, 201, 322, 201, 322, 201, 322, - 201, 322, 201, 322, 197, 270, 202, 268, 203, 6, - 0, 322, 0, 271, 201, 322, 0, 0, 90, 196, - 322, 201, 322, 201, 322, 201, 322, 201, 322, 201, - 322, 201, 322, 201, 322, 201, 322, 201, 322, 201, - 322, 201, 322, 201, 322, 201, 322, 201, 322, 201, - 322, 201, 322, 201, 322, 197, 273, 202, 271, 203, - 6, 0, 322, 0, 274, 201, 322, 0, 0, 91, - 196, 322, 201, 322, 201, 322, 201, 322, 201, 322, - 201, 322, 201, 322, 201, 322, 201, 322, 201, 322, - 201, 322, 201, 322, 201, 322, 201, 322, 201, 322, - 201, 322, 201, 322, 201, 322, 197, 276, 202, 274, - 203, 6, 0, 322, 0, 277, 201, 322, 0, 0, - 92, 196, 322, 201, 322, 201, 322, 201, 322, 201, - 322, 201, 322, 201, 322, 201, 322, 201, 322, 201, - 322, 201, 322, 201, 322, 201, 322, 201, 322, 201, - 322, 201, 322, 201, 322, 201, 322, 197, 279, 202, - 277, 203, 6, 0, 322, 0, 280, 201, 322, 0, - 0, 93, 196, 322, 201, 322, 201, 322, 201, 322, - 201, 322, 201, 322, 201, 322, 201, 322, 201, 322, - 201, 322, 201, 322, 201, 322, 201, 322, 201, 322, - 201, 322, 197, 282, 202, 280, 203, 6, 0, 322, - 0, 283, 201, 322, 0, 0, 94, 196, 322, 201, - 322, 201, 322, 201, 322, 201, 322, 201, 322, 201, - 322, 201, 322, 201, 322, 201, 322, 201, 322, 201, - 322, 201, 322, 201, 322, 201, 322, 197, 285, 202, - 283, 203, 6, 0, 322, 0, 286, 201, 322, 0, - 0, 95, 196, 322, 201, 322, 201, 322, 201, 322, - 201, 322, 201, 322, 201, 322, 201, 322, 201, 322, - 201, 322, 201, 322, 201, 322, 201, 322, 201, 322, - 201, 322, 197, 288, 202, 286, 203, 6, 0, 336, - 0, 289, 201, 336, 0, 0, 96, 196, 322, 201, - 322, 201, 322, 197, 291, 202, 289, 203, 6, 0, - 336, 0, 292, 201, 336, 0, 0, 97, 196, 322, - 201, 322, 201, 322, 201, 322, 197, 294, 202, 292, - 203, 6, 0, 7, 0, 171, 0, 172, 0, 173, - 0, 174, 0, 192, 0, 193, 0, 4, 295, 322, - 6, 0, 4, 198, 322, 199, 295, 322, 6, 0, - 4, 198, 202, 332, 203, 199, 295, 330, 6, 0, - 4, 198, 199, 7, 330, 6, 0, 4, 296, 6, - 0, 4, 198, 322, 199, 296, 6, 0, 4, 200, - 4, 7, 336, 6, 0, 4, 198, 322, 199, 200, - 4, 7, 336, 6, 0, 4, 200, 4, 295, 322, - 6, 0, 4, 198, 322, 199, 200, 4, 295, 322, - 6, 0, 4, 200, 4, 296, 6, 0, 4, 198, - 322, 199, 200, 4, 296, 6, 0, 4, 200, 106, - 200, 4, 7, 333, 6, 0, 4, 198, 322, 199, - 200, 106, 200, 4, 7, 333, 6, 0, 4, 200, - 107, 7, 334, 6, 0, 4, 198, 322, 199, 200, - 107, 7, 334, 6, 0, 58, 196, 4, 197, 200, - 4, 7, 322, 6, 0, 58, 196, 4, 197, 200, - 4, 7, 336, 6, 0, 38, 196, 322, 197, 7, - 324, 6, 0, 54, 38, 196, 322, 197, 7, 330, - 6, 0, 70, 38, 330, 7, 202, 322, 201, 322, - 201, 322, 203, 6, 0, 45, 46, 330, 7, 322, - 6, 0, 41, 196, 322, 197, 7, 330, 6, 0, - 43, 196, 322, 197, 7, 330, 6, 0, 70, 41, - 330, 7, 202, 322, 201, 322, 201, 322, 203, 6, - 0, 39, 196, 322, 197, 7, 330, 6, 0, 40, - 196, 322, 197, 7, 330, 6, 0, 39, 196, 322, - 197, 7, 330, 49, 324, 6, 0, 47, 196, 322, - 197, 7, 202, 322, 201, 322, 201, 5, 201, 5, - 201, 5, 203, 6, 0, 54, 41, 196, 322, 197, - 7, 330, 6, 0, 41, 65, 196, 322, 197, 7, - 330, 6, 0, 99, 196, 322, 197, 7, 330, 6, - 0, 100, 196, 322, 197, 7, 330, 6, 0, 101, - 196, 322, 197, 7, 330, 105, 330, 102, 322, 6, - 0, 49, 42, 196, 322, 197, 7, 330, 6, 0, - 118, 42, 196, 322, 197, 7, 202, 322, 201, 330, - 203, 6, 0, 50, 42, 196, 322, 197, 7, 330, - 6, 0, 51, 42, 196, 322, 197, 7, 196, 322, - 201, 322, 197, 330, 330, 6, 0, 101, 42, 103, - 104, 196, 322, 197, 7, 328, 105, 202, 330, 201, - 330, 203, 102, 202, 322, 201, 322, 203, 6, 0, - 101, 42, 196, 322, 197, 7, 328, 105, 202, 330, - 201, 330, 203, 102, 202, 322, 201, 322, 203, 6, - 0, 54, 42, 196, 322, 197, 7, 330, 6, 0, - 42, 65, 196, 322, 197, 7, 330, 6, 0, 53, - 44, 196, 322, 197, 7, 330, 6, 0, 44, 196, - 322, 197, 7, 330, 6, 0, 54, 44, 196, 322, - 197, 7, 330, 6, 0, 60, 324, 202, 300, 203, - 0, 59, 202, 324, 201, 324, 201, 322, 203, 202, - 300, 203, 0, 61, 324, 202, 300, 203, 0, 62, - 202, 324, 201, 322, 203, 202, 300, 203, 0, 302, - 0, 301, 0, 299, 0, 0, 301, 298, 0, 301, - 38, 202, 332, 203, 6, 0, 301, 41, 202, 332, - 203, 6, 0, 301, 42, 202, 332, 203, 6, 0, - 64, 202, 301, 203, 0, 64, 4, 198, 322, 199, - 6, 0, 67, 202, 301, 203, 0, 67, 4, 198, - 322, 199, 6, 0, 67, 117, 6, 0, 106, 333, - 202, 301, 203, 0, 4, 336, 6, 0, 4, 4, - 198, 322, 199, 336, 6, 0, 4, 322, 6, 0, - 58, 196, 4, 197, 200, 4, 6, 0, 98, 4, - 6, 0, 113, 6, 0, 37, 6, 0, 108, 196, - 322, 8, 322, 197, 0, 108, 196, 322, 8, 322, - 8, 322, 197, 0, 108, 4, 109, 202, 322, 8, - 322, 203, 0, 108, 4, 109, 202, 322, 8, 322, - 8, 322, 203, 0, 110, 0, 116, 4, 0, 114, - 0, 115, 4, 6, 0, 111, 196, 322, 197, 0, - 112, 0, 63, 38, 202, 322, 201, 324, 203, 6, - 0, 63, 38, 202, 322, 201, 324, 201, 324, 201, - 322, 203, 6, 0, 63, 38, 202, 322, 201, 324, - 201, 324, 201, 324, 201, 322, 203, 6, 0, 0, - 63, 38, 202, 322, 201, 324, 203, 308, 202, 317, - 203, 6, 0, 0, 63, 38, 202, 322, 201, 324, - 201, 324, 201, 322, 203, 309, 202, 317, 203, 6, - 0, 0, 63, 38, 202, 322, 201, 324, 201, 324, - 201, 324, 201, 322, 203, 310, 202, 317, 203, 6, - 0, 63, 41, 202, 322, 201, 324, 203, 6, 0, - 63, 41, 202, 322, 201, 324, 201, 324, 201, 322, - 203, 6, 0, 63, 41, 202, 322, 201, 324, 201, - 324, 201, 324, 201, 322, 203, 6, 0, 0, 63, - 41, 202, 322, 201, 324, 203, 311, 202, 317, 203, - 6, 0, 0, 63, 41, 202, 322, 201, 324, 201, - 324, 201, 322, 203, 312, 202, 317, 203, 6, 0, - 0, 63, 41, 202, 322, 201, 324, 201, 324, 201, - 324, 201, 322, 203, 313, 202, 317, 203, 6, 0, - 63, 42, 202, 322, 201, 324, 203, 6, 0, 63, - 42, 202, 322, 201, 324, 201, 324, 201, 322, 203, - 6, 0, 63, 42, 202, 322, 201, 324, 201, 324, - 201, 324, 201, 322, 203, 6, 0, 0, 63, 42, - 202, 322, 201, 324, 203, 314, 202, 317, 203, 6, - 0, 0, 63, 42, 202, 322, 201, 324, 201, 324, - 201, 322, 203, 315, 202, 317, 203, 6, 0, 0, - 63, 42, 202, 322, 201, 324, 201, 324, 201, 324, - 201, 322, 203, 316, 202, 317, 203, 6, 0, 318, - 0, 317, 318, 0, 71, 202, 330, 201, 330, 201, - 330, 203, 6, 0, 71, 202, 330, 201, 330, 203, - 6, 0, 66, 6, 0, 52, 41, 330, 7, 322, - 6, 0, 52, 41, 330, 7, 322, 55, 57, 322, - 6, 0, 52, 41, 330, 7, 322, 55, 56, 322, - 6, 0, 52, 42, 202, 322, 203, 7, 330, 6, - 0, 48, 42, 202, 322, 203, 7, 330, 6, 0, - 52, 44, 202, 322, 203, 7, 330, 6, 0, 66, - 42, 330, 7, 322, 6, 0, 66, 42, 330, 6, - 0, 68, 6, 0, 69, 6, 0, 122, 0, 123, - 0, 124, 0, 125, 0, 126, 0, 323, 0, 196, - 322, 197, 0, 186, 322, 0, 185, 322, 0, 191, - 322, 0, 322, 186, 322, 0, 322, 185, 322, 0, - 322, 187, 322, 0, 322, 188, 322, 0, 322, 189, - 322, 0, 322, 195, 322, 0, 322, 181, 322, 0, - 322, 183, 322, 0, 322, 182, 322, 0, 322, 184, - 322, 0, 322, 178, 322, 0, 322, 179, 322, 0, - 322, 177, 322, 0, 322, 176, 322, 0, 322, 175, - 322, 8, 322, 0, 12, 196, 322, 197, 0, 13, - 196, 322, 197, 0, 14, 196, 322, 197, 0, 15, - 196, 322, 197, 0, 16, 196, 322, 197, 0, 17, - 196, 322, 197, 0, 18, 196, 322, 197, 0, 19, - 196, 322, 197, 0, 20, 196, 322, 197, 0, 22, - 196, 322, 197, 0, 23, 196, 322, 201, 322, 197, - 0, 24, 196, 322, 197, 0, 25, 196, 322, 197, - 0, 26, 196, 322, 197, 0, 27, 196, 322, 197, - 0, 28, 196, 322, 197, 0, 29, 196, 322, 197, - 0, 30, 196, 322, 201, 322, 197, 0, 31, 196, - 322, 201, 322, 197, 0, 32, 196, 322, 201, 322, - 197, 0, 21, 196, 322, 197, 0, 12, 198, 322, - 199, 0, 13, 198, 322, 199, 0, 14, 198, 322, - 199, 0, 15, 198, 322, 199, 0, 16, 198, 322, - 199, 0, 17, 198, 322, 199, 0, 18, 198, 322, - 199, 0, 19, 198, 322, 199, 0, 20, 198, 322, - 199, 0, 22, 198, 322, 199, 0, 23, 198, 322, - 201, 322, 199, 0, 24, 198, 322, 199, 0, 25, - 198, 322, 199, 0, 26, 198, 322, 199, 0, 27, - 198, 322, 199, 0, 28, 198, 322, 199, 0, 29, - 198, 322, 199, 0, 30, 198, 322, 201, 322, 199, - 0, 31, 198, 322, 201, 322, 199, 0, 32, 198, - 322, 201, 322, 199, 0, 21, 198, 322, 199, 0, - 3, 0, 9, 0, 10, 0, 11, 0, 4, 0, - 4, 198, 322, 199, 0, 4, 296, 0, 4, 198, - 322, 199, 296, 0, 4, 200, 4, 0, 4, 198, - 322, 199, 200, 4, 0, 4, 200, 4, 296, 0, - 4, 198, 322, 199, 200, 4, 296, 0, 325, 0, - 186, 324, 0, 185, 324, 0, 324, 186, 324, 0, - 324, 185, 324, 0, 202, 322, 201, 322, 201, 322, - 201, 322, 201, 322, 203, 0, 202, 322, 201, 322, - 201, 322, 201, 322, 203, 0, 202, 322, 201, 322, - 201, 322, 203, 0, 196, 322, 201, 322, 201, 322, - 197, 0, 0, 196, 327, 197, 0, 5, 0, 327, - 201, 5, 0, 0, 202, 329, 203, 0, 196, 329, - 197, 0, 330, 0, 329, 201, 330, 0, 322, 0, - 331, 0, 202, 332, 203, 0, 186, 202, 332, 203, - 0, 322, 8, 322, 0, 322, 8, 322, 8, 322, - 0, 38, 202, 322, 203, 0, 299, 0, 302, 0, - 307, 0, 4, 198, 199, 0, 186, 4, 198, 199, - 0, 4, 198, 202, 332, 203, 199, 0, 186, 4, - 198, 202, 332, 203, 199, 0, 322, 0, 331, 0, - 332, 201, 322, 0, 332, 201, 331, 0, 202, 322, - 201, 322, 201, 322, 201, 322, 203, 0, 202, 322, - 201, 322, 201, 322, 203, 0, 4, 0, 4, 200, - 106, 200, 4, 0, 202, 335, 203, 0, 4, 198, - 322, 199, 200, 107, 0, 333, 0, 335, 201, 333, - 0, 5, 0, 35, 196, 336, 201, 336, 197, 0, - 36, 196, 336, 197, 0, 34, 196, 336, 197, 0, - 34, 196, 336, 201, 332, 197, 0, 34, 196, 4, - 200, 4, 197, 0, 34, 196, 4, 198, 322, 199, - 200, 4, 197, 0 +static const short yyrhs[] = { 209, + 0, 208, 0, 214, 0, 1, 6, 0, 3, 0, + 188, 3, 0, 164, 0, 167, 168, 207, 207, 207, + 169, 170, 166, 207, 207, 207, 166, 207, 207, 207, + 166, 207, 207, 207, 171, 172, 0, 165, 0, 0, + 209, 210, 0, 211, 0, 213, 0, 212, 0, 139, + 6, 0, 140, 6, 0, 142, 6, 0, 141, 6, + 0, 143, 6, 0, 144, 198, 329, 203, 5, 199, + 6, 0, 145, 198, 329, 199, 6, 0, 146, 198, + 5, 203, 5, 203, 329, 203, 329, 203, 5, 203, + 5, 203, 5, 199, 6, 0, 3, 7, 123, 198, + 5, 203, 327, 199, 6, 0, 3, 7, 122, 198, + 5, 203, 325, 203, 333, 203, 324, 203, 324, 203, + 324, 203, 333, 203, 333, 203, 324, 199, 6, 0, + 3, 7, 121, 198, 5, 203, 325, 203, 325, 203, + 331, 203, 324, 203, 324, 203, 324, 203, 324, 203, + 333, 203, 333, 203, 333, 203, 333, 203, 324, 199, + 6, 0, 3, 7, 129, 198, 5, 203, 3, 203, + 3, 203, 3, 203, 324, 199, 6, 0, 3, 7, + 133, 198, 5, 203, 3, 203, 324, 199, 6, 0, + 3, 7, 150, 198, 5, 203, 3, 203, 324, 199, + 6, 0, 3, 7, 131, 198, 5, 203, 189, 203, + 189, 203, 325, 203, 324, 199, 6, 0, 3, 7, + 134, 198, 5, 203, 333, 199, 6, 0, 3, 7, + 135, 198, 5, 203, 333, 203, 3, 203, 324, 199, + 6, 0, 3, 7, 130, 198, 5, 203, 3, 199, + 6, 0, 3, 7, 136, 198, 5, 203, 3, 203, + 325, 199, 6, 0, 3, 7, 138, 198, 5, 203, + 3, 203, 3, 203, 3, 199, 6, 0, 3, 7, + 137, 198, 5, 203, 327, 199, 6, 0, 3, 7, + 132, 198, 5, 203, 3, 199, 6, 0, 3, 7, + 41, 198, 5, 203, 3, 203, 3, 199, 6, 0, + 3, 7, 148, 198, 5, 203, 333, 199, 6, 0, + 3, 7, 149, 198, 5, 203, 333, 203, 3, 199, + 6, 0, 3, 7, 147, 198, 5, 203, 3, 199, + 6, 0, 3, 7, 151, 198, 5, 203, 3, 203, + 325, 199, 6, 0, 3, 7, 152, 198, 5, 203, + 3, 203, 325, 203, 325, 199, 6, 0, 3, 7, + 159, 198, 5, 203, 3, 203, 325, 203, 325, 199, + 6, 0, 3, 7, 153, 198, 5, 203, 3, 203, + 325, 199, 6, 0, 3, 7, 163, 198, 5, 203, + 3, 203, 325, 203, 325, 199, 6, 0, 3, 7, + 154, 198, 5, 203, 3, 203, 333, 203, 333, 203, + 324, 203, 324, 199, 6, 0, 3, 7, 155, 198, + 5, 203, 333, 199, 6, 0, 3, 7, 156, 198, + 157, 203, 324, 203, 3, 199, 6, 0, 3, 7, + 158, 198, 5, 203, 333, 203, 324, 199, 6, 0, + 3, 7, 160, 198, 5, 203, 5, 203, 3, 203, + 3, 199, 6, 0, 3, 7, 161, 198, 5, 203, + 5, 203, 3, 199, 6, 0, 3, 7, 162, 198, + 3, 203, 3, 199, 6, 0, 0, 214, 215, 0, + 217, 0, 216, 0, 299, 0, 300, 0, 301, 0, + 304, 0, 305, 0, 306, 0, 307, 0, 310, 0, + 322, 0, 323, 0, 309, 0, 308, 0, 33, 198, + 5, 199, 6, 0, 33, 198, 5, 203, 335, 199, + 6, 0, 4, 5, 204, 218, 205, 6, 0, 4, + 5, 4, 327, 204, 218, 205, 6, 0, 0, 218, + 220, 0, 218, 223, 0, 218, 226, 0, 218, 229, + 0, 218, 232, 0, 218, 235, 0, 218, 238, 0, + 218, 241, 0, 218, 244, 0, 218, 247, 0, 218, + 250, 0, 218, 253, 0, 218, 256, 0, 218, 259, + 0, 218, 262, 0, 218, 265, 0, 218, 268, 0, + 218, 271, 0, 218, 274, 0, 218, 277, 0, 218, + 280, 0, 218, 283, 0, 218, 286, 0, 218, 289, + 0, 218, 292, 0, 218, 295, 0, 325, 0, 219, + 203, 325, 0, 0, 72, 198, 325, 203, 325, 203, + 325, 199, 221, 204, 219, 205, 6, 0, 325, 0, + 222, 203, 325, 0, 0, 73, 198, 325, 203, 325, + 203, 325, 199, 224, 204, 222, 205, 6, 0, 325, + 0, 225, 203, 325, 0, 0, 74, 198, 325, 203, + 325, 203, 325, 199, 227, 204, 225, 205, 6, 0, + 325, 0, 228, 203, 325, 0, 0, 75, 198, 325, + 203, 325, 203, 325, 203, 325, 203, 325, 203, 325, + 199, 230, 204, 228, 205, 6, 0, 325, 0, 231, + 203, 325, 0, 0, 76, 198, 325, 203, 325, 203, + 325, 203, 325, 203, 325, 203, 325, 199, 233, 204, + 231, 205, 6, 0, 325, 0, 234, 203, 325, 0, + 0, 77, 198, 325, 203, 325, 203, 325, 203, 325, + 203, 325, 203, 325, 199, 236, 204, 234, 205, 6, + 0, 325, 0, 237, 203, 325, 0, 0, 78, 198, + 325, 203, 325, 203, 325, 203, 325, 203, 325, 203, + 325, 203, 325, 203, 325, 203, 325, 199, 239, 204, + 237, 205, 6, 0, 325, 0, 240, 203, 325, 0, + 0, 79, 198, 325, 203, 325, 203, 325, 203, 325, + 203, 325, 203, 325, 203, 325, 203, 325, 203, 325, + 199, 242, 204, 240, 205, 6, 0, 325, 0, 243, + 203, 325, 0, 0, 80, 198, 325, 203, 325, 203, + 325, 203, 325, 203, 325, 203, 325, 203, 325, 203, + 325, 203, 325, 199, 245, 204, 243, 205, 6, 0, + 325, 0, 246, 203, 325, 0, 0, 81, 198, 325, + 203, 325, 203, 325, 203, 325, 203, 325, 203, 325, + 203, 325, 203, 325, 203, 325, 203, 325, 203, 325, + 203, 325, 199, 248, 204, 246, 205, 6, 0, 325, + 0, 249, 203, 325, 0, 0, 82, 198, 325, 203, + 325, 203, 325, 203, 325, 203, 325, 203, 325, 203, + 325, 203, 325, 203, 325, 203, 325, 203, 325, 203, + 325, 199, 251, 204, 249, 205, 6, 0, 325, 0, + 252, 203, 325, 0, 0, 83, 198, 325, 203, 325, + 203, 325, 203, 325, 203, 325, 203, 325, 203, 325, + 203, 325, 203, 325, 203, 325, 203, 325, 203, 325, + 199, 254, 204, 252, 205, 6, 0, 325, 0, 255, + 203, 325, 0, 0, 84, 198, 325, 203, 325, 203, + 325, 203, 325, 203, 325, 203, 325, 203, 325, 203, + 325, 203, 325, 203, 325, 203, 325, 203, 325, 199, + 257, 204, 255, 205, 6, 0, 325, 0, 258, 203, + 325, 0, 0, 85, 198, 325, 203, 325, 203, 325, + 203, 325, 203, 325, 203, 325, 203, 325, 203, 325, + 203, 325, 203, 325, 203, 325, 203, 325, 199, 260, + 204, 258, 205, 6, 0, 325, 0, 261, 203, 325, + 0, 0, 86, 198, 325, 203, 325, 203, 325, 203, + 325, 203, 325, 203, 325, 203, 325, 203, 325, 203, + 325, 203, 325, 203, 325, 203, 325, 199, 263, 204, + 261, 205, 6, 0, 325, 0, 264, 203, 325, 0, + 0, 87, 198, 325, 203, 325, 203, 325, 203, 325, + 203, 325, 203, 325, 203, 325, 203, 325, 203, 325, + 203, 325, 203, 325, 203, 325, 203, 325, 203, 325, + 203, 325, 203, 325, 203, 325, 203, 325, 203, 325, + 203, 325, 203, 325, 203, 325, 203, 325, 203, 325, + 199, 266, 204, 264, 205, 6, 0, 325, 0, 267, + 203, 325, 0, 0, 88, 198, 325, 203, 325, 203, + 325, 203, 325, 203, 325, 203, 325, 203, 325, 203, + 325, 203, 325, 203, 325, 203, 325, 203, 325, 203, + 325, 203, 325, 203, 325, 203, 325, 203, 325, 203, + 325, 203, 325, 203, 325, 203, 325, 203, 325, 203, + 325, 203, 325, 199, 269, 204, 267, 205, 6, 0, + 325, 0, 270, 203, 325, 0, 0, 89, 198, 325, + 203, 325, 203, 325, 203, 325, 203, 325, 203, 325, + 203, 325, 203, 325, 203, 325, 203, 325, 203, 325, + 203, 325, 203, 325, 203, 325, 203, 325, 203, 325, + 203, 325, 203, 325, 203, 325, 203, 325, 203, 325, + 203, 325, 203, 325, 203, 325, 199, 272, 204, 270, + 205, 6, 0, 325, 0, 273, 203, 325, 0, 0, + 90, 198, 325, 203, 325, 203, 325, 203, 325, 203, + 325, 203, 325, 203, 325, 203, 325, 203, 325, 203, + 325, 203, 325, 203, 325, 203, 325, 203, 325, 203, + 325, 203, 325, 203, 325, 203, 325, 199, 275, 204, + 273, 205, 6, 0, 325, 0, 276, 203, 325, 0, + 0, 91, 198, 325, 203, 325, 203, 325, 203, 325, + 203, 325, 203, 325, 203, 325, 203, 325, 203, 325, + 203, 325, 203, 325, 203, 325, 203, 325, 203, 325, + 203, 325, 203, 325, 203, 325, 203, 325, 199, 278, + 204, 276, 205, 6, 0, 325, 0, 279, 203, 325, + 0, 0, 92, 198, 325, 203, 325, 203, 325, 203, + 325, 203, 325, 203, 325, 203, 325, 203, 325, 203, + 325, 203, 325, 203, 325, 203, 325, 203, 325, 203, + 325, 203, 325, 203, 325, 203, 325, 203, 325, 199, + 281, 204, 279, 205, 6, 0, 325, 0, 282, 203, + 325, 0, 0, 93, 198, 325, 203, 325, 203, 325, + 203, 325, 203, 325, 203, 325, 203, 325, 203, 325, + 203, 325, 203, 325, 203, 325, 203, 325, 203, 325, + 203, 325, 203, 325, 199, 284, 204, 282, 205, 6, + 0, 325, 0, 285, 203, 325, 0, 0, 94, 198, + 325, 203, 325, 203, 325, 203, 325, 203, 325, 203, + 325, 203, 325, 203, 325, 203, 325, 203, 325, 203, + 325, 203, 325, 203, 325, 203, 325, 203, 325, 199, + 287, 204, 285, 205, 6, 0, 325, 0, 288, 203, + 325, 0, 0, 95, 198, 325, 203, 325, 203, 325, + 203, 325, 203, 325, 203, 325, 203, 325, 203, 325, + 203, 325, 203, 325, 203, 325, 203, 325, 203, 325, + 203, 325, 203, 325, 199, 290, 204, 288, 205, 6, + 0, 339, 0, 291, 203, 339, 0, 0, 96, 198, + 325, 203, 325, 203, 325, 199, 293, 204, 291, 205, + 6, 0, 339, 0, 294, 203, 339, 0, 0, 97, + 198, 325, 203, 325, 203, 325, 203, 325, 199, 296, + 204, 294, 205, 6, 0, 7, 0, 173, 0, 174, + 0, 175, 0, 176, 0, 194, 0, 195, 0, 4, + 297, 325, 6, 0, 4, 200, 325, 201, 297, 325, + 6, 0, 4, 200, 204, 335, 205, 201, 297, 333, + 6, 0, 4, 200, 201, 7, 333, 6, 0, 4, + 298, 6, 0, 4, 200, 325, 201, 298, 6, 0, + 4, 202, 4, 7, 339, 6, 0, 4, 200, 325, + 201, 202, 4, 7, 339, 6, 0, 4, 202, 4, + 297, 325, 6, 0, 4, 200, 325, 201, 202, 4, + 297, 325, 6, 0, 4, 202, 4, 298, 6, 0, + 4, 200, 325, 201, 202, 4, 298, 6, 0, 4, + 202, 106, 202, 4, 7, 336, 6, 0, 4, 200, + 325, 201, 202, 106, 202, 4, 7, 336, 6, 0, + 4, 202, 107, 7, 337, 6, 0, 4, 200, 325, + 201, 202, 107, 7, 337, 6, 0, 58, 198, 4, + 199, 202, 4, 7, 325, 6, 0, 58, 198, 4, + 199, 202, 4, 7, 339, 6, 0, 38, 198, 325, + 199, 7, 327, 6, 0, 54, 38, 198, 325, 199, + 7, 333, 6, 0, 70, 38, 333, 7, 204, 325, + 203, 325, 203, 325, 205, 6, 0, 45, 46, 333, + 7, 325, 6, 0, 41, 198, 325, 199, 7, 333, + 6, 0, 43, 198, 325, 199, 7, 333, 6, 0, + 70, 41, 333, 7, 204, 325, 203, 325, 203, 325, + 205, 6, 0, 39, 198, 325, 199, 7, 333, 6, + 0, 40, 198, 325, 199, 7, 333, 6, 0, 39, + 198, 325, 199, 7, 333, 49, 327, 6, 0, 47, + 198, 325, 199, 7, 204, 325, 203, 325, 203, 5, + 203, 5, 203, 5, 205, 6, 0, 54, 41, 198, + 325, 199, 7, 333, 6, 0, 41, 65, 198, 325, + 199, 7, 333, 6, 0, 99, 198, 325, 199, 7, + 333, 6, 0, 100, 198, 325, 199, 7, 333, 6, + 0, 101, 198, 325, 199, 7, 333, 105, 333, 102, + 325, 6, 0, 49, 42, 198, 325, 199, 7, 333, + 6, 0, 118, 42, 198, 325, 199, 7, 204, 325, + 203, 333, 205, 6, 0, 50, 42, 198, 325, 199, + 7, 333, 6, 0, 51, 42, 198, 325, 199, 7, + 198, 325, 203, 325, 199, 333, 333, 6, 0, 101, + 42, 103, 104, 198, 325, 199, 7, 331, 105, 204, + 333, 203, 333, 205, 102, 204, 325, 203, 325, 205, + 6, 0, 101, 42, 198, 325, 199, 7, 331, 105, + 204, 333, 203, 333, 205, 102, 204, 325, 203, 325, + 205, 6, 0, 54, 42, 198, 325, 199, 7, 333, + 6, 0, 42, 65, 198, 325, 199, 7, 333, 6, + 0, 53, 44, 198, 325, 199, 7, 333, 6, 0, + 44, 198, 325, 199, 7, 333, 6, 0, 54, 44, + 198, 325, 199, 7, 333, 6, 0, 60, 327, 204, + 302, 205, 0, 59, 204, 327, 203, 327, 203, 325, + 205, 204, 302, 205, 0, 61, 327, 204, 302, 205, + 0, 62, 204, 327, 203, 325, 205, 204, 302, 205, + 0, 304, 0, 303, 0, 301, 0, 0, 303, 300, + 0, 303, 38, 204, 335, 205, 6, 0, 303, 41, + 204, 335, 205, 6, 0, 303, 42, 204, 335, 205, + 6, 0, 303, 44, 204, 335, 205, 6, 0, 64, + 204, 303, 205, 0, 64, 4, 200, 325, 201, 6, + 0, 67, 204, 303, 205, 0, 67, 4, 200, 325, + 201, 6, 0, 67, 117, 6, 0, 106, 336, 204, + 303, 205, 0, 119, 339, 6, 0, 120, 339, 6, + 0, 119, 204, 303, 205, 0, 120, 204, 303, 205, + 0, 4, 339, 6, 0, 4, 4, 200, 325, 201, + 339, 6, 0, 4, 325, 6, 0, 58, 198, 4, + 199, 202, 4, 6, 0, 98, 4, 6, 0, 113, + 6, 0, 37, 6, 0, 108, 198, 325, 8, 325, + 199, 0, 108, 198, 325, 8, 325, 8, 325, 199, + 0, 108, 4, 109, 204, 325, 8, 325, 205, 0, + 108, 4, 109, 204, 325, 8, 325, 8, 325, 205, + 0, 110, 0, 116, 4, 0, 114, 0, 115, 4, + 6, 0, 111, 198, 325, 199, 0, 112, 0, 63, + 38, 204, 325, 203, 327, 205, 6, 0, 63, 38, + 204, 325, 203, 327, 203, 327, 203, 325, 205, 6, + 0, 63, 38, 204, 325, 203, 327, 203, 327, 203, + 327, 203, 325, 205, 6, 0, 0, 63, 38, 204, + 325, 203, 327, 205, 311, 204, 320, 205, 6, 0, + 0, 63, 38, 204, 325, 203, 327, 203, 327, 203, + 325, 205, 312, 204, 320, 205, 6, 0, 0, 63, + 38, 204, 325, 203, 327, 203, 327, 203, 327, 203, + 325, 205, 313, 204, 320, 205, 6, 0, 63, 41, + 204, 325, 203, 327, 205, 6, 0, 63, 41, 204, + 325, 203, 327, 203, 327, 203, 325, 205, 6, 0, + 63, 41, 204, 325, 203, 327, 203, 327, 203, 327, + 203, 325, 205, 6, 0, 0, 63, 41, 204, 325, + 203, 327, 205, 314, 204, 320, 205, 6, 0, 0, + 63, 41, 204, 325, 203, 327, 203, 327, 203, 325, + 205, 315, 204, 320, 205, 6, 0, 0, 63, 41, + 204, 325, 203, 327, 203, 327, 203, 327, 203, 325, + 205, 316, 204, 320, 205, 6, 0, 63, 42, 204, + 325, 203, 327, 205, 6, 0, 63, 42, 204, 325, + 203, 327, 203, 327, 203, 325, 205, 6, 0, 63, + 42, 204, 325, 203, 327, 203, 327, 203, 327, 203, + 325, 205, 6, 0, 0, 63, 42, 204, 325, 203, + 327, 205, 317, 204, 320, 205, 6, 0, 0, 63, + 42, 204, 325, 203, 327, 203, 327, 203, 325, 205, + 318, 204, 320, 205, 6, 0, 0, 63, 42, 204, + 325, 203, 327, 203, 327, 203, 327, 203, 325, 205, + 319, 204, 320, 205, 6, 0, 321, 0, 320, 321, + 0, 71, 204, 333, 203, 333, 203, 333, 205, 6, + 0, 71, 204, 333, 203, 333, 205, 6, 0, 66, + 6, 0, 52, 41, 333, 7, 325, 6, 0, 52, + 41, 333, 7, 325, 55, 57, 325, 6, 0, 52, + 41, 333, 7, 325, 55, 56, 325, 6, 0, 52, + 42, 204, 325, 205, 7, 333, 6, 0, 48, 42, + 204, 325, 205, 7, 333, 6, 0, 52, 44, 204, + 325, 205, 7, 333, 6, 0, 66, 42, 333, 7, + 325, 6, 0, 66, 42, 333, 6, 0, 68, 6, + 0, 69, 6, 0, 124, 0, 125, 0, 126, 0, + 127, 0, 128, 0, 326, 0, 198, 325, 199, 0, + 188, 325, 0, 187, 325, 0, 193, 325, 0, 325, + 188, 325, 0, 325, 187, 325, 0, 325, 189, 325, + 0, 325, 190, 325, 0, 325, 191, 325, 0, 325, + 197, 325, 0, 325, 183, 325, 0, 325, 185, 325, + 0, 325, 184, 325, 0, 325, 186, 325, 0, 325, + 180, 325, 0, 325, 181, 325, 0, 325, 179, 325, + 0, 325, 178, 325, 0, 325, 177, 325, 8, 325, + 0, 12, 198, 325, 199, 0, 13, 198, 325, 199, + 0, 14, 198, 325, 199, 0, 15, 198, 325, 199, + 0, 16, 198, 325, 199, 0, 17, 198, 325, 199, + 0, 18, 198, 325, 199, 0, 19, 198, 325, 199, + 0, 20, 198, 325, 199, 0, 22, 198, 325, 199, + 0, 23, 198, 325, 203, 325, 199, 0, 24, 198, + 325, 199, 0, 25, 198, 325, 199, 0, 26, 198, + 325, 199, 0, 27, 198, 325, 199, 0, 28, 198, + 325, 199, 0, 29, 198, 325, 199, 0, 30, 198, + 325, 203, 325, 199, 0, 31, 198, 325, 203, 325, + 199, 0, 32, 198, 325, 203, 325, 199, 0, 21, + 198, 325, 199, 0, 12, 200, 325, 201, 0, 13, + 200, 325, 201, 0, 14, 200, 325, 201, 0, 15, + 200, 325, 201, 0, 16, 200, 325, 201, 0, 17, + 200, 325, 201, 0, 18, 200, 325, 201, 0, 19, + 200, 325, 201, 0, 20, 200, 325, 201, 0, 22, + 200, 325, 201, 0, 23, 200, 325, 203, 325, 201, + 0, 24, 200, 325, 201, 0, 25, 200, 325, 201, + 0, 26, 200, 325, 201, 0, 27, 200, 325, 201, + 0, 28, 200, 325, 201, 0, 29, 200, 325, 201, + 0, 30, 200, 325, 203, 325, 201, 0, 31, 200, + 325, 203, 325, 201, 0, 32, 200, 325, 203, 325, + 201, 0, 21, 200, 325, 201, 0, 3, 0, 9, + 0, 10, 0, 11, 0, 4, 0, 4, 200, 325, + 201, 0, 4, 298, 0, 4, 200, 325, 201, 298, + 0, 4, 202, 4, 0, 4, 200, 325, 201, 202, + 4, 0, 4, 202, 4, 298, 0, 4, 200, 325, + 201, 202, 4, 298, 0, 328, 0, 188, 327, 0, + 187, 327, 0, 327, 188, 327, 0, 327, 187, 327, + 0, 204, 325, 203, 325, 203, 325, 203, 325, 203, + 325, 205, 0, 204, 325, 203, 325, 203, 325, 203, + 325, 205, 0, 204, 325, 203, 325, 203, 325, 205, + 0, 198, 325, 203, 325, 203, 325, 199, 0, 0, + 198, 330, 199, 0, 5, 0, 330, 203, 5, 0, + 0, 204, 332, 205, 0, 198, 332, 199, 0, 333, + 0, 332, 203, 333, 0, 325, 0, 334, 0, 204, + 335, 205, 0, 188, 204, 335, 205, 0, 325, 8, + 325, 0, 325, 8, 325, 8, 325, 0, 38, 204, + 325, 205, 0, 301, 0, 304, 0, 310, 0, 4, + 200, 201, 0, 188, 4, 200, 201, 0, 4, 200, + 204, 335, 205, 201, 0, 188, 4, 200, 204, 335, + 205, 201, 0, 325, 0, 334, 0, 335, 203, 325, + 0, 335, 203, 334, 0, 204, 325, 203, 325, 203, + 325, 203, 325, 205, 0, 204, 325, 203, 325, 203, + 325, 205, 0, 4, 0, 4, 202, 106, 202, 4, + 0, 204, 338, 205, 0, 4, 200, 325, 201, 202, + 107, 0, 336, 0, 338, 203, 336, 0, 5, 0, + 35, 198, 339, 203, 339, 199, 0, 36, 198, 339, + 199, 0, 34, 198, 339, 199, 0, 34, 198, 339, + 203, 335, 199, 0, 34, 198, 4, 202, 4, 199, + 0, 34, 198, 4, 200, 325, 201, 202, 4, 199, + 0 }; #endif #if YYDEBUG != 0 static const short yyrline[] = { 0, - 167, 169, 170, 171, 176, 178, 181, 189, 203, 213, - 215, 218, 220, 221, 224, 230, 235, 236, 237, 240, - 244, 247, 253, 258, 264, 272, 277, 281, 287, 292, - 296, 301, 305, 308, 313, 317, 321, 325, 330, 334, - 337, 341, 345, 349, 353, 357, 361, 364, 368, 371, - 375, 378, 385, 389, 395, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 411, 416, 431, - 436, 442, 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, 475, 478, - 482, 488, 494, 497, 501, 507, 513, 516, 520, 526, - 532, 535, 539, 547, 553, 556, 560, 568, 574, 577, - 581, 589, 595, 598, 602, 614, 620, 623, 627, 639, - 645, 648, 652, 664, 670, 673, 677, 690, 696, 699, - 703, 716, 722, 725, 729, 742, 748, 751, 755, 768, - 774, 777, 781, 794, 800, 803, 807, 820, 826, 829, - 833, 856, 862, 865, 869, 892, 898, 901, 905, 928, - 934, 937, 941, 959, 965, 968, 972, 990, 996, 999, - 1003, 1021, 1027, 1030, 1034, 1051, 1057, 1060, 1064, 1081, - 1087, 1090, 1094, 1111, 1117, 1123, 1130, 1138, 1144, 1150, - 1157, 1165, 1174, 1176, 1177, 1178, 1179, 1182, 1184, 1187, - 1218, 1252, 1299, 1314, 1323, 1338, 1350, 1364, 1387, 1411, - 1423, 1437, 1449, 1463, 1483, 1505, 1515, 1529, 1540, 1546, - 1565, 1579, 1585, 1591, 1610, 1616, 1622, 1638, 1645, 1651, - 1657, 1668, 1679, 1704, 1710, 1729, 1751, 1757, 1765, 1771, - 1777, 1786, 1792, 1798, 1808, 1814, 1819, 1824, 1831, 1833, - 1834, 1837, 1842, 1846, 1860, 1874, 1892, 1903, 1913, 1921, - 1925, 1933, 1945, 1985, 1998, 2015, 2024, 2031, 2035, 2055, - 2067, 2077, 2098, 2119, 2140, 2146, 2151, 2156, 2160, 2168, - 2181, 2191, 2201, 2206, 2216, 2221, 2231, 2236, 2248, 2265, - 2282, 2299, 2304, 2321, 2326, 2343, 2348, 2368, 2384, 2400, - 2416, 2421, 2438, 2444, 2461, 2467, 2486, 2490, 2495, 2522, - 2546, 2554, 2573, 2591, 2609, 2631, 2652, 2673, 2687, 2706, - 2711, 2720, 2722, 2723, 2724, 2725, 2728, 2730, 2731, 2732, - 2733, 2734, 2735, 2736, 2737, 2744, 2745, 2746, 2747, 2748, - 2749, 2750, 2751, 2752, 2753, 2754, 2755, 2756, 2757, 2758, - 2759, 2760, 2761, 2762, 2763, 2764, 2765, 2766, 2767, 2768, - 2769, 2770, 2771, 2772, 2773, 2774, 2775, 2777, 2778, 2779, - 2780, 2781, 2782, 2783, 2784, 2785, 2786, 2787, 2788, 2789, - 2790, 2791, 2792, 2793, 2794, 2795, 2796, 2797, 2802, 2807, - 2808, 2809, 2813, 2824, 2841, 2852, 2871, 2887, 2903, 2919, - 2936, 2941, 2945, 2949, 2953, 2959, 2964, 2968, 2972, 2978, - 2982, 2987, 2991, 2996, 3000, 3004, 3010, 3016, 3023, 3029, - 3033, 3037, 3047, 3054, 3065, 3085, 3094, 3103, 3114, 3128, - 3144, 3164, 3188, 3194, 3198, 3202, 3213, 3218, 3229, 3234, - 3252, 3257, 3270, 3276, 3282, 3287, 3295, 3308, 3312, 3330, - 3344 + 168, 170, 171, 172, 177, 179, 182, 190, 204, 214, + 216, 219, 221, 222, 225, 231, 236, 237, 238, 241, + 245, 248, 254, 259, 265, 273, 278, 282, 288, 293, + 297, 302, 306, 309, 314, 318, 322, 326, 331, 335, + 338, 342, 346, 350, 354, 358, 362, 365, 369, 372, + 376, 379, 386, 390, 396, 398, 399, 400, 401, 402, + 403, 404, 405, 406, 407, 408, 409, 410, 413, 418, + 433, 438, 444, 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, 477, + 480, 484, 490, 496, 499, 503, 509, 515, 518, 522, + 528, 534, 537, 541, 549, 555, 558, 562, 570, 576, + 579, 583, 591, 597, 600, 604, 616, 622, 625, 629, + 641, 647, 650, 654, 666, 672, 675, 679, 692, 698, + 701, 705, 718, 724, 727, 731, 744, 750, 753, 757, + 770, 776, 779, 783, 796, 802, 805, 809, 822, 828, + 831, 835, 858, 864, 867, 871, 894, 900, 903, 907, + 930, 936, 939, 943, 961, 967, 970, 974, 992, 998, + 1001, 1005, 1023, 1029, 1032, 1036, 1053, 1059, 1062, 1066, + 1083, 1089, 1092, 1096, 1113, 1119, 1125, 1132, 1140, 1146, + 1152, 1159, 1167, 1176, 1178, 1179, 1180, 1181, 1184, 1186, + 1189, 1220, 1254, 1301, 1316, 1325, 1340, 1352, 1366, 1389, + 1413, 1425, 1439, 1451, 1465, 1485, 1507, 1517, 1531, 1542, + 1548, 1567, 1581, 1587, 1593, 1612, 1618, 1624, 1640, 1647, + 1653, 1659, 1670, 1681, 1706, 1712, 1731, 1753, 1759, 1767, + 1773, 1779, 1788, 1794, 1800, 1810, 1816, 1821, 1826, 1833, + 1835, 1836, 1839, 1844, 1848, 1862, 1876, 1890, 1908, 1919, + 1929, 1937, 1941, 1949, 1961, 1969, 1974, 1983, 1994, 2034, + 2047, 2064, 2073, 2080, 2084, 2104, 2116, 2126, 2147, 2168, + 2189, 2195, 2200, 2205, 2209, 2217, 2230, 2240, 2250, 2255, + 2265, 2270, 2280, 2285, 2297, 2314, 2331, 2348, 2353, 2370, + 2375, 2392, 2397, 2417, 2433, 2449, 2465, 2470, 2487, 2493, + 2510, 2516, 2535, 2539, 2544, 2571, 2595, 2603, 2622, 2640, + 2658, 2680, 2701, 2722, 2736, 2755, 2760, 2769, 2771, 2772, + 2773, 2774, 2777, 2779, 2780, 2781, 2782, 2783, 2784, 2785, + 2786, 2793, 2794, 2795, 2796, 2797, 2798, 2799, 2800, 2801, + 2802, 2803, 2804, 2805, 2806, 2807, 2808, 2809, 2810, 2811, + 2812, 2813, 2814, 2815, 2816, 2817, 2818, 2819, 2820, 2821, + 2822, 2823, 2824, 2826, 2827, 2828, 2829, 2830, 2831, 2832, + 2833, 2834, 2835, 2836, 2837, 2838, 2839, 2840, 2841, 2842, + 2843, 2844, 2845, 2846, 2851, 2856, 2857, 2858, 2862, 2873, + 2890, 2901, 2920, 2936, 2952, 2968, 2985, 2990, 2994, 2998, + 3002, 3008, 3013, 3017, 3021, 3027, 3031, 3036, 3040, 3045, + 3049, 3053, 3059, 3065, 3072, 3078, 3082, 3086, 3096, 3103, + 3114, 3134, 3143, 3152, 3163, 3177, 3193, 3213, 3237, 3243, + 3247, 3251, 3262, 3267, 3278, 3283, 3301, 3306, 3319, 3325, + 3331, 3336, 3344, 3357, 3361, 3379, 3393 }; #endif @@ -794,7 +801,7 @@ static const char * const yytname[] = { "$","error","$undefined.","tDOUBLE", "tScalarPyramid","tVectorPyramid","tTensorPyramid","tText2D","tText3D","tCombine", "tBSpline","tBezier","tNurbs","tOrder","tWith","tBounds","tKnots","tColor","tColorTable", "tFor","tIn","tEndFor","tIf","tEndIf","tExit","tReturn","tCall","tFunction", -"tMesh","tTrimmed","tB_SPLINE_SURFACE_WITH_KNOTS","tB_SPLINE_CURVE_WITH_KNOTS", +"tMesh","tTrimmed","tShow","tHide","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", @@ -824,63 +831,63 @@ static const char * const yytname[] = { "$","error","$undefined.","tDOUBLE", "ScalarPyramid","@22","VectorPyramidValues","VectorPyramid","@23","TensorPyramidValues", "TensorPyramid","@24","Text2DValues","Text2D","@25","Text3DValues","Text3D", "@26","NumericAffectation","NumericIncrement","Affectation","Shape","Transform", -"MultipleShape","ListOfShapes","Duplicata","Delete","Colorify","Command","Loop", -"Extrude","@27","@28","@29","@30","@31","@32","@33","@34","@35","ExtrudeParameters", -"ExtrudeParameter","Transfini","Coherence","BoolExpr","FExpr","FExpr_Single", -"VExpr","VExpr_Single","ListOfStrings","RecursiveListOfStrings","ListOfListOfDouble", -"RecursiveListOfListOfDouble","ListOfDouble","FExpr_Multi","RecursiveListOfDouble", -"ColorExpr","ListOfColor","RecursiveListOfColor","StringExpr", NULL +"MultipleShape","ListOfShapes","Duplicata","Delete","Colorify","Visibility", +"Command","Loop","Extrude","@27","@28","@29","@30","@31","@32","@33","@34","@35", +"ExtrudeParameters","ExtrudeParameter","Transfini","Coherence","BoolExpr","FExpr", +"FExpr_Single","VExpr","VExpr_Single","ListOfStrings","RecursiveListOfStrings", +"ListOfListOfDouble","RecursiveListOfListOfDouble","ListOfDouble","FExpr_Multi", +"RecursiveListOfDouble","ColorExpr","ListOfColor","RecursiveListOfColor","StringExpr", NULL }; #endif static const short yyr1[] = { 0, - 204, 204, 204, 204, 205, 205, 206, 206, 206, 207, - 207, 208, 208, 208, 209, 209, 209, 209, 209, 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, 211, - 211, 211, 212, 212, 213, 213, 213, 213, 213, 213, - 213, 213, 213, 213, 213, 213, 213, 214, 214, 215, - 215, 216, 216, 216, 216, 216, 216, 216, 216, 216, - 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, - 216, 216, 216, 216, 216, 216, 216, 216, 217, 217, - 219, 218, 220, 220, 222, 221, 223, 223, 225, 224, - 226, 226, 228, 227, 229, 229, 231, 230, 232, 232, - 234, 233, 235, 235, 237, 236, 238, 238, 240, 239, - 241, 241, 243, 242, 244, 244, 246, 245, 247, 247, - 249, 248, 250, 250, 252, 251, 253, 253, 255, 254, - 256, 256, 258, 257, 259, 259, 261, 260, 262, 262, - 264, 263, 265, 265, 267, 266, 268, 268, 270, 269, - 271, 271, 273, 272, 274, 274, 276, 275, 277, 277, - 279, 278, 280, 280, 282, 281, 283, 283, 285, 284, - 286, 286, 288, 287, 289, 289, 291, 290, 292, 292, - 294, 293, 295, 295, 295, 295, 295, 296, 296, 297, - 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, - 297, 297, 297, 297, 297, 297, 297, 298, 298, 298, - 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, - 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, - 298, 298, 298, 298, 299, 299, 299, 299, 300, 300, - 300, 301, 301, 301, 301, 301, 302, 302, 303, 303, - 303, 304, 305, 305, 305, 305, 305, 305, 305, 306, - 306, 306, 306, 306, 306, 306, 306, 306, 306, 307, - 307, 307, 308, 307, 309, 307, 310, 307, 307, 307, - 307, 311, 307, 312, 307, 313, 307, 307, 307, 307, - 314, 307, 315, 307, 316, 307, 317, 317, 318, 318, - 318, 319, 319, 319, 319, 319, 319, 319, 319, 320, - 320, 321, 321, 321, 321, 321, 322, 322, 322, 322, - 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, - 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, - 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, - 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, - 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, - 322, 322, 322, 322, 322, 322, 322, 322, 323, 323, - 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, - 324, 324, 324, 324, 324, 325, 325, 325, 325, 326, - 326, 327, 327, 328, 328, 328, 329, 329, 330, 330, - 330, 330, 331, 331, 331, 331, 331, 331, 331, 331, - 331, 331, 332, 332, 332, 332, 333, 333, 333, 333, - 334, 334, 335, 335, 336, 336, 336, 336, 336, 336, - 336 + 206, 206, 206, 206, 207, 207, 208, 208, 208, 209, + 209, 210, 210, 210, 211, 211, 211, 211, 211, 212, + 212, 212, 213, 213, 213, 213, 213, 213, 213, 213, + 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, + 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, + 213, 213, 214, 214, 215, 215, 215, 215, 215, 215, + 215, 215, 215, 215, 215, 215, 215, 215, 216, 216, + 217, 217, 218, 218, 218, 218, 218, 218, 218, 218, + 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, + 218, 218, 218, 218, 218, 218, 218, 218, 218, 219, + 219, 221, 220, 222, 222, 224, 223, 225, 225, 227, + 226, 228, 228, 230, 229, 231, 231, 233, 232, 234, + 234, 236, 235, 237, 237, 239, 238, 240, 240, 242, + 241, 243, 243, 245, 244, 246, 246, 248, 247, 249, + 249, 251, 250, 252, 252, 254, 253, 255, 255, 257, + 256, 258, 258, 260, 259, 261, 261, 263, 262, 264, + 264, 266, 265, 267, 267, 269, 268, 270, 270, 272, + 271, 273, 273, 275, 274, 276, 276, 278, 277, 279, + 279, 281, 280, 282, 282, 284, 283, 285, 285, 287, + 286, 288, 288, 290, 289, 291, 291, 293, 292, 294, + 294, 296, 295, 297, 297, 297, 297, 297, 298, 298, + 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, + 299, 299, 299, 299, 299, 299, 299, 299, 300, 300, + 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, + 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, + 300, 300, 300, 300, 300, 301, 301, 301, 301, 302, + 302, 302, 303, 303, 303, 303, 303, 303, 304, 304, + 305, 305, 305, 306, 307, 307, 307, 307, 308, 308, + 308, 308, 308, 308, 308, 309, 309, 309, 309, 309, + 309, 309, 309, 309, 309, 310, 310, 310, 311, 310, + 312, 310, 313, 310, 310, 310, 310, 314, 310, 315, + 310, 316, 310, 310, 310, 310, 317, 310, 318, 310, + 319, 310, 320, 320, 321, 321, 321, 322, 322, 322, + 322, 322, 322, 322, 322, 323, 323, 324, 324, 324, + 324, 324, 325, 325, 325, 325, 325, 325, 325, 325, + 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, + 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, + 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, + 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, + 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, + 325, 325, 325, 325, 326, 326, 326, 326, 326, 326, + 326, 326, 326, 326, 326, 326, 327, 327, 327, 327, + 327, 328, 328, 328, 328, 329, 329, 330, 330, 331, + 331, 331, 332, 332, 333, 333, 333, 333, 334, 334, + 334, 334, 334, 334, 334, 334, 334, 334, 335, 335, + 335, 335, 336, 336, 336, 336, 337, 337, 338, 338, + 339, 339, 339, 339, 339, 339, 339 }; static const short yyr2[] = { 0, @@ -890,47 +897,47 @@ static const short yyr2[] = { 0, 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, 5, 7, 6, - 8, 0, 2, 2, 2, 2, 2, 2, 2, 2, + 1, 1, 1, 1, 1, 1, 1, 1, 5, 7, + 6, 8, 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, 1, 3, - 0, 13, 1, 3, 0, 13, 1, 3, 0, 13, - 1, 3, 0, 19, 1, 3, 0, 19, 1, 3, - 0, 19, 1, 3, 0, 25, 1, 3, 0, 25, - 1, 3, 0, 25, 1, 3, 0, 31, 1, 3, - 0, 31, 1, 3, 0, 31, 1, 3, 0, 31, - 1, 3, 0, 31, 1, 3, 0, 31, 1, 3, - 0, 55, 1, 3, 0, 55, 1, 3, 0, 55, - 1, 3, 0, 43, 1, 3, 0, 43, 1, 3, - 0, 43, 1, 3, 0, 37, 1, 3, 0, 37, - 1, 3, 0, 37, 1, 3, 0, 13, 1, 3, - 0, 15, 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, 12, 7, 7, 9, 17, 8, 8, - 7, 7, 11, 8, 12, 8, 14, 22, 20, 8, - 8, 8, 7, 8, 5, 11, 5, 9, 1, 1, - 1, 0, 2, 6, 6, 6, 4, 6, 4, 6, - 3, 5, 3, 7, 3, 7, 3, 2, 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, 4, 2, 5, 3, 6, 4, 7, - 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, 6, 4, 4, 6, 6, - 9 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, + 3, 0, 13, 1, 3, 0, 13, 1, 3, 0, + 13, 1, 3, 0, 19, 1, 3, 0, 19, 1, + 3, 0, 19, 1, 3, 0, 25, 1, 3, 0, + 25, 1, 3, 0, 25, 1, 3, 0, 31, 1, + 3, 0, 31, 1, 3, 0, 31, 1, 3, 0, + 31, 1, 3, 0, 31, 1, 3, 0, 31, 1, + 3, 0, 55, 1, 3, 0, 55, 1, 3, 0, + 55, 1, 3, 0, 43, 1, 3, 0, 43, 1, + 3, 0, 43, 1, 3, 0, 37, 1, 3, 0, + 37, 1, 3, 0, 37, 1, 3, 0, 13, 1, + 3, 0, 15, 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, 12, 7, 7, 9, 17, 8, + 8, 7, 7, 11, 8, 12, 8, 14, 22, 20, + 8, 8, 8, 7, 8, 5, 11, 5, 9, 1, + 1, 1, 0, 2, 6, 6, 6, 6, 4, 6, + 4, 6, 3, 5, 3, 3, 4, 4, 3, 7, + 3, 7, 3, 2, 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, 4, + 2, 5, 3, 6, 4, 7, 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, 6, 4, 4, 6, 6, 9 }; static const short yydefact[] = { 0, @@ -939,488 +946,490 @@ static const short yydefact[] = { 0, 14, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 284, - 0, 289, 0, 286, 0, 0, 0, 54, 56, 55, - 57, 58, 59, 60, 61, 62, 67, 66, 63, 64, - 65, 5, 0, 0, 0, 15, 16, 18, 17, 19, - 420, 420, 0, 399, 403, 455, 203, 400, 401, 402, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 290, + 0, 295, 0, 292, 0, 0, 0, 0, 0, 54, + 56, 55, 57, 58, 59, 60, 61, 62, 63, 68, + 67, 64, 65, 66, 5, 0, 0, 0, 15, 16, + 18, 17, 19, 426, 426, 0, 405, 409, 461, 204, + 406, 407, 408, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 205, 206, 207, + 208, 0, 0, 0, 209, 210, 0, 0, 0, 0, + 0, 0, 343, 0, 0, 285, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 204, 205, 206, 207, 0, 0, - 0, 208, 209, 0, 0, 0, 0, 0, 0, 337, - 0, 0, 279, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 417, 0, 0, 0, 0, + 0, 0, 263, 0, 0, 0, 263, 336, 337, 0, + 0, 0, 0, 0, 0, 0, 455, 0, 0, 0, + 0, 0, 284, 0, 291, 0, 461, 263, 0, 263, + 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 411, 0, 0, 0, 0, 0, 0, 262, - 0, 0, 0, 262, 330, 331, 0, 0, 0, 0, - 0, 0, 0, 449, 0, 0, 0, 0, 0, 278, - 0, 285, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 411, + 0, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 405, 0, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 409, 346, 345, + 347, 0, 0, 0, 0, 0, 0, 0, 0, 215, + 281, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 279, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 409, 0, 0, 0, + 442, 443, 444, 435, 0, 436, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 419, 418, 0, 0, 0, 0, 263, 263, 0, + 0, 0, 0, 0, 0, 0, 0, 273, 0, 0, + 0, 283, 0, 0, 0, 0, 0, 0, 0, 263, + 0, 0, 0, 293, 0, 0, 275, 0, 276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 403, - 340, 339, 341, 0, 0, 0, 0, 0, 0, 0, - 0, 214, 275, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 273, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 403, 0, - 0, 0, 436, 437, 438, 429, 0, 430, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 413, 412, 0, 0, 0, 0, 262, - 262, 0, 0, 0, 0, 0, 0, 0, 0, 271, - 0, 0, 0, 277, 0, 0, 0, 0, 0, 0, - 0, 262, 0, 0, 0, 287, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 428, 0, 0, 0, 0, 0, 413, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 422, 0, - 0, 0, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 344, 0, 0, 449, + 450, 0, 0, 204, 0, 0, 0, 0, 211, 0, + 361, 360, 358, 359, 354, 356, 355, 357, 349, 348, + 350, 351, 352, 353, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 409, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 455, 0, 0, 0, 0, 338, 0, 0, 443, 444, - 0, 0, 203, 0, 0, 0, 0, 210, 0, 355, - 354, 352, 353, 348, 350, 349, 351, 343, 342, 344, - 345, 346, 347, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 403, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 421, 420, + 262, 0, 261, 260, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 269, 264, 335, 0, 0, 271, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 415, 414, 261, - 0, 260, 259, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 267, 263, 329, 0, 0, 269, 0, 0, + 0, 0, 294, 0, 277, 278, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 288, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 427, 0, 0, + 21, 0, 410, 415, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 421, 0, 0, 21, 0, 404, 409, - 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 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, 357, 378, 358, 379, 359, 380, - 360, 381, 361, 382, 362, 383, 363, 384, 364, 385, - 365, 386, 377, 398, 366, 387, 0, 0, 368, 389, - 369, 390, 370, 391, 371, 392, 372, 393, 373, 394, - 0, 0, 0, 0, 0, 0, 0, 0, 458, 0, - 0, 457, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 220, 0, 0, 0, 0, 0, 68, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 439, 0, 0, - 0, 0, 431, 433, 0, 0, 0, 0, 0, 0, + 0, 0, 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, 363, 384, + 364, 385, 365, 386, 366, 387, 367, 388, 368, 389, + 369, 390, 370, 391, 371, 392, 383, 404, 372, 393, + 0, 0, 374, 395, 375, 396, 376, 397, 377, 398, + 378, 399, 379, 400, 0, 0, 0, 0, 0, 0, + 0, 0, 464, 0, 0, 463, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 221, 0, 0, 0, 0, + 0, 69, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 445, 0, 0, 0, 0, 437, 439, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 256, 258, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 274, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 255, 257, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 272, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 429, 0, 426, 0, 412, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, - 420, 0, 406, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 71, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 410, + 214, 451, 452, 0, 0, 0, 0, 0, 216, 217, + 219, 0, 0, 459, 0, 225, 362, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 441, 446, 0, + 438, 0, 232, 0, 0, 0, 0, 0, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 70, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 404, 213, 445, 446, 0, 0, - 0, 0, 0, 215, 216, 218, 0, 0, 453, 0, - 224, 356, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 435, 440, 0, 432, 0, 231, 0, 0, - 0, 0, 0, 322, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 270, 0, 0, 0, 0, + 334, 272, 0, 0, 0, 0, 0, 430, 0, 456, + 0, 0, 0, 286, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 268, 0, 0, 0, 328, 270, 0, 0, 0, 0, - 0, 424, 0, 450, 0, 0, 0, 280, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 338, + 339, 340, 341, 342, 0, 0, 0, 0, 0, 0, + 0, 20, 0, 414, 280, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 332, 333, 334, 335, 336, 0, 0, - 0, 0, 0, 0, 0, 20, 0, 408, 274, 0, + 0, 0, 373, 394, 380, 401, 381, 402, 382, 403, + 0, 466, 465, 462, 0, 204, 0, 0, 0, 0, + 212, 0, 0, 0, 457, 70, 229, 236, 0, 237, + 0, 233, 0, 234, 254, 0, 0, 440, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 282, 0, 0, 0, 0, 263, 0, 299, + 0, 308, 0, 317, 0, 0, 0, 0, 0, 0, + 242, 243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 367, 388, 374, 395, - 375, 396, 376, 397, 0, 460, 459, 456, 0, 203, - 0, 0, 0, 0, 211, 0, 0, 0, 451, 69, - 228, 235, 0, 236, 0, 232, 0, 233, 253, 0, - 0, 434, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 276, 0, 0, 0, - 0, 262, 0, 293, 0, 302, 0, 311, 0, 0, - 0, 0, 0, 241, 242, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 426, 416, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 420, 410, 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 222, 0, 0, 223, 0, + 460, 0, 241, 252, 447, 0, 0, 332, 245, 247, + 0, 0, 0, 331, 333, 253, 230, 240, 251, 255, + 0, 0, 0, 425, 0, 424, 0, 0, 296, 0, + 0, 305, 0, 0, 314, 0, 265, 266, 267, 268, + 0, 0, 430, 0, 433, 0, 0, 0, 0, 454, + 0, 288, 287, 0, 0, 0, 0, 0, 23, 0, + 32, 0, 36, 0, 30, 0, 0, 35, 0, 40, + 38, 0, 0, 0, 0, 0, 0, 47, 0, 0, + 0, 0, 0, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 221, 0, - 0, 222, 0, 454, 0, 240, 251, 441, 0, 0, - 326, 244, 246, 0, 0, 0, 325, 327, 252, 229, - 239, 250, 254, 0, 0, 0, 419, 0, 418, 0, - 0, 290, 0, 0, 299, 0, 0, 308, 0, 264, - 265, 266, 0, 0, 424, 0, 427, 0, 0, 0, - 0, 448, 0, 282, 281, 0, 0, 0, 0, 0, - 23, 0, 32, 0, 36, 0, 30, 0, 0, 35, - 0, 40, 38, 0, 0, 0, 0, 0, 0, 47, - 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 213, 218, 220, 0, 226, 0, 238, + 448, 0, 0, 330, 329, 227, 228, 263, 0, 259, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 432, + 0, 431, 0, 0, 0, 0, 0, 0, 0, 430, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 212, 217, 219, 0, 225, - 0, 237, 442, 0, 0, 324, 323, 226, 227, 262, - 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 426, 0, 425, 0, 0, 0, 0, 0, 0, - 0, 424, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 461, 0, - 452, 0, 0, 0, 0, 417, 0, 0, 0, 0, - 0, 0, 0, 0, 317, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 428, 0, 0, 447, 283, 0, - 0, 37, 0, 0, 0, 0, 27, 0, 33, 0, - 39, 28, 41, 0, 44, 0, 48, 49, 0, 0, - 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 467, 0, 458, 0, + 0, 0, 0, 423, 0, 0, 0, 0, 0, 0, + 0, 0, 323, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 434, 0, 0, 453, 289, 0, 0, 37, + 0, 0, 0, 0, 27, 0, 33, 0, 39, 28, + 41, 0, 44, 0, 48, 49, 0, 0, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 223, - 0, 0, 256, 0, 0, 295, 0, 321, 0, 0, - 318, 304, 0, 0, 313, 0, 0, 0, 0, 0, - 0, 243, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 101, 105, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 224, 0, 0, + 257, 0, 0, 301, 0, 327, 0, 0, 324, 310, + 0, 0, 319, 0, 0, 0, 0, 0, 0, 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 197, 0, 0, 0, 416, 291, 0, 0, 0, 294, - 300, 0, 0, 303, 309, 0, 0, 312, 230, 234, - 0, 0, 245, 0, 0, 0, 0, 0, 31, 34, - 42, 0, 43, 50, 45, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 102, 106, 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 198, 0, + 0, 0, 422, 297, 0, 0, 0, 300, 306, 0, + 0, 309, 315, 0, 0, 318, 231, 235, 0, 0, + 246, 0, 0, 0, 0, 0, 31, 34, 42, 0, + 43, 50, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 297, 0, 0, 306, 0, - 315, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 303, 0, 0, 312, 0, 321, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 201, 0, 247, 0, 292, - 0, 0, 0, 301, 0, 0, 310, 0, 0, 0, - 0, 0, 0, 26, 29, 0, 0, 0, 99, 0, - 103, 0, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 202, 0, 248, 0, 298, 0, 0, + 0, 307, 0, 0, 316, 0, 0, 0, 0, 0, + 0, 26, 29, 0, 0, 0, 100, 0, 104, 0, + 108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 296, 0, 0, 320, 305, 0, - 314, 0, 0, 0, 0, 0, 0, 46, 22, 100, - 102, 104, 106, 108, 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 196, 198, 0, 199, - 238, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 113, 117, 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 298, 319, 307, 316, 0, 0, 0, + 0, 0, 302, 0, 0, 326, 311, 0, 320, 0, + 0, 0, 0, 0, 0, 46, 22, 101, 103, 105, + 107, 109, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 197, 199, 0, 200, 239, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 114, 118, + 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 200, 202, 0, 0, 8, 0, 0, + 0, 304, 325, 313, 322, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 249, 0, 0, 0, 111, 0, 115, 0, - 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 201, 203, 0, 0, 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, + 250, 0, 0, 0, 112, 0, 116, 0, 120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 248, 0, 24, 112, - 114, 116, 118, 120, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 125, 129, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 249, 0, 24, 113, 115, 117, + 119, 121, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 126, 130, 134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 123, 0, 127, 0, 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 124, 126, 128, 130, 132, - 134, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 137, 141, 145, - 149, 153, 157, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, + 124, 0, 128, 0, 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 135, 0, 139, 0, 143, 0, - 147, 0, 151, 0, 155, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 125, 127, 129, 131, 133, 135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 136, 138, 140, 142, 144, - 146, 148, 150, 152, 154, 156, 158, 0, 0, 0, + 0, 0, 0, 0, 0, 138, 142, 146, 150, 154, + 158, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 185, 189, 193, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 136, 0, 140, 0, 144, 0, 148, 0, + 152, 0, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 183, 0, 187, 0, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 184, 186, 188, 190, 192, 194, 0, - 0, 0, 173, 177, 181, 0, 0, 0, 0, 0, + 0, 0, 0, 137, 139, 141, 143, 145, 147, 149, + 151, 153, 155, 157, 159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 171, 0, 175, 0, 179, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 172, 174, - 176, 178, 180, 182, 0, 0, 0, 0, 0, 0, + 186, 190, 194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 161, 165, 169, 0, 0, 0, 0, 0, - 0, 0, 159, 0, 163, 0, 167, 0, 0, 0, - 0, 0, 0, 160, 162, 164, 166, 168, 170, 0, - 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 184, 0, + 188, 0, 192, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 185, 187, 189, 191, 193, 195, 0, 0, 0, + 174, 178, 182, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 172, + 0, 176, 0, 180, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 173, 175, 177, 179, + 181, 183, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 162, 166, 170, 0, 0, 0, 0, 0, 0, 0, + 160, 0, 164, 0, 168, 0, 0, 0, 0, 0, + 0, 161, 163, 165, 167, 169, 171, 0, 0, 0 }; -static const short yydefgoto[] = { 2300, - 84, 5, 6, 19, 20, 21, 22, 7, 68, 69, - 70, 427, 1618, 639, 1527, 1620, 640, 1528, 1622, 641, - 1529, 1836, 642, 1783, 1838, 643, 1784, 1840, 644, 1785, - 1972, 645, 1934, 1974, 646, 1935, 1976, 647, 1936, 2084, - 648, 2054, 2086, 649, 2055, 2088, 650, 2056, 2090, 651, - 2057, 2092, 652, 2058, 2094, 653, 2059, 2282, 654, 2276, - 2284, 655, 2277, 2286, 656, 2278, 2231, 657, 2219, 2233, - 658, 2220, 2235, 659, 2221, 2180, 660, 2162, 2182, 661, - 2163, 2184, 662, 2164, 1645, 663, 1551, 1739, 664, 1647, - 137, 242, 71, 554, 333, 541, 542, 334, 75, 76, - 77, 78, 335, 1183, 1497, 1601, 1186, 1502, 1605, 1189, - 1506, 1608, 1364, 1365, 80, 81, 969, 336, 140, 354, - 173, 237, 420, 1079, 1196, 1197, 338, 481, 196, 726, - 880, 141 +static const short yydefgoto[] = { 2318, + 87, 5, 6, 19, 20, 21, 22, 7, 70, 71, + 72, 439, 1636, 653, 1545, 1638, 654, 1546, 1640, 655, + 1547, 1854, 656, 1801, 1856, 657, 1802, 1858, 658, 1803, + 1990, 659, 1952, 1992, 660, 1953, 1994, 661, 1954, 2102, + 662, 2072, 2104, 663, 2073, 2106, 664, 2074, 2108, 665, + 2075, 2110, 666, 2076, 2112, 667, 2077, 2300, 668, 2294, + 2302, 669, 2295, 2304, 670, 2296, 2249, 671, 2237, 2251, + 672, 2238, 2253, 673, 2239, 2198, 674, 2180, 2200, 675, + 2181, 2202, 676, 2182, 1663, 677, 1569, 1757, 678, 1665, + 140, 250, 73, 566, 341, 552, 553, 342, 77, 78, + 79, 80, 81, 343, 1200, 1515, 1619, 1203, 1520, 1623, + 1206, 1524, 1626, 1382, 1383, 83, 84, 985, 344, 143, + 362, 176, 245, 432, 1096, 1214, 1215, 346, 492, 199, + 740, 895, 144 }; -static const short yypact[] = { 2807, - 32,-32768,-32768, -116,-32768, 417, 3078,-32768, 11, 50, - 68, 90, 96, 112, 146, -86, -34, -31,-32768,-32768, --32768,-32768, 2299, -27, 195, 20, 25, 73, -45, 142, - 76, 116, 293, 136, 318, 342, 353, 380, 256, 371, - 31, 237, 238, -87, -87, 246, 5, 4, 402, 17, - 462, 484, 104, 477, 297, 306, -25, 6, 24,-32768, - 315,-32768, 502,-32768, 537, 541, 486,-32768,-32768,-32768, +static const short yypact[] = { 2739, + 56,-32768,-32768, -129,-32768, 284, 3214,-32768, 28, 85, + 107, 138, 152, 171, 199, 20, 106, 115,-32768,-32768, +-32768,-32768, 2286, 123, 323, 161, 166, 177, -22, 217, + 192, 204, 338, 219, 327, 366, 394, 405, 437, 414, + 485, 264, 278, -110, -110, 292, 369, 7, 423, 6, + 494, 495, 344, 484, 314, 333, -17, 8, 17,-32768, + 334,-32768, 532,-32768, 540, 561, 513, 15, 19,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768, 529, 11, 2919,-32768,-32768,-32768,-32768,-32768, - 356, 356, 544,-32768, -61, 7,-32768,-32768,-32768,-32768, - -9, 156, 179, 206, 216, 311, 319, 320, 325, 333, - 344, 352, 372, 373, 376, 377, 422, 426, 429, 447, - 448, 357, 383, 384,-32768,-32768,-32768,-32768, 2583, 2583, - 2583,-32768,-32768, 2583, 1173, 29, 2583, 570, 428,-32768, - 613, 592,-32768, 2583, 2583, 2583, 405, 2583, 430, 2583, - 2583, 948, 2583, 431, 451, 458, 471, 948, 483, 491, - 479, 481, 490, 494, 506, 717, -87, -87, -87, 2583, - 2583, -125,-32768, -69, -87, 533, 534, 548, 547,-32768, - 948, 553, 755,-32768,-32768,-32768, 948, 948, 759, 2583, - 2583, -67, 2583, 566, 2583, 567, 661, 2583, 2583,-32768, - 776,-32768, 636,-32768, 11, 650, 657, 666, 684, 694, - 698, 709, 710, 711, 713, 719, 720, 721, 722, 723, - 724, 726, 732, 742, 743, 744, 745, 746, 749, 750, - 751, 752, 753, 754, 757, 790, 644, 714, 780, 2583, - 940,-32768, -87,-32768, 2583, 2583, 2583, 2583, 2583, 2583, - 2583, 2583, 2583, 2583, 2583, 2583, 2583, 2583, 2583, 2583, - 2583, 2583, 2583, 2583, 2583, 2583, 2583, 2583, 2583, 2583, - 2583, 2583, 2583, 2583, 2583, 2583, 2583, 2583, 2583, 2583, - 2583, 2583, 2583, 2583, 2583, 2583, 54, 57, 57, 249, - 760, 760, 760, 10632, 975, 2359, 2217, 258, 783, 977, - 453,-32768,-32768, 2583, 2583, 2583, 2583, 2583, 2583, 2583, - 2583, 2583, 2583, 2583, 2583, 2583, 2583, 2583,-32768, -19, - 10655, 10678, 10701, 2583, 10724, 2583, 10747, 10770, 286, 785, - 1807, 2359,-32768,-32768,-32768, 1527, 978,-32768, 10793, 2583, - 2583, 2583, 2583, 981, 2583, 2583, 2583, 2583, 2583, 2583, - 2583, 792, -81,-32768,-32768, 3405, 3426, -87, -87, 475, - 475, 130, 2583, 2583, 2583, 2583, 2387, 273, 2583,-32768, - 2609, 985, 986,-32768, 10816, 10839, 887, 2583, 10862, 888, - 3447,-32768, 793, 1577, 10885,-32768, 2583, 829, 992, 994, - 995, 996, 997, 998, 1000, 1001, 1008, 1009, 1010, 1011, - 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1022, 1024, 1025, - 1026, 877, 1028, 1032, 1034, 1035, 1038, 1037,-32768, 74, - 1039, 1040, 1042, 9957, 261, -36, 2901, 10908, 9982, 10931, - 10007, 10954, 10032, 10977, 10057, 11000, 10082, 11023, 10107, 11046, - 10132, 11069, 10157, 11092, 10182, 11115, 10207, 11138, 10232, 3468, - 3489, 11161, 10257, 11184, 10282, 11207, 10307, 11230, 10332, 11253, - 10357, 11276, 10382, 3510, 3531, 3552, 3573, 3594, 3615, 174, --32768, 110, 842, 848, 2583,-32768, 948, 2613, 1527,-32768, - 465, 176, 57, 2583, 1045, 1044, 8,-32768, 1689, 652, - 700, 715, 715, 250, 250, 250, 250, 300, 300, 760, - 760, 760, 760, 1046, 2359, 1047, 1048, 1049, 11299, 1050, - 11322, 1052, 1055, 1203, 2583, 312, 2359, 469, 2583, 2583, - 1056, 1302, 11345, 11368, 11391, 2583, 1928, 2910, 11414, 11437, - 11460, 11483, 11506, 865, -87, 2583, 2583,-32768,-32768,-32768, - 863, 2653,-32768, 864, 2583, 3636, 3657, 3678, 10407, -102, - -38, -28,-32768,-32768,-32768, 2583, 10432,-32768, 867, 868, - 1064, 1065, 879, 11529, 1066, 876, 2583, 2631, 2583, 2583, --32768, 11552, 909, 878, 883, 884, 885, 886, 889, 890, - 892, 893, 894, 921, 922, 923, 924, 925, 926, 927, - 928, 929, 930, 931, 934, 935, 937, 939, 941, 942, - 944, 945, 946,-32768, 1073, 951,-32768, 950, 121,-32768, --32768, 953, 956, 957, 958, 960, 961, 962, 968, 1057, - 1059, 1063, 1067, 1069, 1072, 1074, 1075, 1076, 1078, 1079, - 1081, 1083, 1084, 1085, 1087, 1088, 1089, 1135,-32768,-32768, +-32768,-32768,-32768,-32768,-32768, 573, 28, 3011,-32768,-32768, +-32768,-32768,-32768, 381, 381, 578,-32768, 220, 9,-32768, +-32768,-32768,-32768, -100, -66, 120, 276, 294, 297, 315, + 321, 322, 330, 353, 354, 377, 384, 447, 448, 451, + 455, 464, 465, 469, 389, 400, 401,-32768,-32768,-32768, +-32768, 1824, 1824, 1824,-32768,-32768, 1824, 969, 31, 1824, + 598, 759,-32768, 648, 670,-32768, 1824, 1824, 1824, 470, + 1824, 473, 1824, 1824, 597, 1824, 503, 479, 490, 492, + 597, 512, 516, 501, 515, 568, 595, 651, 672, -110, + -110, -110, 1824, 1824, -83,-32768, -40, -110, 524, 525, + 565, 549,-32768, 597, 559, 775,-32768,-32768,-32768, 597, + 597, 854, 1824, 1824, -71, 1824, 671, 1824, 673, 779, + 1824, 1824,-32768, 884,-32768, 697,-32768,-32768, 899,-32768, + 903,-32768, 28, 714, 715, 717, 718, 719, 720, 721, + 722, 723, 724, 725, 726, 727, 728, 729, 734, 735, + 736, 737, 743, 768, 769, 770, 771, 772, 776, 777, + 804, 805, 806, 906, 802, 778, 807, 1824, 1003,-32768, + -110,-32768, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, + 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, + 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, + 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, + 1824, 1824, 1824, 1824, 40, 37, 37, 289, 811, 811, + 811, 10787, 1002, 2321, 1363, 26, 809, 1005, 774,-32768, +-32768, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, + 1824, 1824, 1824, 1824, 1824, 1824,-32768, -134, 10810, 10833, + 10856, 1824, 10879, 1824, 10902, 10925, 304, 812, 1499, 2321, +-32768,-32768,-32768, 2443, 1006,-32768, 10948, 1824, 1824, 1824, + 1824, 1010, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 820, + -81,-32768,-32768, 3585, 3606, -110, -110, 475, 475, 136, + 1824, 1824, 1824, 1824, 2772, 340, 1824,-32768, 2884, 1014, + 1015,-32768, 10971, 10994, 924, 1824, 11017, 932, 3627,-32768, + 840, 2458, 11040,-32768, 1824, 2906,-32768, 2950,-32768, 877, + 1042, 1043, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, + 1058, 1059, 1060, 1063, 1064, 1065, 1066, 1067, 1068, 1069, + 1071, 1074, 1075, 925, 1080, 1081, 1082, 1083, 1086, 1085, +-32768, -87, 1087, 1077, 1088, 2929, -2, -35, 3106, 11063, + 10137, 11086, 10162, 11109, 10187, 11132, 10212, 11155, 10237, 11178, + 10262, 11201, 10287, 11224, 10312, 11247, 10337, 11270, 10362, 11293, + 10387, 3648, 3669, 11316, 10412, 11339, 10437, 11362, 10462, 11385, + 10487, 11408, 10512, 11431, 10537, 3690, 3711, 3732, 3753, 3774, + 3795, 472, -43, 891, 896, 1824,-32768, 597, 2418, 2443, +-32768, 477, 12, 37, 1824, 1090, 1093, 13,-32768, 2481, + 695, 713, 406, 406, 280, 280, 280, 280, 259, 259, + 811, 811, 811, 811, 1095, 2321, 1096, 1097, 1099, 11454, + 1100, 11477, 1101, 1103, 1191, 1824, 316, 2321, 478, 1824, + 1824, 1104, 1944, 11500, 11523, 11546, 1824, 2897, 3172, 11569, + 11592, 11615, 11638, 11661, 900, -110, 1824, 1824,-32768,-32768, +-32768, 907, 3247,-32768, 934, 1824, 3816, 3837, 3858, 10562, + -96, -39, -47, -62,-32768,-32768,-32768, 1824, 10587,-32768, + 936, 938, 1136, 1137, 947, 11684, 1139, 945, 1824, 2972, + 1824, 1824,-32768, 11707,-32768,-32768, 978, 946, 948, 949, + 950, 952, 955, 956, 957, 958, 960, 961, 962, 963, + 965, 966, 968, 971, 972, 973, 979, 990, 996, 1023, + 1024, 1025, 1026, 1070, 1076, 1084, 1089,-32768, 1145, 1061, +-32768, 1091, 84,-32768,-32768, 1073, 1079, 1092, 1098, 1105, + 1106, 1107, 1108, 1109, 1111, 1112, 1113, 1114, 1116, 1119, + 1146, 1147, 1148, 1150, 1151, 1153, 1157, 1158, 1159, 1160, + 1161, 1248,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -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, 2583, 2583,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, - 2583, 2583, 2583, 2583, 2583, 2583, 2583, 1170,-32768, 2359, - 57,-32768, 10457, 1175, 2359, 881, 37, 2583, 1202, 1204, - 474,-32768, 1082, 1071, 6, 1205, 2583,-32768, 164, -87, - 948, 948, 1229, 948, 1235, 948, 948,-32768, 2359, 2977, - 1499, 470,-32768, 1773, 602, 1007, 1254, 1279, 1280, 1281, - 407, 1282, 1284, 1285, 1286, 1287, 1289, 1290, 1295, 150, - 3699, 3720,-32768,-32768, 3025, -87, -87, -87, 1320, 2359, - 2359, 2359, 682, 1321, 2583, 2583, 948, 948, 2583, 1324, - 948, 1329, 3741,-32768, 1886, 288, 1330, 1164, 1335, 2583, - 2583, -87, 1336, 1337, 1154, 1339, 1340, 948, 948, 1341, - -87, 1342, 1343, 948, 948, 1344, 1345, 1347, 1348, 1349, - 948, 440, 948, 1350, 1351, 1352, 1357, 1358,-32768, 1356, - 356, 1359,-32768, 1360, 2940, 2583, 2583, 2583, 2583, 2583, - 2583, 2583, 2583, 2583, 2583, 2583, 2583, 2583, 2583, 2583, - 2583, 2583, 2583, 2583, 2583, 2583, 2583, 2583, 2583, 2583, - 2583,-32768, 11575, 10482, 11598, 10507, 11621, 10532, 11644, 10557, - 10582, 1157, 169, 1158, -39,-32768, 1527,-32768, 22, 327, - 1165, 1361, 748,-32768,-32768,-32768, 6, 2583,-32768, 473, --32768, 12495, 1364, 13, 38, 1365, 948, 1367, 948, 1368, - 1370, 488,-32768,-32768, 2359,-32768, 2583,-32768, 2583, 948, - 948, 948, 1171,-32768, 468, 948, 948, 948, 948, 948, - 948, 948, 299, 2583, 2583, 2583, 1176, -119, -106, -100, --32768, 493, 496, 497,-32768,-32768, 3762, 3783, 1371, 1373, - 11667, -83, 1275,-32768, 2583, 2583, 2583,-32768, 1179, 11, - 1181, 3804, 3825, -5, 1182, 1187, 1184, 1189, 1186, 1193, - 1190, 1191, 81, 1192, 1198, 1199, 1196, 1197, 1200, 1206, - 1207, 1208, 1209,-32768,-32768,-32768,-32768,-32768, 1211, 1212, - 1214, 1215, 1216, 1213, 1217,-32768, 1218, 261,-32768, 1394, - 3846, 3867, 3888, 3909, 3930, 3951, 3972, 3993, 4014, 4035, - 4056, 4077, 4098, 4119, 4140, 4161, 4182, 4203, 4224, 4245, - 4266, 4287, 4308, 4329, 4350, 4371,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768, 1221,-32768,-32768,-32768, 948, 57, - 2583, 1397, 1400, 8,-32768, 1418, 10607, 6,-32768,-32768, --32768,-32768, -87,-32768, 1419,-32768, 1421,-32768,-32768, 1230, - 504, 12495, 4392, 1424, 1425, 1426, 2583, 2583, 2583, 1428, - 1429, 1430, 1431, 1432, 1433, 1434,-32768, 2549, 3048, 11690, - 2325, 475, -87, 1435, -87, 1436, -87, 1437, 1438, 1439, - 1440, 2583, 2583,-32768,-32768, 1461, 948, 948, 1366, 948, - 2638, 204, 11713, 2583, 11, 1467, 2583, 948, 1466, 1470, - 1468, 1288, 1486, 440, 1487, 1473, 2583, 1488, 1492, 1490, - 1494, 1495, 440, 2583, 2583, 2583, 948, 1498, 1503, 440, - 2583, 1529, 1530, 1528, 2583, 356,-32768,-32768, 2583, 2583, - 2583, 2583, 2583, 2583, 2583, 2583, 2583, 2583, 2583, 2583, - 2583, 2583, 2583, 2583, 2583, 2583, 2583, 2583, 2583, 2583, - 2583, 2583, 2583, 2583, 1497, 1531, 1532, 984,-32768, 1533, - 1535,-32768, 1346,-32768, 19,-32768,-32768,-32768, 1374, 2583, --32768,-32768,-32768, 4413, 1062, 1405,-32768,-32768,-32768,-32768, --32768,-32768,-32768, 1427, 1536, 1334,-32768, 2583,-32768, 1369, - 152,-32768, 1372, 177,-32768, 1375, 220,-32768, 1376,-32768, --32768,-32768, 4434, 4455, -83, 200,-32768, 505, 1393, 1441, - 2583,-32768, 2583,-32768,-32768, 4476, 11, 1378, 4497, 1338, --32768, 1395,-32768, 1396,-32768, 1379,-32768, 1398, 11736,-32768, - 1416,-32768,-32768, 1401, 1422, 11759, 4518, 11782, 1417,-32768, - 1423, 1442, 4539, 1420, 1443,-32768, 4560, 1445, 4581, 4602, - 4623, 4644, 4665, 4686, 4707, 4728, 4749, 4770, 4791, 4812, - 4833, 4854, 4875, 4896, 4917, 4938, 4959, 4980, 5001, 5022, - 5043, 5064, 5085, 5106, 1447,-32768,-32768,-32768, 6,-32768, - 1516,-32768,-32768, 5127, 2583,-32768,-32768,-32768,-32768, 475, - 2708,-32768, 2267, 113, 2267, 113, 2267, 113, 2583, 2583, - 1519,-32768, 948,-32768, 948, 2583, 3084, 3113, 948, 1380, - 1539, -83, 440, 1544, 2583, 1619, 440, 1620, 1625, 1623, - 1626, 1627, 2583, 1628, 948, 1632, 1636, 2583, 1680, 1681, - 2583, 1684, 2583, 2583, 2583, 2583, 2583, 2583, 2583, 2583, - 2583, 2583, 2583, 2583, 2583, 2583, 2583, 2583, 2583, 2583, - 2583, 2583, 2583, 2583, 2583, 2583, 2583, 2583,-32768, 1685, --32768, 1687, 11805, 1483, 2583,-32768, 2267, 2267, 2583, 3136, - 223, 1688, 1491, -40,-32768, 3159, 225, -26, 3189, 242, - -18, 3221, 3244, 1505,-32768, 1517, 1493,-32768,-32768, 1496, - 11,-32768, 1518, 1520, 1524, 5148,-32768, 1523,-32768, 1552, --32768,-32768,-32768, 11828,-32768, 1525,-32768,-32768, 11851, 1553, --32768, 11874, 1526, 11897, 11920, 11943, 5169, 5190, 5211, 5232, - 5253, 5274, 5295, 5316, 5337, 5358, 5379, 5400, 5421, 5442, - 5463, 5484, 5505, 5526, 5547, 5568, 5589, 11966, 5610,-32768, - 1550, 948,-32768, 3267, 2605, 1690, 2583,-32768, 948, 1694, --32768, 1711, 2583, 1722, 1723, 2583, 1724, 1751, 1761, 948, - 948,-32768, 1762, 11, 440, 440, 440, 440, 1763, 1764, - 1765, 440, 1767, 1768, 1769, 1771,-32768,-32768,-32768, 2583, - 2583, 2583, 2583, 2583, 2583, 2583, 2583, 2583, 2583, 2583, - 2583, 2583, 2583, 2583, 2583, 2583, 2583, 2583, 2583, 2583, --32768, 2583, 1772, 948,-32768,-32768, 1576, 3290, 1578,-32768, --32768, 1580, 3313,-32768,-32768, 1582, 3336,-32768,-32768,-32768, - 1579, 1583,-32768, 11, 1584, 1586, 1612, 1615,-32768,-32768, --32768, 1613,-32768,-32768,-32768, 1614, 1611, 1639, 1641, 5631, - 5652, 5673, 5694, 5715, 5736, 5757, 5778, 5799, 5820, 5841, - 5862, 5883, 5904, 5925, 5946, 5967, 5988, 6009, 6030, 6051, - 1643, 11989, 1668, 1873, 113, 1874, 948, 113, 1875, 113, - 1876, 948, 1781, 1721, 440, 440, 1880, 1881, 440, 1883, - 2583, 2583, 2583, 2583, 2583, 2583, 2583, 2583, 2583, 2583, - 2583, 2583, 2583, 2583, 2583, 2583, 2583, 2583, 2583, 2583, - 2583, 2583, 2583, 2583, 57,-32768, 1884,-32768, -17,-32768, - 1691, 508, -15,-32768, 1708, -3,-32768, 1709, 1710, 1712, - 11, 1714, 1715,-32768,-32768, 1693, 1695, 511, 12495, 512, - 12495, 516, 12495, 6072, 6093, 6114, 6135, 6156, 6177, 6198, - 6219, 6240, 6261, 6282, 6303, 6324, 6345, 6366, 6387, 6408, - 6429, 6450, 6471, 6492, 519,-32768, 1716, 1717, 1885, 113, - 948, 1906, 1911, 113, 1913, 113, 1819, 2583, 11, 440, - 948, 1916, 1917, 2583, 1918, 2583, 1919, 2583, 1921, 2583, - 2583, 2583, 2583, 2583, 2583, 2583, 2583, 2583, 2583, 2583, - 2583, 2583, 2583, 2583, 2583, 2583, 2583, 2583, 2583, 2583, - 57, 1922, 57, 1923,-32768, -1, 1750,-32768,-32768, 10, --32768, 12, 1770, 6513, 11, 1766, 1775,-32768,-32768, 12495, --32768, 12495,-32768, 12495,-32768, 12012, 12035, 12058, 6534, 6555, - 6576, 6597, 6618, 6639, 6660, 6681, 6702, 6723, 6744, 6765, - 6786, 6807, 6828, 6849, 6870, 6891,-32768,-32768, 523,-32768, --32768, 1957, 1958, 1959, 1960, 2583, 2583, 1462, 440, 948, --32768,-32768,-32768, 2583, 2583, 2583, 2583, 2583, 2583, 2583, - 2583, 2583, 2583, 2583, 2583, 2583, 2583, 2583, 2583, 2583, - 2583, 57, 1963,-32768,-32768,-32768,-32768, 6912, 3359, 1800, - 1793, 1794, 1795, 1797, 1798, 6933, 6954, 6975, 6996, 7017, - 7038, 7059, 7080, 7101, 7122, 7143, 7164, 7185, 7206, 7227, - 7248, 7269, 7290,-32768,-32768, 2583, 1968,-32768, 948, 440, - 2583, 2583, 2583, 2583, 2583, 2583, 2583, 2583, 2583, 2583, - 2583, 2583, 2583, 2583, 2583, 2583, 2583, 2583, 2583, 2583, - 2583, 3382,-32768, 1801, 1799, 524, 12495, 527, 12495, 528, - 12495, 7311, 7332, 7353, 7374, 7395, 7416, 7437, 7458, 7479, - 7500, 7521, 7542, 7563, 7584, 7605, 7626, 7647, 7668, 1995, - 948, 1998, 2583, 1999, 2583, 2000, 2583, 2001, 2583, 2583, - 2583, 2583, 2583, 2583, 2583, 2583, 2583, 2583, 2583, 2583, - 2583, 2583, 2583, 2583, 2583, 2583,-32768, 1809,-32768, 12495, --32768, 12495,-32768, 12495,-32768, 12081, 12104, 12127, 7689, 7710, - 7731, 7752, 7773, 7794, 7815, 7836, 7857, 7878, 7899, 7920, - 7941, 7962, 7983, 948,-32768,-32768,-32768, 2583, 2583, 2583, - 2583, 2583, 2583, 2583, 2583, 2583, 2583, 2583, 2583, 2583, - 2583, 2583, 1810, 1806, 1811, 1812, 8004, 8025, 8046, 8067, - 8088, 8109, 8130, 8151, 8172, 8193, 8214, 8235, 8256, 8277, - 8298, 948, 2583, 2583, 2583, 2583, 2583, 2583, 2583, 2583, - 2583, 2583, 2583, 2583, 2583, 2583, 2583, 2583, 2583, 2583, - 1814, 531, 12495, 539, 12495, 540, 12495, 8319, 8340, 8361, - 8382, 8403, 8424, 8445, 8466, 8487, 8508, 8529, 8550, 8571, - 8592, 8613, 440, 2583, 2006, 2583, 2010, 2583, 2011, 2583, - 2583, 2583, 2583, 2583, 2583, 2583, 2583, 2583, 2583, 2583, - 2583, 2583, 2583, 2583, 1821, 12495,-32768, 12495,-32768, 12495, --32768, 12150, 12173, 12196, 12219, 12242, 12265, 8634, 8655, 8676, - 8697, 8718, 8739, 8760, 8781, 8802, 2013,-32768,-32768,-32768, --32768,-32768,-32768, 2583, 2583, 2583, 2583, 2583, 2583, 2583, - 2583, 2583,-32768, 1818, 1828, 1829, 1830, 1831, 1832, 8823, - 8844, 8865, 8886, 8907, 8928, 8949, 8970, 8991, 2583, 2583, - 2583, 2583, 2583, 2583, 2583, 2583, 2583, 2583, 2583, 2583, - 2583, 2583, 2583, 543, 12495, 556, 12495, 557, 12495, 561, - 12495, 572, 12495, 573, 12495, 9012, 9033, 9054, 9075, 9096, - 9117, 9138, 9159, 9180, 2583, 2029, 2583, 2030, 2583, 2031, - 2583, 2032, 2583, 2033, 2583, 2034, 2583, 2583, 2583, 2583, - 2583, 2583, 2583, 2583, 2583, 12495,-32768, 12495,-32768, 12495, --32768, 12495,-32768, 12495,-32768, 12495,-32768, 9201, 9222, 9243, - 9264, 9285, 9306, 12288, 12311, 12334, 2583, 2583, 2583, 2583, - 2583, 2583,-32768,-32768,-32768, 9327, 9348, 9369, 9390, 9411, - 9432, 1839, 1840, 1841, 2583, 2583, 2583, 2583, 2583, 2583, - 2583, 2583, 2583, 9453, 9474, 9495, 9516, 9537, 9558, 591, - 12495, 595, 12495, 598, 12495, 2583, 2583, 2583, 2583, 2583, - 2583, 2583, 2038, 2583, 2039, 2583, 2060, 9579, 9600, 9621, - 12357, 12380, 12403, 12495,-32768, 12495,-32768, 12495,-32768, 2583, - 2583, 2583,-32768,-32768,-32768, 9642, 9663, 9684, 1877, 1878, - 1887, 2583, 2583, 2583, 2583, 2583, 2583, 9705, 9726, 9747, - 599, 12495, 641, 12495, 648, 12495, 2583, 2583, 2583, 2583, - 2070, 2583, 2071, 2583, 2072, 9768, 9789, 9810, 12495,-32768, - 12495,-32768, 12495,-32768, 2583, 2583, 2583, 9831, 9852, 9873, - 2583, 2583, 2583, 9894, 9915, 9936, 2583, 2583, 2583, 12426, - 12449, 12472,-32768,-32768,-32768, 1889, 1891, 1920, 2583, 2583, - 2583, 649, 12495, 653, 12495, 672, 12495, 2583, 2077, 2583, - 2079, 2583, 2081, 12495,-32768, 12495,-32768, 12495,-32768, 2108, - 2118,-32768 + 1824, 1824,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, +-32768,-32768,-32768,-32768, 1824, 1824, 1824, 1824, 1824, 1824, + 1824, 1277,-32768, 2321, 37,-32768, 10612, 1280, 2321, 1167, + 33, 1824, 1282, 1283, 1000,-32768, 1276, 1102, 8, 1287, + 1824,-32768, 196, -110, 597, 597, 1291, 597, 1292, 597, + 597,-32768, 2321, 3202, 1221, 481,-32768, 2503, 1078, 1156, + 1294, 1354, 1355, 1373, 667, 1374, 1375, 1378, 1379, 1380, + 1383, 1384, 1389, 157, 3879, 3900,-32768,-32768, 3240, -110, + -110, -110, 1388, 2321, 2321, 2321, 2321, 1186, 1390, 1824, + 1824, 597, 597, 1824, 1391, 597, 1393, 3921,-32768, 2533, + 453, 1392, 1234, 1398, 1824, 1824, -110, 1399, 1400, 1215, + 1402, 1403, 597, 597, 1404, -110, 1407, 1408, 597, 597, + 1409, 1410, 1412, 1413, 1414, 597, 422, 597, 1415, 1416, + 1418, 1417, 1421,-32768, 1420, 381, 1423,-32768, 1422, 3149, + 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, + 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, + 1824, 1824, 1824, 1824, 1824, 1824,-32768, 11730, 10637, 11753, + 10662, 11776, 10687, 11799, 10712, 10737, 1230, 202, 1231, -12, +-32768, 2443,-32768, 182, 167, 1229, 1426, 1431,-32768,-32768, +-32768, 8, 1824,-32768, 482,-32768, 619, 1428, 16, 34, + 1429, 597, 1430, 597, 1433, 1434, 486,-32768,-32768, 2321, +-32768, 1824,-32768, 1824, 597, 597, 597, 1244,-32768, 170, + 597, 597, 597, 597, 597, 597, 597, 346, 1824, 1824, + 1824, 1239, -106, -102, -42,-32768, 497, 500, 505, 509, +-32768,-32768, 3942, 3963, 1438, 1439, 11822, 79, 1341,-32768, + 1824, 1824, 1824,-32768, 1243, 28, 1246, 3984, 4005, -120, + 1247, 1252, 1249, 1254, 1251, 1256, 1253, 1255, -33, 1257, + 1258, 1260, 1259, 1261, 1285, 1286, 1288, 1289, 1262,-32768, +-32768,-32768,-32768,-32768, 1290, 1293, 1295, 1296, 1297, 1264, + 1298,-32768, 1301, -2,-32768, 1480, 4026, 4047, 4068, 4089, + 4110, 4131, 4152, 4173, 4194, 4215, 4236, 4257, 4278, 4299, + 4320, 4341, 4362, 4383, 4404, 4425, 4446, 4467, 4488, 4509, + 4530, 4551,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, + 1303,-32768,-32768,-32768, 597, 37, 1824, 1484, 1490, 13, +-32768, 1489, 10762, 8,-32768,-32768,-32768,-32768, -110,-32768, + 1491,-32768, 1500,-32768,-32768, 1306, 514, 619, 4572, 1526, + 1527, 1528, 1824, 1824, 1824, 1529, 1530, 1531, 1532, 1533, + 1549, 1550,-32768, 2384, 3263, 11845, 254, 475, -110, 1551, + -110, 1552, -110, 1553, 1555, 1556, 1557, 1559, 1824, 1824, +-32768,-32768, 1583, 597, 597, 1486, 597, 2407, 383, 11868, + 1824, 28, 1591, 1824, 597, 1589, 1594, 1590, 1411, 1592, + 422, 1595, 1599, 1824, 1597, 1601, 1600, 1617, 1602, 422, + 1824, 1824, 1824, 597, 1618, 1622, 422, 1824, 1623, 1624, + 1625, 1824, 381,-32768,-32768, 1824, 1824, 1824, 1824, 1824, + 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, + 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, + 1824, 1626, 1627, 1628, 1593,-32768, 1630, 1629,-32768, 1427, +-32768, 21,-32768,-32768,-32768, 1437, 1824,-32768,-32768,-32768, + 4593, 1789, 1902,-32768,-32768,-32768,-32768,-32768,-32768,-32768, + 2313, 1634, 1440,-32768, 1824,-32768, 1436, 183,-32768, 1441, + 186,-32768, 1442, 193,-32768, 1443,-32768,-32768,-32768,-32768, + 4614, 4635, 79, 261,-32768, 518, 1444, 1547, 1824,-32768, + 1824,-32768,-32768, 4656, 28, 1451, 4677, 1448,-32768, 1449, +-32768, 1453,-32768, 1455,-32768, 1454, 11891,-32768, 1457,-32768, +-32768, 1456, 1459, 11914, 4698, 11937, 1461,-32768, 1463, 1492, + 4719, 1493, 1494,-32768, 4740, 1497, 4761, 4782, 4803, 4824, + 4845, 4866, 4887, 4908, 4929, 4950, 4971, 4992, 5013, 5034, + 5055, 5076, 5097, 5118, 5139, 5160, 5181, 5202, 5223, 5244, + 5265, 5286, 1495,-32768,-32768,-32768, 8,-32768, 1525,-32768, +-32768, 5307, 1824,-32768,-32768,-32768,-32768, 475, 2570,-32768, + 1695, 214, 1695, 214, 1695, 214, 1824, 1824, 1584,-32768, + 597,-32768, 597, 1824, 3286, 3309, 597, 1535, 1689, 79, + 422, 1699, 1824, 1722, 422, 1723, 1727, 1725, 1726, 1728, + 1824, 1729, 597, 1730, 1731, 1824, 1735, 1733, 1824, 1738, + 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, + 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, + 1824, 1824, 1824, 1824, 1824, 1824,-32768, 1734,-32768, 1739, + 11960, 1540, 1824,-32768, 1695, 1695, 1824, 3332, 200, 1740, + 1543, -37,-32768, 3355, 206, -25, 3378, 210, -14, 3401, + 3424, 1544,-32768, 1564, 2349,-32768,-32768, 1563, 28,-32768, + 1572, 1582, 1585, 5328,-32768, 1534,-32768, 1587,-32768,-32768, +-32768, 11983,-32768, 1586,-32768,-32768, 12006, 1588,-32768, 12029, + 1596, 12052, 12075, 12098, 5349, 5370, 5391, 5412, 5433, 5454, + 5475, 5496, 5517, 5538, 5559, 5580, 5601, 5622, 5643, 5664, + 5685, 5706, 5727, 5748, 5769, 12121, 5790,-32768, 1654, 597, +-32768, 3447, 846, 1785, 1824,-32768, 597, 1786,-32768, 1787, + 1824, 1788, 1790, 1824, 1791, 1792, 1794, 597, 597,-32768, + 1796, 28, 422, 422, 422, 422, 1797, 1798, 1799, 422, + 1823, 1825, 1826, 1854,-32768,-32768,-32768, 1824, 1824, 1824, + 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, + 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824,-32768, 1824, + 1856, 597,-32768,-32768, 1659, 3470, 1681,-32768,-32768, 1682, + 3493,-32768,-32768, 1683, 3516,-32768,-32768,-32768, 1686, 1680, +-32768, 28, 1687, 1688, 1631, 1693,-32768,-32768,-32768, 1691, +-32768,-32768,-32768, 1692, 1694, 1696, 1697, 5811, 5832, 5853, + 5874, 5895, 5916, 5937, 5958, 5979, 6000, 6021, 6042, 6063, + 6084, 6105, 6126, 6147, 6168, 6189, 6210, 6231, 1698, 12144, + 1700, 1890, 214, 1891, 597, 214, 1898, 214, 1899, 597, + 1804, 1741, 422, 422, 1903, 1904, 422, 1906, 1824, 1824, + 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, + 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, + 1824, 1824, 37,-32768, 1907,-32768, -10,-32768, 1724, 521, + -8,-32768, 1732, -7,-32768, 1737, 1742, 1767, 28, 1736, + 1743,-32768,-32768, 1744, 1745, 522, 619, 530, 619, 531, + 619, 6252, 6273, 6294, 6315, 6336, 6357, 6378, 6399, 6420, + 6441, 6462, 6483, 6504, 6525, 6546, 6567, 6588, 6609, 6630, + 6651, 6672, 534,-32768, 1777, 1778, 1923, 214, 597, 1924, + 1925, 214, 1926, 214, 1831, 1824, 28, 422, 597, 1928, + 1929, 1824, 1931, 1824, 1932, 1824, 1936, 1824, 1824, 1824, + 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, + 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 37, 1939, + 37, 1976,-32768, 24, 1779,-32768,-32768, 101,-32768, 241, + 1781, 6693, 28, 1784, 1807,-32768,-32768, 619,-32768, 619, +-32768, 619,-32768, 12167, 12190, 12213, 6714, 6735, 6756, 6777, + 6798, 6819, 6840, 6861, 6882, 6903, 6924, 6945, 6966, 6987, + 7008, 7029, 7050, 7071,-32768,-32768, 535,-32768,-32768, 1982, + 1984, 1986, 1988, 1824, 1824, 1842, 422, 597,-32768,-32768, +-32768, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, + 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 37, + 2008,-32768,-32768,-32768,-32768, 7092, 3539, 1843, 1813, 1815, + 1816, 1817, 1819, 7113, 7134, 7155, 7176, 7197, 7218, 7239, + 7260, 7281, 7302, 7323, 7344, 7365, 7386, 7407, 7428, 7449, + 7470,-32768,-32768, 1824, 2013,-32768, 597, 422, 1824, 1824, + 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, + 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 3562, +-32768, 1821, 1827, 538, 619, 541, 619, 542, 619, 7491, + 7512, 7533, 7554, 7575, 7596, 7617, 7638, 7659, 7680, 7701, + 7722, 7743, 7764, 7785, 7806, 7827, 7848, 2019, 597, 2021, + 1824, 2022, 1824, 2023, 1824, 2024, 1824, 1824, 1824, 1824, + 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, + 1824, 1824, 1824, 1824,-32768, 1828,-32768, 619,-32768, 619, +-32768, 619,-32768, 12236, 12259, 12282, 7869, 7890, 7911, 7932, + 7953, 7974, 7995, 8016, 8037, 8058, 8079, 8100, 8121, 8142, + 8163, 597,-32768,-32768,-32768, 1824, 1824, 1824, 1824, 1824, + 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, + 1829, 1830, 1832, 1833, 8184, 8205, 8226, 8247, 8268, 8289, + 8310, 8331, 8352, 8373, 8394, 8415, 8436, 8457, 8478, 597, + 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, + 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1835, 545, + 619, 551, 619, 552, 619, 8499, 8520, 8541, 8562, 8583, + 8604, 8625, 8646, 8667, 8688, 8709, 8730, 8751, 8772, 8793, + 422, 1824, 2027, 1824, 2029, 1824, 2042, 1824, 1824, 1824, + 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, + 1824, 1824, 1850, 619,-32768, 619,-32768, 619,-32768, 12305, + 12328, 12351, 12374, 12397, 12420, 8814, 8835, 8856, 8877, 8898, + 8919, 8940, 8961, 8982, 2044,-32768,-32768,-32768,-32768,-32768, +-32768, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, +-32768, 1847, 1848, 1849, 1851, 1852, 1853, 9003, 9024, 9045, + 9066, 9087, 9108, 9129, 9150, 9171, 1824, 1824, 1824, 1824, + 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, + 1824, 555, 619, 567, 619, 570, 619, 571, 619, 574, + 619, 583, 619, 9192, 9213, 9234, 9255, 9276, 9297, 9318, + 9339, 9360, 1824, 2048, 1824, 2052, 1824, 2053, 1824, 2054, + 1824, 2055, 1824, 2056, 1824, 1824, 1824, 1824, 1824, 1824, + 1824, 1824, 1824, 619,-32768, 619,-32768, 619,-32768, 619, +-32768, 619,-32768, 619,-32768, 9381, 9402, 9423, 9444, 9465, + 9486, 12443, 12466, 12489, 1824, 1824, 1824, 1824, 1824, 1824, +-32768,-32768,-32768, 9507, 9528, 9549, 9570, 9591, 9612, 1859, + 1880, 1892, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, + 1824, 9633, 9654, 9675, 9696, 9717, 9738, 586, 619, 589, + 619, 608, 619, 1824, 1824, 1824, 1824, 1824, 1824, 1824, + 2088, 1824, 2089, 1824, 2091, 9759, 9780, 9801, 12512, 12535, + 12558, 619,-32768, 619,-32768, 619,-32768, 1824, 1824, 1824, +-32768,-32768,-32768, 9822, 9843, 9864, 1894, 1897, 1901, 1824, + 1824, 1824, 1824, 1824, 1824, 9885, 9906, 9927, 609, 619, + 612, 619, 656, 619, 1824, 1824, 1824, 1824, 2097, 1824, + 2101, 1824, 2103, 9948, 9969, 9990, 619,-32768, 619,-32768, + 619,-32768, 1824, 1824, 1824, 10011, 10032, 10053, 1824, 1824, + 1824, 10074, 10095, 10116, 1824, 1824, 1824, 12581, 12604, 12627, +-32768,-32768,-32768, 1922, 1933, 1934, 1824, 1824, 1824, 660, + 619, 663, 619, 666, 619, 1824, 2105, 1824, 2130, 1824, + 2133, 619,-32768, 619,-32768, 619,-32768, 2140, 2148,-32768 }; static const short yypgoto[] = {-32768, - -32,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768, 1508,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, + -84,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, +-32768, 1545,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, @@ -1428,2559 +1437,2587 @@ static const short yypgoto[] = {-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, - -292, -22,-32768, 2113, -4, -359, -171, -2,-32768,-32768, --32768,-32768, 2114,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768, -1256, -1329,-32768,-32768, -1039, -23,-32768, -29, --32768, -88,-32768, -1161, 1054, 1449, -172, -314, -718, 1106, --32768, -265 + -299, -18,-32768, 2143, -3, -367, -117, -1,-32768,-32768, +-32768,-32768,-32768, 2144,-32768,-32768,-32768,-32768,-32768,-32768, +-32768,-32768,-32768, -1268, -1302,-32768,-32768, -1097, -23,-32768, + -29,-32768, -94,-32768, -1185, 1062, 1452, -244, -332, -730, + 1115,-32768, -21 }; -#define YYLAST 12690 - - -static const short yytable[] = { 139, - 138, 544, 73, 238, 74, 484, 879, 179, 367, 194, - 243, 724, 371, 82, 172, 174, 192, 518, 1031, 147, - 182, 472, 473, 474, 1272, 1362, 147, 197, 97, 1368, - 1363, 1371, 298, 1291, 1441, 377, 149, 8, 1441, 1362, - 870, 1441, 176, 1032, 1363, 177, 178, 1362, 1362, 9, - 1362, 205, 1363, 1363, 1216, 1363, 85, 470, 471, 358, - 359, 471, 1362, 1225, 1362, 358, 359, 1363, 162, 1363, - 1232, 163, 164, 86, 165, 1362, 360, 1362, 358, 359, - 1363, 1063, 1363, 1064, 358, 359, 1033, 122, 123, 124, - 122, 123, 124, 144, 1065, 87, 1066, 168, 169, 770, - 1067, 88, 1068, 358, 359, 291, 292, 293, 170, 91, - 294, 297, 1077, 301, 171, 358, 359, 89, 1078, 535, - 321, 322, 323, 480, 325, 471, 327, 328, 378, 339, - 132, 133, 361, 183, 299, 300, 240, 353, 241, 355, - 1383, 187, 871, 872, 188, 362, 356, 357, 358, 359, - 148, 90, 132, 133, 122, 123, 124, 148, 1026, 480, - 822, 92, 1440, 771, 93, 611, 375, 376, 142, 379, - 193, 381, 388, 772, 384, 385, 1444, 504, 1362, 358, - 359, 505, 97, 1363, 1447, 1649, 245, 1653, 246, 718, - 729, 1089, 125, 126, 127, 128, 83, 358, 359, 1655, - 143, 1742, 742, 358, 359, 180, 149, 195, 244, 725, - 568, 1203, 1744, 426, 1745, 144, 424, 720, 184, 198, - 145, 428, 429, 430, 431, 432, 433, 434, 435, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, - 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, - 467, 468, 469, 1384, 483, 358, 359, 1388, 146, 1441, - 604, 150, 479, 1441, 605, 485, 1441, 1098, 555, 556, - 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, - 499, 500, 501, 502, 503, 937, 158, 159, 1599, 160, - 509, 1603, 511, 1606, 1057, 1058, 709, 292, 479, 1154, - 710, 151, 132, 133, 358, 359, 522, 523, 524, 525, - 822, 527, 528, 529, 530, 531, 532, 533, 538, 539, - 545, 153, 480, 1020, 358, 359, 358, 359, 152, 546, - 547, 548, 549, 824, 480, 557, 125, 126, 127, 128, - 914, 247, 1283, 248, 564, 540, 540, 543, 543, 154, - 883, 358, 359, 572, 715, 1017, 1441, 132, 133, 715, - 1441, 707, 1441, 708, 249, 717, 250, 1285, 304, 305, - 306, 307, 308, 155, 309, 310, 311, 312, 313, 314, - 315, 316, 317, 1696, 156, 863, 1292, 1700, 318, 1702, - 1293, 251, 610, 252, 358, 359, 1204, 358, 359, 358, - 359, 253, 904, 254, 161, 1515, 1516, 1517, 1518, 10, - 1287, 157, 1522, 1437, 892, 1443, 358, 359, 125, 126, - 127, 128, 166, 303, 313, 314, 315, 316, 317, 167, - 132, 133, 1446, 181, 318, 864, 475, 175, 241, 132, - 133, 713, 132, 133, 292, 922, 923, 924, 488, 719, - 721, 905, 304, 305, 306, 307, 308, 185, 309, 310, - 311, 312, 313, 314, 315, 316, 317, 132, 133, 876, - 189, 479, 318, 514, 938, 241, 315, 316, 317, 186, - 713, 740, 190, 479, 318, 744, 745, 125, 126, 127, - 128, 191, 751, 132, 133, 760, 255, 200, 256, 741, - 199, 241, 761, 762, 257, 259, 258, 260, 132, 133, - 261, 765, 262, 1048, 1049, 1612, 1613, 203, 263, 1616, - 264, 204, 773, 43, 44, 45, 46, 480, 48, 265, - 201, 266, 868, 783, 202, 785, 786, 267, 239, 268, - 1350, 236, 287, 11, 12, 13, 14, 15, 16, 17, - 18, 964, 965, 966, 967, 968, 480, 269, 271, 270, - 272, 273, 275, 274, 276, 302, 1019, 1021, 288, 289, - 1041, 304, 305, 306, 307, 308, 823, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 320, 480, 480, 480, - 324, 318, 304, 305, 306, 307, 308, 898, 309, 310, - 311, 312, 313, 314, 315, 316, 317, 277, 319, 278, - 1706, 279, 318, 280, 281, 326, 282, 304, 305, 306, - 307, 308, 340, 309, 310, 311, 312, 313, 314, 315, - 316, 317, 283, 285, 284, 286, 341, 318, 304, 305, - 306, 307, 308, 342, 309, 310, 311, 312, 313, 314, - 315, 316, 317, 853, 854, 715, 343, 716, 318, 715, - 715, 743, 896, 1028, 347, 1029, 348, 855, 856, 857, - 858, 859, 860, 861, 345, 349, 479, 925, 715, 350, - 1040, 867, 346, 715, 873, 1069, 715, 715, 1070, 1071, - 884, 351, 1180, 882, 715, 1293, 1159, 1294, 1651, 1781, - 1652, 1664, 1666, 1665, 1667, 479, 1668, 713, 1669, 1691, - 352, 1692, 480, 1772, 1863, 1773, 1864, 1865, 1867, 1866, - 1868, 1994, 977, 1995, 363, 364, 918, 919, 920, 1996, - 1998, 1997, 1999, 2105, 366, 2106, 479, 479, 479, 365, - 369, 927, 928, 1025, 1147, 931, 2107, 2109, 2108, 2110, - 370, 2111, 944, 2112, 374, 380, 942, 943, 382, 383, - 1835, 953, 2113, 2115, 2114, 2116, 304, 305, 306, 307, - 308, 386, 309, 310, 311, 312, 313, 314, 315, 316, - 317, 2192, 1175, 2193, 419, 2194, 318, 2195, 2196, 2240, - 2197, 2241, 981, 982, 983, 984, 985, 986, 987, 988, - 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, - 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 306, 307, - 308, 387, 309, 310, 311, 312, 313, 314, 315, 316, - 317, 2242, 823, 2243, 421, 389, 318, 1022, 2244, 2288, - 2245, 2289, 390, 2290, 1027, 2291, 304, 305, 306, 307, - 308, 391, 309, 310, 311, 312, 313, 314, 315, 316, - 317, 479, 2292, 1042, 2293, 1043, 318, 307, 308, 392, - 309, 310, 311, 312, 313, 314, 315, 316, 317, 393, - 1059, 1060, 1061, 394, 318, 309, 310, 311, 312, 313, - 314, 315, 316, 317, 395, 396, 397, 1085, 398, 318, - 422, 1081, 1082, 1083, 399, 400, 401, 402, 403, 404, - 1354, 405, 304, 305, 306, 307, 308, 406, 309, 310, - 311, 312, 313, 314, 315, 316, 317, 407, 408, 409, - 410, 411, 318, 425, 412, 413, 414, 415, 416, 417, - 94, 329, 418, 2015, 318, 1117, 98, 99, 100, 101, +#define YYLAST 12826 + + +static const short yytable[] = { 142, + 246, 555, 213, 75, 141, 76, 495, 529, 894, 185, + 182, 197, 251, 1234, 175, 177, 738, 152, 100, 207, + 200, 1047, 1243, 207, 195, 150, 1290, 1309, 1380, 1250, + 85, 385, 494, 1381, 306, 1386, 885, 1389, 9, 1048, + 1380, 207, 150, 482, 207, 1381, 209, 211, 125, 126, + 127, 1380, 125, 126, 127, 1380, 1381, 1380, 1380, 491, + 1381, 8, 1381, 1381, 515, 375, 366, 367, 516, 379, + 125, 126, 127, 125, 126, 127, 171, 172, 1106, 1459, + 366, 367, 1049, 1459, 366, 367, 1459, 173, 207, 1380, + 396, 88, 398, 174, 1381, 491, 1079, 253, 1080, 254, + 1081, 147, 1082, 366, 367, 366, 367, 784, 299, 300, + 301, 618, 89, 302, 305, 619, 309, 125, 126, 127, + 368, 546, 186, 329, 330, 331, 386, 333, 400, 335, + 336, 255, 347, 256, 1401, 154, 307, 308, 886, 887, + 361, 787, 363, 90, 366, 367, 366, 367, 370, 364, + 365, 366, 367, 366, 367, 723, 786, 91, 151, 724, + 1083, 1042, 1084, 369, 785, 1115, 1380, 1458, 625, 383, + 384, 1381, 387, 1036, 389, 151, 92, 392, 393, 1462, + 196, 135, 136, 743, 128, 129, 130, 131, 100, 837, + 1465, 135, 136, 732, 1667, 756, 1671, 1673, 128, 129, + 130, 131, 366, 367, 93, 135, 136, 366, 367, 187, + 183, 198, 252, 731, 201, 86, 739, 94, 208, 135, + 136, 438, 210, 1402, 436, 1064, 1065, 1406, 1760, 440, + 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, + 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, + 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, + 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, + 481, 491, 580, 483, 484, 485, 1094, 135, 136, 1380, + 490, 152, 1095, 491, 1381, 837, 10, 496, 500, 501, + 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, + 512, 513, 514, 95, 1617, 1762, 1380, 1621, 520, 1624, + 522, 1381, 96, 1171, 1459, 300, 490, 257, 1459, 258, + 145, 1459, 366, 367, 533, 534, 535, 536, 146, 538, + 539, 540, 541, 542, 543, 544, 549, 550, 556, 128, + 129, 130, 131, 366, 367, 567, 568, 557, 558, 559, + 560, 1073, 1074, 569, 128, 129, 130, 131, 147, 929, + 135, 136, 576, 148, 551, 551, 554, 554, 157, 366, + 367, 584, 366, 367, 149, 1533, 1534, 1535, 1536, 366, + 367, 190, 1540, 155, 191, 1301, 366, 367, 1303, 153, + 1221, 878, 366, 367, 898, 1305, 366, 367, 729, 1714, + 1033, 154, 1455, 1718, 729, 1720, 179, 158, 1461, 180, + 181, 1459, 1464, 135, 136, 1459, 156, 1459, 624, 248, + 907, 249, 11, 12, 13, 14, 15, 16, 17, 18, + 312, 313, 314, 315, 316, 159, 317, 318, 319, 320, + 321, 322, 323, 324, 325, 1763, 160, 323, 324, 325, + 326, 937, 938, 939, 940, 326, 1195, 164, 1196, 1310, + 953, 169, 727, 1311, 184, 300, 321, 322, 323, 324, + 325, 735, 734, 259, 733, 260, 326, 161, 162, 491, + 163, 170, 135, 136, 883, 1630, 1631, 192, 486, 1634, + 249, 261, 490, 262, 263, 178, 264, 135, 136, 188, + 189, 727, 754, 525, 490, 249, 758, 759, 491, 135, + 136, 193, 265, 765, 266, 755, 774, 249, 267, 269, + 268, 270, 165, 775, 776, 166, 167, 271, 168, 272, + 194, 202, 779, 43, 44, 45, 46, 203, 48, 491, + 491, 491, 491, 204, 788, 980, 981, 982, 983, 984, + 273, 275, 274, 276, 206, 798, 1368, 800, 801, 312, + 313, 314, 315, 316, 205, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 277, 212, 278, 1057, 244, 326, + 1724, 279, 247, 280, 1035, 1037, 295, 1222, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 296, 297, 97, + 337, 839, 326, 310, 838, 101, 102, 103, 104, 105, + 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 124, 312, + 313, 314, 315, 316, 338, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 281, 283, 282, 284, 285, 326, + 286, 954, 287, 327, 288, 43, 44, 45, 46, 47, + 48, 289, 291, 290, 292, 491, 293, 332, 294, 1799, + 334, 721, 919, 722, 328, 360, 349, 868, 869, 729, + 729, 730, 757, 729, 1044, 911, 1045, 350, 729, 351, + 1056, 870, 871, 872, 873, 874, 875, 876, 355, 729, + 490, 1085, 729, 879, 1086, 882, 348, 729, 888, 1087, + 1197, 729, 356, 1088, 899, 353, 729, 897, 1176, 354, + 1311, 920, 1312, 1669, 1682, 1670, 1683, 371, 372, 490, + 1853, 727, 1684, 1686, 1685, 1687, 1709, 1790, 1710, 1791, + 1881, 993, 1882, 1883, 1885, 1884, 1886, 2012, 374, 2013, + 933, 934, 935, 2014, 2016, 2015, 2017, 2123, 377, 2124, + 490, 490, 490, 490, 311, 357, 943, 944, 373, 2125, + 947, 2126, 2127, 2129, 2128, 2130, 2131, 960, 2132, 499, + 378, 958, 959, 132, 339, 2133, 969, 2134, 2210, 134, + 2211, 2212, 358, 2213, 137, 312, 313, 314, 315, 316, + 340, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 2214, 2258, 2215, 2259, 2260, 326, 2261, 997, 998, 999, + 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, + 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, + 1020, 1021, 1022, 312, 313, 314, 315, 316, 359, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 2262, 382, + 2263, 838, 2306, 326, 2307, 2308, 1038, 2309, 2310, 1043, + 2311, 1102, 388, 314, 315, 316, 390, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 490, 391, 1058, 394, + 1059, 326, 315, 316, 395, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 397, 1075, 1076, 1077, 399, 326, + 431, 401, 402, 2033, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 1098, 1099, 1100, + 1372, 416, 417, 418, 419, 312, 313, 314, 315, 316, + 420, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 312, 313, 314, 315, 316, 326, 317, 318, 319, 320, + 321, 322, 323, 324, 325, 421, 422, 423, 424, 425, + 326, 97, 298, 426, 427, 1134, 434, 101, 102, 103, + 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, + 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, 428, 429, 430, 433, 891, 437, 326, 488, 435, + 497, 498, 531, 1165, 1164, 526, 537, 1225, 545, 1172, + 571, 572, 312, 313, 314, 315, 316, 575, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 578, 1256, 1181, + 1182, 1183, 326, 581, 487, 587, 588, 589, 547, 1198, + 1191, 1201, 1192, 1204, 590, 591, 592, 593, 594, 595, + 596, 597, 598, 599, 600, 1211, 1212, 601, 602, 603, + 604, 605, 606, 607, 551, 608, 554, 1224, 609, 610, + 1227, 611, 621, 913, 612, 613, 614, 615, 616, 617, + 1237, 620, 622, 725, 726, 736, 737, 1244, 1245, 1246, + 742, 773, 744, 745, 1251, 746, 748, 750, 1255, 751, + 760, 777, 1257, 1258, 1259, 1260, 1261, 1262, 1263, 1264, + 1265, 1266, 1267, 1268, 1269, 1270, 1271, 1272, 1273, 1274, + 1275, 1276, 1277, 1278, 1279, 1280, 1281, 1282, 778, 790, + 1318, 791, 792, 793, 794, 796, 797, 803, 804, 834, + 805, 806, 807, 1292, 808, 132, 133, 809, 810, 811, + 812, 134, 813, 814, 815, 816, 137, 817, 818, 303, + 819, 1299, 304, 820, 821, 822, 312, 313, 314, 315, + 316, 823, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 941, 824, 97, 298, 1315, 326, 1316, 825, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, - 423, 477, 486, 487, 520, 330, 515, 526, 534, 1268, - 563, 559, 560, 566, 569, 573, 574, 1148, 575, 576, - 577, 578, 579, 1155, 580, 581, 43, 44, 45, 46, - 47, 48, 582, 583, 584, 585, 586, 587, 588, 589, - 590, 591, 592, 1164, 1165, 1166, 593, 1238, 594, 595, - 596, 597, 598, 1181, 1174, 1184, 599, 1187, 600, 601, - 602, 603, 711, 606, 712, 607, 608, 723, 1193, 1194, - 722, 728, 1207, 730, 731, 732, 734, 540, 736, 543, - 1206, 737, 746, 1209, 759, 763, 764, 1276, 775, 776, - 777, 778, 781, 1219, 779, 782, 788, 819, 789, 869, - 1226, 1227, 1228, 790, 791, 792, 793, 1233, 877, 794, - 795, 1237, 796, 797, 798, 1239, 1240, 1241, 1242, 1243, - 1244, 1245, 1246, 1247, 1248, 1249, 1250, 1251, 1252, 1253, - 1254, 1255, 1256, 1257, 1258, 1259, 1260, 1261, 1262, 1263, - 1264, 799, 800, 801, 802, 803, 804, 805, 806, 807, - 808, 809, 129, 331, 810, 811, 1274, 812, 131, 813, - 852, 814, 815, 134, 816, 817, 818, 820, 826, 332, - 821, 827, 828, 829, 1281, 830, 831, 832, 304, 305, - 306, 307, 308, 833, 309, 310, 311, 312, 313, 314, - 315, 316, 317, 862, 1300, 94, 290, 1297, 318, 1298, - 866, 98, 99, 100, 101, 102, 103, 104, 105, 106, - 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, - 117, 118, 119, 120, 121, 94, 290, 874, 899, 875, - 881, 98, 99, 100, 101, 102, 103, 104, 105, 106, - 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, - 117, 118, 119, 120, 121, 887, 304, 305, 306, 307, - 308, 889, 309, 310, 311, 312, 313, 314, 315, 316, - 317, 1353, 834, 1361, 835, 1367, 318, 1370, 836, 1360, - 900, 1366, 837, 1369, 838, 1372, 1373, 839, 878, 840, - 841, 842, 1377, 843, 844, 540, 845, 543, 846, 847, - 848, 1386, 849, 850, 851, 901, 902, 903, 906, 1394, - 907, 908, 909, 910, 1399, 911, 912, 1402, 913, 1404, - 1405, 1406, 1407, 1408, 1409, 1410, 1411, 1412, 1413, 1414, - 1415, 1416, 1417, 1418, 1419, 1420, 1421, 1422, 1423, 1424, - 1425, 1426, 1427, 1428, 1429, 921, 926, 940, 355, 1646, - 932, 1434, 934, 291, 292, 1435, 939, 941, 945, 946, - 947, 948, 949, 952, 954, 955, 958, 959, 1454, 960, - 961, 962, 971, 1016, 1018, 972, 973, 129, 130, 974, - 975, 976, 978, 131, 1023, 979, 1047, 1024, 134, 1030, - 1034, 295, 1036, 1038, 296, 1039, 1074, 1062, 1075, 1080, - 1084, 1086, 1090, 1091, 1092, 1093, 1094, 129, 130, 1095, - 1096, 1097, 1099, 131, 1100, 1101, 1102, 1103, 134, 1118, - 1104, 738, 1149, 1150, 739, 1108, 1105, 1106, 1107, 1114, - 1277, 1109, 1110, 1498, 1111, 1112, 1113, 1115, 1116, 1503, - 1145, 1514, 1507, 1152, 1156, 1737, 1157, 1740, 1158, 1161, - 1162, 1163, 1278, 1167, 1168, 1169, 1170, 1171, 1172, 1173, - 1182, 1185, 1188, 1190, 1191, 1192, 1530, 1531, 1532, 1533, - 1534, 1535, 1536, 1537, 1538, 1539, 1540, 1541, 1542, 1543, - 1544, 1545, 1546, 1547, 1548, 1549, 1550, 1195, 1552, 1208, - 1199, 1211, 1212, 1213, 1214, 1218, 304, 305, 306, 307, - 308, 1564, 309, 310, 311, 312, 313, 314, 315, 316, - 317, 1215, 1217, 1220, 1221, 1222, 318, 1224, 1452, 1223, - 1265, 94, 290, 1230, 747, 1231, 1804, 98, 99, 100, - 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, - 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, - 121, 1234, 1235, 1236, 519, 1280, 1266, 1267, 1303, 1269, - 1270, 1279, 1296, 1381, 1382, 1271, 1385, 1619, 1621, 1623, - 1624, 1625, 1626, 1627, 1628, 1629, 1630, 1631, 1632, 1633, - 1634, 1635, 1636, 1637, 1638, 1639, 1640, 1641, 1642, 1643, - 1644, 1282, 1273, 1284, 1301, 1306, 1286, 1288, 1659, 304, - 305, 306, 307, 308, 570, 309, 310, 311, 312, 313, - 314, 315, 316, 317, 1295, 1304, 1305, 1310, 1307, 318, - 337, 304, 305, 306, 307, 308, 344, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 1309, 1315, 1311, 1316, - 1319, 318, 1351, 1374, 1387, 1389, 1705, 1390, 1391, 368, - 1780, 1392, 1393, 1395, 1704, 372, 373, 1397, 1317, 1320, - 1710, 1398, 1712, 1349, 1714, 1322, 1716, 1717, 1718, 1719, - 1720, 1721, 1722, 1723, 1724, 1725, 1726, 1727, 1728, 1729, - 1730, 1731, 1732, 1733, 1734, 1735, 1736, 304, 305, 306, - 307, 308, 1748, 309, 310, 311, 312, 313, 314, 315, - 316, 317, 1400, 129, 130, 1433, 1401, 318, 1403, 131, - 1430, 1431, 1439, 1438, 134, 1496, 727, 894, 1453, 1500, - 895, 304, 305, 306, 307, 308, 1450, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 1501, 1451, 1455, 1459, - 1456, 318, 1778, 1779, 1457, 1462, 1466, 1504, 1505, 1508, - 1786, 1787, 1788, 1789, 1790, 1791, 1792, 1793, 1794, 1795, - 1796, 1797, 1798, 1799, 1800, 1801, 1802, 1803, 1460, 1464, - 1493, 304, 305, 306, 307, 308, 1509, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 1510, 1513, 1519, 1520, - 1521, 318, 1523, 1524, 1525, 1526, 1553, 1555, 1557, 1562, - 897, 1558, 1832, 1560, 1565, 1563, 1566, 1837, 1839, 1841, - 1842, 1843, 1844, 1845, 1846, 1847, 1848, 1849, 1850, 1851, - 1852, 1853, 1854, 1855, 1856, 1857, 1858, 1859, 1567, 94, - 516, 1568, 1571, 1569, 1570, 98, 99, 100, 101, 102, - 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, - 113, 114, 115, 116, 117, 118, 119, 120, 121, 1890, - 1572, 1892, 1573, 1894, 1595, 1896, 1897, 1898, 1899, 1900, - 1901, 1902, 1903, 1904, 1905, 1906, 1907, 1908, 1909, 1910, - 1911, 1912, 1913, 304, 305, 306, 307, 308, 1597, 309, - 310, 311, 312, 313, 314, 315, 316, 317, 1598, 1600, - 1604, 1607, 1610, 318, 1611, 1614, 1615, 1617, 1648, 1662, - 1695, 1663, 1650, 936, 1937, 1938, 1939, 1940, 1941, 1942, - 1943, 1944, 1945, 1946, 1947, 1948, 1949, 1950, 1951, 1654, - 1656, 1698, 1657, 1658, 1660, 1661, 1699, 1693, 1701, 1694, - 1703, 1708, 1709, 1711, 1713, 714, 1715, 1738, 1741, 1973, - 1975, 1977, 1978, 1979, 1980, 1981, 1982, 1983, 1984, 1985, - 1986, 1987, 1988, 1989, 1990, 1991, 1992, 304, 305, 306, - 307, 308, 1743, 309, 310, 311, 312, 313, 314, 315, - 316, 317, 1774, 1775, 1776, 1777, 1749, 318, 1805, 1808, - 2016, 1746, 2018, 1833, 2020, 1750, 2022, 2023, 2024, 2025, - 2026, 2027, 2028, 2029, 2030, 2031, 2032, 2033, 2034, 2035, - 2036, 129, 130, 1809, 1810, 1862, 1811, 131, 1812, 1813, - 1887, 1861, 134, 1889, 1891, 1893, 1895, 1953, 517, 1914, - 1952, 2017, 1954, 1955, 1993, 2019, 2021, 2037, 2053, 2069, - 2060, 2061, 2062, 2063, 2064, 2065, 2066, 2067, 2068, 2070, - 2071, 2072, 2073, 2074, 2127, 2129, 2131, 2133, 2135, 2137, - 2171, 2172, 2173, 2205, 2207, 2085, 2087, 2089, 2091, 2093, - 2095, 2096, 2097, 2098, 2099, 2100, 2101, 2102, 2103, 2104, - 304, 305, 306, 307, 308, 2209, 309, 310, 311, 312, - 313, 314, 315, 316, 317, 2250, 2252, 2254, 2225, 2226, - 318, 2126, 2295, 2128, 2297, 2130, 2299, 2132, 2227, 2134, - 2279, 2136, 2280, 2138, 2139, 2140, 2141, 2142, 2143, 2144, - 2145, 2146, 304, 305, 306, 307, 308, 2301, 309, 310, - 311, 312, 313, 314, 315, 316, 317, 2302, 825, 72, - 79, 2281, 318, 2156, 2157, 2158, 2159, 2160, 2161, 1151, - 752, 1198, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2174, 2175, 2176, 2177, 2178, 2179, 2181, 2183, 2185, + 122, 123, 124, 97, 298, 826, 827, 828, 829, 101, + 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, + 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 867, 312, 313, 314, 315, 316, 835, + 317, 318, 319, 320, 321, 322, 323, 324, 325, 1371, + 841, 1379, 830, 1385, 326, 1388, 842, 1378, 831, 1384, + 877, 1387, 892, 1390, 1391, 881, 832, 889, 890, 843, + 1395, 833, 896, 836, 551, 844, 554, 902, 904, 1404, + 915, 893, 845, 846, 847, 848, 849, 1412, 850, 851, + 852, 853, 1417, 854, 1472, 1420, 855, 1422, 1423, 1424, + 1425, 1426, 1427, 1428, 1429, 1430, 1431, 1432, 1433, 1434, + 1435, 1436, 1437, 1438, 1439, 1440, 1441, 1442, 1443, 1444, + 1445, 1446, 1447, 856, 857, 858, 363, 859, 860, 1452, + 861, 299, 300, 1453, 862, 863, 864, 865, 866, 914, + 916, 917, 312, 313, 314, 315, 316, 884, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 132, 133, 918, + 921, 922, 326, 134, 923, 924, 925, 1532, 137, 926, + 927, 752, 928, 936, 753, 942, 950, 948, 955, 956, + 957, 961, 962, 963, 964, 965, 968, 132, 133, 970, + 971, 974, 975, 134, 976, 977, 978, 987, 137, 990, + 988, 909, 989, 991, 910, 992, 994, 995, 1032, 1034, + 1039, 1516, 1040, 1046, 1050, 1052, 1041, 1521, 1054, 1055, + 1525, 1063, 1078, 1091, 1092, 1097, 1101, 1582, 1103, 1107, + 1108, 1109, 1110, 1111, 1112, 1113, 1117, 1114, 1118, 1116, + 1125, 1119, 1131, 1120, 1548, 1549, 1550, 1551, 1552, 1553, + 1554, 1555, 1556, 1557, 1558, 1559, 1560, 1561, 1562, 1563, + 1564, 1565, 1566, 1567, 1568, 1135, 1570, 1121, 1122, 1166, + 1123, 1124, 1126, 1167, 1169, 1127, 1173, 1128, 1129, 1130, + 1132, 97, 527, 1133, 1162, 1174, 1175, 101, 102, 103, + 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, + 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, 1178, 1179, 1180, 1184, 1185, 1186, 1187, 1188, 312, + 313, 314, 315, 316, 1677, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 1189, 1190, 1199, 1202, 1205, 326, + 1207, 1208, 1209, 493, 1210, 1637, 1639, 1641, 1642, 1643, + 1644, 1645, 1646, 1647, 1648, 1649, 1650, 1651, 1652, 1653, + 1654, 1655, 1656, 1657, 1658, 1659, 1660, 1661, 1662, 1213, + 1217, 1664, 1723, 1226, 1229, 1231, 1230, 1233, 1286, 1232, + 1235, 1236, 1238, 1239, 1242, 1240, 345, 312, 313, 314, + 315, 316, 352, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 1241, 1248, 1249, 1252, 1253, 326, 1289, 1283, + 1254, 1369, 1284, 1285, 1288, 376, 1287, 1291, 1766, 1297, + 1300, 380, 381, 1298, 1302, 1304, 1306, 1313, 1314, 1319, + 1321, 1322, 1722, 1324, 1328, 1323, 1325, 1329, 1728, 1327, + 1730, 1334, 1732, 1333, 1734, 1735, 1736, 1737, 1738, 1739, + 1740, 1741, 1742, 1743, 1744, 1745, 1746, 1747, 1748, 1749, + 1750, 1751, 1752, 1753, 1754, 132, 133, 1755, 1392, 1758, + 1335, 134, 1338, 1367, 1400, 1337, 137, 97, 298, 1340, + 1399, 1403, 528, 101, 102, 103, 104, 105, 106, 107, + 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, + 118, 119, 120, 121, 122, 123, 124, 1405, 1407, 1408, + 1409, 1410, 1477, 1411, 1413, 1415, 1416, 1418, 1419, 1448, + 1796, 1797, 1421, 1449, 1451, 1456, 1457, 1468, 1804, 1805, + 1806, 1807, 1808, 1809, 1810, 1811, 1812, 1813, 1814, 1815, + 1816, 1817, 1818, 1819, 1820, 1821, 1469, 1471, 1822, 312, + 313, 314, 315, 316, 1473, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 1474, 1478, 1482, 1475, 1480, 326, + 1514, 1518, 1519, 1522, 1294, 1523, 1526, 1527, 1484, 1528, + 1850, 1531, 1537, 1538, 1539, 1855, 1857, 1859, 1860, 1861, + 1862, 1863, 1864, 1865, 1866, 1867, 1868, 1869, 1870, 1871, + 1872, 1873, 1874, 1875, 1876, 1877, 97, 298, 1541, 1585, + 1542, 1543, 101, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + 119, 120, 121, 122, 123, 124, 1511, 1908, 1544, 1910, + 1571, 1912, 1573, 1914, 1915, 1916, 1917, 1918, 1919, 1920, + 1921, 1922, 1923, 1924, 1925, 1926, 1927, 1928, 1929, 1930, + 1931, 1375, 1376, 1575, 1581, 1576, 1578, 134, 1580, 1583, + 1584, 1586, 1377, 1587, 1588, 1616, 1618, 1589, 174, 1590, + 1591, 1613, 1615, 1622, 1625, 1628, 1629, 1295, 1632, 1633, + 1635, 1666, 1955, 1956, 1957, 1958, 1959, 1960, 1961, 1962, + 1963, 1964, 1965, 1966, 1967, 1968, 1969, 1668, 1713, 1716, + 1717, 1719, 1721, 1726, 1727, 1672, 1729, 1731, 1678, 728, + 1674, 1733, 1680, 1681, 1756, 1679, 1675, 1991, 1993, 1995, + 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, + 2006, 2007, 2008, 2009, 2010, 312, 313, 314, 315, 316, + 1676, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 1711, 1759, 1712, 1761, 1764, 326, 1767, 1792, 2034, 1793, + 2036, 1794, 2038, 1795, 2040, 2041, 2042, 2043, 2044, 2045, + 2046, 2047, 2048, 2049, 2050, 2051, 2052, 2053, 2054, 1768, + 132, 133, 1798, 1823, 1826, 1827, 134, 1828, 1851, 1829, + 1830, 137, 1831, 1879, 1905, 1880, 1907, 1909, 1911, 1913, + 1932, 1970, 2035, 1971, 2037, 1972, 1973, 2011, 2078, 2079, + 2080, 2081, 2082, 2083, 2084, 2085, 2086, 2039, 2055, 2071, + 2087, 2088, 2089, 2145, 2090, 2091, 2092, 2147, 2149, 2151, + 2153, 2155, 2189, 2103, 2105, 2107, 2109, 2111, 2113, 2114, + 2115, 2116, 2117, 2118, 2119, 2120, 2121, 2122, 312, 313, + 314, 315, 316, 2190, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 2223, 2225, 2191, 2227, 2243, 326, 2144, + 2244, 2146, 2268, 2148, 2245, 2150, 2270, 2152, 2272, 2154, + 2313, 2156, 2157, 2158, 2159, 2160, 2161, 2162, 2163, 2164, + 312, 313, 314, 315, 316, 2297, 317, 318, 319, 320, + 321, 322, 323, 324, 325, 2315, 2298, 2299, 2317, 2319, + 326, 2174, 2175, 2176, 2177, 2178, 2179, 2320, 761, 74, + 82, 0, 0, 0, 1168, 0, 1216, 0, 0, 2192, + 2193, 2194, 2195, 2196, 2197, 2199, 2201, 2203, 0, 840, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2198, 2199, 2200, 2201, 2202, 2203, 2204, 0, - 2206, 0, 2208, 0, 0, 0, 0, 0, 0, 885, - 886, 0, 888, 0, 890, 891, 2216, 2217, 2218, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2228, 2229, - 2230, 2232, 2234, 2236, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2246, 2247, 2248, 2249, 0, 2251, 0, - 2253, 0, 0, 0, 0, 929, 930, 0, 0, 933, - 0, 2258, 2259, 2260, 0, 0, 0, 2264, 2265, 2266, - 0, 0, 0, 2270, 2271, 2272, 950, 951, 0, 0, - 0, 0, 956, 957, 0, 2283, 2285, 2287, 0, 963, - 0, 970, 0, 0, 2294, 0, 2296, 0, 2298, 94, - 290, 0, 0, 0, 0, 98, 99, 100, 101, 102, - 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, - 113, 114, 115, 116, 117, 118, 119, 120, 121, 0, - 0, 94, 95, 96, 0, 97, 0, 98, 99, 100, - 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, - 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, - 121, 0, 122, 123, 124, 1035, 0, 1037, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1044, 1045, - 1046, 0, 0, 0, 1050, 1051, 1052, 1053, 1054, 1055, - 1056, 94, 329, 0, 0, 0, 0, 98, 99, 100, - 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, - 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, - 121, 304, 305, 306, 307, 308, 330, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 0, 0, 0, 0, - 0, 318, 0, 0, 0, 482, 0, 43, 44, 45, - 46, 47, 48, 0, 550, 27, 28, 551, 552, 31, - 32, 33, 0, 34, 0, 36, 37, 38, 0, 40, - 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1357, 1358, 0, 0, 0, 53, 131, 0, 0, - 0, 0, 1359, 0, 0, 0, 0, 1146, 171, 125, - 126, 127, 128, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 129, 130, 55, 56, 57, 0, 131, - 132, 133, 0, 0, 134, 0, 135, 0, 136, 304, - 305, 306, 307, 308, 67, 309, 310, 311, 312, 313, - 314, 315, 316, 317, 0, 0, 0, 0, 0, 318, - 0, 0, 0, 0, 0, 1178, 0, 1179, 1200, 0, - 0, 0, 0, 0, 0, 0, 1210, 0, 0, 0, - 0, 0, 0, 129, 478, 0, 0, 0, 0, 131, - 0, 94, 290, 471, 134, 1229, 0, 98, 99, 100, - 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, - 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, - 121, 0, 122, 123, 124, 94, 290, 0, 0, 553, - 0, 98, 99, 100, 101, 102, 103, 104, 105, 106, + 2216, 2217, 2218, 2219, 2220, 2221, 2222, 0, 2224, 0, + 2226, 0, 0, 0, 0, 0, 900, 901, 0, 903, + 0, 905, 906, 0, 2234, 2235, 2236, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2246, 2247, 2248, 2250, + 2252, 2254, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2264, 2265, 2266, 2267, 0, 2269, 0, 2271, 0, + 0, 0, 0, 945, 946, 0, 0, 949, 0, 2276, + 2277, 2278, 0, 0, 0, 2282, 2283, 2284, 0, 0, + 0, 2288, 2289, 2290, 966, 967, 0, 0, 0, 0, + 972, 973, 0, 2301, 2303, 2305, 0, 979, 0, 986, + 0, 0, 2312, 0, 2314, 0, 2316, 0, 97, 98, + 99, 0, 100, 0, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, - 117, 118, 119, 120, 121, 94, 516, 0, 0, 0, - 0, 98, 99, 100, 101, 102, 103, 104, 105, 106, - 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, - 117, 118, 119, 120, 121, 0, 550, 27, 28, 551, - 552, 31, 32, 33, 0, 34, 0, 36, 37, 38, - 0, 40, 41, 0, 0, 0, 0, 0, 550, 27, - 28, 551, 552, 31, 32, 33, 0, 34, 53, 36, - 37, 38, 0, 40, 41, 0, 0, 0, 0, 0, - 550, 27, 28, 551, 552, 31, 32, 33, 0, 34, - 53, 36, 37, 38, 0, 40, 41, 55, 56, 57, + 117, 118, 119, 120, 121, 122, 123, 124, 1296, 125, + 126, 127, 0, 97, 337, 0, 0, 0, 0, 101, + 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, + 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 1051, 1470, 1053, 0, 0, 338, 0, + 0, 0, 0, 0, 0, 0, 1060, 1061, 1062, 0, + 0, 0, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 43, + 44, 45, 46, 47, 48, 0, 97, 298, 207, 0, + 0, 0, 101, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + 119, 120, 121, 122, 123, 124, 0, 125, 126, 127, + 97, 527, 0, 0, 0, 0, 101, 102, 103, 104, + 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, + 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, + 530, 0, 0, 0, 0, 0, 0, 0, 128, 129, + 130, 131, 0, 0, 0, 582, 0, 0, 0, 0, + 0, 0, 132, 133, 0, 0, 0, 0, 134, 135, + 136, 0, 0, 137, 0, 138, 1163, 139, 741, 312, + 313, 314, 315, 316, 0, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 0, 0, 0, 132, 489, 326, + 912, 0, 0, 134, 0, 0, 0, 0, 137, 0, + 0, 0, 0, 0, 0, 312, 313, 314, 315, 316, + 0, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 952, 0, 0, 0, 0, 326, 0, 0, 1218, 0, + 0, 0, 0, 0, 0, 0, 1228, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 132, 133, 0, 0, 0, 1247, 134, 0, 0, 0, + 0, 137, 0, 312, 313, 314, 315, 316, 0, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, + 0, 0, 0, 326, 132, 133, 0, 0, 0, 1219, + 134, 1220, 0, 0, 0, 137, 0, 0, 0, 312, + 313, 314, 315, 316, 0, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 312, 313, 314, 315, 316, 326, + 317, 318, 319, 320, 321, 322, 323, 324, 325, 0, + 0, 0, 0, 0, 326, 0, 0, 312, 313, 314, + 315, 316, 0, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 0, 0, 0, 0, 0, 326, 0, 312, + 313, 314, 315, 316, 0, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 0, 0, 0, 0, 0, 326, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 312, + 313, 314, 315, 316, 0, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 0, 0, 0, 0, 0, 326, + 0, 0, 0, 0, 0, 0, 0, 0, -10, 1, + 0, -10, -53, 0, 0, 0, 312, 313, 314, 315, + 316, 0, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 0, 1393, 0, 1394, 0, 326, 0, 1398, 0, + 0, -53, 1373, 0, 1374, -53, -53, -53, -53, -53, + -53, -53, -53, -53, 1414, -53, -53, -53, -53, -53, + -53, -53, -53, 0, 0, 0, -53, -53, -53, -53, + -53, -53, -53, 0, -53, -53, -53, -53, -53, 561, + 27, 28, 562, 563, 31, 564, 33, 0, 34, 0, + 36, 37, 38, 0, 40, 41, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -53, -53, -53, -53, + 0, 53, 0, 0, -53, 0, -53, 0, -53, -53, + -53, -53, -53, -53, -53, 0, -53, -53, -53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 53, 0, 0, 0, 67, 0, 0, 55, - 56, 57, 0, 129, 130, 0, 0, 0, 0, 131, - 0, 1375, 0, 1376, 134, 0, 0, 1380, 67, 0, - 0, 55, 56, 57, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1396, 0, 0, 0, 129, 130, 0, - 67, 0, 0, 131, 0, 0, 0, 0, 134, 304, - 305, 306, 307, 308, 0, 309, 310, 311, 312, 313, - 314, 315, 316, 317, 0, 0, 0, 129, 130, 318, - 0, 476, 0, 131, 0, 536, -10, 1, 134, -10, - -53, 558, 304, 305, 306, 307, 308, 0, 309, 310, - 311, 312, 313, 314, 315, 316, 317, 0, 0, 0, - 0, 0, 318, 784, 0, 0, 0, 0, 1201, -53, - 1202, 0, 0, -53, -53, -53, -53, -53, -53, -53, - -53, -53, 0, -53, -53, -53, -53, -53, -53, -53, - -53, 0, 0, 0, -53, -53, -53, -53, -53, -53, - -53, 0, -53, -53, -53, -53, -53, 0, 0, 0, - 1494, 0, 304, 305, 306, 307, 308, 1499, 309, 310, - 311, 312, 313, 314, 315, 316, 317, 0, 1511, 1512, - 0, 0, 318, 0, -53, -53, -53, -53, 1355, 0, - 1356, 0, -53, 0, -53, 0, -53, -53, -53, -53, - -53, -53, -53, 0, -53, 0, 0, 0, 0, 0, + 55, 56, 57, 0, 0, 0, 0, -10, -10, -10, + -10, -10, -10, -10, -10, 0, 0, 0, 0, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1554, -10, -10, -10, -10, -10, -10, -10, - -10, 0, 0, 0, 0, 0, 0, 0, 0, 206, - 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, - 0, 4, 612, 613, 614, 615, 616, 617, 618, 619, - 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, - 630, 631, 632, 633, 634, 635, 636, 637, 0, 0, - 0, 0, 0, 0, 0, 1602, 0, 0, 0, 0, - 1609, 612, 613, 614, 615, 616, 617, 618, 619, 620, - 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, - 631, 632, 633, 634, 635, 636, 637, 207, 208, 209, - 0, 0, 0, 0, 0, 210, 211, 212, 213, 214, - 215, 216, 217, 218, 219, 0, 0, 0, 0, 0, - 0, 0, 0, 220, 221, 222, 223, 224, 225, 226, - 227, 228, 229, 0, 230, 231, 232, 233, 234, 235, - 0, 23, 0, 0, 304, 305, 306, 307, 308, 0, - 309, 310, 311, 312, 313, 314, 315, 316, 317, 1697, - 0, 0, 0, 638, 318, 0, 0, 0, 0, 1707, - 24, 0, 753, 0, 25, 26, 27, 28, 29, 30, - 31, 32, 33, 0, 34, 35, 36, 37, 38, 39, - 40, 41, 0, 0, 0, 42, 43, 44, 45, 46, - 47, 48, 980, 49, 50, 51, 52, 53, 0, 0, - 0, 304, 305, 306, 307, 308, 0, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 0, 0, 0, 0, - 0, 318, 0, 0, 0, 54, 55, 56, 57, 893, - 0, 0, 0, 58, 0, 59, 0, 60, 61, 62, - 63, 64, 65, 66, 0, 67, 0, 0, 1782, 304, - 305, 306, 307, 308, 0, 309, 310, 311, 312, 313, - 314, 315, 316, 317, 0, 0, 0, 0, 0, 318, - 0, 0, 304, 305, 306, 307, 308, 917, 309, 310, - 311, 312, 313, 314, 315, 316, 317, 0, 0, 0, - 0, 0, 318, 0, 0, 0, 0, 0, 0, 0, - 1176, 0, 0, 0, 0, 0, 0, 1834, 304, 305, - 306, 307, 308, 0, 309, 310, 311, 312, 313, 314, - 315, 316, 317, 0, 0, 0, 0, 0, 318, 0, - 0, 0, 0, 0, 0, 0, 1378, 304, 305, 306, - 307, 308, 0, 309, 310, 311, 312, 313, 314, 315, - 316, 317, 0, 0, 0, 0, 0, 318, 0, 1888, - 304, 305, 306, 307, 308, 1379, 309, 310, 311, 312, - 313, 314, 315, 316, 317, 0, 0, 0, 0, 0, - 318, 0, 0, 304, 305, 306, 307, 308, 1436, 309, - 310, 311, 312, 313, 314, 315, 316, 317, 0, 0, - 0, 0, 0, 318, 0, 0, 0, 0, 0, 0, - 0, 1442, 1933, 304, 305, 306, 307, 308, 0, 309, - 310, 311, 312, 313, 314, 315, 316, 317, 0, 0, - 0, 0, 0, 318, 0, 0, 0, 0, 0, 0, - 0, 1445, 0, 0, 0, 304, 305, 306, 307, 308, - 1971, 309, 310, 311, 312, 313, 314, 315, 316, 317, - 0, 0, 0, 0, 0, 318, 0, 0, 304, 305, - 306, 307, 308, 1448, 309, 310, 311, 312, 313, 314, - 315, 316, 317, 0, 0, 0, 0, 0, 318, 0, - 0, 304, 305, 306, 307, 308, 1449, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 0, 0, 0, 0, - 0, 318, 0, 0, 304, 305, 306, 307, 308, 1495, - 309, 310, 311, 312, 313, 314, 315, 316, 317, 0, - 0, 0, 0, 0, 318, 0, 0, 304, 305, 306, - 307, 308, 1556, 309, 310, 311, 312, 313, 314, 315, - 316, 317, 0, 0, 0, 0, 0, 318, 0, 0, - 304, 305, 306, 307, 308, 1559, 309, 310, 311, 312, - 313, 314, 315, 316, 317, 0, 0, 0, 0, 0, - 318, 0, 0, 304, 305, 306, 307, 308, 1561, 309, - 310, 311, 312, 313, 314, 315, 316, 317, 0, 0, - 0, 0, 0, 318, 0, 0, 304, 305, 306, 307, - 308, 1807, 309, 310, 311, 312, 313, 314, 315, 316, - 317, 0, 0, 0, 0, 0, 318, 0, 0, 304, - 305, 306, 307, 308, 1860, 309, 310, 311, 312, 313, - 314, 315, 316, 317, 0, 0, 0, 0, 0, 318, - 304, 305, 306, 307, 308, 536, 309, 310, 311, 312, - 313, 314, 315, 316, 317, 0, 0, 0, 0, 0, - 318, 304, 305, 306, 307, 308, 537, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 0, 0, 0, 0, - 0, 318, 304, 305, 306, 307, 308, 567, 309, 310, - 311, 312, 313, 314, 315, 316, 317, 0, 0, 0, - 0, 0, 318, 304, 305, 306, 307, 308, 687, 309, - 310, 311, 312, 313, 314, 315, 316, 317, 0, 0, - 0, 0, 0, 318, 304, 305, 306, 307, 308, 688, - 309, 310, 311, 312, 313, 314, 315, 316, 317, 0, - 0, 0, 0, 0, 318, 304, 305, 306, 307, 308, - 701, 309, 310, 311, 312, 313, 314, 315, 316, 317, - 0, 0, 0, 0, 0, 318, 304, 305, 306, 307, - 308, 702, 309, 310, 311, 312, 313, 314, 315, 316, - 317, 0, 0, 0, 0, 0, 318, 304, 305, 306, - 307, 308, 703, 309, 310, 311, 312, 313, 314, 315, - 316, 317, 0, 0, 0, 0, 0, 318, 304, 305, - 306, 307, 308, 704, 309, 310, 311, 312, 313, 314, - 315, 316, 317, 0, 0, 0, 0, 0, 318, 304, - 305, 306, 307, 308, 705, 309, 310, 311, 312, 313, - 314, 315, 316, 317, 0, 0, 0, 0, 0, 318, - 304, 305, 306, 307, 308, 706, 309, 310, 311, 312, - 313, 314, 315, 316, 317, 0, 0, 0, 0, 0, - 318, 304, 305, 306, 307, 308, 766, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 0, 0, 0, 0, - 0, 318, 304, 305, 306, 307, 308, 767, 309, 310, - 311, 312, 313, 314, 315, 316, 317, 0, 0, 0, - 0, 0, 318, 304, 305, 306, 307, 308, 768, 309, - 310, 311, 312, 313, 314, 315, 316, 317, 0, 0, - 0, 0, 0, 318, 304, 305, 306, 307, 308, 915, - 309, 310, 311, 312, 313, 314, 315, 316, 317, 0, - 0, 0, 0, 0, 318, 304, 305, 306, 307, 308, - 916, 309, 310, 311, 312, 313, 314, 315, 316, 317, - 0, 0, 0, 0, 0, 318, 304, 305, 306, 307, - 308, 935, 309, 310, 311, 312, 313, 314, 315, 316, - 317, 0, 0, 0, 0, 0, 318, 304, 305, 306, - 307, 308, 1072, 309, 310, 311, 312, 313, 314, 315, - 316, 317, 0, 0, 0, 0, 0, 318, 304, 305, - 306, 307, 308, 1073, 309, 310, 311, 312, 313, 314, - 315, 316, 317, 0, 0, 0, 0, 0, 318, 304, - 305, 306, 307, 308, 1087, 309, 310, 311, 312, 313, - 314, 315, 316, 317, 0, 0, 0, 0, 0, 318, - 304, 305, 306, 307, 308, 1088, 309, 310, 311, 312, - 313, 314, 315, 316, 317, 0, 0, 0, 0, 0, - 318, 304, 305, 306, 307, 308, 1119, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 0, 0, 0, 0, - 0, 318, 304, 305, 306, 307, 308, 1120, 309, 310, - 311, 312, 313, 314, 315, 316, 317, 0, 0, 0, - 0, 0, 318, 304, 305, 306, 307, 308, 1121, 309, - 310, 311, 312, 313, 314, 315, 316, 317, 0, 0, - 0, 0, 0, 318, 304, 305, 306, 307, 308, 1122, - 309, 310, 311, 312, 313, 314, 315, 316, 317, 0, - 0, 0, 0, 0, 318, 304, 305, 306, 307, 308, - 1123, 309, 310, 311, 312, 313, 314, 315, 316, 317, - 0, 0, 0, 0, 0, 318, 304, 305, 306, 307, - 308, 1124, 309, 310, 311, 312, 313, 314, 315, 316, - 317, 0, 0, 0, 0, 0, 318, 304, 305, 306, - 307, 308, 1125, 309, 310, 311, 312, 313, 314, 315, - 316, 317, 0, 0, 0, 0, 0, 318, 304, 305, - 306, 307, 308, 1126, 309, 310, 311, 312, 313, 314, - 315, 316, 317, 0, 0, 0, 0, 0, 318, 304, - 305, 306, 307, 308, 1127, 309, 310, 311, 312, 313, - 314, 315, 316, 317, 0, 0, 0, 0, 0, 318, - 304, 305, 306, 307, 308, 1128, 309, 310, 311, 312, - 313, 314, 315, 316, 317, 0, 0, 0, 0, 0, - 318, 304, 305, 306, 307, 308, 1129, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 0, 0, 0, 0, - 0, 318, 304, 305, 306, 307, 308, 1130, 309, 310, - 311, 312, 313, 314, 315, 316, 317, 0, 0, 0, - 0, 0, 318, 304, 305, 306, 307, 308, 1131, 309, - 310, 311, 312, 313, 314, 315, 316, 317, 0, 0, - 0, 0, 0, 318, 304, 305, 306, 307, 308, 1132, - 309, 310, 311, 312, 313, 314, 315, 316, 317, 0, - 0, 0, 0, 0, 318, 304, 305, 306, 307, 308, - 1133, 309, 310, 311, 312, 313, 314, 315, 316, 317, - 0, 0, 0, 0, 0, 318, 304, 305, 306, 307, - 308, 1134, 309, 310, 311, 312, 313, 314, 315, 316, - 317, 0, 0, 0, 0, 0, 318, 304, 305, 306, - 307, 308, 1135, 309, 310, 311, 312, 313, 314, 315, - 316, 317, 0, 0, 0, 0, 0, 318, 304, 305, - 306, 307, 308, 1136, 309, 310, 311, 312, 313, 314, - 315, 316, 317, 0, 0, 0, 0, 0, 318, 304, - 305, 306, 307, 308, 1137, 309, 310, 311, 312, 313, - 314, 315, 316, 317, 0, 0, 0, 0, 0, 318, - 304, 305, 306, 307, 308, 1138, 309, 310, 311, 312, - 313, 314, 315, 316, 317, 0, 0, 0, 0, 0, - 318, 304, 305, 306, 307, 308, 1139, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 0, 0, 0, 0, - 0, 318, 304, 305, 306, 307, 308, 1140, 309, 310, - 311, 312, 313, 314, 315, 316, 317, 0, 0, 0, - 0, 0, 318, 304, 305, 306, 307, 308, 1141, 309, - 310, 311, 312, 313, 314, 315, 316, 317, 0, 0, - 0, 0, 0, 318, 304, 305, 306, 307, 308, 1142, - 309, 310, 311, 312, 313, 314, 315, 316, 317, 0, - 0, 0, 0, 0, 318, 304, 305, 306, 307, 308, - 1143, 309, 310, 311, 312, 313, 314, 315, 316, 317, - 0, 0, 0, 0, 0, 318, 304, 305, 306, 307, - 308, 1144, 309, 310, 311, 312, 313, 314, 315, 316, - 317, 0, 0, 0, 0, 0, 318, 304, 305, 306, - 307, 308, 1160, 309, 310, 311, 312, 313, 314, 315, - 316, 317, 0, 0, 0, 0, 0, 318, 304, 305, - 306, 307, 308, 1275, 309, 310, 311, 312, 313, 314, - 315, 316, 317, 0, 0, 0, 0, 0, 318, 304, - 305, 306, 307, 308, 1289, 309, 310, 311, 312, 313, - 314, 315, 316, 317, 0, 0, 0, 0, 0, 318, - 304, 305, 306, 307, 308, 1290, 309, 310, 311, 312, - 313, 314, 315, 316, 317, 0, 0, 0, 0, 0, - 318, 304, 305, 306, 307, 308, 1299, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 0, 0, 0, 0, - 0, 318, 304, 305, 306, 307, 308, 1302, 309, 310, - 311, 312, 313, 314, 315, 316, 317, 0, 0, 0, - 0, 0, 318, 304, 305, 306, 307, 308, 1313, 309, - 310, 311, 312, 313, 314, 315, 316, 317, 0, 0, - 0, 0, 0, 318, 304, 305, 306, 307, 308, 1318, - 309, 310, 311, 312, 313, 314, 315, 316, 317, 0, - 0, 0, 0, 0, 318, 304, 305, 306, 307, 308, - 1321, 309, 310, 311, 312, 313, 314, 315, 316, 317, - 0, 0, 0, 0, 0, 318, 304, 305, 306, 307, - 308, 1323, 309, 310, 311, 312, 313, 314, 315, 316, - 317, 0, 0, 0, 0, 0, 318, 304, 305, 306, - 307, 308, 1324, 309, 310, 311, 312, 313, 314, 315, - 316, 317, 0, 0, 0, 0, 0, 318, 304, 305, - 306, 307, 308, 1325, 309, 310, 311, 312, 313, 314, - 315, 316, 317, 0, 0, 0, 0, 0, 318, 304, - 305, 306, 307, 308, 1326, 309, 310, 311, 312, 313, - 314, 315, 316, 317, 0, 0, 0, 0, 0, 318, - 304, 305, 306, 307, 308, 1327, 309, 310, 311, 312, - 313, 314, 315, 316, 317, 0, 0, 0, 0, 0, - 318, 304, 305, 306, 307, 308, 1328, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 0, 0, 0, 0, - 0, 318, 304, 305, 306, 307, 308, 1329, 309, 310, - 311, 312, 313, 314, 315, 316, 317, 0, 0, 0, - 0, 0, 318, 304, 305, 306, 307, 308, 1330, 309, - 310, 311, 312, 313, 314, 315, 316, 317, 0, 0, - 0, 0, 0, 318, 304, 305, 306, 307, 308, 1331, - 309, 310, 311, 312, 313, 314, 315, 316, 317, 0, - 0, 0, 0, 0, 318, 304, 305, 306, 307, 308, - 1332, 309, 310, 311, 312, 313, 314, 315, 316, 317, - 0, 0, 0, 0, 0, 318, 304, 305, 306, 307, - 308, 1333, 309, 310, 311, 312, 313, 314, 315, 316, - 317, 0, 0, 0, 0, 0, 318, 304, 305, 306, - 307, 308, 1334, 309, 310, 311, 312, 313, 314, 315, - 316, 317, 0, 0, 0, 0, 0, 318, 304, 305, - 306, 307, 308, 1335, 309, 310, 311, 312, 313, 314, - 315, 316, 317, 0, 0, 0, 0, 0, 318, 304, - 305, 306, 307, 308, 1336, 309, 310, 311, 312, 313, - 314, 315, 316, 317, 0, 0, 0, 0, 0, 318, - 304, 305, 306, 307, 308, 1337, 309, 310, 311, 312, - 313, 314, 315, 316, 317, 0, 0, 0, 0, 0, - 318, 304, 305, 306, 307, 308, 1338, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 0, 0, 0, 0, - 0, 318, 304, 305, 306, 307, 308, 1339, 309, 310, - 311, 312, 313, 314, 315, 316, 317, 0, 0, 0, - 0, 0, 318, 304, 305, 306, 307, 308, 1340, 309, - 310, 311, 312, 313, 314, 315, 316, 317, 0, 0, - 0, 0, 0, 318, 304, 305, 306, 307, 308, 1341, - 309, 310, 311, 312, 313, 314, 315, 316, 317, 0, - 0, 0, 0, 0, 318, 304, 305, 306, 307, 308, - 1342, 309, 310, 311, 312, 313, 314, 315, 316, 317, - 0, 0, 0, 0, 0, 318, 304, 305, 306, 307, - 308, 1343, 309, 310, 311, 312, 313, 314, 315, 316, - 317, 0, 0, 0, 0, 0, 318, 304, 305, 306, - 307, 308, 1344, 309, 310, 311, 312, 313, 314, 315, - 316, 317, 0, 0, 0, 0, 0, 318, 304, 305, - 306, 307, 308, 1345, 309, 310, 311, 312, 313, 314, - 315, 316, 317, 0, 0, 0, 0, 0, 318, 304, - 305, 306, 307, 308, 1346, 309, 310, 311, 312, 313, - 314, 315, 316, 317, 0, 0, 0, 0, 0, 318, - 304, 305, 306, 307, 308, 1347, 309, 310, 311, 312, - 313, 314, 315, 316, 317, 0, 0, 0, 0, 0, - 318, 304, 305, 306, 307, 308, 1348, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 0, 0, 0, 0, - 0, 318, 304, 305, 306, 307, 308, 1352, 309, 310, - 311, 312, 313, 314, 315, 316, 317, 0, 0, 0, - 0, 0, 318, 304, 305, 306, 307, 308, 1458, 309, - 310, 311, 312, 313, 314, 315, 316, 317, 0, 0, - 0, 0, 0, 318, 304, 305, 306, 307, 308, 1470, - 309, 310, 311, 312, 313, 314, 315, 316, 317, 0, - 0, 0, 0, 0, 318, 304, 305, 306, 307, 308, - 1471, 309, 310, 311, 312, 313, 314, 315, 316, 317, - 0, 0, 0, 0, 0, 318, 304, 305, 306, 307, - 308, 1472, 309, 310, 311, 312, 313, 314, 315, 316, - 317, 0, 0, 0, 0, 0, 318, 304, 305, 306, - 307, 308, 1473, 309, 310, 311, 312, 313, 314, 315, - 316, 317, 0, 0, 0, 0, 0, 318, 304, 305, - 306, 307, 308, 1474, 309, 310, 311, 312, 313, 314, - 315, 316, 317, 0, 0, 0, 0, 0, 318, 304, - 305, 306, 307, 308, 1475, 309, 310, 311, 312, 313, - 314, 315, 316, 317, 0, 0, 0, 0, 0, 318, - 304, 305, 306, 307, 308, 1476, 309, 310, 311, 312, - 313, 314, 315, 316, 317, 0, 0, 0, 0, 0, - 318, 304, 305, 306, 307, 308, 1477, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 0, 0, 0, 0, - 0, 318, 304, 305, 306, 307, 308, 1478, 309, 310, - 311, 312, 313, 314, 315, 316, 317, 0, 0, 0, - 0, 0, 318, 304, 305, 306, 307, 308, 1479, 309, - 310, 311, 312, 313, 314, 315, 316, 317, 0, 0, - 0, 0, 0, 318, 304, 305, 306, 307, 308, 1480, - 309, 310, 311, 312, 313, 314, 315, 316, 317, 0, - 0, 0, 0, 0, 318, 304, 305, 306, 307, 308, - 1481, 309, 310, 311, 312, 313, 314, 315, 316, 317, - 0, 0, 0, 0, 0, 318, 304, 305, 306, 307, - 308, 1482, 309, 310, 311, 312, 313, 314, 315, 316, - 317, 0, 0, 0, 0, 0, 318, 304, 305, 306, - 307, 308, 1483, 309, 310, 311, 312, 313, 314, 315, - 316, 317, 0, 0, 0, 0, 0, 318, 304, 305, - 306, 307, 308, 1484, 309, 310, 311, 312, 313, 314, - 315, 316, 317, 0, 0, 0, 0, 0, 318, 304, - 305, 306, 307, 308, 1485, 309, 310, 311, 312, 313, - 314, 315, 316, 317, 0, 0, 0, 0, 0, 318, - 304, 305, 306, 307, 308, 1486, 309, 310, 311, 312, - 313, 314, 315, 316, 317, 0, 0, 0, 0, 0, - 318, 304, 305, 306, 307, 308, 1487, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 0, 0, 0, 0, - 0, 318, 304, 305, 306, 307, 308, 1488, 309, 310, - 311, 312, 313, 314, 315, 316, 317, 0, 0, 0, - 0, 0, 318, 304, 305, 306, 307, 308, 1489, 309, - 310, 311, 312, 313, 314, 315, 316, 317, 0, 0, - 0, 0, 0, 318, 304, 305, 306, 307, 308, 1490, - 309, 310, 311, 312, 313, 314, 315, 316, 317, 0, - 0, 0, 0, 0, 318, 304, 305, 306, 307, 308, - 1492, 309, 310, 311, 312, 313, 314, 315, 316, 317, - 0, 0, 0, 0, 0, 318, 304, 305, 306, 307, - 308, 1574, 309, 310, 311, 312, 313, 314, 315, 316, - 317, 0, 0, 0, 0, 0, 318, 304, 305, 306, - 307, 308, 1575, 309, 310, 311, 312, 313, 314, 315, - 316, 317, 0, 0, 0, 0, 0, 318, 304, 305, - 306, 307, 308, 1576, 309, 310, 311, 312, 313, 314, - 315, 316, 317, 0, 0, 0, 0, 0, 318, 304, - 305, 306, 307, 308, 1577, 309, 310, 311, 312, 313, - 314, 315, 316, 317, 0, 0, 0, 0, 0, 318, - 304, 305, 306, 307, 308, 1578, 309, 310, 311, 312, - 313, 314, 315, 316, 317, 0, 0, 0, 0, 0, - 318, 304, 305, 306, 307, 308, 1579, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 0, 0, 0, 0, - 0, 318, 304, 305, 306, 307, 308, 1580, 309, 310, - 311, 312, 313, 314, 315, 316, 317, 0, 0, 0, - 0, 0, 318, 304, 305, 306, 307, 308, 1581, 309, - 310, 311, 312, 313, 314, 315, 316, 317, 0, 0, - 0, 0, 0, 318, 304, 305, 306, 307, 308, 1582, - 309, 310, 311, 312, 313, 314, 315, 316, 317, 0, - 0, 0, 0, 0, 318, 304, 305, 306, 307, 308, - 1583, 309, 310, 311, 312, 313, 314, 315, 316, 317, - 0, 0, 0, 0, 0, 318, 304, 305, 306, 307, - 308, 1584, 309, 310, 311, 312, 313, 314, 315, 316, - 317, 0, 0, 0, 0, 0, 318, 304, 305, 306, - 307, 308, 1585, 309, 310, 311, 312, 313, 314, 315, - 316, 317, 0, 0, 0, 0, 0, 318, 304, 305, - 306, 307, 308, 1586, 309, 310, 311, 312, 313, 314, - 315, 316, 317, 0, 0, 0, 0, 0, 318, 304, - 305, 306, 307, 308, 1587, 309, 310, 311, 312, 313, - 314, 315, 316, 317, 0, 0, 0, 0, 0, 318, - 304, 305, 306, 307, 308, 1588, 309, 310, 311, 312, - 313, 314, 315, 316, 317, 0, 0, 0, 0, 0, - 318, 304, 305, 306, 307, 308, 1589, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 0, 0, 0, 0, - 0, 318, 304, 305, 306, 307, 308, 1590, 309, 310, - 311, 312, 313, 314, 315, 316, 317, 0, 0, 0, - 0, 0, 318, 304, 305, 306, 307, 308, 1591, 309, - 310, 311, 312, 313, 314, 315, 316, 317, 0, 0, - 0, 0, 0, 318, 304, 305, 306, 307, 308, 1592, - 309, 310, 311, 312, 313, 314, 315, 316, 317, 0, - 0, 0, 0, 0, 318, 304, 305, 306, 307, 308, - 1593, 309, 310, 311, 312, 313, 314, 315, 316, 317, - 0, 0, 0, 0, 0, 318, 304, 305, 306, 307, - 308, 1594, 309, 310, 311, 312, 313, 314, 315, 316, - 317, 0, 0, 0, 0, 0, 318, 304, 305, 306, - 307, 308, 1670, 309, 310, 311, 312, 313, 314, 315, - 316, 317, 0, 0, 0, 0, 0, 318, 304, 305, - 306, 307, 308, 1671, 309, 310, 311, 312, 313, 314, - 315, 316, 317, 0, 0, 0, 0, 0, 318, 304, - 305, 306, 307, 308, 1672, 309, 310, 311, 312, 313, - 314, 315, 316, 317, 0, 0, 0, 0, 0, 318, - 304, 305, 306, 307, 308, 1673, 309, 310, 311, 312, - 313, 314, 315, 316, 317, 0, 0, 0, 0, 0, - 318, 304, 305, 306, 307, 308, 1674, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 0, 0, 0, 0, - 0, 318, 304, 305, 306, 307, 308, 1675, 309, 310, - 311, 312, 313, 314, 315, 316, 317, 0, 0, 0, - 0, 0, 318, 304, 305, 306, 307, 308, 1676, 309, - 310, 311, 312, 313, 314, 315, 316, 317, 0, 0, - 0, 0, 0, 318, 304, 305, 306, 307, 308, 1677, - 309, 310, 311, 312, 313, 314, 315, 316, 317, 0, - 0, 0, 0, 0, 318, 304, 305, 306, 307, 308, - 1678, 309, 310, 311, 312, 313, 314, 315, 316, 317, - 0, 0, 0, 0, 0, 318, 304, 305, 306, 307, - 308, 1679, 309, 310, 311, 312, 313, 314, 315, 316, - 317, 0, 0, 0, 0, 0, 318, 304, 305, 306, - 307, 308, 1680, 309, 310, 311, 312, 313, 314, 315, - 316, 317, 0, 0, 0, 0, 0, 318, 304, 305, - 306, 307, 308, 1681, 309, 310, 311, 312, 313, 314, - 315, 316, 317, 0, 0, 0, 0, 0, 318, 304, - 305, 306, 307, 308, 1682, 309, 310, 311, 312, 313, - 314, 315, 316, 317, 0, 0, 0, 0, 0, 318, - 304, 305, 306, 307, 308, 1683, 309, 310, 311, 312, - 313, 314, 315, 316, 317, 0, 0, 0, 0, 0, - 318, 304, 305, 306, 307, 308, 1684, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 0, 0, 0, 0, - 0, 318, 304, 305, 306, 307, 308, 1685, 309, 310, - 311, 312, 313, 314, 315, 316, 317, 0, 0, 0, - 0, 0, 318, 304, 305, 306, 307, 308, 1686, 309, - 310, 311, 312, 313, 314, 315, 316, 317, 0, 0, - 0, 0, 0, 318, 304, 305, 306, 307, 308, 1687, - 309, 310, 311, 312, 313, 314, 315, 316, 317, 0, - 0, 0, 0, 0, 318, 304, 305, 306, 307, 308, - 1688, 309, 310, 311, 312, 313, 314, 315, 316, 317, - 0, 0, 0, 0, 0, 318, 304, 305, 306, 307, - 308, 1689, 309, 310, 311, 312, 313, 314, 315, 316, - 317, 0, 0, 0, 0, 0, 318, 304, 305, 306, - 307, 308, 1690, 309, 310, 311, 312, 313, 314, 315, - 316, 317, 0, 0, 0, 0, 0, 318, 304, 305, - 306, 307, 308, 1747, 309, 310, 311, 312, 313, 314, - 315, 316, 317, 0, 0, 0, 0, 0, 318, 304, - 305, 306, 307, 308, 1754, 309, 310, 311, 312, 313, - 314, 315, 316, 317, 0, 0, 0, 0, 0, 318, - 304, 305, 306, 307, 308, 1755, 309, 310, 311, 312, - 313, 314, 315, 316, 317, 0, 0, 0, 0, 0, - 318, 304, 305, 306, 307, 308, 1756, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 0, 0, 0, 0, - 0, 318, 304, 305, 306, 307, 308, 1757, 309, 310, - 311, 312, 313, 314, 315, 316, 317, 0, 0, 0, - 0, 0, 318, 304, 305, 306, 307, 308, 1758, 309, - 310, 311, 312, 313, 314, 315, 316, 317, 0, 0, - 0, 0, 0, 318, 304, 305, 306, 307, 308, 1759, - 309, 310, 311, 312, 313, 314, 315, 316, 317, 0, - 0, 0, 0, 0, 318, 304, 305, 306, 307, 308, - 1760, 309, 310, 311, 312, 313, 314, 315, 316, 317, - 0, 0, 0, 0, 0, 318, 304, 305, 306, 307, - 308, 1761, 309, 310, 311, 312, 313, 314, 315, 316, - 317, 0, 0, 0, 0, 0, 318, 304, 305, 306, - 307, 308, 1762, 309, 310, 311, 312, 313, 314, 315, - 316, 317, 0, 0, 0, 0, 0, 318, 304, 305, - 306, 307, 308, 1763, 309, 310, 311, 312, 313, 314, - 315, 316, 317, 0, 0, 0, 0, 0, 318, 304, - 305, 306, 307, 308, 1764, 309, 310, 311, 312, 313, - 314, 315, 316, 317, 0, 0, 0, 0, 0, 318, - 304, 305, 306, 307, 308, 1765, 309, 310, 311, 312, - 313, 314, 315, 316, 317, 0, 0, 0, 0, 0, - 318, 304, 305, 306, 307, 308, 1766, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 0, 0, 0, 0, - 0, 318, 304, 305, 306, 307, 308, 1767, 309, 310, - 311, 312, 313, 314, 315, 316, 317, 0, 0, 0, - 0, 0, 318, 304, 305, 306, 307, 308, 1768, 309, - 310, 311, 312, 313, 314, 315, 316, 317, 0, 0, - 0, 0, 0, 318, 304, 305, 306, 307, 308, 1769, - 309, 310, 311, 312, 313, 314, 315, 316, 317, 0, - 0, 0, 0, 0, 318, 304, 305, 306, 307, 308, - 1770, 309, 310, 311, 312, 313, 314, 315, 316, 317, - 0, 0, 0, 0, 0, 318, 304, 305, 306, 307, - 308, 1771, 309, 310, 311, 312, 313, 314, 315, 316, - 317, 0, 0, 0, 0, 0, 318, 304, 305, 306, - 307, 308, 1806, 309, 310, 311, 312, 313, 314, 315, - 316, 317, 0, 0, 0, 0, 0, 318, 304, 305, - 306, 307, 308, 1814, 309, 310, 311, 312, 313, 314, - 315, 316, 317, 0, 0, 0, 0, 0, 318, 304, - 305, 306, 307, 308, 1815, 309, 310, 311, 312, 313, - 314, 315, 316, 317, 0, 0, 0, 0, 0, 318, - 304, 305, 306, 307, 308, 1816, 309, 310, 311, 312, - 313, 314, 315, 316, 317, 0, 0, 0, 0, 0, - 318, 304, 305, 306, 307, 308, 1817, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 0, 0, 0, 0, - 0, 318, 304, 305, 306, 307, 308, 1818, 309, 310, - 311, 312, 313, 314, 315, 316, 317, 0, 0, 0, - 0, 0, 318, 304, 305, 306, 307, 308, 1819, 309, - 310, 311, 312, 313, 314, 315, 316, 317, 0, 0, - 0, 0, 0, 318, 304, 305, 306, 307, 308, 1820, - 309, 310, 311, 312, 313, 314, 315, 316, 317, 0, - 0, 0, 0, 0, 318, 304, 305, 306, 307, 308, - 1821, 309, 310, 311, 312, 313, 314, 315, 316, 317, - 0, 0, 0, 0, 0, 318, 304, 305, 306, 307, - 308, 1822, 309, 310, 311, 312, 313, 314, 315, 316, - 317, 0, 0, 0, 0, 0, 318, 304, 305, 306, - 307, 308, 1823, 309, 310, 311, 312, 313, 314, 315, - 316, 317, 0, 0, 0, 0, 0, 318, 304, 305, - 306, 307, 308, 1824, 309, 310, 311, 312, 313, 314, - 315, 316, 317, 0, 0, 0, 0, 0, 318, 304, - 305, 306, 307, 308, 1825, 309, 310, 311, 312, 313, - 314, 315, 316, 317, 0, 0, 0, 0, 0, 318, - 304, 305, 306, 307, 308, 1826, 309, 310, 311, 312, - 313, 314, 315, 316, 317, 0, 0, 0, 0, 0, - 318, 304, 305, 306, 307, 308, 1827, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 0, 0, 0, 0, - 0, 318, 304, 305, 306, 307, 308, 1828, 309, 310, - 311, 312, 313, 314, 315, 316, 317, 0, 0, 0, - 0, 0, 318, 304, 305, 306, 307, 308, 1829, 309, - 310, 311, 312, 313, 314, 315, 316, 317, 0, 0, - 0, 0, 0, 318, 304, 305, 306, 307, 308, 1830, - 309, 310, 311, 312, 313, 314, 315, 316, 317, 0, - 0, 0, 0, 0, 318, 304, 305, 306, 307, 308, - 1831, 309, 310, 311, 312, 313, 314, 315, 316, 317, - 0, 0, 0, 0, 0, 318, 304, 305, 306, 307, - 308, 1869, 309, 310, 311, 312, 313, 314, 315, 316, - 317, 0, 0, 0, 0, 0, 318, 304, 305, 306, - 307, 308, 1870, 309, 310, 311, 312, 313, 314, 315, - 316, 317, 0, 0, 0, 0, 0, 318, 304, 305, - 306, 307, 308, 1871, 309, 310, 311, 312, 313, 314, - 315, 316, 317, 0, 0, 0, 0, 0, 318, 304, - 305, 306, 307, 308, 1872, 309, 310, 311, 312, 313, - 314, 315, 316, 317, 0, 0, 0, 0, 0, 318, - 304, 305, 306, 307, 308, 1873, 309, 310, 311, 312, - 313, 314, 315, 316, 317, 0, 0, 0, 0, 0, - 318, 304, 305, 306, 307, 308, 1874, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 0, 0, 0, 0, - 0, 318, 304, 305, 306, 307, 308, 1875, 309, 310, - 311, 312, 313, 314, 315, 316, 317, 0, 0, 0, - 0, 0, 318, 304, 305, 306, 307, 308, 1876, 309, - 310, 311, 312, 313, 314, 315, 316, 317, 0, 0, - 0, 0, 0, 318, 304, 305, 306, 307, 308, 1877, - 309, 310, 311, 312, 313, 314, 315, 316, 317, 0, - 0, 0, 0, 0, 318, 304, 305, 306, 307, 308, - 1878, 309, 310, 311, 312, 313, 314, 315, 316, 317, - 0, 0, 0, 0, 0, 318, 304, 305, 306, 307, - 308, 1879, 309, 310, 311, 312, 313, 314, 315, 316, - 317, 0, 0, 0, 0, 0, 318, 304, 305, 306, - 307, 308, 1880, 309, 310, 311, 312, 313, 314, 315, - 316, 317, 0, 0, 0, 0, 0, 318, 304, 305, - 306, 307, 308, 1881, 309, 310, 311, 312, 313, 314, - 315, 316, 317, 0, 0, 0, 0, 0, 318, 304, - 305, 306, 307, 308, 1882, 309, 310, 311, 312, 313, - 314, 315, 316, 317, 0, 0, 0, 0, 0, 318, - 304, 305, 306, 307, 308, 1883, 309, 310, 311, 312, - 313, 314, 315, 316, 317, 0, 0, 0, 0, 0, - 318, 304, 305, 306, 307, 308, 1884, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 0, 0, 0, 0, - 0, 318, 304, 305, 306, 307, 308, 1885, 309, 310, - 311, 312, 313, 314, 315, 316, 317, 0, 0, 0, - 0, 0, 318, 304, 305, 306, 307, 308, 1886, 309, - 310, 311, 312, 313, 314, 315, 316, 317, 0, 0, - 0, 0, 0, 318, 304, 305, 306, 307, 308, 1918, - 309, 310, 311, 312, 313, 314, 315, 316, 317, 0, - 0, 0, 0, 0, 318, 304, 305, 306, 307, 308, - 1919, 309, 310, 311, 312, 313, 314, 315, 316, 317, - 0, 0, 0, 0, 0, 318, 304, 305, 306, 307, - 308, 1920, 309, 310, 311, 312, 313, 314, 315, 316, - 317, 0, 0, 0, 0, 0, 318, 304, 305, 306, - 307, 308, 1921, 309, 310, 311, 312, 313, 314, 315, - 316, 317, 0, 0, 0, 0, 0, 318, 304, 305, - 306, 307, 308, 1922, 309, 310, 311, 312, 313, 314, - 315, 316, 317, 0, 0, 0, 0, 0, 318, 304, - 305, 306, 307, 308, 1923, 309, 310, 311, 312, 313, - 314, 315, 316, 317, 0, 0, 0, 0, 0, 318, - 304, 305, 306, 307, 308, 1924, 309, 310, 311, 312, - 313, 314, 315, 316, 317, 0, 0, 0, 0, 0, - 318, 304, 305, 306, 307, 308, 1925, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 0, 0, 0, 0, - 0, 318, 304, 305, 306, 307, 308, 1926, 309, 310, - 311, 312, 313, 314, 315, 316, 317, 0, 0, 0, - 0, 0, 318, 304, 305, 306, 307, 308, 1927, 309, - 310, 311, 312, 313, 314, 315, 316, 317, 0, 0, - 0, 0, 0, 318, 304, 305, 306, 307, 308, 1928, - 309, 310, 311, 312, 313, 314, 315, 316, 317, 0, - 0, 0, 0, 0, 318, 304, 305, 306, 307, 308, - 1929, 309, 310, 311, 312, 313, 314, 315, 316, 317, - 0, 0, 0, 0, 0, 318, 304, 305, 306, 307, - 308, 1930, 309, 310, 311, 312, 313, 314, 315, 316, - 317, 0, 0, 0, 0, 0, 318, 304, 305, 306, - 307, 308, 1931, 309, 310, 311, 312, 313, 314, 315, - 316, 317, 0, 0, 0, 0, 0, 318, 304, 305, - 306, 307, 308, 1932, 309, 310, 311, 312, 313, 314, - 315, 316, 317, 0, 0, 0, 0, 0, 318, 304, - 305, 306, 307, 308, 1956, 309, 310, 311, 312, 313, - 314, 315, 316, 317, 0, 0, 0, 0, 0, 318, - 304, 305, 306, 307, 308, 1957, 309, 310, 311, 312, - 313, 314, 315, 316, 317, 0, 0, 0, 0, 0, - 318, 304, 305, 306, 307, 308, 1958, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 0, 0, 0, 0, - 0, 318, 304, 305, 306, 307, 308, 1959, 309, 310, - 311, 312, 313, 314, 315, 316, 317, 0, 0, 0, - 0, 0, 318, 304, 305, 306, 307, 308, 1960, 309, - 310, 311, 312, 313, 314, 315, 316, 317, 0, 0, - 0, 0, 0, 318, 304, 305, 306, 307, 308, 1961, - 309, 310, 311, 312, 313, 314, 315, 316, 317, 0, - 0, 0, 0, 0, 318, 304, 305, 306, 307, 308, - 1962, 309, 310, 311, 312, 313, 314, 315, 316, 317, - 0, 0, 0, 0, 0, 318, 304, 305, 306, 307, - 308, 1963, 309, 310, 311, 312, 313, 314, 315, 316, - 317, 0, 0, 0, 0, 0, 318, 304, 305, 306, - 307, 308, 1964, 309, 310, 311, 312, 313, 314, 315, - 316, 317, 0, 0, 0, 0, 0, 318, 304, 305, - 306, 307, 308, 1965, 309, 310, 311, 312, 313, 314, - 315, 316, 317, 0, 0, 0, 0, 0, 318, 304, - 305, 306, 307, 308, 1966, 309, 310, 311, 312, 313, - 314, 315, 316, 317, 0, 0, 0, 0, 0, 318, - 304, 305, 306, 307, 308, 1967, 309, 310, 311, 312, - 313, 314, 315, 316, 317, 0, 0, 0, 0, 0, - 318, 304, 305, 306, 307, 308, 1968, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 0, 0, 0, 0, - 0, 318, 304, 305, 306, 307, 308, 1969, 309, 310, - 311, 312, 313, 314, 315, 316, 317, 0, 0, 0, - 0, 0, 318, 304, 305, 306, 307, 308, 1970, 309, - 310, 311, 312, 313, 314, 315, 316, 317, 0, 0, - 0, 0, 0, 318, 304, 305, 306, 307, 308, 2000, - 309, 310, 311, 312, 313, 314, 315, 316, 317, 0, - 0, 0, 0, 0, 318, 304, 305, 306, 307, 308, - 2001, 309, 310, 311, 312, 313, 314, 315, 316, 317, - 0, 0, 0, 0, 0, 318, 304, 305, 306, 307, - 308, 2002, 309, 310, 311, 312, 313, 314, 315, 316, - 317, 0, 0, 0, 0, 0, 318, 304, 305, 306, - 307, 308, 2003, 309, 310, 311, 312, 313, 314, 315, - 316, 317, 0, 0, 0, 0, 0, 318, 304, 305, - 306, 307, 308, 2004, 309, 310, 311, 312, 313, 314, - 315, 316, 317, 0, 0, 0, 0, 0, 318, 304, - 305, 306, 307, 308, 2005, 309, 310, 311, 312, 313, - 314, 315, 316, 317, 0, 0, 0, 0, 0, 318, - 304, 305, 306, 307, 308, 2006, 309, 310, 311, 312, - 313, 314, 315, 316, 317, 0, 0, 0, 0, 0, - 318, 304, 305, 306, 307, 308, 2007, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 0, 0, 0, 0, - 0, 318, 304, 305, 306, 307, 308, 2008, 309, 310, - 311, 312, 313, 314, 315, 316, 317, 0, 0, 0, - 0, 0, 318, 304, 305, 306, 307, 308, 2009, 309, - 310, 311, 312, 313, 314, 315, 316, 317, 0, 0, - 0, 0, 0, 318, 304, 305, 306, 307, 308, 2010, - 309, 310, 311, 312, 313, 314, 315, 316, 317, 0, - 0, 0, 0, 0, 318, 304, 305, 306, 307, 308, - 2011, 309, 310, 311, 312, 313, 314, 315, 316, 317, - 0, 0, 0, 0, 0, 318, 304, 305, 306, 307, - 308, 2012, 309, 310, 311, 312, 313, 314, 315, 316, - 317, 0, 0, 0, 0, 0, 318, 304, 305, 306, - 307, 308, 2013, 309, 310, 311, 312, 313, 314, 315, - 316, 317, 0, 0, 0, 0, 0, 318, 304, 305, - 306, 307, 308, 2014, 309, 310, 311, 312, 313, 314, - 315, 316, 317, 0, 0, 0, 0, 0, 318, 304, - 305, 306, 307, 308, 2044, 309, 310, 311, 312, 313, - 314, 315, 316, 317, 0, 0, 0, 0, 0, 318, - 304, 305, 306, 307, 308, 2045, 309, 310, 311, 312, - 313, 314, 315, 316, 317, 0, 0, 0, 0, 0, - 318, 304, 305, 306, 307, 308, 2046, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 0, 0, 0, 0, - 0, 318, 304, 305, 306, 307, 308, 2047, 309, 310, - 311, 312, 313, 314, 315, 316, 317, 0, 0, 0, - 0, 0, 318, 304, 305, 306, 307, 308, 2048, 309, - 310, 311, 312, 313, 314, 315, 316, 317, 0, 0, - 0, 0, 0, 318, 304, 305, 306, 307, 308, 2049, - 309, 310, 311, 312, 313, 314, 315, 316, 317, 0, - 0, 0, 0, 0, 318, 304, 305, 306, 307, 308, - 2050, 309, 310, 311, 312, 313, 314, 315, 316, 317, - 0, 0, 0, 0, 0, 318, 304, 305, 306, 307, - 308, 2051, 309, 310, 311, 312, 313, 314, 315, 316, - 317, 0, 0, 0, 0, 0, 318, 304, 305, 306, - 307, 308, 2052, 309, 310, 311, 312, 313, 314, 315, - 316, 317, 0, 0, 0, 0, 0, 318, 304, 305, - 306, 307, 308, 2075, 309, 310, 311, 312, 313, 314, - 315, 316, 317, 0, 0, 0, 0, 0, 318, 304, - 305, 306, 307, 308, 2076, 309, 310, 311, 312, 313, - 314, 315, 316, 317, 0, 0, 0, 0, 0, 318, - 304, 305, 306, 307, 308, 2077, 309, 310, 311, 312, - 313, 314, 315, 316, 317, 0, 0, 0, 0, 0, - 318, 304, 305, 306, 307, 308, 2078, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 0, 0, 0, 0, - 0, 318, 304, 305, 306, 307, 308, 2079, 309, 310, - 311, 312, 313, 314, 315, 316, 317, 0, 0, 0, - 0, 0, 318, 304, 305, 306, 307, 308, 2080, 309, - 310, 311, 312, 313, 314, 315, 316, 317, 0, 0, - 0, 0, 0, 318, 304, 305, 306, 307, 308, 2081, - 309, 310, 311, 312, 313, 314, 315, 316, 317, 0, - 0, 0, 0, 0, 318, 304, 305, 306, 307, 308, - 2082, 309, 310, 311, 312, 313, 314, 315, 316, 317, - 0, 0, 0, 0, 0, 318, 304, 305, 306, 307, - 308, 2083, 309, 310, 311, 312, 313, 314, 315, 316, - 317, 0, 0, 0, 0, 0, 318, 304, 305, 306, - 307, 308, 2117, 309, 310, 311, 312, 313, 314, 315, - 316, 317, 0, 0, 0, 0, 0, 318, 304, 305, - 306, 307, 308, 2118, 309, 310, 311, 312, 313, 314, - 315, 316, 317, 0, 0, 0, 0, 0, 318, 304, - 305, 306, 307, 308, 2119, 309, 310, 311, 312, 313, - 314, 315, 316, 317, 0, 0, 0, 0, 0, 318, - 304, 305, 306, 307, 308, 2120, 309, 310, 311, 312, - 313, 314, 315, 316, 317, 0, 0, 0, 0, 0, - 318, 304, 305, 306, 307, 308, 2121, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 0, 0, 0, 0, - 0, 318, 304, 305, 306, 307, 308, 2122, 309, 310, - 311, 312, 313, 314, 315, 316, 317, 0, 0, 0, - 0, 0, 318, 304, 305, 306, 307, 308, 2123, 309, - 310, 311, 312, 313, 314, 315, 316, 317, 0, 0, - 0, 0, 0, 318, 304, 305, 306, 307, 308, 2124, - 309, 310, 311, 312, 313, 314, 315, 316, 317, 0, - 0, 0, 0, 0, 318, 304, 305, 306, 307, 308, - 2125, 309, 310, 311, 312, 313, 314, 315, 316, 317, - 0, 0, 0, 0, 0, 318, 304, 305, 306, 307, - 308, 2147, 309, 310, 311, 312, 313, 314, 315, 316, - 317, 0, 0, 0, 0, 0, 318, 304, 305, 306, - 307, 308, 2148, 309, 310, 311, 312, 313, 314, 315, - 316, 317, 0, 0, 0, 0, 0, 318, 304, 305, - 306, 307, 308, 2149, 309, 310, 311, 312, 313, 314, - 315, 316, 317, 0, 0, 0, 0, 0, 318, 304, - 305, 306, 307, 308, 2150, 309, 310, 311, 312, 313, - 314, 315, 316, 317, 0, 0, 0, 0, 0, 318, - 304, 305, 306, 307, 308, 2151, 309, 310, 311, 312, - 313, 314, 315, 316, 317, 0, 0, 0, 0, 0, - 318, 304, 305, 306, 307, 308, 2152, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 0, 0, 0, 0, - 0, 318, 304, 305, 306, 307, 308, 2165, 309, 310, - 311, 312, 313, 314, 315, 316, 317, 0, 0, 0, - 0, 0, 318, 304, 305, 306, 307, 308, 2166, 309, - 310, 311, 312, 313, 314, 315, 316, 317, 0, 0, - 0, 0, 0, 318, 304, 305, 306, 307, 308, 2167, - 309, 310, 311, 312, 313, 314, 315, 316, 317, 0, - 0, 0, 0, 0, 318, 304, 305, 306, 307, 308, - 2168, 309, 310, 311, 312, 313, 314, 315, 316, 317, - 0, 0, 0, 0, 0, 318, 304, 305, 306, 307, - 308, 2169, 309, 310, 311, 312, 313, 314, 315, 316, - 317, 0, 0, 0, 0, 0, 318, 304, 305, 306, - 307, 308, 2170, 309, 310, 311, 312, 313, 314, 315, - 316, 317, 0, 0, 0, 0, 0, 318, 304, 305, - 306, 307, 308, 2186, 309, 310, 311, 312, 313, 314, - 315, 316, 317, 0, 0, 0, 0, 0, 318, 304, - 305, 306, 307, 308, 2187, 309, 310, 311, 312, 313, - 314, 315, 316, 317, 0, 0, 0, 0, 0, 318, - 304, 305, 306, 307, 308, 2188, 309, 310, 311, 312, - 313, 314, 315, 316, 317, 0, 0, 0, 0, 0, - 318, 304, 305, 306, 307, 308, 2189, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 0, 0, 0, 0, - 0, 318, 304, 305, 306, 307, 308, 2190, 309, 310, - 311, 312, 313, 314, 315, 316, 317, 0, 0, 0, - 0, 0, 318, 304, 305, 306, 307, 308, 2191, 309, - 310, 311, 312, 313, 314, 315, 316, 317, 0, 0, - 0, 0, 0, 318, 304, 305, 306, 307, 308, 2210, - 309, 310, 311, 312, 313, 314, 315, 316, 317, 0, - 0, 0, 0, 0, 318, 304, 305, 306, 307, 308, - 2211, 309, 310, 311, 312, 313, 314, 315, 316, 317, - 0, 0, 0, 0, 0, 318, 304, 305, 306, 307, - 308, 2212, 309, 310, 311, 312, 313, 314, 315, 316, - 317, 0, 0, 0, 0, 0, 318, 304, 305, 306, - 307, 308, 2222, 309, 310, 311, 312, 313, 314, 315, - 316, 317, 0, 0, 0, 0, 0, 318, 304, 305, - 306, 307, 308, 2223, 309, 310, 311, 312, 313, 314, - 315, 316, 317, 0, 0, 0, 0, 0, 318, 304, - 305, 306, 307, 308, 2224, 309, 310, 311, 312, 313, - 314, 315, 316, 317, 0, 0, 0, 0, 0, 318, - 304, 305, 306, 307, 308, 2237, 309, 310, 311, 312, - 313, 314, 315, 316, 317, 0, 0, 0, 0, 0, - 318, 304, 305, 306, 307, 308, 2238, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 0, 0, 0, 0, - 0, 318, 304, 305, 306, 307, 308, 2239, 309, 310, - 311, 312, 313, 314, 315, 316, 317, 0, 0, 0, - 0, 0, 318, 304, 305, 306, 307, 308, 2255, 309, - 310, 311, 312, 313, 314, 315, 316, 317, 0, 0, - 0, 0, 0, 318, 304, 305, 306, 307, 308, 2256, - 309, 310, 311, 312, 313, 314, 315, 316, 317, 0, - 0, 0, 0, 0, 318, 304, 305, 306, 307, 308, - 2257, 309, 310, 311, 312, 313, 314, 315, 316, 317, - 0, 0, 0, 0, 0, 318, 304, 305, 306, 307, - 308, 2261, 309, 310, 311, 312, 313, 314, 315, 316, - 317, 0, 0, 0, 0, 0, 318, 304, 305, 306, - 307, 308, 2262, 309, 310, 311, 312, 313, 314, 315, - 316, 317, 0, 0, 0, 0, 0, 318, 304, 305, - 306, 307, 308, 2263, 309, 310, 311, 312, 313, 314, - 315, 316, 317, 0, 0, 0, 0, 0, 318, 304, - 305, 306, 307, 308, 2267, 309, 310, 311, 312, 313, - 314, 315, 316, 317, 0, 0, 0, 0, 0, 318, - 304, 305, 306, 307, 308, 2268, 309, 310, 311, 312, - 313, 314, 315, 316, 317, 0, 0, 0, 0, 0, - 318, 304, 305, 306, 307, 308, 2269, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 0, 0, 0, 0, - 0, 318, 0, 0, 0, 609, 304, 305, 306, 307, - 308, 0, 309, 310, 311, 312, 313, 314, 315, 316, - 317, 0, 0, 0, 0, 0, 318, 0, 0, 0, - 666, 304, 305, 306, 307, 308, 0, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 0, 0, 0, 0, - 0, 318, 0, 0, 0, 668, 304, 305, 306, 307, - 308, 0, 309, 310, 311, 312, 313, 314, 315, 316, - 317, 0, 0, 0, 0, 0, 318, 0, 0, 0, - 670, 304, 305, 306, 307, 308, 0, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 0, 0, 0, 0, - 0, 318, 0, 0, 0, 672, 304, 305, 306, 307, - 308, 0, 309, 310, 311, 312, 313, 314, 315, 316, - 317, 0, 0, 0, 0, 0, 318, 0, 0, 0, - 674, 304, 305, 306, 307, 308, 0, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 0, 0, 0, 0, - 0, 318, 0, 0, 0, 676, 304, 305, 306, 307, - 308, 0, 309, 310, 311, 312, 313, 314, 315, 316, - 317, 0, 0, 0, 0, 0, 318, 0, 0, 0, - 678, 304, 305, 306, 307, 308, 0, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 0, 0, 0, 0, - 0, 318, 0, 0, 0, 680, 304, 305, 306, 307, - 308, 0, 309, 310, 311, 312, 313, 314, 315, 316, - 317, 0, 0, 0, 0, 0, 318, 0, 0, 0, - 682, 304, 305, 306, 307, 308, 0, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 0, 0, 0, 0, - 0, 318, 0, 0, 0, 684, 304, 305, 306, 307, - 308, 0, 309, 310, 311, 312, 313, 314, 315, 316, - 317, 0, 0, 0, 0, 0, 318, 0, 0, 0, - 686, 304, 305, 306, 307, 308, 0, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 0, 0, 0, 0, - 0, 318, 0, 0, 0, 690, 304, 305, 306, 307, - 308, 0, 309, 310, 311, 312, 313, 314, 315, 316, - 317, 0, 0, 0, 0, 0, 318, 0, 0, 0, - 692, 304, 305, 306, 307, 308, 0, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 0, 0, 0, 0, - 0, 318, 0, 0, 0, 694, 304, 305, 306, 307, - 308, 0, 309, 310, 311, 312, 313, 314, 315, 316, - 317, 0, 0, 0, 0, 0, 318, 0, 0, 0, - 696, 304, 305, 306, 307, 308, 0, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 0, 0, 0, 0, - 0, 318, 0, 0, 0, 698, 304, 305, 306, 307, - 308, 0, 309, 310, 311, 312, 313, 314, 315, 316, - 317, 0, 0, 0, 0, 0, 318, 0, 0, 0, - 700, 304, 305, 306, 307, 308, 0, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 0, 0, 0, 0, - 0, 318, 0, 0, 0, 769, 304, 305, 306, 307, - 308, 0, 309, 310, 311, 312, 313, 314, 315, 316, - 317, 0, 0, 0, 0, 0, 318, 0, 0, 0, - 774, 304, 305, 306, 307, 308, 0, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 0, 0, 0, 0, - 0, 318, 0, 0, 0, 865, 304, 305, 306, 307, - 308, 0, 309, 310, 311, 312, 313, 314, 315, 316, - 317, 0, 0, 0, 0, 0, 318, 0, 0, 0, - 1008, 304, 305, 306, 307, 308, 0, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 0, 0, 0, 0, - 0, 318, 0, 0, 0, 1010, 304, 305, 306, 307, - 308, 0, 309, 310, 311, 312, 313, 314, 315, 316, - 317, 0, 0, 0, 0, 0, 318, 0, 0, 0, - 1012, 304, 305, 306, 307, 308, 0, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 0, 0, 0, 0, - 0, 318, 0, 0, 0, 1014, 304, 305, 306, 307, - 308, 0, 309, 310, 311, 312, 313, 314, 315, 316, - 317, 0, 0, 0, 0, 0, 318, 0, 0, 0, - 1015, 304, 305, 306, 307, 308, 0, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 0, 0, 0, 0, - 0, 318, 0, 0, 0, 1153, 304, 305, 306, 307, - 308, 0, 309, 310, 311, 312, 313, 314, 315, 316, - 317, 0, 0, 0, 0, 0, 318, 0, 476, 304, - 305, 306, 307, 308, 0, 309, 310, 311, 312, 313, - 314, 315, 316, 317, 0, 0, 0, 0, 0, 318, - 0, 506, 304, 305, 306, 307, 308, 0, 309, 310, - 311, 312, 313, 314, 315, 316, 317, 0, 0, 0, - 0, 0, 318, 0, 507, 304, 305, 306, 307, 308, - 0, 309, 310, 311, 312, 313, 314, 315, 316, 317, - 0, 0, 0, 0, 0, 318, 0, 508, 304, 305, - 306, 307, 308, 0, 309, 310, 311, 312, 313, 314, - 315, 316, 317, 0, 0, 0, 0, 0, 318, 0, - 510, 304, 305, 306, 307, 308, 0, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 0, 0, 0, 0, - 0, 318, 0, 512, 304, 305, 306, 307, 308, 0, - 309, 310, 311, 312, 313, 314, 315, 316, 317, 0, - 0, 0, 0, 0, 318, 0, 513, 304, 305, 306, - 307, 308, 0, 309, 310, 311, 312, 313, 314, 315, - 316, 317, 0, 0, 0, 0, 0, 318, 0, 521, - 304, 305, 306, 307, 308, 0, 309, 310, 311, 312, - 313, 314, 315, 316, 317, 0, 0, 0, 0, 0, - 318, 0, 561, 304, 305, 306, 307, 308, 0, 309, - 310, 311, 312, 313, 314, 315, 316, 317, 0, 0, - 0, 0, 0, 318, 0, 562, 304, 305, 306, 307, - 308, 0, 309, 310, 311, 312, 313, 314, 315, 316, - 317, 0, 0, 0, 0, 0, 318, 0, 565, 304, - 305, 306, 307, 308, 0, 309, 310, 311, 312, 313, - 314, 315, 316, 317, 0, 0, 0, 0, 0, 318, - 0, 571, 304, 305, 306, 307, 308, 0, 309, 310, - 311, 312, 313, 314, 315, 316, 317, 0, 0, 0, - 0, 0, 318, 0, 665, 304, 305, 306, 307, 308, - 0, 309, 310, 311, 312, 313, 314, 315, 316, 317, - 0, 0, 0, 0, 0, 318, 0, 667, 304, 305, - 306, 307, 308, 0, 309, 310, 311, 312, 313, 314, - 315, 316, 317, 0, 0, 0, 0, 0, 318, 0, - 669, 304, 305, 306, 307, 308, 0, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 0, 0, 0, 0, - 0, 318, 0, 671, 304, 305, 306, 307, 308, 0, - 309, 310, 311, 312, 313, 314, 315, 316, 317, 0, - 0, 0, 0, 0, 318, 0, 673, 304, 305, 306, - 307, 308, 0, 309, 310, 311, 312, 313, 314, 315, - 316, 317, 0, 0, 0, 0, 0, 318, 0, 675, - 304, 305, 306, 307, 308, 0, 309, 310, 311, 312, - 313, 314, 315, 316, 317, 0, 0, 0, 0, 0, - 318, 0, 677, 304, 305, 306, 307, 308, 0, 309, - 310, 311, 312, 313, 314, 315, 316, 317, 0, 0, - 0, 0, 0, 318, 0, 679, 304, 305, 306, 307, - 308, 0, 309, 310, 311, 312, 313, 314, 315, 316, - 317, 0, 0, 0, 0, 0, 318, 0, 681, 304, - 305, 306, 307, 308, 0, 309, 310, 311, 312, 313, - 314, 315, 316, 317, 0, 0, 0, 0, 0, 318, - 0, 683, 304, 305, 306, 307, 308, 0, 309, 310, - 311, 312, 313, 314, 315, 316, 317, 0, 0, 0, - 0, 0, 318, 0, 685, 304, 305, 306, 307, 308, - 0, 309, 310, 311, 312, 313, 314, 315, 316, 317, - 0, 0, 0, 0, 0, 318, 0, 689, 304, 305, - 306, 307, 308, 0, 309, 310, 311, 312, 313, 314, - 315, 316, 317, 0, 0, 0, 0, 0, 318, 0, - 691, 304, 305, 306, 307, 308, 0, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 0, 0, 0, 0, - 0, 318, 0, 693, 304, 305, 306, 307, 308, 0, - 309, 310, 311, 312, 313, 314, 315, 316, 317, 0, - 0, 0, 0, 0, 318, 0, 695, 304, 305, 306, - 307, 308, 0, 309, 310, 311, 312, 313, 314, 315, - 316, 317, 0, 0, 0, 0, 0, 318, 0, 697, - 304, 305, 306, 307, 308, 0, 309, 310, 311, 312, - 313, 314, 315, 316, 317, 0, 0, 0, 0, 0, - 318, 0, 699, 304, 305, 306, 307, 308, 0, 309, - 310, 311, 312, 313, 314, 315, 316, 317, 0, 0, - 0, 0, 0, 318, 0, 733, 304, 305, 306, 307, - 308, 0, 309, 310, 311, 312, 313, 314, 315, 316, - 317, 0, 0, 0, 0, 0, 318, 0, 735, 304, - 305, 306, 307, 308, 0, 309, 310, 311, 312, 313, - 314, 315, 316, 317, 0, 0, 0, 0, 0, 318, - 0, 748, 304, 305, 306, 307, 308, 0, 309, 310, - 311, 312, 313, 314, 315, 316, 317, 0, 0, 0, - 0, 0, 318, 0, 749, 304, 305, 306, 307, 308, - 0, 309, 310, 311, 312, 313, 314, 315, 316, 317, - 0, 0, 0, 0, 0, 318, 0, 750, 304, 305, - 306, 307, 308, 0, 309, 310, 311, 312, 313, 314, - 315, 316, 317, 0, 0, 0, 0, 0, 318, 0, - 754, 304, 305, 306, 307, 308, 0, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 0, 0, 0, 0, - 0, 318, 0, 755, 304, 305, 306, 307, 308, 0, - 309, 310, 311, 312, 313, 314, 315, 316, 317, 0, - 0, 0, 0, 0, 318, 0, 756, 304, 305, 306, - 307, 308, 0, 309, 310, 311, 312, 313, 314, 315, - 316, 317, 0, 0, 0, 0, 0, 318, 0, 757, - 304, 305, 306, 307, 308, 0, 309, 310, 311, 312, - 313, 314, 315, 316, 317, 0, 0, 0, 0, 0, - 318, 0, 758, 304, 305, 306, 307, 308, 0, 309, - 310, 311, 312, 313, 314, 315, 316, 317, 0, 0, - 0, 0, 0, 318, 0, 780, 304, 305, 306, 307, - 308, 0, 309, 310, 311, 312, 313, 314, 315, 316, - 317, 0, 0, 0, 0, 0, 318, 0, 787, 304, - 305, 306, 307, 308, 0, 309, 310, 311, 312, 313, - 314, 315, 316, 317, 0, 0, 0, 0, 0, 318, - 0, 1007, 304, 305, 306, 307, 308, 0, 309, 310, - 311, 312, 313, 314, 315, 316, 317, 0, 0, 0, - 0, 0, 318, 0, 1009, 304, 305, 306, 307, 308, - 0, 309, 310, 311, 312, 313, 314, 315, 316, 317, - 0, 0, 0, 0, 0, 318, 0, 1011, 304, 305, - 306, 307, 308, 0, 309, 310, 311, 312, 313, 314, - 315, 316, 317, 0, 0, 0, 0, 0, 318, 0, - 1013, 304, 305, 306, 307, 308, 0, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 0, 0, 0, 0, - 0, 318, 0, 1076, 304, 305, 306, 307, 308, 0, - 309, 310, 311, 312, 313, 314, 315, 316, 317, 0, - 0, 0, 0, 0, 318, 0, 1177, 304, 305, 306, - 307, 308, 0, 309, 310, 311, 312, 313, 314, 315, - 316, 317, 0, 0, 0, 0, 0, 318, 0, 1205, - 304, 305, 306, 307, 308, 0, 309, 310, 311, 312, - 313, 314, 315, 316, 317, 0, 0, 0, 0, 0, - 318, 0, 1308, 304, 305, 306, 307, 308, 0, 309, - 310, 311, 312, 313, 314, 315, 316, 317, 0, 0, - 0, 0, 0, 318, 0, 1312, 304, 305, 306, 307, - 308, 0, 309, 310, 311, 312, 313, 314, 315, 316, - 317, 0, 0, 0, 0, 0, 318, 0, 1314, 304, - 305, 306, 307, 308, 0, 309, 310, 311, 312, 313, - 314, 315, 316, 317, 0, 0, 0, 0, 0, 318, - 0, 1432, 304, 305, 306, 307, 308, 0, 309, 310, - 311, 312, 313, 314, 315, 316, 317, 0, 0, 0, - 0, 0, 318, 0, 1461, 304, 305, 306, 307, 308, - 0, 309, 310, 311, 312, 313, 314, 315, 316, 317, - 0, 0, 0, 0, 0, 318, 0, 1463, 304, 305, - 306, 307, 308, 0, 309, 310, 311, 312, 313, 314, - 315, 316, 317, 0, 0, 0, 0, 0, 318, 0, - 1465, 304, 305, 306, 307, 308, 0, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 0, 0, 0, 0, - 0, 318, 0, 1467, 304, 305, 306, 307, 308, 0, - 309, 310, 311, 312, 313, 314, 315, 316, 317, 0, - 0, 0, 0, 0, 318, 0, 1468, 304, 305, 306, - 307, 308, 0, 309, 310, 311, 312, 313, 314, 315, - 316, 317, 0, 0, 0, 0, 0, 318, 0, 1469, - 304, 305, 306, 307, 308, 0, 309, 310, 311, 312, - 313, 314, 315, 316, 317, 0, 0, 0, 0, 0, - 318, 0, 1491, 304, 305, 306, 307, 308, 0, 309, - 310, 311, 312, 313, 314, 315, 316, 317, 0, 0, - 0, 0, 0, 318, 0, 1596, 304, 305, 306, 307, - 308, 0, 309, 310, 311, 312, 313, 314, 315, 316, - 317, 0, 0, 0, 0, 0, 318, 0, 1751, 304, - 305, 306, 307, 308, 0, 309, 310, 311, 312, 313, - 314, 315, 316, 317, 0, 0, 0, 0, 0, 318, - 0, 1752, 304, 305, 306, 307, 308, 0, 309, 310, - 311, 312, 313, 314, 315, 316, 317, 0, 0, 0, - 0, 0, 318, 0, 1753, 304, 305, 306, 307, 308, - 0, 309, 310, 311, 312, 313, 314, 315, 316, 317, - 0, 0, 0, 0, 0, 318, 0, 1915, 304, 305, - 306, 307, 308, 0, 309, 310, 311, 312, 313, 314, - 315, 316, 317, 0, 0, 0, 0, 0, 318, 0, - 1916, 304, 305, 306, 307, 308, 0, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 0, 0, 0, 0, - 0, 318, 0, 1917, 304, 305, 306, 307, 308, 0, - 309, 310, 311, 312, 313, 314, 315, 316, 317, 0, - 0, 0, 0, 0, 318, 0, 2038, 304, 305, 306, - 307, 308, 0, 309, 310, 311, 312, 313, 314, 315, - 316, 317, 0, 0, 0, 0, 0, 318, 0, 2039, - 304, 305, 306, 307, 308, 0, 309, 310, 311, 312, - 313, 314, 315, 316, 317, 0, 0, 0, 0, 0, - 318, 0, 2040, 304, 305, 306, 307, 308, 0, 309, - 310, 311, 312, 313, 314, 315, 316, 317, 0, 0, - 0, 0, 0, 318, 0, 2041, 304, 305, 306, 307, - 308, 0, 309, 310, 311, 312, 313, 314, 315, 316, - 317, 0, 0, 0, 0, 0, 318, 0, 2042, 304, - 305, 306, 307, 308, 0, 309, 310, 311, 312, 313, - 314, 315, 316, 317, 0, 0, 0, 0, 0, 318, - 0, 2043, 304, 305, 306, 307, 308, 0, 309, 310, - 311, 312, 313, 314, 315, 316, 317, 0, 0, 0, - 0, 0, 318, 0, 2153, 304, 305, 306, 307, 308, - 0, 309, 310, 311, 312, 313, 314, 315, 316, 317, - 0, 0, 0, 0, 0, 318, 0, 2154, 304, 305, - 306, 307, 308, 0, 309, 310, 311, 312, 313, 314, - 315, 316, 317, 0, 0, 0, 0, 0, 318, 0, - 2155, 304, 305, 306, 307, 308, 0, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 0, 0, 0, 0, - 0, 318, 0, 2213, 304, 305, 306, 307, 308, 0, - 309, 310, 311, 312, 313, 314, 315, 316, 317, 0, - 0, 0, 0, 0, 318, 0, 2214, 304, 305, 306, - 307, 308, 0, 309, 310, 311, 312, 313, 314, 315, - 316, 317, 0, 0, 0, 0, 0, 318, 0, 2215, - 304, 305, 306, 307, 308, 0, 309, 310, 311, 312, - 313, 314, 315, 316, 317, 0, 0, 0, 0, 0, - 318, 0, 2273, 304, 305, 306, 307, 308, 0, 309, - 310, 311, 312, 313, 314, 315, 316, 317, 0, 0, - 0, 0, 0, 318, 0, 2274, 304, 305, 306, 307, - 308, 0, 309, 310, 311, 312, 313, 314, 315, 316, - 317, 0, 0, 0, 0, 0, 318, 0, 2275, 304, - 305, 306, 307, 308, 0, 309, 310, 311, 312, 313, - 314, 315, 316, 317, 0, 0, 0, 0, 0, 318 + 0, 1512, 2, 3, 0, 4, 0, 0, 1517, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1529, + 1530, 561, 27, 28, 562, 563, 31, 564, 33, 0, + 34, 0, 36, 37, 38, 0, 40, 41, 0, 0, + 0, 0, 0, 561, 27, 28, 562, 563, 31, 564, + 33, 0, 34, 53, 36, 37, 38, 0, 40, 41, + 0, 0, 0, 1572, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 53, 565, 0, 0, 0, + 0, 0, 55, 56, 57, 0, 0, 561, 27, 28, + 562, 563, 31, 564, 33, 0, 34, 0, 36, 37, + 38, 67, 40, 41, 55, 56, 57, 0, 0, 561, + 27, 28, 562, 563, 31, 564, 33, 0, 34, 53, + 36, 37, 38, 67, 40, 41, 1620, 0, 0, 0, + 0, 1627, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 53, 0, 0, 0, 0, 0, 0, 55, 56, + 57, 214, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, + 55, 56, 57, 312, 313, 314, 315, 316, 0, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 570, 67, + 0, 0, 0, 326, 0, 0, 0, 0, 0, 0, + 0, 766, 0, 0, 0, 312, 313, 314, 315, 316, + 585, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 1715, 0, 0, 0, 0, 326, 0, 0, 0, 623, + 1725, 215, 216, 217, 0, 0, 0, 0, 0, 218, + 219, 220, 221, 222, 223, 224, 225, 226, 227, 0, + 0, 0, 0, 0, 586, 0, 0, 228, 229, 230, + 231, 232, 233, 234, 235, 236, 237, 0, 238, 239, + 240, 241, 242, 243, 0, 0, 799, 626, 627, 628, + 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, + 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, + 649, 650, 651, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 23, 0, 1800, + 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, + 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, + 646, 647, 648, 649, 650, 651, 24, 0, 0, 0, + 25, 26, 27, 28, 29, 30, 31, 32, 33, 0, + 34, 35, 36, 37, 38, 39, 40, 41, 0, 0, + 0, 42, 43, 44, 45, 46, 47, 48, 1852, 49, + 50, 51, 52, 53, 561, 27, 28, 562, 563, 31, + 564, 33, 0, 34, 0, 36, 37, 38, 0, 40, + 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 652, 54, 55, 56, 57, 0, 53, 0, 0, 58, + 0, 59, 0, 60, 61, 62, 63, 64, 65, 66, + 1906, 67, 68, 69, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 55, 56, 57, 312, 313, + 314, 315, 316, 996, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 0, 67, 0, 0, 0, 326, 0, + 0, 0, 0, 0, 0, 0, 767, 0, 312, 313, + 314, 315, 316, 1951, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 0, 0, 0, 0, 0, 326, 0, + 0, 0, 0, 0, 0, 0, 908, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 312, 313, 314, 315, + 316, 1989, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 0, 0, 0, 0, 0, 326, 0, 0, 312, + 313, 314, 315, 316, 932, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 0, 0, 0, 0, 0, 326, + 0, 0, 312, 313, 314, 315, 316, 1193, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, + 0, 0, 326, 0, 0, 312, 313, 314, 315, 316, + 1396, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 0, 0, 0, 0, 0, 326, 0, 0, 312, 313, + 314, 315, 316, 1397, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 0, 0, 0, 0, 0, 326, 0, + 0, 312, 313, 314, 315, 316, 1454, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 0, 0, 0, 0, + 0, 326, 0, 0, 312, 313, 314, 315, 316, 1460, + 317, 318, 319, 320, 321, 322, 323, 324, 325, 0, + 0, 0, 0, 0, 326, 0, 0, 312, 313, 314, + 315, 316, 1463, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 0, 0, 0, 0, 0, 326, 0, 0, + 312, 313, 314, 315, 316, 1466, 317, 318, 319, 320, + 321, 322, 323, 324, 325, 0, 0, 0, 0, 0, + 326, 0, 0, 312, 313, 314, 315, 316, 1467, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, + 0, 0, 0, 326, 0, 0, 312, 313, 314, 315, + 316, 1513, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 0, 0, 0, 0, 0, 326, 0, 0, 312, + 313, 314, 315, 316, 1574, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 0, 0, 0, 0, 0, 326, + 0, 0, 312, 313, 314, 315, 316, 1577, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, + 0, 0, 326, 0, 0, 312, 313, 314, 315, 316, + 1579, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 0, 0, 0, 0, 0, 326, 0, 0, 312, 313, + 314, 315, 316, 1825, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 0, 0, 0, 0, 0, 326, 0, + 0, 312, 313, 314, 315, 316, 1878, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 0, 0, 0, 0, + 0, 326, 312, 313, 314, 315, 316, 547, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, + 0, 0, 326, 312, 313, 314, 315, 316, 548, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, + 0, 0, 0, 326, 312, 313, 314, 315, 316, 579, + 317, 318, 319, 320, 321, 322, 323, 324, 325, 0, + 0, 0, 0, 0, 326, 312, 313, 314, 315, 316, + 701, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 0, 0, 0, 0, 0, 326, 312, 313, 314, 315, + 316, 702, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 0, 0, 0, 0, 0, 326, 312, 313, 314, + 315, 316, 715, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 0, 0, 0, 0, 0, 326, 312, 313, + 314, 315, 316, 716, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 0, 0, 0, 0, 0, 326, 312, + 313, 314, 315, 316, 717, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 0, 0, 0, 0, 0, 326, + 312, 313, 314, 315, 316, 718, 317, 318, 319, 320, + 321, 322, 323, 324, 325, 0, 0, 0, 0, 0, + 326, 312, 313, 314, 315, 316, 719, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 0, 0, 0, 0, + 0, 326, 312, 313, 314, 315, 316, 720, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, + 0, 0, 326, 312, 313, 314, 315, 316, 780, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, + 0, 0, 0, 326, 312, 313, 314, 315, 316, 781, + 317, 318, 319, 320, 321, 322, 323, 324, 325, 0, + 0, 0, 0, 0, 326, 312, 313, 314, 315, 316, + 782, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 0, 0, 0, 0, 0, 326, 312, 313, 314, 315, + 316, 930, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 0, 0, 0, 0, 0, 326, 312, 313, 314, + 315, 316, 931, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 0, 0, 0, 0, 0, 326, 312, 313, + 314, 315, 316, 951, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 0, 0, 0, 0, 0, 326, 312, + 313, 314, 315, 316, 1089, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 0, 0, 0, 0, 0, 326, + 312, 313, 314, 315, 316, 1090, 317, 318, 319, 320, + 321, 322, 323, 324, 325, 0, 0, 0, 0, 0, + 326, 312, 313, 314, 315, 316, 1104, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 0, 0, 0, 0, + 0, 326, 312, 313, 314, 315, 316, 1105, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, + 0, 0, 326, 312, 313, 314, 315, 316, 1136, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, + 0, 0, 0, 326, 312, 313, 314, 315, 316, 1137, + 317, 318, 319, 320, 321, 322, 323, 324, 325, 0, + 0, 0, 0, 0, 326, 312, 313, 314, 315, 316, + 1138, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 0, 0, 0, 0, 0, 326, 312, 313, 314, 315, + 316, 1139, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 0, 0, 0, 0, 0, 326, 312, 313, 314, + 315, 316, 1140, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 0, 0, 0, 0, 0, 326, 312, 313, + 314, 315, 316, 1141, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 0, 0, 0, 0, 0, 326, 312, + 313, 314, 315, 316, 1142, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 0, 0, 0, 0, 0, 326, + 312, 313, 314, 315, 316, 1143, 317, 318, 319, 320, + 321, 322, 323, 324, 325, 0, 0, 0, 0, 0, + 326, 312, 313, 314, 315, 316, 1144, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 0, 0, 0, 0, + 0, 326, 312, 313, 314, 315, 316, 1145, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, + 0, 0, 326, 312, 313, 314, 315, 316, 1146, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, + 0, 0, 0, 326, 312, 313, 314, 315, 316, 1147, + 317, 318, 319, 320, 321, 322, 323, 324, 325, 0, + 0, 0, 0, 0, 326, 312, 313, 314, 315, 316, + 1148, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 0, 0, 0, 0, 0, 326, 312, 313, 314, 315, + 316, 1149, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 0, 0, 0, 0, 0, 326, 312, 313, 314, + 315, 316, 1150, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 0, 0, 0, 0, 0, 326, 312, 313, + 314, 315, 316, 1151, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 0, 0, 0, 0, 0, 326, 312, + 313, 314, 315, 316, 1152, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 0, 0, 0, 0, 0, 326, + 312, 313, 314, 315, 316, 1153, 317, 318, 319, 320, + 321, 322, 323, 324, 325, 0, 0, 0, 0, 0, + 326, 312, 313, 314, 315, 316, 1154, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 0, 0, 0, 0, + 0, 326, 312, 313, 314, 315, 316, 1155, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, + 0, 0, 326, 312, 313, 314, 315, 316, 1156, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, + 0, 0, 0, 326, 312, 313, 314, 315, 316, 1157, + 317, 318, 319, 320, 321, 322, 323, 324, 325, 0, + 0, 0, 0, 0, 326, 312, 313, 314, 315, 316, + 1158, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 0, 0, 0, 0, 0, 326, 312, 313, 314, 315, + 316, 1159, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 0, 0, 0, 0, 0, 326, 312, 313, 314, + 315, 316, 1160, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 0, 0, 0, 0, 0, 326, 312, 313, + 314, 315, 316, 1161, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 0, 0, 0, 0, 0, 326, 312, + 313, 314, 315, 316, 1177, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 0, 0, 0, 0, 0, 326, + 312, 313, 314, 315, 316, 1293, 317, 318, 319, 320, + 321, 322, 323, 324, 325, 0, 0, 0, 0, 0, + 326, 312, 313, 314, 315, 316, 1307, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 0, 0, 0, 0, + 0, 326, 312, 313, 314, 315, 316, 1308, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, + 0, 0, 326, 312, 313, 314, 315, 316, 1317, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, + 0, 0, 0, 326, 312, 313, 314, 315, 316, 1320, + 317, 318, 319, 320, 321, 322, 323, 324, 325, 0, + 0, 0, 0, 0, 326, 312, 313, 314, 315, 316, + 1331, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 0, 0, 0, 0, 0, 326, 312, 313, 314, 315, + 316, 1336, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 0, 0, 0, 0, 0, 326, 312, 313, 314, + 315, 316, 1339, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 0, 0, 0, 0, 0, 326, 312, 313, + 314, 315, 316, 1341, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 0, 0, 0, 0, 0, 326, 312, + 313, 314, 315, 316, 1342, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 0, 0, 0, 0, 0, 326, + 312, 313, 314, 315, 316, 1343, 317, 318, 319, 320, + 321, 322, 323, 324, 325, 0, 0, 0, 0, 0, + 326, 312, 313, 314, 315, 316, 1344, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 0, 0, 0, 0, + 0, 326, 312, 313, 314, 315, 316, 1345, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, + 0, 0, 326, 312, 313, 314, 315, 316, 1346, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, + 0, 0, 0, 326, 312, 313, 314, 315, 316, 1347, + 317, 318, 319, 320, 321, 322, 323, 324, 325, 0, + 0, 0, 0, 0, 326, 312, 313, 314, 315, 316, + 1348, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 0, 0, 0, 0, 0, 326, 312, 313, 314, 315, + 316, 1349, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 0, 0, 0, 0, 0, 326, 312, 313, 314, + 315, 316, 1350, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 0, 0, 0, 0, 0, 326, 312, 313, + 314, 315, 316, 1351, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 0, 0, 0, 0, 0, 326, 312, + 313, 314, 315, 316, 1352, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 0, 0, 0, 0, 0, 326, + 312, 313, 314, 315, 316, 1353, 317, 318, 319, 320, + 321, 322, 323, 324, 325, 0, 0, 0, 0, 0, + 326, 312, 313, 314, 315, 316, 1354, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 0, 0, 0, 0, + 0, 326, 312, 313, 314, 315, 316, 1355, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, + 0, 0, 326, 312, 313, 314, 315, 316, 1356, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, + 0, 0, 0, 326, 312, 313, 314, 315, 316, 1357, + 317, 318, 319, 320, 321, 322, 323, 324, 325, 0, + 0, 0, 0, 0, 326, 312, 313, 314, 315, 316, + 1358, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 0, 0, 0, 0, 0, 326, 312, 313, 314, 315, + 316, 1359, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 0, 0, 0, 0, 0, 326, 312, 313, 314, + 315, 316, 1360, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 0, 0, 0, 0, 0, 326, 312, 313, + 314, 315, 316, 1361, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 0, 0, 0, 0, 0, 326, 312, + 313, 314, 315, 316, 1362, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 0, 0, 0, 0, 0, 326, + 312, 313, 314, 315, 316, 1363, 317, 318, 319, 320, + 321, 322, 323, 324, 325, 0, 0, 0, 0, 0, + 326, 312, 313, 314, 315, 316, 1364, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 0, 0, 0, 0, + 0, 326, 312, 313, 314, 315, 316, 1365, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, + 0, 0, 326, 312, 313, 314, 315, 316, 1366, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, + 0, 0, 0, 326, 312, 313, 314, 315, 316, 1370, + 317, 318, 319, 320, 321, 322, 323, 324, 325, 0, + 0, 0, 0, 0, 326, 312, 313, 314, 315, 316, + 1476, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 0, 0, 0, 0, 0, 326, 312, 313, 314, 315, + 316, 1488, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 0, 0, 0, 0, 0, 326, 312, 313, 314, + 315, 316, 1489, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 0, 0, 0, 0, 0, 326, 312, 313, + 314, 315, 316, 1490, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 0, 0, 0, 0, 0, 326, 312, + 313, 314, 315, 316, 1491, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 0, 0, 0, 0, 0, 326, + 312, 313, 314, 315, 316, 1492, 317, 318, 319, 320, + 321, 322, 323, 324, 325, 0, 0, 0, 0, 0, + 326, 312, 313, 314, 315, 316, 1493, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 0, 0, 0, 0, + 0, 326, 312, 313, 314, 315, 316, 1494, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, + 0, 0, 326, 312, 313, 314, 315, 316, 1495, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, + 0, 0, 0, 326, 312, 313, 314, 315, 316, 1496, + 317, 318, 319, 320, 321, 322, 323, 324, 325, 0, + 0, 0, 0, 0, 326, 312, 313, 314, 315, 316, + 1497, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 0, 0, 0, 0, 0, 326, 312, 313, 314, 315, + 316, 1498, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 0, 0, 0, 0, 0, 326, 312, 313, 314, + 315, 316, 1499, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 0, 0, 0, 0, 0, 326, 312, 313, + 314, 315, 316, 1500, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 0, 0, 0, 0, 0, 326, 312, + 313, 314, 315, 316, 1501, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 0, 0, 0, 0, 0, 326, + 312, 313, 314, 315, 316, 1502, 317, 318, 319, 320, + 321, 322, 323, 324, 325, 0, 0, 0, 0, 0, + 326, 312, 313, 314, 315, 316, 1503, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 0, 0, 0, 0, + 0, 326, 312, 313, 314, 315, 316, 1504, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, + 0, 0, 326, 312, 313, 314, 315, 316, 1505, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, + 0, 0, 0, 326, 312, 313, 314, 315, 316, 1506, + 317, 318, 319, 320, 321, 322, 323, 324, 325, 0, + 0, 0, 0, 0, 326, 312, 313, 314, 315, 316, + 1507, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 0, 0, 0, 0, 0, 326, 312, 313, 314, 315, + 316, 1508, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 0, 0, 0, 0, 0, 326, 312, 313, 314, + 315, 316, 1510, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 0, 0, 0, 0, 0, 326, 312, 313, + 314, 315, 316, 1592, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 0, 0, 0, 0, 0, 326, 312, + 313, 314, 315, 316, 1593, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 0, 0, 0, 0, 0, 326, + 312, 313, 314, 315, 316, 1594, 317, 318, 319, 320, + 321, 322, 323, 324, 325, 0, 0, 0, 0, 0, + 326, 312, 313, 314, 315, 316, 1595, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 0, 0, 0, 0, + 0, 326, 312, 313, 314, 315, 316, 1596, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, + 0, 0, 326, 312, 313, 314, 315, 316, 1597, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, + 0, 0, 0, 326, 312, 313, 314, 315, 316, 1598, + 317, 318, 319, 320, 321, 322, 323, 324, 325, 0, + 0, 0, 0, 0, 326, 312, 313, 314, 315, 316, + 1599, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 0, 0, 0, 0, 0, 326, 312, 313, 314, 315, + 316, 1600, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 0, 0, 0, 0, 0, 326, 312, 313, 314, + 315, 316, 1601, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 0, 0, 0, 0, 0, 326, 312, 313, + 314, 315, 316, 1602, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 0, 0, 0, 0, 0, 326, 312, + 313, 314, 315, 316, 1603, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 0, 0, 0, 0, 0, 326, + 312, 313, 314, 315, 316, 1604, 317, 318, 319, 320, + 321, 322, 323, 324, 325, 0, 0, 0, 0, 0, + 326, 312, 313, 314, 315, 316, 1605, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 0, 0, 0, 0, + 0, 326, 312, 313, 314, 315, 316, 1606, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, + 0, 0, 326, 312, 313, 314, 315, 316, 1607, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, + 0, 0, 0, 326, 312, 313, 314, 315, 316, 1608, + 317, 318, 319, 320, 321, 322, 323, 324, 325, 0, + 0, 0, 0, 0, 326, 312, 313, 314, 315, 316, + 1609, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 0, 0, 0, 0, 0, 326, 312, 313, 314, 315, + 316, 1610, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 0, 0, 0, 0, 0, 326, 312, 313, 314, + 315, 316, 1611, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 0, 0, 0, 0, 0, 326, 312, 313, + 314, 315, 316, 1612, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 0, 0, 0, 0, 0, 326, 312, + 313, 314, 315, 316, 1688, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 0, 0, 0, 0, 0, 326, + 312, 313, 314, 315, 316, 1689, 317, 318, 319, 320, + 321, 322, 323, 324, 325, 0, 0, 0, 0, 0, + 326, 312, 313, 314, 315, 316, 1690, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 0, 0, 0, 0, + 0, 326, 312, 313, 314, 315, 316, 1691, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, + 0, 0, 326, 312, 313, 314, 315, 316, 1692, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, + 0, 0, 0, 326, 312, 313, 314, 315, 316, 1693, + 317, 318, 319, 320, 321, 322, 323, 324, 325, 0, + 0, 0, 0, 0, 326, 312, 313, 314, 315, 316, + 1694, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 0, 0, 0, 0, 0, 326, 312, 313, 314, 315, + 316, 1695, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 0, 0, 0, 0, 0, 326, 312, 313, 314, + 315, 316, 1696, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 0, 0, 0, 0, 0, 326, 312, 313, + 314, 315, 316, 1697, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 0, 0, 0, 0, 0, 326, 312, + 313, 314, 315, 316, 1698, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 0, 0, 0, 0, 0, 326, + 312, 313, 314, 315, 316, 1699, 317, 318, 319, 320, + 321, 322, 323, 324, 325, 0, 0, 0, 0, 0, + 326, 312, 313, 314, 315, 316, 1700, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 0, 0, 0, 0, + 0, 326, 312, 313, 314, 315, 316, 1701, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, + 0, 0, 326, 312, 313, 314, 315, 316, 1702, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, + 0, 0, 0, 326, 312, 313, 314, 315, 316, 1703, + 317, 318, 319, 320, 321, 322, 323, 324, 325, 0, + 0, 0, 0, 0, 326, 312, 313, 314, 315, 316, + 1704, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 0, 0, 0, 0, 0, 326, 312, 313, 314, 315, + 316, 1705, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 0, 0, 0, 0, 0, 326, 312, 313, 314, + 315, 316, 1706, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 0, 0, 0, 0, 0, 326, 312, 313, + 314, 315, 316, 1707, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 0, 0, 0, 0, 0, 326, 312, + 313, 314, 315, 316, 1708, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 0, 0, 0, 0, 0, 326, + 312, 313, 314, 315, 316, 1765, 317, 318, 319, 320, + 321, 322, 323, 324, 325, 0, 0, 0, 0, 0, + 326, 312, 313, 314, 315, 316, 1772, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 0, 0, 0, 0, + 0, 326, 312, 313, 314, 315, 316, 1773, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, + 0, 0, 326, 312, 313, 314, 315, 316, 1774, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, + 0, 0, 0, 326, 312, 313, 314, 315, 316, 1775, + 317, 318, 319, 320, 321, 322, 323, 324, 325, 0, + 0, 0, 0, 0, 326, 312, 313, 314, 315, 316, + 1776, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 0, 0, 0, 0, 0, 326, 312, 313, 314, 315, + 316, 1777, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 0, 0, 0, 0, 0, 326, 312, 313, 314, + 315, 316, 1778, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 0, 0, 0, 0, 0, 326, 312, 313, + 314, 315, 316, 1779, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 0, 0, 0, 0, 0, 326, 312, + 313, 314, 315, 316, 1780, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 0, 0, 0, 0, 0, 326, + 312, 313, 314, 315, 316, 1781, 317, 318, 319, 320, + 321, 322, 323, 324, 325, 0, 0, 0, 0, 0, + 326, 312, 313, 314, 315, 316, 1782, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 0, 0, 0, 0, + 0, 326, 312, 313, 314, 315, 316, 1783, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, + 0, 0, 326, 312, 313, 314, 315, 316, 1784, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, + 0, 0, 0, 326, 312, 313, 314, 315, 316, 1785, + 317, 318, 319, 320, 321, 322, 323, 324, 325, 0, + 0, 0, 0, 0, 326, 312, 313, 314, 315, 316, + 1786, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 0, 0, 0, 0, 0, 326, 312, 313, 314, 315, + 316, 1787, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 0, 0, 0, 0, 0, 326, 312, 313, 314, + 315, 316, 1788, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 0, 0, 0, 0, 0, 326, 312, 313, + 314, 315, 316, 1789, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 0, 0, 0, 0, 0, 326, 312, + 313, 314, 315, 316, 1824, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 0, 0, 0, 0, 0, 326, + 312, 313, 314, 315, 316, 1832, 317, 318, 319, 320, + 321, 322, 323, 324, 325, 0, 0, 0, 0, 0, + 326, 312, 313, 314, 315, 316, 1833, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 0, 0, 0, 0, + 0, 326, 312, 313, 314, 315, 316, 1834, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, + 0, 0, 326, 312, 313, 314, 315, 316, 1835, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, + 0, 0, 0, 326, 312, 313, 314, 315, 316, 1836, + 317, 318, 319, 320, 321, 322, 323, 324, 325, 0, + 0, 0, 0, 0, 326, 312, 313, 314, 315, 316, + 1837, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 0, 0, 0, 0, 0, 326, 312, 313, 314, 315, + 316, 1838, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 0, 0, 0, 0, 0, 326, 312, 313, 314, + 315, 316, 1839, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 0, 0, 0, 0, 0, 326, 312, 313, + 314, 315, 316, 1840, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 0, 0, 0, 0, 0, 326, 312, + 313, 314, 315, 316, 1841, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 0, 0, 0, 0, 0, 326, + 312, 313, 314, 315, 316, 1842, 317, 318, 319, 320, + 321, 322, 323, 324, 325, 0, 0, 0, 0, 0, + 326, 312, 313, 314, 315, 316, 1843, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 0, 0, 0, 0, + 0, 326, 312, 313, 314, 315, 316, 1844, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, + 0, 0, 326, 312, 313, 314, 315, 316, 1845, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, + 0, 0, 0, 326, 312, 313, 314, 315, 316, 1846, + 317, 318, 319, 320, 321, 322, 323, 324, 325, 0, + 0, 0, 0, 0, 326, 312, 313, 314, 315, 316, + 1847, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 0, 0, 0, 0, 0, 326, 312, 313, 314, 315, + 316, 1848, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 0, 0, 0, 0, 0, 326, 312, 313, 314, + 315, 316, 1849, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 0, 0, 0, 0, 0, 326, 312, 313, + 314, 315, 316, 1887, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 0, 0, 0, 0, 0, 326, 312, + 313, 314, 315, 316, 1888, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 0, 0, 0, 0, 0, 326, + 312, 313, 314, 315, 316, 1889, 317, 318, 319, 320, + 321, 322, 323, 324, 325, 0, 0, 0, 0, 0, + 326, 312, 313, 314, 315, 316, 1890, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 0, 0, 0, 0, + 0, 326, 312, 313, 314, 315, 316, 1891, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, + 0, 0, 326, 312, 313, 314, 315, 316, 1892, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, + 0, 0, 0, 326, 312, 313, 314, 315, 316, 1893, + 317, 318, 319, 320, 321, 322, 323, 324, 325, 0, + 0, 0, 0, 0, 326, 312, 313, 314, 315, 316, + 1894, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 0, 0, 0, 0, 0, 326, 312, 313, 314, 315, + 316, 1895, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 0, 0, 0, 0, 0, 326, 312, 313, 314, + 315, 316, 1896, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 0, 0, 0, 0, 0, 326, 312, 313, + 314, 315, 316, 1897, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 0, 0, 0, 0, 0, 326, 312, + 313, 314, 315, 316, 1898, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 0, 0, 0, 0, 0, 326, + 312, 313, 314, 315, 316, 1899, 317, 318, 319, 320, + 321, 322, 323, 324, 325, 0, 0, 0, 0, 0, + 326, 312, 313, 314, 315, 316, 1900, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 0, 0, 0, 0, + 0, 326, 312, 313, 314, 315, 316, 1901, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, + 0, 0, 326, 312, 313, 314, 315, 316, 1902, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, + 0, 0, 0, 326, 312, 313, 314, 315, 316, 1903, + 317, 318, 319, 320, 321, 322, 323, 324, 325, 0, + 0, 0, 0, 0, 326, 312, 313, 314, 315, 316, + 1904, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 0, 0, 0, 0, 0, 326, 312, 313, 314, 315, + 316, 1936, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 0, 0, 0, 0, 0, 326, 312, 313, 314, + 315, 316, 1937, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 0, 0, 0, 0, 0, 326, 312, 313, + 314, 315, 316, 1938, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 0, 0, 0, 0, 0, 326, 312, + 313, 314, 315, 316, 1939, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 0, 0, 0, 0, 0, 326, + 312, 313, 314, 315, 316, 1940, 317, 318, 319, 320, + 321, 322, 323, 324, 325, 0, 0, 0, 0, 0, + 326, 312, 313, 314, 315, 316, 1941, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 0, 0, 0, 0, + 0, 326, 312, 313, 314, 315, 316, 1942, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, + 0, 0, 326, 312, 313, 314, 315, 316, 1943, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, + 0, 0, 0, 326, 312, 313, 314, 315, 316, 1944, + 317, 318, 319, 320, 321, 322, 323, 324, 325, 0, + 0, 0, 0, 0, 326, 312, 313, 314, 315, 316, + 1945, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 0, 0, 0, 0, 0, 326, 312, 313, 314, 315, + 316, 1946, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 0, 0, 0, 0, 0, 326, 312, 313, 314, + 315, 316, 1947, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 0, 0, 0, 0, 0, 326, 312, 313, + 314, 315, 316, 1948, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 0, 0, 0, 0, 0, 326, 312, + 313, 314, 315, 316, 1949, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 0, 0, 0, 0, 0, 326, + 312, 313, 314, 315, 316, 1950, 317, 318, 319, 320, + 321, 322, 323, 324, 325, 0, 0, 0, 0, 0, + 326, 312, 313, 314, 315, 316, 1974, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 0, 0, 0, 0, + 0, 326, 312, 313, 314, 315, 316, 1975, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, + 0, 0, 326, 312, 313, 314, 315, 316, 1976, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, + 0, 0, 0, 326, 312, 313, 314, 315, 316, 1977, + 317, 318, 319, 320, 321, 322, 323, 324, 325, 0, + 0, 0, 0, 0, 326, 312, 313, 314, 315, 316, + 1978, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 0, 0, 0, 0, 0, 326, 312, 313, 314, 315, + 316, 1979, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 0, 0, 0, 0, 0, 326, 312, 313, 314, + 315, 316, 1980, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 0, 0, 0, 0, 0, 326, 312, 313, + 314, 315, 316, 1981, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 0, 0, 0, 0, 0, 326, 312, + 313, 314, 315, 316, 1982, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 0, 0, 0, 0, 0, 326, + 312, 313, 314, 315, 316, 1983, 317, 318, 319, 320, + 321, 322, 323, 324, 325, 0, 0, 0, 0, 0, + 326, 312, 313, 314, 315, 316, 1984, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 0, 0, 0, 0, + 0, 326, 312, 313, 314, 315, 316, 1985, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, + 0, 0, 326, 312, 313, 314, 315, 316, 1986, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, + 0, 0, 0, 326, 312, 313, 314, 315, 316, 1987, + 317, 318, 319, 320, 321, 322, 323, 324, 325, 0, + 0, 0, 0, 0, 326, 312, 313, 314, 315, 316, + 1988, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 0, 0, 0, 0, 0, 326, 312, 313, 314, 315, + 316, 2018, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 0, 0, 0, 0, 0, 326, 312, 313, 314, + 315, 316, 2019, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 0, 0, 0, 0, 0, 326, 312, 313, + 314, 315, 316, 2020, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 0, 0, 0, 0, 0, 326, 312, + 313, 314, 315, 316, 2021, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 0, 0, 0, 0, 0, 326, + 312, 313, 314, 315, 316, 2022, 317, 318, 319, 320, + 321, 322, 323, 324, 325, 0, 0, 0, 0, 0, + 326, 312, 313, 314, 315, 316, 2023, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 0, 0, 0, 0, + 0, 326, 312, 313, 314, 315, 316, 2024, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, + 0, 0, 326, 312, 313, 314, 315, 316, 2025, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, + 0, 0, 0, 326, 312, 313, 314, 315, 316, 2026, + 317, 318, 319, 320, 321, 322, 323, 324, 325, 0, + 0, 0, 0, 0, 326, 312, 313, 314, 315, 316, + 2027, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 0, 0, 0, 0, 0, 326, 312, 313, 314, 315, + 316, 2028, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 0, 0, 0, 0, 0, 326, 312, 313, 314, + 315, 316, 2029, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 0, 0, 0, 0, 0, 326, 312, 313, + 314, 315, 316, 2030, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 0, 0, 0, 0, 0, 326, 312, + 313, 314, 315, 316, 2031, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 0, 0, 0, 0, 0, 326, + 312, 313, 314, 315, 316, 2032, 317, 318, 319, 320, + 321, 322, 323, 324, 325, 0, 0, 0, 0, 0, + 326, 312, 313, 314, 315, 316, 2062, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 0, 0, 0, 0, + 0, 326, 312, 313, 314, 315, 316, 2063, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, + 0, 0, 326, 312, 313, 314, 315, 316, 2064, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, + 0, 0, 0, 326, 312, 313, 314, 315, 316, 2065, + 317, 318, 319, 320, 321, 322, 323, 324, 325, 0, + 0, 0, 0, 0, 326, 312, 313, 314, 315, 316, + 2066, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 0, 0, 0, 0, 0, 326, 312, 313, 314, 315, + 316, 2067, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 0, 0, 0, 0, 0, 326, 312, 313, 314, + 315, 316, 2068, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 0, 0, 0, 0, 0, 326, 312, 313, + 314, 315, 316, 2069, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 0, 0, 0, 0, 0, 326, 312, + 313, 314, 315, 316, 2070, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 0, 0, 0, 0, 0, 326, + 312, 313, 314, 315, 316, 2093, 317, 318, 319, 320, + 321, 322, 323, 324, 325, 0, 0, 0, 0, 0, + 326, 312, 313, 314, 315, 316, 2094, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 0, 0, 0, 0, + 0, 326, 312, 313, 314, 315, 316, 2095, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, + 0, 0, 326, 312, 313, 314, 315, 316, 2096, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, + 0, 0, 0, 326, 312, 313, 314, 315, 316, 2097, + 317, 318, 319, 320, 321, 322, 323, 324, 325, 0, + 0, 0, 0, 0, 326, 312, 313, 314, 315, 316, + 2098, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 0, 0, 0, 0, 0, 326, 312, 313, 314, 315, + 316, 2099, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 0, 0, 0, 0, 0, 326, 312, 313, 314, + 315, 316, 2100, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 0, 0, 0, 0, 0, 326, 312, 313, + 314, 315, 316, 2101, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 0, 0, 0, 0, 0, 326, 312, + 313, 314, 315, 316, 2135, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 0, 0, 0, 0, 0, 326, + 312, 313, 314, 315, 316, 2136, 317, 318, 319, 320, + 321, 322, 323, 324, 325, 0, 0, 0, 0, 0, + 326, 312, 313, 314, 315, 316, 2137, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 0, 0, 0, 0, + 0, 326, 312, 313, 314, 315, 316, 2138, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, + 0, 0, 326, 312, 313, 314, 315, 316, 2139, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, + 0, 0, 0, 326, 312, 313, 314, 315, 316, 2140, + 317, 318, 319, 320, 321, 322, 323, 324, 325, 0, + 0, 0, 0, 0, 326, 312, 313, 314, 315, 316, + 2141, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 0, 0, 0, 0, 0, 326, 312, 313, 314, 315, + 316, 2142, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 0, 0, 0, 0, 0, 326, 312, 313, 314, + 315, 316, 2143, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 0, 0, 0, 0, 0, 326, 312, 313, + 314, 315, 316, 2165, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 0, 0, 0, 0, 0, 326, 312, + 313, 314, 315, 316, 2166, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 0, 0, 0, 0, 0, 326, + 312, 313, 314, 315, 316, 2167, 317, 318, 319, 320, + 321, 322, 323, 324, 325, 0, 0, 0, 0, 0, + 326, 312, 313, 314, 315, 316, 2168, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 0, 0, 0, 0, + 0, 326, 312, 313, 314, 315, 316, 2169, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, + 0, 0, 326, 312, 313, 314, 315, 316, 2170, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, + 0, 0, 0, 326, 312, 313, 314, 315, 316, 2183, + 317, 318, 319, 320, 321, 322, 323, 324, 325, 0, + 0, 0, 0, 0, 326, 312, 313, 314, 315, 316, + 2184, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 0, 0, 0, 0, 0, 326, 312, 313, 314, 315, + 316, 2185, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 0, 0, 0, 0, 0, 326, 312, 313, 314, + 315, 316, 2186, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 0, 0, 0, 0, 0, 326, 312, 313, + 314, 315, 316, 2187, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 0, 0, 0, 0, 0, 326, 312, + 313, 314, 315, 316, 2188, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 0, 0, 0, 0, 0, 326, + 312, 313, 314, 315, 316, 2204, 317, 318, 319, 320, + 321, 322, 323, 324, 325, 0, 0, 0, 0, 0, + 326, 312, 313, 314, 315, 316, 2205, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 0, 0, 0, 0, + 0, 326, 312, 313, 314, 315, 316, 2206, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, + 0, 0, 326, 312, 313, 314, 315, 316, 2207, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, + 0, 0, 0, 326, 312, 313, 314, 315, 316, 2208, + 317, 318, 319, 320, 321, 322, 323, 324, 325, 0, + 0, 0, 0, 0, 326, 312, 313, 314, 315, 316, + 2209, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 0, 0, 0, 0, 0, 326, 312, 313, 314, 315, + 316, 2228, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 0, 0, 0, 0, 0, 326, 312, 313, 314, + 315, 316, 2229, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 0, 0, 0, 0, 0, 326, 312, 313, + 314, 315, 316, 2230, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 0, 0, 0, 0, 0, 326, 312, + 313, 314, 315, 316, 2240, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 0, 0, 0, 0, 0, 326, + 312, 313, 314, 315, 316, 2241, 317, 318, 319, 320, + 321, 322, 323, 324, 325, 0, 0, 0, 0, 0, + 326, 312, 313, 314, 315, 316, 2242, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 0, 0, 0, 0, + 0, 326, 312, 313, 314, 315, 316, 2255, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, + 0, 0, 326, 312, 313, 314, 315, 316, 2256, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, + 0, 0, 0, 326, 312, 313, 314, 315, 316, 2257, + 317, 318, 319, 320, 321, 322, 323, 324, 325, 0, + 0, 0, 0, 0, 326, 312, 313, 314, 315, 316, + 2273, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 0, 0, 0, 0, 0, 326, 312, 313, 314, 315, + 316, 2274, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 0, 0, 0, 0, 0, 326, 312, 313, 314, + 315, 316, 2275, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 0, 0, 0, 0, 0, 326, 312, 313, + 314, 315, 316, 2279, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 0, 0, 0, 0, 0, 326, 312, + 313, 314, 315, 316, 2280, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 0, 0, 0, 0, 0, 326, + 312, 313, 314, 315, 316, 2281, 317, 318, 319, 320, + 321, 322, 323, 324, 325, 0, 0, 0, 0, 0, + 326, 312, 313, 314, 315, 316, 2285, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 0, 0, 0, 0, + 0, 326, 312, 313, 314, 315, 316, 2286, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, + 0, 0, 326, 312, 313, 314, 315, 316, 2287, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, + 0, 0, 0, 326, 0, 0, 0, 680, 312, 313, + 314, 315, 316, 0, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 0, 0, 0, 0, 0, 326, 0, + 0, 0, 682, 312, 313, 314, 315, 316, 0, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, + 0, 0, 0, 326, 0, 0, 0, 684, 312, 313, + 314, 315, 316, 0, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 0, 0, 0, 0, 0, 326, 0, + 0, 0, 686, 312, 313, 314, 315, 316, 0, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, + 0, 0, 0, 326, 0, 0, 0, 688, 312, 313, + 314, 315, 316, 0, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 0, 0, 0, 0, 0, 326, 0, + 0, 0, 690, 312, 313, 314, 315, 316, 0, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, + 0, 0, 0, 326, 0, 0, 0, 692, 312, 313, + 314, 315, 316, 0, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 0, 0, 0, 0, 0, 326, 0, + 0, 0, 694, 312, 313, 314, 315, 316, 0, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, + 0, 0, 0, 326, 0, 0, 0, 696, 312, 313, + 314, 315, 316, 0, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 0, 0, 0, 0, 0, 326, 0, + 0, 0, 698, 312, 313, 314, 315, 316, 0, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, + 0, 0, 0, 326, 0, 0, 0, 700, 312, 313, + 314, 315, 316, 0, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 0, 0, 0, 0, 0, 326, 0, + 0, 0, 704, 312, 313, 314, 315, 316, 0, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, + 0, 0, 0, 326, 0, 0, 0, 706, 312, 313, + 314, 315, 316, 0, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 0, 0, 0, 0, 0, 326, 0, + 0, 0, 708, 312, 313, 314, 315, 316, 0, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, + 0, 0, 0, 326, 0, 0, 0, 710, 312, 313, + 314, 315, 316, 0, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 0, 0, 0, 0, 0, 326, 0, + 0, 0, 712, 312, 313, 314, 315, 316, 0, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, + 0, 0, 0, 326, 0, 0, 0, 714, 312, 313, + 314, 315, 316, 0, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 0, 0, 0, 0, 0, 326, 0, + 0, 0, 783, 312, 313, 314, 315, 316, 0, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, + 0, 0, 0, 326, 0, 0, 0, 789, 312, 313, + 314, 315, 316, 0, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 0, 0, 0, 0, 0, 326, 0, + 0, 0, 880, 312, 313, 314, 315, 316, 0, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, + 0, 0, 0, 326, 0, 0, 0, 1024, 312, 313, + 314, 315, 316, 0, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 0, 0, 0, 0, 0, 326, 0, + 0, 0, 1026, 312, 313, 314, 315, 316, 0, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, + 0, 0, 0, 326, 0, 0, 0, 1028, 312, 313, + 314, 315, 316, 0, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 0, 0, 0, 0, 0, 326, 0, + 0, 0, 1030, 312, 313, 314, 315, 316, 0, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, + 0, 0, 0, 326, 0, 0, 0, 1031, 312, 313, + 314, 315, 316, 0, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 0, 0, 0, 0, 0, 326, 0, + 0, 0, 1170, 312, 313, 314, 315, 316, 0, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, + 0, 0, 0, 326, 0, 487, 312, 313, 314, 315, + 316, 0, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 0, 0, 0, 0, 0, 326, 0, 517, 312, + 313, 314, 315, 316, 0, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 0, 0, 0, 0, 0, 326, + 0, 518, 312, 313, 314, 315, 316, 0, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, + 0, 0, 326, 0, 519, 312, 313, 314, 315, 316, + 0, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 0, 0, 0, 0, 0, 326, 0, 521, 312, 313, + 314, 315, 316, 0, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 0, 0, 0, 0, 0, 326, 0, + 523, 312, 313, 314, 315, 316, 0, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 0, 0, 0, 0, + 0, 326, 0, 524, 312, 313, 314, 315, 316, 0, + 317, 318, 319, 320, 321, 322, 323, 324, 325, 0, + 0, 0, 0, 0, 326, 0, 532, 312, 313, 314, + 315, 316, 0, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 0, 0, 0, 0, 0, 326, 0, 573, + 312, 313, 314, 315, 316, 0, 317, 318, 319, 320, + 321, 322, 323, 324, 325, 0, 0, 0, 0, 0, + 326, 0, 574, 312, 313, 314, 315, 316, 0, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, + 0, 0, 0, 326, 0, 577, 312, 313, 314, 315, + 316, 0, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 0, 0, 0, 0, 0, 326, 0, 583, 312, + 313, 314, 315, 316, 0, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 0, 0, 0, 0, 0, 326, + 0, 679, 312, 313, 314, 315, 316, 0, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, + 0, 0, 326, 0, 681, 312, 313, 314, 315, 316, + 0, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 0, 0, 0, 0, 0, 326, 0, 683, 312, 313, + 314, 315, 316, 0, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 0, 0, 0, 0, 0, 326, 0, + 685, 312, 313, 314, 315, 316, 0, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 0, 0, 0, 0, + 0, 326, 0, 687, 312, 313, 314, 315, 316, 0, + 317, 318, 319, 320, 321, 322, 323, 324, 325, 0, + 0, 0, 0, 0, 326, 0, 689, 312, 313, 314, + 315, 316, 0, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 0, 0, 0, 0, 0, 326, 0, 691, + 312, 313, 314, 315, 316, 0, 317, 318, 319, 320, + 321, 322, 323, 324, 325, 0, 0, 0, 0, 0, + 326, 0, 693, 312, 313, 314, 315, 316, 0, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, + 0, 0, 0, 326, 0, 695, 312, 313, 314, 315, + 316, 0, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 0, 0, 0, 0, 0, 326, 0, 697, 312, + 313, 314, 315, 316, 0, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 0, 0, 0, 0, 0, 326, + 0, 699, 312, 313, 314, 315, 316, 0, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, + 0, 0, 326, 0, 703, 312, 313, 314, 315, 316, + 0, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 0, 0, 0, 0, 0, 326, 0, 705, 312, 313, + 314, 315, 316, 0, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 0, 0, 0, 0, 0, 326, 0, + 707, 312, 313, 314, 315, 316, 0, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 0, 0, 0, 0, + 0, 326, 0, 709, 312, 313, 314, 315, 316, 0, + 317, 318, 319, 320, 321, 322, 323, 324, 325, 0, + 0, 0, 0, 0, 326, 0, 711, 312, 313, 314, + 315, 316, 0, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 0, 0, 0, 0, 0, 326, 0, 713, + 312, 313, 314, 315, 316, 0, 317, 318, 319, 320, + 321, 322, 323, 324, 325, 0, 0, 0, 0, 0, + 326, 0, 747, 312, 313, 314, 315, 316, 0, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, + 0, 0, 0, 326, 0, 749, 312, 313, 314, 315, + 316, 0, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 0, 0, 0, 0, 0, 326, 0, 762, 312, + 313, 314, 315, 316, 0, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 0, 0, 0, 0, 0, 326, + 0, 763, 312, 313, 314, 315, 316, 0, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, + 0, 0, 326, 0, 764, 312, 313, 314, 315, 316, + 0, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 0, 0, 0, 0, 0, 326, 0, 768, 312, 313, + 314, 315, 316, 0, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 0, 0, 0, 0, 0, 326, 0, + 769, 312, 313, 314, 315, 316, 0, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 0, 0, 0, 0, + 0, 326, 0, 770, 312, 313, 314, 315, 316, 0, + 317, 318, 319, 320, 321, 322, 323, 324, 325, 0, + 0, 0, 0, 0, 326, 0, 771, 312, 313, 314, + 315, 316, 0, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 0, 0, 0, 0, 0, 326, 0, 772, + 312, 313, 314, 315, 316, 0, 317, 318, 319, 320, + 321, 322, 323, 324, 325, 0, 0, 0, 0, 0, + 326, 0, 795, 312, 313, 314, 315, 316, 0, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, + 0, 0, 0, 326, 0, 802, 312, 313, 314, 315, + 316, 0, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 0, 0, 0, 0, 0, 326, 0, 1023, 312, + 313, 314, 315, 316, 0, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 0, 0, 0, 0, 0, 326, + 0, 1025, 312, 313, 314, 315, 316, 0, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, + 0, 0, 326, 0, 1027, 312, 313, 314, 315, 316, + 0, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 0, 0, 0, 0, 0, 326, 0, 1029, 312, 313, + 314, 315, 316, 0, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 0, 0, 0, 0, 0, 326, 0, + 1093, 312, 313, 314, 315, 316, 0, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 0, 0, 0, 0, + 0, 326, 0, 1194, 312, 313, 314, 315, 316, 0, + 317, 318, 319, 320, 321, 322, 323, 324, 325, 0, + 0, 0, 0, 0, 326, 0, 1223, 312, 313, 314, + 315, 316, 0, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 0, 0, 0, 0, 0, 326, 0, 1326, + 312, 313, 314, 315, 316, 0, 317, 318, 319, 320, + 321, 322, 323, 324, 325, 0, 0, 0, 0, 0, + 326, 0, 1330, 312, 313, 314, 315, 316, 0, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, + 0, 0, 0, 326, 0, 1332, 312, 313, 314, 315, + 316, 0, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 0, 0, 0, 0, 0, 326, 0, 1450, 312, + 313, 314, 315, 316, 0, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 0, 0, 0, 0, 0, 326, + 0, 1479, 312, 313, 314, 315, 316, 0, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, + 0, 0, 326, 0, 1481, 312, 313, 314, 315, 316, + 0, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 0, 0, 0, 0, 0, 326, 0, 1483, 312, 313, + 314, 315, 316, 0, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 0, 0, 0, 0, 0, 326, 0, + 1485, 312, 313, 314, 315, 316, 0, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 0, 0, 0, 0, + 0, 326, 0, 1486, 312, 313, 314, 315, 316, 0, + 317, 318, 319, 320, 321, 322, 323, 324, 325, 0, + 0, 0, 0, 0, 326, 0, 1487, 312, 313, 314, + 315, 316, 0, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 0, 0, 0, 0, 0, 326, 0, 1509, + 312, 313, 314, 315, 316, 0, 317, 318, 319, 320, + 321, 322, 323, 324, 325, 0, 0, 0, 0, 0, + 326, 0, 1614, 312, 313, 314, 315, 316, 0, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, + 0, 0, 0, 326, 0, 1769, 312, 313, 314, 315, + 316, 0, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 0, 0, 0, 0, 0, 326, 0, 1770, 312, + 313, 314, 315, 316, 0, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 0, 0, 0, 0, 0, 326, + 0, 1771, 312, 313, 314, 315, 316, 0, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, + 0, 0, 326, 0, 1933, 312, 313, 314, 315, 316, + 0, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 0, 0, 0, 0, 0, 326, 0, 1934, 312, 313, + 314, 315, 316, 0, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 0, 0, 0, 0, 0, 326, 0, + 1935, 312, 313, 314, 315, 316, 0, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 0, 0, 0, 0, + 0, 326, 0, 2056, 312, 313, 314, 315, 316, 0, + 317, 318, 319, 320, 321, 322, 323, 324, 325, 0, + 0, 0, 0, 0, 326, 0, 2057, 312, 313, 314, + 315, 316, 0, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 0, 0, 0, 0, 0, 326, 0, 2058, + 312, 313, 314, 315, 316, 0, 317, 318, 319, 320, + 321, 322, 323, 324, 325, 0, 0, 0, 0, 0, + 326, 0, 2059, 312, 313, 314, 315, 316, 0, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, + 0, 0, 0, 326, 0, 2060, 312, 313, 314, 315, + 316, 0, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 0, 0, 0, 0, 0, 326, 0, 2061, 312, + 313, 314, 315, 316, 0, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 0, 0, 0, 0, 0, 326, + 0, 2171, 312, 313, 314, 315, 316, 0, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, + 0, 0, 326, 0, 2172, 312, 313, 314, 315, 316, + 0, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 0, 0, 0, 0, 0, 326, 0, 2173, 312, 313, + 314, 315, 316, 0, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 0, 0, 0, 0, 0, 326, 0, + 2231, 312, 313, 314, 315, 316, 0, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 0, 0, 0, 0, + 0, 326, 0, 2232, 312, 313, 314, 315, 316, 0, + 317, 318, 319, 320, 321, 322, 323, 324, 325, 0, + 0, 0, 0, 0, 326, 0, 2233, 312, 313, 314, + 315, 316, 0, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 0, 0, 0, 0, 0, 326, 0, 2291, + 312, 313, 314, 315, 316, 0, 317, 318, 319, 320, + 321, 322, 323, 324, 325, 0, 0, 0, 0, 0, + 326, 0, 2292, 312, 313, 314, 315, 316, 0, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, + 0, 0, 0, 326, 0, 2293 }; static const short yycheck[] = { 23, - 23, 361, 7, 92, 7, 298, 725, 4, 180, 4, - 4, 4, 184, 3, 44, 45, 42, 332, 6, 65, - 4, 287, 288, 289, 6, 66, 65, 4, 7, 1286, - 71, 1288, 4, 1195, 1364, 103, 65, 6, 1368, 66, - 4, 1371, 38, 6, 71, 41, 42, 66, 66, 166, - 66, 84, 71, 71, 1094, 71, 7, 4, 5, 185, - 186, 5, 66, 1103, 66, 185, 186, 71, 38, 71, - 1110, 41, 42, 6, 44, 66, 202, 66, 185, 186, - 71, 201, 71, 203, 185, 186, 49, 34, 35, 36, - 34, 35, 36, 196, 201, 6, 203, 185, 186, 202, - 201, 6, 203, 185, 186, 129, 130, 131, 196, 196, - 134, 135, 196, 137, 202, 185, 186, 6, 202, 201, - 144, 145, 146, 296, 148, 5, 150, 151, 196, 153, - 192, 193, 202, 117, 106, 107, 198, 167, 200, 169, - 1302, 38, 106, 107, 41, 175, 170, 171, 185, 186, - 196, 6, 192, 193, 34, 35, 36, 196, 877, 332, - 200, 196, 203, 202, 196, 202, 190, 191, 196, 193, - 196, 195, 205, 202, 198, 199, 203, 197, 66, 185, - 186, 201, 7, 71, 203, 203, 196, 203, 198, 482, - 505, 197, 171, 172, 173, 174, 186, 185, 186, 203, - 6, 203, 517, 185, 186, 202, 65, 202, 202, 202, - 382, 8, 203, 243, 203, 196, 240, 483, 202, 196, - 196, 245, 246, 247, 248, 249, 250, 251, 252, 253, + 95, 369, 87, 7, 23, 7, 306, 340, 739, 4, + 4, 4, 4, 1111, 44, 45, 4, 65, 7, 5, + 4, 6, 1120, 5, 42, 65, 6, 1213, 66, 1127, + 3, 103, 7, 71, 4, 1304, 4, 1306, 168, 6, + 66, 5, 65, 4, 5, 71, 68, 69, 34, 35, + 36, 66, 34, 35, 36, 66, 71, 66, 66, 304, + 71, 6, 71, 71, 199, 183, 187, 188, 203, 187, + 34, 35, 36, 34, 35, 36, 187, 188, 199, 1382, + 187, 188, 49, 1386, 187, 188, 1389, 198, 5, 66, + 208, 7, 210, 204, 71, 340, 203, 198, 205, 200, + 203, 198, 205, 187, 188, 187, 188, 204, 132, 133, + 134, 199, 6, 137, 138, 203, 140, 34, 35, 36, + 204, 203, 117, 147, 148, 149, 198, 151, 213, 153, + 154, 198, 156, 200, 1320, 198, 106, 107, 106, 107, + 170, 204, 172, 6, 187, 188, 187, 188, 178, 173, + 174, 187, 188, 187, 188, 199, 204, 6, 198, 203, + 203, 892, 205, 204, 204, 199, 66, 205, 204, 193, + 194, 71, 196, 7, 198, 198, 6, 201, 202, 205, + 198, 194, 195, 516, 173, 174, 175, 176, 7, 202, + 205, 194, 195, 493, 205, 528, 205, 205, 173, 174, + 175, 176, 187, 188, 6, 194, 195, 187, 188, 204, + 204, 204, 204, 202, 198, 188, 204, 198, 204, 194, + 195, 251, 204, 1321, 248, 56, 57, 1325, 205, 253, 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, 1303, 7, 185, 186, 1307, 196, 1599, - 197, 196, 296, 1603, 201, 298, 1606, 197, 6, 7, - 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, - 314, 315, 316, 317, 318, 8, 41, 42, 1555, 44, - 324, 1558, 326, 1560, 6, 7, 197, 331, 332, 1028, - 201, 196, 192, 193, 185, 186, 340, 341, 342, 343, - 200, 345, 346, 347, 348, 349, 350, 351, 358, 359, - 201, 196, 505, 7, 185, 186, 185, 186, 46, 363, - 364, 365, 366, 609, 517, 369, 171, 172, 173, 174, - 201, 196, 201, 198, 378, 360, 361, 360, 361, 42, - 197, 185, 186, 387, 201, 197, 1696, 192, 193, 201, - 1700, 198, 1702, 200, 196, 200, 198, 201, 175, 176, - 177, 178, 179, 42, 181, 182, 183, 184, 185, 186, - 187, 188, 189, 1650, 42, 710, 197, 1654, 195, 1656, - 201, 196, 425, 198, 185, 186, 203, 185, 186, 185, - 186, 196, 6, 198, 44, 1455, 1456, 1457, 1458, 3, - 201, 42, 1462, 201, 739, 201, 185, 186, 171, 172, - 173, 174, 196, 6, 185, 186, 187, 188, 189, 202, - 192, 193, 201, 42, 195, 711, 198, 202, 200, 192, - 193, 475, 192, 193, 478, 770, 771, 772, 6, 482, - 484, 55, 175, 176, 177, 178, 179, 6, 181, 182, - 183, 184, 185, 186, 187, 188, 189, 192, 193, 6, - 4, 505, 195, 198, 197, 200, 187, 188, 189, 6, - 514, 515, 196, 517, 195, 519, 520, 171, 172, 173, - 174, 196, 526, 192, 193, 535, 196, 6, 198, 198, - 196, 200, 536, 537, 196, 196, 198, 198, 192, 193, - 196, 545, 198, 56, 57, 1565, 1566, 42, 196, 1569, - 198, 3, 556, 59, 60, 61, 62, 710, 64, 196, - 4, 198, 715, 567, 4, 569, 570, 196, 5, 198, - 1269, 196, 196, 137, 138, 139, 140, 141, 142, 143, - 144, 122, 123, 124, 125, 126, 739, 196, 196, 198, - 198, 196, 196, 198, 198, 6, 869, 870, 196, 196, - 895, 175, 176, 177, 178, 179, 609, 181, 182, 183, - 184, 185, 186, 187, 188, 189, 5, 770, 771, 772, - 196, 195, 175, 176, 177, 178, 179, 6, 181, 182, - 183, 184, 185, 186, 187, 188, 189, 196, 6, 198, - 1660, 196, 195, 198, 196, 196, 198, 175, 176, 177, - 178, 179, 202, 181, 182, 183, 184, 185, 186, 187, - 188, 189, 196, 196, 198, 198, 196, 195, 175, 176, - 177, 178, 179, 196, 181, 182, 183, 184, 185, 186, - 187, 188, 189, 687, 688, 201, 196, 203, 195, 201, - 201, 203, 203, 201, 196, 203, 196, 701, 702, 703, - 704, 705, 706, 707, 202, 196, 710, 6, 201, 196, - 203, 715, 202, 201, 718, 203, 201, 201, 203, 203, - 730, 196, 1062, 727, 201, 201, 203, 203, 201, 1749, - 203, 201, 201, 203, 203, 739, 201, 741, 203, 201, - 4, 203, 895, 201, 201, 203, 203, 201, 201, 203, - 203, 201, 821, 203, 202, 202, 766, 767, 768, 201, - 201, 203, 203, 201, 198, 203, 770, 771, 772, 202, - 198, 775, 776, 6, 1020, 779, 201, 201, 203, 203, - 6, 201, 792, 203, 6, 200, 790, 791, 202, 109, - 1810, 801, 201, 201, 203, 203, 175, 176, 177, 178, - 179, 6, 181, 182, 183, 184, 185, 186, 187, 188, - 189, 201, 1058, 203, 5, 201, 195, 203, 201, 201, - 203, 203, 826, 827, 828, 829, 830, 831, 832, 833, - 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, - 844, 845, 846, 847, 848, 849, 850, 851, 177, 178, - 179, 196, 181, 182, 183, 184, 185, 186, 187, 188, - 189, 201, 865, 203, 201, 196, 195, 870, 201, 201, - 203, 203, 196, 201, 878, 203, 175, 176, 177, 178, - 179, 196, 181, 182, 183, 184, 185, 186, 187, 188, - 189, 895, 201, 897, 203, 899, 195, 178, 179, 196, - 181, 182, 183, 184, 185, 186, 187, 188, 189, 196, - 914, 915, 916, 196, 195, 181, 182, 183, 184, 185, - 186, 187, 188, 189, 196, 196, 196, 940, 196, 195, - 197, 935, 936, 937, 196, 196, 196, 196, 196, 196, - 1280, 196, 175, 176, 177, 178, 179, 196, 181, 182, - 183, 184, 185, 186, 187, 188, 189, 196, 196, 196, - 196, 196, 195, 4, 196, 196, 196, 196, 196, 196, - 3, 4, 196, 1993, 195, 978, 9, 10, 11, 12, - 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, - 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, - 201, 7, 200, 7, 7, 38, 202, 7, 197, 6, - 104, 7, 7, 106, 202, 167, 5, 1021, 5, 5, - 5, 5, 5, 1033, 5, 5, 59, 60, 61, 62, - 63, 64, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 1047, 1048, 1049, 5, 1116, 5, 5, - 5, 155, 5, 1063, 1058, 1065, 5, 1067, 5, 5, - 3, 5, 201, 5, 197, 6, 5, 4, 1072, 1073, - 6, 6, 1085, 7, 7, 7, 7, 1062, 7, 1062, - 1084, 7, 7, 1087, 200, 203, 203, 6, 202, 202, - 7, 7, 7, 1097, 196, 200, 168, 5, 201, 199, - 1104, 1105, 1106, 201, 201, 201, 201, 1111, 7, 201, - 201, 1115, 201, 201, 201, 1119, 1120, 1121, 1122, 1123, - 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, - 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, - 1144, 201, 201, 201, 201, 201, 201, 201, 201, 201, - 201, 201, 185, 186, 201, 201, 1160, 201, 191, 201, - 6, 201, 201, 196, 201, 201, 201, 197, 196, 202, - 201, 196, 196, 196, 1178, 196, 196, 196, 175, 176, - 177, 178, 179, 196, 181, 182, 183, 184, 185, 186, - 187, 188, 189, 4, 1207, 3, 4, 1201, 195, 1203, - 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, 3, 4, 6, 202, 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, 7, 175, 176, 177, 178, - 179, 7, 181, 182, 183, 184, 185, 186, 187, 188, - 189, 1275, 196, 1283, 196, 1285, 195, 1287, 196, 1283, - 7, 1285, 196, 1287, 196, 1289, 1290, 196, 198, 196, - 196, 196, 1296, 196, 196, 1280, 196, 1280, 196, 196, - 196, 1305, 196, 196, 196, 7, 7, 7, 7, 1313, - 7, 7, 7, 7, 1318, 7, 7, 1321, 4, 1323, - 1324, 1325, 1326, 1327, 1328, 1329, 1330, 1331, 1332, 1333, - 1334, 1335, 1336, 1337, 1338, 1339, 1340, 1341, 1342, 1343, - 1344, 1345, 1346, 1347, 1348, 6, 6, 164, 1358, 1595, - 7, 1355, 4, 1357, 1358, 1359, 7, 3, 3, 3, - 187, 3, 3, 3, 3, 3, 3, 3, 1381, 3, - 3, 3, 3, 197, 197, 5, 5, 185, 186, 3, - 3, 6, 4, 191, 200, 6, 196, 7, 196, 6, - 6, 199, 6, 6, 202, 6, 6, 202, 6, 105, - 202, 201, 201, 197, 201, 197, 201, 185, 186, 197, - 201, 201, 201, 191, 197, 197, 201, 201, 196, 6, - 201, 199, 6, 4, 202, 197, 201, 201, 201, 197, - 6, 201, 201, 1437, 201, 201, 201, 201, 201, 1443, - 200, 1454, 1446, 6, 6, 1691, 6, 1693, 199, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 1470, 1471, 1472, 1473, - 1474, 1475, 1476, 1477, 1478, 1479, 1480, 1481, 1482, 1483, - 1484, 1485, 1486, 1487, 1488, 1489, 1490, 7, 1492, 3, - 105, 6, 3, 6, 187, 3, 175, 176, 177, 178, - 179, 1514, 181, 182, 183, 184, 185, 186, 187, 188, - 189, 6, 6, 6, 3, 6, 195, 3, 6, 6, - 4, 3, 4, 6, 203, 3, 1772, 9, 10, 11, - 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, - 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, 3, 3, 6, 8, 202, 6, 6, 201, 7, - 6, 6, 102, 164, 6, 200, 3, 1571, 1572, 1573, - 1574, 1575, 1576, 1577, 1578, 1579, 1580, 1581, 1582, 1583, - 1584, 1585, 1586, 1587, 1588, 1589, 1590, 1591, 1592, 1593, - 1594, 203, 199, 202, 197, 197, 202, 202, 1611, 175, - 176, 177, 178, 179, 8, 181, 182, 183, 184, 185, - 186, 187, 188, 189, 202, 201, 201, 197, 201, 195, - 152, 175, 176, 177, 178, 179, 158, 181, 182, 183, - 184, 185, 186, 187, 188, 189, 201, 201, 197, 197, - 201, 195, 107, 105, 6, 6, 1659, 3, 6, 181, - 169, 6, 6, 6, 1658, 187, 188, 6, 197, 197, - 1664, 6, 1666, 197, 1668, 201, 1670, 1671, 1672, 1673, - 1674, 1675, 1676, 1677, 1678, 1679, 1680, 1681, 1682, 1683, - 1684, 1685, 1686, 1687, 1688, 1689, 1690, 175, 176, 177, - 178, 179, 1705, 181, 182, 183, 184, 185, 186, 187, - 188, 189, 3, 185, 186, 203, 6, 195, 5, 191, - 6, 5, 202, 6, 196, 6, 8, 199, 203, 6, - 202, 175, 176, 177, 178, 179, 202, 181, 182, 183, - 184, 185, 186, 187, 188, 189, 6, 201, 201, 197, - 201, 195, 1746, 1747, 201, 201, 201, 6, 6, 6, - 1754, 1755, 1756, 1757, 1758, 1759, 1760, 1761, 1762, 1763, - 1764, 1765, 1766, 1767, 1768, 1769, 1770, 1771, 197, 197, - 201, 175, 176, 177, 178, 179, 6, 181, 182, 183, - 184, 185, 186, 187, 188, 189, 6, 6, 6, 6, - 6, 195, 6, 6, 6, 5, 5, 202, 201, 201, - 8, 202, 1806, 202, 201, 203, 201, 1811, 1812, 1813, - 1814, 1815, 1816, 1817, 1818, 1819, 1820, 1821, 1822, 1823, - 1824, 1825, 1826, 1827, 1828, 1829, 1830, 1831, 197, 3, - 4, 197, 202, 201, 201, 9, 10, 11, 12, 13, - 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, 1863, - 202, 1865, 202, 1867, 202, 1869, 1870, 1871, 1872, 1873, - 1874, 1875, 1876, 1877, 1878, 1879, 1880, 1881, 1882, 1883, - 1884, 1885, 1886, 175, 176, 177, 178, 179, 201, 181, - 182, 183, 184, 185, 186, 187, 188, 189, 6, 6, - 6, 6, 102, 195, 164, 6, 6, 5, 5, 197, - 6, 197, 202, 8, 1918, 1919, 1920, 1921, 1922, 1923, - 1924, 1925, 1926, 1927, 1928, 1929, 1930, 1931, 1932, 202, - 202, 6, 203, 202, 201, 201, 6, 202, 6, 203, - 102, 6, 6, 6, 6, 477, 6, 6, 6, 1953, - 1954, 1955, 1956, 1957, 1958, 1959, 1960, 1961, 1962, 1963, - 1964, 1965, 1966, 1967, 1968, 1969, 1970, 175, 176, 177, - 178, 179, 203, 181, 182, 183, 184, 185, 186, 187, - 188, 189, 6, 6, 6, 6, 201, 195, 6, 170, - 1994, 202, 1996, 6, 1998, 201, 2000, 2001, 2002, 2003, - 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, - 2014, 185, 186, 201, 201, 197, 202, 191, 202, 202, - 6, 201, 196, 6, 6, 6, 6, 202, 202, 201, - 201, 6, 202, 202, 201, 6, 6, 197, 6, 202, - 2044, 2045, 2046, 2047, 2048, 2049, 2050, 2051, 2052, 202, - 202, 202, 202, 202, 6, 6, 6, 6, 6, 6, - 202, 202, 202, 6, 6, 2069, 2070, 2071, 2072, 2073, - 2074, 2075, 2076, 2077, 2078, 2079, 2080, 2081, 2082, 2083, - 175, 176, 177, 178, 179, 6, 181, 182, 183, 184, - 185, 186, 187, 188, 189, 6, 6, 6, 202, 202, - 195, 2105, 6, 2107, 6, 2109, 6, 2111, 202, 2113, - 202, 2115, 202, 2117, 2118, 2119, 2120, 2121, 2122, 2123, - 2124, 2125, 175, 176, 177, 178, 179, 0, 181, 182, - 183, 184, 185, 186, 187, 188, 189, 0, 611, 7, - 7, 202, 195, 2147, 2148, 2149, 2150, 2151, 2152, 1024, - 203, 1078, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 2165, 2166, 2167, 2168, 2169, 2170, 2171, 2172, 2173, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 2186, 2187, 2188, 2189, 2190, 2191, 2192, -1, - 2194, -1, 2196, -1, -1, -1, -1, -1, -1, 731, - 732, -1, 734, -1, 736, 737, 2210, 2211, 2212, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 2222, 2223, - 2224, 2225, 2226, 2227, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 2237, 2238, 2239, 2240, -1, 2242, -1, - 2244, -1, -1, -1, -1, 777, 778, -1, -1, 781, - -1, 2255, 2256, 2257, -1, -1, -1, 2261, 2262, 2263, - -1, -1, -1, 2267, 2268, 2269, 798, 799, -1, -1, - -1, -1, 804, 805, -1, 2279, 2280, 2281, -1, 811, - -1, 813, -1, -1, 2288, -1, 2290, -1, 2292, 3, - 4, -1, -1, -1, -1, 9, 10, 11, 12, 13, + 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 294, 516, 390, 295, 296, 297, 198, 194, 195, 66, + 304, 65, 204, 528, 71, 202, 3, 306, 312, 313, + 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 326, 198, 1573, 205, 66, 1576, 332, 1578, + 334, 71, 198, 1044, 1617, 339, 340, 198, 1621, 200, + 198, 1624, 187, 188, 348, 349, 350, 351, 6, 353, + 354, 355, 356, 357, 358, 359, 366, 367, 203, 173, + 174, 175, 176, 187, 188, 6, 7, 371, 372, 373, + 374, 6, 7, 377, 173, 174, 175, 176, 198, 203, + 194, 195, 386, 198, 368, 369, 368, 369, 42, 187, + 188, 395, 187, 188, 198, 1473, 1474, 1475, 1476, 187, + 188, 38, 1480, 46, 41, 203, 187, 188, 203, 198, + 8, 724, 187, 188, 199, 203, 187, 188, 203, 1668, + 199, 198, 203, 1672, 203, 1674, 38, 42, 203, 41, + 42, 1714, 203, 194, 195, 1718, 198, 1720, 437, 200, + 753, 202, 139, 140, 141, 142, 143, 144, 145, 146, + 177, 178, 179, 180, 181, 42, 183, 184, 185, 186, + 187, 188, 189, 190, 191, 205, 42, 189, 190, 191, + 197, 784, 785, 786, 787, 197, 203, 44, 205, 199, + 8, 198, 486, 203, 42, 489, 187, 188, 189, 190, + 191, 495, 494, 198, 493, 200, 197, 41, 42, 724, + 44, 204, 194, 195, 729, 1583, 1584, 4, 200, 1587, + 202, 198, 516, 200, 198, 204, 200, 194, 195, 6, + 6, 525, 526, 200, 528, 202, 530, 531, 753, 194, + 195, 198, 198, 537, 200, 200, 546, 202, 198, 198, + 200, 200, 38, 547, 548, 41, 42, 198, 44, 200, + 198, 198, 556, 59, 60, 61, 62, 6, 64, 784, + 785, 786, 787, 4, 568, 124, 125, 126, 127, 128, + 198, 198, 200, 200, 42, 579, 1287, 581, 582, 177, + 178, 179, 180, 181, 4, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 198, 3, 200, 910, 198, 197, + 1678, 198, 5, 200, 884, 885, 198, 205, 183, 184, + 185, 186, 187, 188, 189, 190, 191, 198, 198, 3, + 4, 623, 197, 6, 623, 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, 3, 4, 5, -1, 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, 887, -1, 889, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 900, 901, - 902, -1, -1, -1, 906, 907, 908, 909, 910, 911, - 912, 3, 4, -1, -1, -1, -1, 9, 10, 11, + 24, 25, 26, 27, 28, 29, 30, 31, 32, 177, + 178, 179, 180, 181, 38, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 198, 198, 200, 200, 198, 197, + 200, 199, 198, 6, 200, 59, 60, 61, 62, 63, + 64, 198, 198, 200, 200, 910, 198, 198, 200, 1767, + 198, 200, 6, 202, 5, 4, 198, 701, 702, 203, + 203, 205, 205, 203, 203, 205, 205, 198, 203, 198, + 205, 715, 716, 717, 718, 719, 720, 721, 198, 203, + 724, 205, 203, 725, 205, 729, 204, 203, 732, 205, + 1078, 203, 198, 205, 744, 204, 203, 741, 205, 204, + 203, 55, 205, 203, 203, 205, 205, 204, 204, 753, + 1828, 755, 203, 203, 205, 205, 203, 203, 205, 205, + 203, 836, 205, 203, 203, 205, 205, 203, 200, 205, + 780, 781, 782, 203, 203, 205, 205, 203, 200, 205, + 784, 785, 786, 787, 6, 198, 790, 791, 204, 203, + 794, 205, 203, 203, 205, 205, 203, 807, 205, 6, + 6, 805, 806, 187, 188, 203, 816, 205, 203, 193, + 205, 203, 198, 205, 198, 177, 178, 179, 180, 181, + 204, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 203, 203, 205, 205, 203, 197, 205, 841, 842, 843, + 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, + 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, + 864, 865, 866, 177, 178, 179, 180, 181, 198, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 203, 6, + 205, 880, 203, 197, 205, 203, 885, 205, 203, 893, + 205, 956, 202, 179, 180, 181, 204, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 910, 109, 912, 6, + 914, 197, 180, 181, 198, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 6, 929, 930, 931, 6, 197, + 5, 198, 198, 2011, 198, 198, 198, 198, 198, 198, + 198, 198, 198, 198, 198, 198, 198, 951, 952, 953, + 1298, 198, 198, 198, 198, 177, 178, 179, 180, 181, + 198, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 177, 178, 179, 180, 181, 197, 183, 184, 185, 186, + 187, 188, 189, 190, 191, 198, 198, 198, 198, 198, + 197, 3, 4, 198, 198, 994, 199, 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, 176, 177, 178, 179, 38, 181, 182, 183, - 184, 185, 186, 187, 188, 189, -1, -1, -1, -1, - -1, 195, -1, -1, -1, 199, -1, 59, 60, 61, - 62, 63, 64, -1, 38, 39, 40, 41, 42, 43, - 44, 45, -1, 47, -1, 49, 50, 51, -1, 53, - 54, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 185, 186, -1, -1, -1, 70, 191, -1, -1, - -1, -1, 196, -1, -1, -1, -1, 1019, 202, 171, - 172, 173, 174, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 185, 186, 99, 100, 101, -1, 191, - 192, 193, -1, -1, 196, -1, 198, -1, 200, 175, - 176, 177, 178, 179, 118, 181, 182, 183, 184, 185, - 186, 187, 188, 189, -1, -1, -1, -1, -1, 195, - -1, -1, -1, -1, -1, 201, -1, 203, 1080, -1, - -1, -1, -1, -1, -1, -1, 1088, -1, -1, -1, - -1, -1, -1, 185, 186, -1, -1, -1, -1, 191, - -1, 3, 4, 5, 196, 1107, -1, 9, 10, 11, + 32, 198, 198, 198, 203, 6, 4, 197, 7, 203, + 202, 7, 7, 1037, 1036, 204, 7, 1102, 199, 1049, + 7, 7, 177, 178, 179, 180, 181, 104, 183, 184, + 185, 186, 187, 188, 189, 190, 191, 106, 1133, 1063, + 1064, 1065, 197, 204, 199, 169, 5, 5, 203, 1079, + 1074, 1081, 1074, 1083, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 1089, 1090, 5, 5, 5, + 5, 5, 5, 5, 1078, 5, 1078, 1101, 5, 5, + 1104, 157, 6, 6, 5, 5, 5, 5, 3, 5, + 1114, 5, 5, 203, 199, 6, 4, 1121, 1122, 1123, + 6, 202, 7, 7, 1128, 7, 7, 7, 1132, 7, + 7, 205, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, + 1144, 1145, 1146, 1147, 1148, 1149, 1150, 1151, 1152, 1153, + 1154, 1155, 1156, 1157, 1158, 1159, 1160, 1161, 205, 204, + 1225, 204, 7, 7, 198, 7, 202, 170, 203, 5, + 203, 203, 203, 1177, 203, 187, 188, 203, 203, 203, + 203, 193, 203, 203, 203, 203, 198, 203, 203, 201, + 203, 1195, 204, 203, 203, 203, 177, 178, 179, 180, + 181, 203, 183, 184, 185, 186, 187, 188, 189, 190, + 191, 6, 203, 3, 4, 1219, 197, 1221, 203, 9, + 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, + 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, + 30, 31, 32, 3, 4, 203, 203, 203, 203, 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, 177, 178, 179, 180, 181, 199, + 183, 184, 185, 186, 187, 188, 189, 190, 191, 1293, + 198, 1301, 203, 1303, 197, 1305, 198, 1301, 203, 1303, + 4, 1305, 7, 1307, 1308, 6, 203, 6, 6, 198, + 1314, 203, 6, 203, 1298, 198, 1298, 7, 7, 1323, + 7, 200, 198, 198, 198, 198, 198, 1331, 198, 198, + 198, 198, 1336, 198, 1399, 1339, 198, 1341, 1342, 1343, + 1344, 1345, 1346, 1347, 1348, 1349, 1350, 1351, 1352, 1353, + 1354, 1355, 1356, 1357, 1358, 1359, 1360, 1361, 1362, 1363, + 1364, 1365, 1366, 198, 198, 198, 1376, 198, 198, 1373, + 198, 1375, 1376, 1377, 198, 198, 198, 198, 198, 204, + 7, 7, 177, 178, 179, 180, 181, 201, 183, 184, + 185, 186, 187, 188, 189, 190, 191, 187, 188, 7, + 7, 7, 197, 193, 7, 7, 7, 1472, 198, 7, + 7, 201, 4, 6, 204, 6, 4, 7, 7, 166, + 3, 3, 3, 189, 3, 3, 3, 187, 188, 3, + 3, 3, 3, 193, 3, 3, 3, 3, 198, 3, + 5, 201, 5, 3, 204, 6, 4, 6, 199, 199, + 202, 1455, 7, 6, 6, 6, 6, 1461, 6, 6, + 1464, 198, 204, 6, 6, 105, 204, 1532, 203, 203, + 199, 203, 199, 203, 199, 203, 199, 203, 199, 203, + 199, 203, 199, 203, 1488, 1489, 1490, 1491, 1492, 1493, + 1494, 1495, 1496, 1497, 1498, 1499, 1500, 1501, 1502, 1503, + 1504, 1505, 1506, 1507, 1508, 6, 1510, 203, 203, 6, + 203, 203, 203, 4, 6, 203, 6, 203, 203, 203, + 203, 3, 4, 203, 202, 6, 201, 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, 3, 4, -1, -1, 203, - -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, 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, 38, 39, 40, 41, - 42, 43, 44, 45, -1, 47, -1, 49, 50, 51, - -1, 53, 54, -1, -1, -1, -1, -1, 38, 39, - 40, 41, 42, 43, 44, 45, -1, 47, 70, 49, - 50, 51, -1, 53, 54, -1, -1, -1, -1, -1, - 38, 39, 40, 41, 42, 43, 44, 45, -1, 47, - 70, 49, 50, 51, -1, 53, 54, 99, 100, 101, + 32, 6, 6, 6, 6, 6, 6, 6, 6, 177, + 178, 179, 180, 181, 1629, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 6, 6, 6, 6, 6, 197, + 6, 6, 6, 201, 6, 1589, 1590, 1591, 1592, 1593, + 1594, 1595, 1596, 1597, 1598, 1599, 1600, 1601, 1602, 1603, + 1604, 1605, 1606, 1607, 1608, 1609, 1610, 1611, 1612, 7, + 105, 1613, 1677, 3, 6, 6, 3, 6, 6, 189, + 6, 3, 6, 3, 3, 6, 155, 177, 178, 179, + 180, 181, 161, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 6, 6, 3, 3, 3, 197, 202, 4, + 6, 107, 6, 6, 6, 184, 7, 201, 1723, 6, + 205, 190, 191, 204, 204, 204, 204, 204, 102, 199, + 203, 203, 1676, 199, 199, 203, 203, 199, 1682, 203, + 1684, 199, 1686, 203, 1688, 1689, 1690, 1691, 1692, 1693, + 1694, 1695, 1696, 1697, 1698, 1699, 1700, 1701, 1702, 1703, + 1704, 1705, 1706, 1707, 1708, 187, 188, 1709, 105, 1711, + 199, 193, 199, 199, 6, 203, 198, 3, 4, 203, + 166, 3, 204, 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, + 6, 6, 199, 6, 6, 6, 6, 3, 6, 6, + 1764, 1765, 5, 5, 205, 6, 204, 204, 1772, 1773, + 1774, 1775, 1776, 1777, 1778, 1779, 1780, 1781, 1782, 1783, + 1784, 1785, 1786, 1787, 1788, 1789, 203, 205, 1790, 177, + 178, 179, 180, 181, 203, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 203, 199, 199, 203, 203, 197, + 6, 6, 6, 6, 6, 6, 6, 6, 203, 6, + 1824, 6, 6, 6, 6, 1829, 1830, 1831, 1832, 1833, + 1834, 1835, 1836, 1837, 1838, 1839, 1840, 1841, 1842, 1843, + 1844, 1845, 1846, 1847, 1848, 1849, 3, 4, 6, 199, + 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, 203, 1881, 5, 1883, + 5, 1885, 204, 1887, 1888, 1889, 1890, 1891, 1892, 1893, + 1894, 1895, 1896, 1897, 1898, 1899, 1900, 1901, 1902, 1903, + 1904, 187, 188, 203, 205, 204, 204, 193, 203, 203, + 203, 199, 198, 203, 203, 6, 6, 204, 204, 204, + 204, 204, 203, 6, 6, 102, 166, 6, 6, 6, + 5, 5, 1936, 1937, 1938, 1939, 1940, 1941, 1942, 1943, + 1944, 1945, 1946, 1947, 1948, 1949, 1950, 204, 6, 6, + 6, 6, 102, 6, 6, 204, 6, 6, 203, 488, + 204, 6, 199, 199, 6, 203, 205, 1971, 1972, 1973, + 1974, 1975, 1976, 1977, 1978, 1979, 1980, 1981, 1982, 1983, + 1984, 1985, 1986, 1987, 1988, 177, 178, 179, 180, 181, + 204, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 204, 6, 205, 205, 204, 197, 203, 6, 2012, 6, + 2014, 6, 2016, 6, 2018, 2019, 2020, 2021, 2022, 2023, + 2024, 2025, 2026, 2027, 2028, 2029, 2030, 2031, 2032, 203, + 187, 188, 171, 6, 172, 203, 193, 203, 6, 204, + 204, 198, 204, 203, 6, 199, 6, 6, 6, 6, + 203, 203, 6, 204, 6, 204, 204, 203, 2062, 2063, + 2064, 2065, 2066, 2067, 2068, 2069, 2070, 6, 199, 6, + 204, 204, 204, 6, 204, 204, 204, 6, 6, 6, + 6, 6, 204, 2087, 2088, 2089, 2090, 2091, 2092, 2093, + 2094, 2095, 2096, 2097, 2098, 2099, 2100, 2101, 177, 178, + 179, 180, 181, 204, 183, 184, 185, 186, 187, 188, + 189, 190, 191, 6, 6, 204, 6, 204, 197, 2123, + 204, 2125, 6, 2127, 204, 2129, 6, 2131, 6, 2133, + 6, 2135, 2136, 2137, 2138, 2139, 2140, 2141, 2142, 2143, + 177, 178, 179, 180, 181, 204, 183, 184, 185, 186, + 187, 188, 189, 190, 191, 6, 204, 204, 6, 0, + 197, 2165, 2166, 2167, 2168, 2169, 2170, 0, 205, 7, + 7, -1, -1, -1, 1040, -1, 1095, -1, -1, 2183, + 2184, 2185, 2186, 2187, 2188, 2189, 2190, 2191, -1, 625, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 2204, 2205, 2206, 2207, 2208, 2209, 2210, -1, 2212, -1, + 2214, -1, -1, -1, -1, -1, 745, 746, -1, 748, + -1, 750, 751, -1, 2228, 2229, 2230, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 2240, 2241, 2242, 2243, + 2244, 2245, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 2255, 2256, 2257, 2258, -1, 2260, -1, 2262, -1, + -1, -1, -1, 792, 793, -1, -1, 796, -1, 2273, + 2274, 2275, -1, -1, -1, 2279, 2280, 2281, -1, -1, + -1, 2285, 2286, 2287, 813, 814, -1, -1, -1, -1, + 819, 820, -1, 2297, 2298, 2299, -1, 826, -1, 828, + -1, -1, 2306, -1, 2308, -1, 2310, -1, 3, 4, + 5, -1, 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, 6, 34, + 35, 36, -1, 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, 902, 6, 904, -1, -1, 38, -1, + -1, -1, -1, -1, -1, -1, 915, 916, 917, -1, + -1, -1, 921, 922, 923, 924, 925, 926, 927, 59, + 60, 61, 62, 63, 64, -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, -1, 34, 35, 36, + 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, + 8, -1, -1, -1, -1, -1, -1, -1, 173, 174, + 175, 176, -1, -1, -1, 8, -1, -1, -1, -1, + -1, -1, 187, 188, -1, -1, -1, -1, 193, 194, + 195, -1, -1, 198, -1, 200, 1035, 202, 8, 177, + 178, 179, 180, 181, -1, 183, 184, 185, 186, 187, + 188, 189, 190, 191, -1, -1, -1, 187, 188, 197, + 8, -1, -1, 193, -1, -1, -1, -1, 198, -1, + -1, -1, -1, -1, -1, 177, 178, 179, 180, 181, + -1, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 8, -1, -1, -1, -1, 197, -1, -1, 1097, -1, + -1, -1, -1, -1, -1, -1, 1105, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 70, -1, -1, -1, 118, -1, -1, 99, - 100, 101, -1, 185, 186, -1, -1, -1, -1, 191, - -1, 1293, -1, 1295, 196, -1, -1, 1299, 118, -1, - -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 1315, -1, -1, -1, 185, 186, -1, - 118, -1, -1, 191, -1, -1, -1, -1, 196, 175, - 176, 177, 178, 179, -1, 181, 182, 183, 184, 185, - 186, 187, 188, 189, -1, -1, -1, 185, 186, 195, - -1, 197, -1, 191, -1, 201, 0, 1, 196, 3, - 4, 203, 175, 176, 177, 178, 179, -1, 181, 182, - 183, 184, 185, 186, 187, 188, 189, -1, -1, -1, - -1, -1, 195, 203, -1, -1, -1, -1, 201, 33, - 203, -1, -1, 37, 38, 39, 40, 41, 42, 43, - 44, 45, -1, 47, 48, 49, 50, 51, 52, 53, - 54, -1, -1, -1, 58, 59, 60, 61, 62, 63, - 64, -1, 66, 67, 68, 69, 70, -1, -1, -1, - 1432, -1, 175, 176, 177, 178, 179, 1439, 181, 182, - 183, 184, 185, 186, 187, 188, 189, -1, 1450, 1451, - -1, -1, 195, -1, 98, 99, 100, 101, 201, -1, - 203, -1, 106, -1, 108, -1, 110, 111, 112, 113, - 114, 115, 116, -1, 118, -1, -1, -1, -1, -1, + 187, 188, -1, -1, -1, 1124, 193, -1, -1, -1, + -1, 198, -1, 177, 178, 179, 180, 181, -1, 183, + 184, 185, 186, 187, 188, 189, 190, 191, -1, -1, + -1, -1, -1, 197, 187, 188, -1, -1, -1, 203, + 193, 205, -1, -1, -1, 198, -1, -1, -1, 177, + 178, 179, 180, 181, -1, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 177, 178, 179, 180, 181, 197, + 183, 184, 185, 186, 187, 188, 189, 190, 191, -1, + -1, -1, -1, -1, 197, -1, -1, 177, 178, 179, + 180, 181, -1, 183, 184, 185, 186, 187, 188, 189, + 190, 191, -1, -1, -1, -1, -1, 197, -1, 177, + 178, 179, 180, 181, -1, 183, 184, 185, 186, 187, + 188, 189, 190, 191, -1, -1, -1, -1, -1, 197, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 177, + 178, 179, 180, 181, -1, 183, 184, 185, 186, 187, + 188, 189, 190, 191, -1, -1, -1, -1, -1, 197, + -1, -1, -1, -1, -1, -1, -1, -1, 0, 1, + -1, 3, 4, -1, -1, -1, 177, 178, 179, 180, + 181, -1, 183, 184, 185, 186, 187, 188, 189, 190, + 191, -1, 1311, -1, 1313, -1, 197, -1, 1317, -1, + -1, 33, 203, -1, 205, 37, 38, 39, 40, 41, + 42, 43, 44, 45, 1333, 47, 48, 49, 50, 51, + 52, 53, 54, -1, -1, -1, 58, 59, 60, 61, + 62, 63, 64, -1, 66, 67, 68, 69, 70, 38, + 39, 40, 41, 42, 43, 44, 45, -1, 47, -1, + 49, 50, 51, -1, 53, 54, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 98, 99, 100, 101, + -1, 70, -1, -1, 106, -1, 108, -1, 110, 111, + 112, 113, 114, 115, 116, -1, 118, 119, 120, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 1494, 137, 138, 139, 140, 141, 142, 143, - 144, -1, -1, -1, -1, -1, -1, -1, -1, 41, - -1, -1, -1, -1, -1, -1, -1, -1, 162, 163, - -1, 165, 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, -1, -1, - -1, -1, -1, -1, -1, 1557, -1, -1, -1, -1, - 1562, 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, 119, 120, 121, - -1, -1, -1, -1, -1, 127, 128, 129, 130, 131, - 132, 133, 134, 135, 136, -1, -1, -1, -1, -1, - -1, -1, -1, 145, 146, 147, 148, 149, 150, 151, - 152, 153, 154, -1, 156, 157, 158, 159, 160, 161, - -1, 4, -1, -1, 175, 176, 177, 178, 179, -1, - 181, 182, 183, 184, 185, 186, 187, 188, 189, 1651, - -1, -1, -1, 203, 195, -1, -1, -1, -1, 1661, - 33, -1, 203, -1, 37, 38, 39, 40, 41, 42, - 43, 44, 45, -1, 47, 48, 49, 50, 51, 52, - 53, 54, -1, -1, -1, 58, 59, 60, 61, 62, - 63, 64, 203, 66, 67, 68, 69, 70, -1, -1, - -1, 175, 176, 177, 178, 179, -1, 181, 182, 183, - 184, 185, 186, 187, 188, 189, -1, -1, -1, -1, - -1, 195, -1, -1, -1, 98, 99, 100, 101, 203, - -1, -1, -1, 106, -1, 108, -1, 110, 111, 112, - 113, 114, 115, 116, -1, 118, -1, -1, 1750, 175, - 176, 177, 178, 179, -1, 181, 182, 183, 184, 185, - 186, 187, 188, 189, -1, -1, -1, -1, -1, 195, - -1, -1, 175, 176, 177, 178, 179, 203, 181, 182, - 183, 184, 185, 186, 187, 188, 189, -1, -1, -1, - -1, -1, 195, -1, -1, -1, -1, -1, -1, -1, - 203, -1, -1, -1, -1, -1, -1, 1809, 175, 176, - 177, 178, 179, -1, 181, 182, 183, 184, 185, 186, - 187, 188, 189, -1, -1, -1, -1, -1, 195, -1, - -1, -1, -1, -1, -1, -1, 203, 175, 176, 177, - 178, 179, -1, 181, 182, 183, 184, 185, 186, 187, - 188, 189, -1, -1, -1, -1, -1, 195, -1, 1861, - 175, 176, 177, 178, 179, 203, 181, 182, 183, 184, - 185, 186, 187, 188, 189, -1, -1, -1, -1, -1, - 195, -1, -1, 175, 176, 177, 178, 179, 203, 181, - 182, 183, 184, 185, 186, 187, 188, 189, -1, -1, - -1, -1, -1, 195, -1, -1, -1, -1, -1, -1, - -1, 203, 1914, 175, 176, 177, 178, 179, -1, 181, - 182, 183, 184, 185, 186, 187, 188, 189, -1, -1, - -1, -1, -1, 195, -1, -1, -1, -1, -1, -1, - -1, 203, -1, -1, -1, 175, 176, 177, 178, 179, - 1952, 181, 182, 183, 184, 185, 186, 187, 188, 189, - -1, -1, -1, -1, -1, 195, -1, -1, 175, 176, - 177, 178, 179, 203, 181, 182, 183, 184, 185, 186, - 187, 188, 189, -1, -1, -1, -1, -1, 195, -1, - -1, 175, 176, 177, 178, 179, 203, 181, 182, 183, - 184, 185, 186, 187, 188, 189, -1, -1, -1, -1, - -1, 195, -1, -1, 175, 176, 177, 178, 179, 203, - 181, 182, 183, 184, 185, 186, 187, 188, 189, -1, - -1, -1, -1, -1, 195, -1, -1, 175, 176, 177, - 178, 179, 203, 181, 182, 183, 184, 185, 186, 187, - 188, 189, -1, -1, -1, -1, -1, 195, -1, -1, - 175, 176, 177, 178, 179, 203, 181, 182, 183, 184, - 185, 186, 187, 188, 189, -1, -1, -1, -1, -1, - 195, -1, -1, 175, 176, 177, 178, 179, 203, 181, - 182, 183, 184, 185, 186, 187, 188, 189, -1, -1, - -1, -1, -1, 195, -1, -1, 175, 176, 177, 178, - 179, 203, 181, 182, 183, 184, 185, 186, 187, 188, - 189, -1, -1, -1, -1, -1, 195, -1, -1, 175, - 176, 177, 178, 179, 203, 181, 182, 183, 184, 185, - 186, 187, 188, 189, -1, -1, -1, -1, -1, 195, - 175, 176, 177, 178, 179, 201, 181, 182, 183, 184, - 185, 186, 187, 188, 189, -1, -1, -1, -1, -1, - 195, 175, 176, 177, 178, 179, 201, 181, 182, 183, - 184, 185, 186, 187, 188, 189, -1, -1, -1, -1, - -1, 195, 175, 176, 177, 178, 179, 201, 181, 182, - 183, 184, 185, 186, 187, 188, 189, -1, -1, -1, - -1, -1, 195, 175, 176, 177, 178, 179, 201, 181, - 182, 183, 184, 185, 186, 187, 188, 189, -1, -1, - -1, -1, -1, 195, 175, 176, 177, 178, 179, 201, - 181, 182, 183, 184, 185, 186, 187, 188, 189, -1, - -1, -1, -1, -1, 195, 175, 176, 177, 178, 179, - 201, 181, 182, 183, 184, 185, 186, 187, 188, 189, - -1, -1, -1, -1, -1, 195, 175, 176, 177, 178, - 179, 201, 181, 182, 183, 184, 185, 186, 187, 188, - 189, -1, -1, -1, -1, -1, 195, 175, 176, 177, - 178, 179, 201, 181, 182, 183, 184, 185, 186, 187, - 188, 189, -1, -1, -1, -1, -1, 195, 175, 176, - 177, 178, 179, 201, 181, 182, 183, 184, 185, 186, - 187, 188, 189, -1, -1, -1, -1, -1, 195, 175, - 176, 177, 178, 179, 201, 181, 182, 183, 184, 185, - 186, 187, 188, 189, -1, -1, -1, -1, -1, 195, - 175, 176, 177, 178, 179, 201, 181, 182, 183, 184, - 185, 186, 187, 188, 189, -1, -1, -1, -1, -1, - 195, 175, 176, 177, 178, 179, 201, 181, 182, 183, - 184, 185, 186, 187, 188, 189, -1, -1, -1, -1, - -1, 195, 175, 176, 177, 178, 179, 201, 181, 182, - 183, 184, 185, 186, 187, 188, 189, -1, -1, -1, - -1, -1, 195, 175, 176, 177, 178, 179, 201, 181, - 182, 183, 184, 185, 186, 187, 188, 189, -1, -1, - -1, -1, -1, 195, 175, 176, 177, 178, 179, 201, - 181, 182, 183, 184, 185, 186, 187, 188, 189, -1, - -1, -1, -1, -1, 195, 175, 176, 177, 178, 179, - 201, 181, 182, 183, 184, 185, 186, 187, 188, 189, - -1, -1, -1, -1, -1, 195, 175, 176, 177, 178, - 179, 201, 181, 182, 183, 184, 185, 186, 187, 188, - 189, -1, -1, -1, -1, -1, 195, 175, 176, 177, - 178, 179, 201, 181, 182, 183, 184, 185, 186, 187, - 188, 189, -1, -1, -1, -1, -1, 195, 175, 176, - 177, 178, 179, 201, 181, 182, 183, 184, 185, 186, - 187, 188, 189, -1, -1, -1, -1, -1, 195, 175, - 176, 177, 178, 179, 201, 181, 182, 183, 184, 185, - 186, 187, 188, 189, -1, -1, -1, -1, -1, 195, - 175, 176, 177, 178, 179, 201, 181, 182, 183, 184, - 185, 186, 187, 188, 189, -1, -1, -1, -1, -1, - 195, 175, 176, 177, 178, 179, 201, 181, 182, 183, - 184, 185, 186, 187, 188, 189, -1, -1, -1, -1, - -1, 195, 175, 176, 177, 178, 179, 201, 181, 182, - 183, 184, 185, 186, 187, 188, 189, -1, -1, -1, - -1, -1, 195, 175, 176, 177, 178, 179, 201, 181, - 182, 183, 184, 185, 186, 187, 188, 189, -1, -1, - -1, -1, -1, 195, 175, 176, 177, 178, 179, 201, - 181, 182, 183, 184, 185, 186, 187, 188, 189, -1, - -1, -1, -1, -1, 195, 175, 176, 177, 178, 179, - 201, 181, 182, 183, 184, 185, 186, 187, 188, 189, - -1, -1, -1, -1, -1, 195, 175, 176, 177, 178, - 179, 201, 181, 182, 183, 184, 185, 186, 187, 188, - 189, -1, -1, -1, -1, -1, 195, 175, 176, 177, - 178, 179, 201, 181, 182, 183, 184, 185, 186, 187, - 188, 189, -1, -1, -1, -1, -1, 195, 175, 176, - 177, 178, 179, 201, 181, 182, 183, 184, 185, 186, - 187, 188, 189, -1, -1, -1, -1, -1, 195, 175, - 176, 177, 178, 179, 201, 181, 182, 183, 184, 185, - 186, 187, 188, 189, -1, -1, -1, -1, -1, 195, - 175, 176, 177, 178, 179, 201, 181, 182, 183, 184, - 185, 186, 187, 188, 189, -1, -1, -1, -1, -1, - 195, 175, 176, 177, 178, 179, 201, 181, 182, 183, - 184, 185, 186, 187, 188, 189, -1, -1, -1, -1, - -1, 195, 175, 176, 177, 178, 179, 201, 181, 182, - 183, 184, 185, 186, 187, 188, 189, -1, -1, -1, - -1, -1, 195, 175, 176, 177, 178, 179, 201, 181, - 182, 183, 184, 185, 186, 187, 188, 189, -1, -1, - -1, -1, -1, 195, 175, 176, 177, 178, 179, 201, - 181, 182, 183, 184, 185, 186, 187, 188, 189, -1, - -1, -1, -1, -1, 195, 175, 176, 177, 178, 179, - 201, 181, 182, 183, 184, 185, 186, 187, 188, 189, - -1, -1, -1, -1, -1, 195, 175, 176, 177, 178, - 179, 201, 181, 182, 183, 184, 185, 186, 187, 188, - 189, -1, -1, -1, -1, -1, 195, 175, 176, 177, - 178, 179, 201, 181, 182, 183, 184, 185, 186, 187, - 188, 189, -1, -1, -1, -1, -1, 195, 175, 176, - 177, 178, 179, 201, 181, 182, 183, 184, 185, 186, - 187, 188, 189, -1, -1, -1, -1, -1, 195, 175, - 176, 177, 178, 179, 201, 181, 182, 183, 184, 185, - 186, 187, 188, 189, -1, -1, -1, -1, -1, 195, - 175, 176, 177, 178, 179, 201, 181, 182, 183, 184, - 185, 186, 187, 188, 189, -1, -1, -1, -1, -1, - 195, 175, 176, 177, 178, 179, 201, 181, 182, 183, - 184, 185, 186, 187, 188, 189, -1, -1, -1, -1, - -1, 195, 175, 176, 177, 178, 179, 201, 181, 182, - 183, 184, 185, 186, 187, 188, 189, -1, -1, -1, - -1, -1, 195, 175, 176, 177, 178, 179, 201, 181, - 182, 183, 184, 185, 186, 187, 188, 189, -1, -1, - -1, -1, -1, 195, 175, 176, 177, 178, 179, 201, - 181, 182, 183, 184, 185, 186, 187, 188, 189, -1, - -1, -1, -1, -1, 195, 175, 176, 177, 178, 179, - 201, 181, 182, 183, 184, 185, 186, 187, 188, 189, - -1, -1, -1, -1, -1, 195, 175, 176, 177, 178, - 179, 201, 181, 182, 183, 184, 185, 186, 187, 188, - 189, -1, -1, -1, -1, -1, 195, 175, 176, 177, - 178, 179, 201, 181, 182, 183, 184, 185, 186, 187, - 188, 189, -1, -1, -1, -1, -1, 195, 175, 176, - 177, 178, 179, 201, 181, 182, 183, 184, 185, 186, - 187, 188, 189, -1, -1, -1, -1, -1, 195, 175, - 176, 177, 178, 179, 201, 181, 182, 183, 184, 185, - 186, 187, 188, 189, -1, -1, -1, -1, -1, 195, - 175, 176, 177, 178, 179, 201, 181, 182, 183, 184, - 185, 186, 187, 188, 189, -1, -1, -1, -1, -1, - 195, 175, 176, 177, 178, 179, 201, 181, 182, 183, - 184, 185, 186, 187, 188, 189, -1, -1, -1, -1, - -1, 195, 175, 176, 177, 178, 179, 201, 181, 182, - 183, 184, 185, 186, 187, 188, 189, -1, -1, -1, - -1, -1, 195, 175, 176, 177, 178, 179, 201, 181, - 182, 183, 184, 185, 186, 187, 188, 189, -1, -1, - -1, -1, -1, 195, 175, 176, 177, 178, 179, 201, - 181, 182, 183, 184, 185, 186, 187, 188, 189, -1, - -1, -1, -1, -1, 195, 175, 176, 177, 178, 179, - 201, 181, 182, 183, 184, 185, 186, 187, 188, 189, - -1, -1, -1, -1, -1, 195, 175, 176, 177, 178, - 179, 201, 181, 182, 183, 184, 185, 186, 187, 188, - 189, -1, -1, -1, -1, -1, 195, 175, 176, 177, - 178, 179, 201, 181, 182, 183, 184, 185, 186, 187, - 188, 189, -1, -1, -1, -1, -1, 195, 175, 176, - 177, 178, 179, 201, 181, 182, 183, 184, 185, 186, - 187, 188, 189, -1, -1, -1, -1, -1, 195, 175, - 176, 177, 178, 179, 201, 181, 182, 183, 184, 185, - 186, 187, 188, 189, -1, -1, -1, -1, -1, 195, - 175, 176, 177, 178, 179, 201, 181, 182, 183, 184, - 185, 186, 187, 188, 189, -1, -1, -1, -1, -1, - 195, 175, 176, 177, 178, 179, 201, 181, 182, 183, - 184, 185, 186, 187, 188, 189, -1, -1, -1, -1, - -1, 195, 175, 176, 177, 178, 179, 201, 181, 182, - 183, 184, 185, 186, 187, 188, 189, -1, -1, -1, - -1, -1, 195, 175, 176, 177, 178, 179, 201, 181, - 182, 183, 184, 185, 186, 187, 188, 189, -1, -1, - -1, -1, -1, 195, 175, 176, 177, 178, 179, 201, - 181, 182, 183, 184, 185, 186, 187, 188, 189, -1, - -1, -1, -1, -1, 195, 175, 176, 177, 178, 179, - 201, 181, 182, 183, 184, 185, 186, 187, 188, 189, - -1, -1, -1, -1, -1, 195, 175, 176, 177, 178, - 179, 201, 181, 182, 183, 184, 185, 186, 187, 188, - 189, -1, -1, -1, -1, -1, 195, 175, 176, 177, - 178, 179, 201, 181, 182, 183, 184, 185, 186, 187, - 188, 189, -1, -1, -1, -1, -1, 195, 175, 176, - 177, 178, 179, 201, 181, 182, 183, 184, 185, 186, - 187, 188, 189, -1, -1, -1, -1, -1, 195, 175, - 176, 177, 178, 179, 201, 181, 182, 183, 184, 185, - 186, 187, 188, 189, -1, -1, -1, -1, -1, 195, - 175, 176, 177, 178, 179, 201, 181, 182, 183, 184, - 185, 186, 187, 188, 189, -1, -1, -1, -1, -1, - 195, 175, 176, 177, 178, 179, 201, 181, 182, 183, - 184, 185, 186, 187, 188, 189, -1, -1, -1, -1, - -1, 195, 175, 176, 177, 178, 179, 201, 181, 182, - 183, 184, 185, 186, 187, 188, 189, -1, -1, -1, - -1, -1, 195, 175, 176, 177, 178, 179, 201, 181, - 182, 183, 184, 185, 186, 187, 188, 189, -1, -1, - -1, -1, -1, 195, 175, 176, 177, 178, 179, 201, - 181, 182, 183, 184, 185, 186, 187, 188, 189, -1, - -1, -1, -1, -1, 195, 175, 176, 177, 178, 179, - 201, 181, 182, 183, 184, 185, 186, 187, 188, 189, - -1, -1, -1, -1, -1, 195, 175, 176, 177, 178, - 179, 201, 181, 182, 183, 184, 185, 186, 187, 188, - 189, -1, -1, -1, -1, -1, 195, 175, 176, 177, - 178, 179, 201, 181, 182, 183, 184, 185, 186, 187, - 188, 189, -1, -1, -1, -1, -1, 195, 175, 176, - 177, 178, 179, 201, 181, 182, 183, 184, 185, 186, - 187, 188, 189, -1, -1, -1, -1, -1, 195, 175, - 176, 177, 178, 179, 201, 181, 182, 183, 184, 185, - 186, 187, 188, 189, -1, -1, -1, -1, -1, 195, - 175, 176, 177, 178, 179, 201, 181, 182, 183, 184, - 185, 186, 187, 188, 189, -1, -1, -1, -1, -1, - 195, 175, 176, 177, 178, 179, 201, 181, 182, 183, - 184, 185, 186, 187, 188, 189, -1, -1, -1, -1, - -1, 195, 175, 176, 177, 178, 179, 201, 181, 182, - 183, 184, 185, 186, 187, 188, 189, -1, -1, -1, - -1, -1, 195, 175, 176, 177, 178, 179, 201, 181, - 182, 183, 184, 185, 186, 187, 188, 189, -1, -1, - -1, -1, -1, 195, 175, 176, 177, 178, 179, 201, - 181, 182, 183, 184, 185, 186, 187, 188, 189, -1, - -1, -1, -1, -1, 195, 175, 176, 177, 178, 179, - 201, 181, 182, 183, 184, 185, 186, 187, 188, 189, - -1, -1, -1, -1, -1, 195, 175, 176, 177, 178, - 179, 201, 181, 182, 183, 184, 185, 186, 187, 188, - 189, -1, -1, -1, -1, -1, 195, 175, 176, 177, - 178, 179, 201, 181, 182, 183, 184, 185, 186, 187, - 188, 189, -1, -1, -1, -1, -1, 195, 175, 176, - 177, 178, 179, 201, 181, 182, 183, 184, 185, 186, - 187, 188, 189, -1, -1, -1, -1, -1, 195, 175, - 176, 177, 178, 179, 201, 181, 182, 183, 184, 185, - 186, 187, 188, 189, -1, -1, -1, -1, -1, 195, - 175, 176, 177, 178, 179, 201, 181, 182, 183, 184, - 185, 186, 187, 188, 189, -1, -1, -1, -1, -1, - 195, 175, 176, 177, 178, 179, 201, 181, 182, 183, - 184, 185, 186, 187, 188, 189, -1, -1, -1, -1, - -1, 195, 175, 176, 177, 178, 179, 201, 181, 182, - 183, 184, 185, 186, 187, 188, 189, -1, -1, -1, - -1, -1, 195, 175, 176, 177, 178, 179, 201, 181, - 182, 183, 184, 185, 186, 187, 188, 189, -1, -1, - -1, -1, -1, 195, 175, 176, 177, 178, 179, 201, - 181, 182, 183, 184, 185, 186, 187, 188, 189, -1, - -1, -1, -1, -1, 195, 175, 176, 177, 178, 179, - 201, 181, 182, 183, 184, 185, 186, 187, 188, 189, - -1, -1, -1, -1, -1, 195, 175, 176, 177, 178, - 179, 201, 181, 182, 183, 184, 185, 186, 187, 188, - 189, -1, -1, -1, -1, -1, 195, 175, 176, 177, - 178, 179, 201, 181, 182, 183, 184, 185, 186, 187, - 188, 189, -1, -1, -1, -1, -1, 195, 175, 176, - 177, 178, 179, 201, 181, 182, 183, 184, 185, 186, - 187, 188, 189, -1, -1, -1, -1, -1, 195, 175, - 176, 177, 178, 179, 201, 181, 182, 183, 184, 185, - 186, 187, 188, 189, -1, -1, -1, -1, -1, 195, - 175, 176, 177, 178, 179, 201, 181, 182, 183, 184, - 185, 186, 187, 188, 189, -1, -1, -1, -1, -1, - 195, 175, 176, 177, 178, 179, 201, 181, 182, 183, - 184, 185, 186, 187, 188, 189, -1, -1, -1, -1, - -1, 195, 175, 176, 177, 178, 179, 201, 181, 182, - 183, 184, 185, 186, 187, 188, 189, -1, -1, -1, - -1, -1, 195, 175, 176, 177, 178, 179, 201, 181, - 182, 183, 184, 185, 186, 187, 188, 189, -1, -1, - -1, -1, -1, 195, 175, 176, 177, 178, 179, 201, - 181, 182, 183, 184, 185, 186, 187, 188, 189, -1, - -1, -1, -1, -1, 195, 175, 176, 177, 178, 179, - 201, 181, 182, 183, 184, 185, 186, 187, 188, 189, - -1, -1, -1, -1, -1, 195, 175, 176, 177, 178, - 179, 201, 181, 182, 183, 184, 185, 186, 187, 188, - 189, -1, -1, -1, -1, -1, 195, 175, 176, 177, - 178, 179, 201, 181, 182, 183, 184, 185, 186, 187, - 188, 189, -1, -1, -1, -1, -1, 195, 175, 176, - 177, 178, 179, 201, 181, 182, 183, 184, 185, 186, - 187, 188, 189, -1, -1, -1, -1, -1, 195, 175, - 176, 177, 178, 179, 201, 181, 182, 183, 184, 185, - 186, 187, 188, 189, -1, -1, -1, -1, -1, 195, - 175, 176, 177, 178, 179, 201, 181, 182, 183, 184, - 185, 186, 187, 188, 189, -1, -1, -1, -1, -1, - 195, 175, 176, 177, 178, 179, 201, 181, 182, 183, - 184, 185, 186, 187, 188, 189, -1, -1, -1, -1, - -1, 195, 175, 176, 177, 178, 179, 201, 181, 182, - 183, 184, 185, 186, 187, 188, 189, -1, -1, -1, - -1, -1, 195, 175, 176, 177, 178, 179, 201, 181, - 182, 183, 184, 185, 186, 187, 188, 189, -1, -1, - -1, -1, -1, 195, 175, 176, 177, 178, 179, 201, - 181, 182, 183, 184, 185, 186, 187, 188, 189, -1, - -1, -1, -1, -1, 195, 175, 176, 177, 178, 179, - 201, 181, 182, 183, 184, 185, 186, 187, 188, 189, - -1, -1, -1, -1, -1, 195, 175, 176, 177, 178, - 179, 201, 181, 182, 183, 184, 185, 186, 187, 188, - 189, -1, -1, -1, -1, -1, 195, 175, 176, 177, - 178, 179, 201, 181, 182, 183, 184, 185, 186, 187, - 188, 189, -1, -1, -1, -1, -1, 195, 175, 176, - 177, 178, 179, 201, 181, 182, 183, 184, 185, 186, - 187, 188, 189, -1, -1, -1, -1, -1, 195, 175, - 176, 177, 178, 179, 201, 181, 182, 183, 184, 185, - 186, 187, 188, 189, -1, -1, -1, -1, -1, 195, - 175, 176, 177, 178, 179, 201, 181, 182, 183, 184, - 185, 186, 187, 188, 189, -1, -1, -1, -1, -1, - 195, 175, 176, 177, 178, 179, 201, 181, 182, 183, - 184, 185, 186, 187, 188, 189, -1, -1, -1, -1, - -1, 195, 175, 176, 177, 178, 179, 201, 181, 182, - 183, 184, 185, 186, 187, 188, 189, -1, -1, -1, - -1, -1, 195, 175, 176, 177, 178, 179, 201, 181, - 182, 183, 184, 185, 186, 187, 188, 189, -1, -1, - -1, -1, -1, 195, 175, 176, 177, 178, 179, 201, - 181, 182, 183, 184, 185, 186, 187, 188, 189, -1, - -1, -1, -1, -1, 195, 175, 176, 177, 178, 179, - 201, 181, 182, 183, 184, 185, 186, 187, 188, 189, - -1, -1, -1, -1, -1, 195, 175, 176, 177, 178, - 179, 201, 181, 182, 183, 184, 185, 186, 187, 188, - 189, -1, -1, -1, -1, -1, 195, 175, 176, 177, - 178, 179, 201, 181, 182, 183, 184, 185, 186, 187, - 188, 189, -1, -1, -1, -1, -1, 195, 175, 176, - 177, 178, 179, 201, 181, 182, 183, 184, 185, 186, - 187, 188, 189, -1, -1, -1, -1, -1, 195, 175, - 176, 177, 178, 179, 201, 181, 182, 183, 184, 185, - 186, 187, 188, 189, -1, -1, -1, -1, -1, 195, - 175, 176, 177, 178, 179, 201, 181, 182, 183, 184, - 185, 186, 187, 188, 189, -1, -1, -1, -1, -1, - 195, 175, 176, 177, 178, 179, 201, 181, 182, 183, - 184, 185, 186, 187, 188, 189, -1, -1, -1, -1, - -1, 195, 175, 176, 177, 178, 179, 201, 181, 182, - 183, 184, 185, 186, 187, 188, 189, -1, -1, -1, - -1, -1, 195, 175, 176, 177, 178, 179, 201, 181, - 182, 183, 184, 185, 186, 187, 188, 189, -1, -1, - -1, -1, -1, 195, 175, 176, 177, 178, 179, 201, - 181, 182, 183, 184, 185, 186, 187, 188, 189, -1, - -1, -1, -1, -1, 195, 175, 176, 177, 178, 179, - 201, 181, 182, 183, 184, 185, 186, 187, 188, 189, - -1, -1, -1, -1, -1, 195, 175, 176, 177, 178, - 179, 201, 181, 182, 183, 184, 185, 186, 187, 188, - 189, -1, -1, -1, -1, -1, 195, 175, 176, 177, - 178, 179, 201, 181, 182, 183, 184, 185, 186, 187, - 188, 189, -1, -1, -1, -1, -1, 195, 175, 176, - 177, 178, 179, 201, 181, 182, 183, 184, 185, 186, - 187, 188, 189, -1, -1, -1, -1, -1, 195, 175, - 176, 177, 178, 179, 201, 181, 182, 183, 184, 185, - 186, 187, 188, 189, -1, -1, -1, -1, -1, 195, - 175, 176, 177, 178, 179, 201, 181, 182, 183, 184, - 185, 186, 187, 188, 189, -1, -1, -1, -1, -1, - 195, 175, 176, 177, 178, 179, 201, 181, 182, 183, - 184, 185, 186, 187, 188, 189, -1, -1, -1, -1, - -1, 195, 175, 176, 177, 178, 179, 201, 181, 182, - 183, 184, 185, 186, 187, 188, 189, -1, -1, -1, - -1, -1, 195, 175, 176, 177, 178, 179, 201, 181, - 182, 183, 184, 185, 186, 187, 188, 189, -1, -1, - -1, -1, -1, 195, 175, 176, 177, 178, 179, 201, - 181, 182, 183, 184, 185, 186, 187, 188, 189, -1, - -1, -1, -1, -1, 195, 175, 176, 177, 178, 179, - 201, 181, 182, 183, 184, 185, 186, 187, 188, 189, - -1, -1, -1, -1, -1, 195, 175, 176, 177, 178, - 179, 201, 181, 182, 183, 184, 185, 186, 187, 188, - 189, -1, -1, -1, -1, -1, 195, 175, 176, 177, - 178, 179, 201, 181, 182, 183, 184, 185, 186, 187, - 188, 189, -1, -1, -1, -1, -1, 195, 175, 176, - 177, 178, 179, 201, 181, 182, 183, 184, 185, 186, - 187, 188, 189, -1, -1, -1, -1, -1, 195, 175, - 176, 177, 178, 179, 201, 181, 182, 183, 184, 185, - 186, 187, 188, 189, -1, -1, -1, -1, -1, 195, - 175, 176, 177, 178, 179, 201, 181, 182, 183, 184, - 185, 186, 187, 188, 189, -1, -1, -1, -1, -1, - 195, 175, 176, 177, 178, 179, 201, 181, 182, 183, - 184, 185, 186, 187, 188, 189, -1, -1, -1, -1, - -1, 195, 175, 176, 177, 178, 179, 201, 181, 182, - 183, 184, 185, 186, 187, 188, 189, -1, -1, -1, - -1, -1, 195, 175, 176, 177, 178, 179, 201, 181, - 182, 183, 184, 185, 186, 187, 188, 189, -1, -1, - -1, -1, -1, 195, 175, 176, 177, 178, 179, 201, - 181, 182, 183, 184, 185, 186, 187, 188, 189, -1, - -1, -1, -1, -1, 195, 175, 176, 177, 178, 179, - 201, 181, 182, 183, 184, 185, 186, 187, 188, 189, - -1, -1, -1, -1, -1, 195, 175, 176, 177, 178, - 179, 201, 181, 182, 183, 184, 185, 186, 187, 188, - 189, -1, -1, -1, -1, -1, 195, 175, 176, 177, - 178, 179, 201, 181, 182, 183, 184, 185, 186, 187, - 188, 189, -1, -1, -1, -1, -1, 195, 175, 176, - 177, 178, 179, 201, 181, 182, 183, 184, 185, 186, - 187, 188, 189, -1, -1, -1, -1, -1, 195, 175, - 176, 177, 178, 179, 201, 181, 182, 183, 184, 185, - 186, 187, 188, 189, -1, -1, -1, -1, -1, 195, - 175, 176, 177, 178, 179, 201, 181, 182, 183, 184, - 185, 186, 187, 188, 189, -1, -1, -1, -1, -1, - 195, 175, 176, 177, 178, 179, 201, 181, 182, 183, - 184, 185, 186, 187, 188, 189, -1, -1, -1, -1, - -1, 195, 175, 176, 177, 178, 179, 201, 181, 182, - 183, 184, 185, 186, 187, 188, 189, -1, -1, -1, - -1, -1, 195, 175, 176, 177, 178, 179, 201, 181, - 182, 183, 184, 185, 186, 187, 188, 189, -1, -1, - -1, -1, -1, 195, 175, 176, 177, 178, 179, 201, - 181, 182, 183, 184, 185, 186, 187, 188, 189, -1, - -1, -1, -1, -1, 195, 175, 176, 177, 178, 179, - 201, 181, 182, 183, 184, 185, 186, 187, 188, 189, - -1, -1, -1, -1, -1, 195, 175, 176, 177, 178, - 179, 201, 181, 182, 183, 184, 185, 186, 187, 188, - 189, -1, -1, -1, -1, -1, 195, 175, 176, 177, - 178, 179, 201, 181, 182, 183, 184, 185, 186, 187, - 188, 189, -1, -1, -1, -1, -1, 195, 175, 176, - 177, 178, 179, 201, 181, 182, 183, 184, 185, 186, - 187, 188, 189, -1, -1, -1, -1, -1, 195, 175, - 176, 177, 178, 179, 201, 181, 182, 183, 184, 185, - 186, 187, 188, 189, -1, -1, -1, -1, -1, 195, - 175, 176, 177, 178, 179, 201, 181, 182, 183, 184, - 185, 186, 187, 188, 189, -1, -1, -1, -1, -1, - 195, 175, 176, 177, 178, 179, 201, 181, 182, 183, - 184, 185, 186, 187, 188, 189, -1, -1, -1, -1, - -1, 195, 175, 176, 177, 178, 179, 201, 181, 182, - 183, 184, 185, 186, 187, 188, 189, -1, -1, -1, - -1, -1, 195, 175, 176, 177, 178, 179, 201, 181, - 182, 183, 184, 185, 186, 187, 188, 189, -1, -1, - -1, -1, -1, 195, 175, 176, 177, 178, 179, 201, - 181, 182, 183, 184, 185, 186, 187, 188, 189, -1, - -1, -1, -1, -1, 195, 175, 176, 177, 178, 179, - 201, 181, 182, 183, 184, 185, 186, 187, 188, 189, - -1, -1, -1, -1, -1, 195, 175, 176, 177, 178, - 179, 201, 181, 182, 183, 184, 185, 186, 187, 188, - 189, -1, -1, -1, -1, -1, 195, 175, 176, 177, - 178, 179, 201, 181, 182, 183, 184, 185, 186, 187, - 188, 189, -1, -1, -1, -1, -1, 195, 175, 176, - 177, 178, 179, 201, 181, 182, 183, 184, 185, 186, - 187, 188, 189, -1, -1, -1, -1, -1, 195, 175, - 176, 177, 178, 179, 201, 181, 182, 183, 184, 185, - 186, 187, 188, 189, -1, -1, -1, -1, -1, 195, - 175, 176, 177, 178, 179, 201, 181, 182, 183, 184, - 185, 186, 187, 188, 189, -1, -1, -1, -1, -1, - 195, 175, 176, 177, 178, 179, 201, 181, 182, 183, - 184, 185, 186, 187, 188, 189, -1, -1, -1, -1, - -1, 195, 175, 176, 177, 178, 179, 201, 181, 182, - 183, 184, 185, 186, 187, 188, 189, -1, -1, -1, - -1, -1, 195, 175, 176, 177, 178, 179, 201, 181, - 182, 183, 184, 185, 186, 187, 188, 189, -1, -1, - -1, -1, -1, 195, 175, 176, 177, 178, 179, 201, - 181, 182, 183, 184, 185, 186, 187, 188, 189, -1, - -1, -1, -1, -1, 195, 175, 176, 177, 178, 179, - 201, 181, 182, 183, 184, 185, 186, 187, 188, 189, - -1, -1, -1, -1, -1, 195, 175, 176, 177, 178, - 179, 201, 181, 182, 183, 184, 185, 186, 187, 188, - 189, -1, -1, -1, -1, -1, 195, 175, 176, 177, - 178, 179, 201, 181, 182, 183, 184, 185, 186, 187, - 188, 189, -1, -1, -1, -1, -1, 195, 175, 176, - 177, 178, 179, 201, 181, 182, 183, 184, 185, 186, - 187, 188, 189, -1, -1, -1, -1, -1, 195, 175, - 176, 177, 178, 179, 201, 181, 182, 183, 184, 185, - 186, 187, 188, 189, -1, -1, -1, -1, -1, 195, - 175, 176, 177, 178, 179, 201, 181, 182, 183, 184, - 185, 186, 187, 188, 189, -1, -1, -1, -1, -1, - 195, 175, 176, 177, 178, 179, 201, 181, 182, 183, - 184, 185, 186, 187, 188, 189, -1, -1, -1, -1, - -1, 195, 175, 176, 177, 178, 179, 201, 181, 182, - 183, 184, 185, 186, 187, 188, 189, -1, -1, -1, - -1, -1, 195, 175, 176, 177, 178, 179, 201, 181, - 182, 183, 184, 185, 186, 187, 188, 189, -1, -1, - -1, -1, -1, 195, 175, 176, 177, 178, 179, 201, - 181, 182, 183, 184, 185, 186, 187, 188, 189, -1, - -1, -1, -1, -1, 195, 175, 176, 177, 178, 179, - 201, 181, 182, 183, 184, 185, 186, 187, 188, 189, - -1, -1, -1, -1, -1, 195, 175, 176, 177, 178, - 179, 201, 181, 182, 183, 184, 185, 186, 187, 188, - 189, -1, -1, -1, -1, -1, 195, 175, 176, 177, - 178, 179, 201, 181, 182, 183, 184, 185, 186, 187, - 188, 189, -1, -1, -1, -1, -1, 195, 175, 176, - 177, 178, 179, 201, 181, 182, 183, 184, 185, 186, - 187, 188, 189, -1, -1, -1, -1, -1, 195, 175, - 176, 177, 178, 179, 201, 181, 182, 183, 184, 185, - 186, 187, 188, 189, -1, -1, -1, -1, -1, 195, - 175, 176, 177, 178, 179, 201, 181, 182, 183, 184, - 185, 186, 187, 188, 189, -1, -1, -1, -1, -1, - 195, 175, 176, 177, 178, 179, 201, 181, 182, 183, - 184, 185, 186, 187, 188, 189, -1, -1, -1, -1, - -1, 195, 175, 176, 177, 178, 179, 201, 181, 182, - 183, 184, 185, 186, 187, 188, 189, -1, -1, -1, - -1, -1, 195, 175, 176, 177, 178, 179, 201, 181, - 182, 183, 184, 185, 186, 187, 188, 189, -1, -1, - -1, -1, -1, 195, 175, 176, 177, 178, 179, 201, - 181, 182, 183, 184, 185, 186, 187, 188, 189, -1, - -1, -1, -1, -1, 195, 175, 176, 177, 178, 179, - 201, 181, 182, 183, 184, 185, 186, 187, 188, 189, - -1, -1, -1, -1, -1, 195, 175, 176, 177, 178, - 179, 201, 181, 182, 183, 184, 185, 186, 187, 188, - 189, -1, -1, -1, -1, -1, 195, 175, 176, 177, - 178, 179, 201, 181, 182, 183, 184, 185, 186, 187, - 188, 189, -1, -1, -1, -1, -1, 195, 175, 176, - 177, 178, 179, 201, 181, 182, 183, 184, 185, 186, - 187, 188, 189, -1, -1, -1, -1, -1, 195, 175, - 176, 177, 178, 179, 201, 181, 182, 183, 184, 185, - 186, 187, 188, 189, -1, -1, -1, -1, -1, 195, - 175, 176, 177, 178, 179, 201, 181, 182, 183, 184, - 185, 186, 187, 188, 189, -1, -1, -1, -1, -1, - 195, 175, 176, 177, 178, 179, 201, 181, 182, 183, - 184, 185, 186, 187, 188, 189, -1, -1, -1, -1, - -1, 195, 175, 176, 177, 178, 179, 201, 181, 182, - 183, 184, 185, 186, 187, 188, 189, -1, -1, -1, - -1, -1, 195, 175, 176, 177, 178, 179, 201, 181, - 182, 183, 184, 185, 186, 187, 188, 189, -1, -1, - -1, -1, -1, 195, 175, 176, 177, 178, 179, 201, - 181, 182, 183, 184, 185, 186, 187, 188, 189, -1, - -1, -1, -1, -1, 195, 175, 176, 177, 178, 179, - 201, 181, 182, 183, 184, 185, 186, 187, 188, 189, - -1, -1, -1, -1, -1, 195, 175, 176, 177, 178, - 179, 201, 181, 182, 183, 184, 185, 186, 187, 188, - 189, -1, -1, -1, -1, -1, 195, 175, 176, 177, - 178, 179, 201, 181, 182, 183, 184, 185, 186, 187, - 188, 189, -1, -1, -1, -1, -1, 195, 175, 176, - 177, 178, 179, 201, 181, 182, 183, 184, 185, 186, - 187, 188, 189, -1, -1, -1, -1, -1, 195, 175, - 176, 177, 178, 179, 201, 181, 182, 183, 184, 185, - 186, 187, 188, 189, -1, -1, -1, -1, -1, 195, - 175, 176, 177, 178, 179, 201, 181, 182, 183, 184, - 185, 186, 187, 188, 189, -1, -1, -1, -1, -1, - 195, 175, 176, 177, 178, 179, 201, 181, 182, 183, - 184, 185, 186, 187, 188, 189, -1, -1, -1, -1, - -1, 195, 175, 176, 177, 178, 179, 201, 181, 182, - 183, 184, 185, 186, 187, 188, 189, -1, -1, -1, - -1, -1, 195, 175, 176, 177, 178, 179, 201, 181, - 182, 183, 184, 185, 186, 187, 188, 189, -1, -1, - -1, -1, -1, 195, 175, 176, 177, 178, 179, 201, - 181, 182, 183, 184, 185, 186, 187, 188, 189, -1, - -1, -1, -1, -1, 195, 175, 176, 177, 178, 179, - 201, 181, 182, 183, 184, 185, 186, 187, 188, 189, - -1, -1, -1, -1, -1, 195, 175, 176, 177, 178, - 179, 201, 181, 182, 183, 184, 185, 186, 187, 188, - 189, -1, -1, -1, -1, -1, 195, 175, 176, 177, - 178, 179, 201, 181, 182, 183, 184, 185, 186, 187, - 188, 189, -1, -1, -1, -1, -1, 195, 175, 176, - 177, 178, 179, 201, 181, 182, 183, 184, 185, 186, - 187, 188, 189, -1, -1, -1, -1, -1, 195, 175, - 176, 177, 178, 179, 201, 181, 182, 183, 184, 185, - 186, 187, 188, 189, -1, -1, -1, -1, -1, 195, - 175, 176, 177, 178, 179, 201, 181, 182, 183, 184, - 185, 186, 187, 188, 189, -1, -1, -1, -1, -1, - 195, 175, 176, 177, 178, 179, 201, 181, 182, 183, - 184, 185, 186, 187, 188, 189, -1, -1, -1, -1, - -1, 195, 175, 176, 177, 178, 179, 201, 181, 182, - 183, 184, 185, 186, 187, 188, 189, -1, -1, -1, - -1, -1, 195, 175, 176, 177, 178, 179, 201, 181, - 182, 183, 184, 185, 186, 187, 188, 189, -1, -1, - -1, -1, -1, 195, 175, 176, 177, 178, 179, 201, - 181, 182, 183, 184, 185, 186, 187, 188, 189, -1, - -1, -1, -1, -1, 195, 175, 176, 177, 178, 179, - 201, 181, 182, 183, 184, 185, 186, 187, 188, 189, - -1, -1, -1, -1, -1, 195, 175, 176, 177, 178, - 179, 201, 181, 182, 183, 184, 185, 186, 187, 188, - 189, -1, -1, -1, -1, -1, 195, 175, 176, 177, - 178, 179, 201, 181, 182, 183, 184, 185, 186, 187, - 188, 189, -1, -1, -1, -1, -1, 195, 175, 176, - 177, 178, 179, 201, 181, 182, 183, 184, 185, 186, - 187, 188, 189, -1, -1, -1, -1, -1, 195, 175, - 176, 177, 178, 179, 201, 181, 182, 183, 184, 185, - 186, 187, 188, 189, -1, -1, -1, -1, -1, 195, - 175, 176, 177, 178, 179, 201, 181, 182, 183, 184, - 185, 186, 187, 188, 189, -1, -1, -1, -1, -1, - 195, 175, 176, 177, 178, 179, 201, 181, 182, 183, - 184, 185, 186, 187, 188, 189, -1, -1, -1, -1, - -1, 195, 175, 176, 177, 178, 179, 201, 181, 182, - 183, 184, 185, 186, 187, 188, 189, -1, -1, -1, - -1, -1, 195, 175, 176, 177, 178, 179, 201, 181, - 182, 183, 184, 185, 186, 187, 188, 189, -1, -1, - -1, -1, -1, 195, 175, 176, 177, 178, 179, 201, - 181, 182, 183, 184, 185, 186, 187, 188, 189, -1, - -1, -1, -1, -1, 195, 175, 176, 177, 178, 179, - 201, 181, 182, 183, 184, 185, 186, 187, 188, 189, - -1, -1, -1, -1, -1, 195, 175, 176, 177, 178, - 179, 201, 181, 182, 183, 184, 185, 186, 187, 188, - 189, -1, -1, -1, -1, -1, 195, 175, 176, 177, - 178, 179, 201, 181, 182, 183, 184, 185, 186, 187, - 188, 189, -1, -1, -1, -1, -1, 195, 175, 176, - 177, 178, 179, 201, 181, 182, 183, 184, 185, 186, - 187, 188, 189, -1, -1, -1, -1, -1, 195, 175, - 176, 177, 178, 179, 201, 181, 182, 183, 184, 185, - 186, 187, 188, 189, -1, -1, -1, -1, -1, 195, - 175, 176, 177, 178, 179, 201, 181, 182, 183, 184, - 185, 186, 187, 188, 189, -1, -1, -1, -1, -1, - 195, 175, 176, 177, 178, 179, 201, 181, 182, 183, - 184, 185, 186, 187, 188, 189, -1, -1, -1, -1, - -1, 195, 175, 176, 177, 178, 179, 201, 181, 182, - 183, 184, 185, 186, 187, 188, 189, -1, -1, -1, - -1, -1, 195, 175, 176, 177, 178, 179, 201, 181, - 182, 183, 184, 185, 186, 187, 188, 189, -1, -1, - -1, -1, -1, 195, 175, 176, 177, 178, 179, 201, - 181, 182, 183, 184, 185, 186, 187, 188, 189, -1, - -1, -1, -1, -1, 195, 175, 176, 177, 178, 179, - 201, 181, 182, 183, 184, 185, 186, 187, 188, 189, - -1, -1, -1, -1, -1, 195, 175, 176, 177, 178, - 179, 201, 181, 182, 183, 184, 185, 186, 187, 188, - 189, -1, -1, -1, -1, -1, 195, 175, 176, 177, - 178, 179, 201, 181, 182, 183, 184, 185, 186, 187, - 188, 189, -1, -1, -1, -1, -1, 195, 175, 176, - 177, 178, 179, 201, 181, 182, 183, 184, 185, 186, - 187, 188, 189, -1, -1, -1, -1, -1, 195, 175, - 176, 177, 178, 179, 201, 181, 182, 183, 184, 185, - 186, 187, 188, 189, -1, -1, -1, -1, -1, 195, - 175, 176, 177, 178, 179, 201, 181, 182, 183, 184, - 185, 186, 187, 188, 189, -1, -1, -1, -1, -1, - 195, 175, 176, 177, 178, 179, 201, 181, 182, 183, - 184, 185, 186, 187, 188, 189, -1, -1, -1, -1, - -1, 195, 175, 176, 177, 178, 179, 201, 181, 182, - 183, 184, 185, 186, 187, 188, 189, -1, -1, -1, - -1, -1, 195, 175, 176, 177, 178, 179, 201, 181, - 182, 183, 184, 185, 186, 187, 188, 189, -1, -1, - -1, -1, -1, 195, 175, 176, 177, 178, 179, 201, - 181, 182, 183, 184, 185, 186, 187, 188, 189, -1, - -1, -1, -1, -1, 195, 175, 176, 177, 178, 179, - 201, 181, 182, 183, 184, 185, 186, 187, 188, 189, - -1, -1, -1, -1, -1, 195, 175, 176, 177, 178, - 179, 201, 181, 182, 183, 184, 185, 186, 187, 188, - 189, -1, -1, -1, -1, -1, 195, 175, 176, 177, - 178, 179, 201, 181, 182, 183, 184, 185, 186, 187, - 188, 189, -1, -1, -1, -1, -1, 195, 175, 176, - 177, 178, 179, 201, 181, 182, 183, 184, 185, 186, - 187, 188, 189, -1, -1, -1, -1, -1, 195, 175, - 176, 177, 178, 179, 201, 181, 182, 183, 184, 185, - 186, 187, 188, 189, -1, -1, -1, -1, -1, 195, - 175, 176, 177, 178, 179, 201, 181, 182, 183, 184, - 185, 186, 187, 188, 189, -1, -1, -1, -1, -1, - 195, 175, 176, 177, 178, 179, 201, 181, 182, 183, - 184, 185, 186, 187, 188, 189, -1, -1, -1, -1, - -1, 195, 175, 176, 177, 178, 179, 201, 181, 182, - 183, 184, 185, 186, 187, 188, 189, -1, -1, -1, - -1, -1, 195, 175, 176, 177, 178, 179, 201, 181, - 182, 183, 184, 185, 186, 187, 188, 189, -1, -1, - -1, -1, -1, 195, 175, 176, 177, 178, 179, 201, - 181, 182, 183, 184, 185, 186, 187, 188, 189, -1, - -1, -1, -1, -1, 195, 175, 176, 177, 178, 179, - 201, 181, 182, 183, 184, 185, 186, 187, 188, 189, - -1, -1, -1, -1, -1, 195, 175, 176, 177, 178, - 179, 201, 181, 182, 183, 184, 185, 186, 187, 188, - 189, -1, -1, -1, -1, -1, 195, 175, 176, 177, - 178, 179, 201, 181, 182, 183, 184, 185, 186, 187, - 188, 189, -1, -1, -1, -1, -1, 195, 175, 176, - 177, 178, 179, 201, 181, 182, 183, 184, 185, 186, - 187, 188, 189, -1, -1, -1, -1, -1, 195, 175, - 176, 177, 178, 179, 201, 181, 182, 183, 184, 185, - 186, 187, 188, 189, -1, -1, -1, -1, -1, 195, - 175, 176, 177, 178, 179, 201, 181, 182, 183, 184, - 185, 186, 187, 188, 189, -1, -1, -1, -1, -1, - 195, 175, 176, 177, 178, 179, 201, 181, 182, 183, - 184, 185, 186, 187, 188, 189, -1, -1, -1, -1, - -1, 195, 175, 176, 177, 178, 179, 201, 181, 182, - 183, 184, 185, 186, 187, 188, 189, -1, -1, -1, - -1, -1, 195, 175, 176, 177, 178, 179, 201, 181, - 182, 183, 184, 185, 186, 187, 188, 189, -1, -1, - -1, -1, -1, 195, 175, 176, 177, 178, 179, 201, - 181, 182, 183, 184, 185, 186, 187, 188, 189, -1, - -1, -1, -1, -1, 195, 175, 176, 177, 178, 179, - 201, 181, 182, 183, 184, 185, 186, 187, 188, 189, - -1, -1, -1, -1, -1, 195, 175, 176, 177, 178, - 179, 201, 181, 182, 183, 184, 185, 186, 187, 188, - 189, -1, -1, -1, -1, -1, 195, 175, 176, 177, - 178, 179, 201, 181, 182, 183, 184, 185, 186, 187, - 188, 189, -1, -1, -1, -1, -1, 195, 175, 176, - 177, 178, 179, 201, 181, 182, 183, 184, 185, 186, - 187, 188, 189, -1, -1, -1, -1, -1, 195, 175, - 176, 177, 178, 179, 201, 181, 182, 183, 184, 185, - 186, 187, 188, 189, -1, -1, -1, -1, -1, 195, - 175, 176, 177, 178, 179, 201, 181, 182, 183, 184, - 185, 186, 187, 188, 189, -1, -1, -1, -1, -1, - 195, 175, 176, 177, 178, 179, 201, 181, 182, 183, - 184, 185, 186, 187, 188, 189, -1, -1, -1, -1, - -1, 195, 175, 176, 177, 178, 179, 201, 181, 182, - 183, 184, 185, 186, 187, 188, 189, -1, -1, -1, - -1, -1, 195, 175, 176, 177, 178, 179, 201, 181, - 182, 183, 184, 185, 186, 187, 188, 189, -1, -1, - -1, -1, -1, 195, 175, 176, 177, 178, 179, 201, - 181, 182, 183, 184, 185, 186, 187, 188, 189, -1, - -1, -1, -1, -1, 195, 175, 176, 177, 178, 179, - 201, 181, 182, 183, 184, 185, 186, 187, 188, 189, - -1, -1, -1, -1, -1, 195, 175, 176, 177, 178, - 179, 201, 181, 182, 183, 184, 185, 186, 187, 188, - 189, -1, -1, -1, -1, -1, 195, 175, 176, 177, - 178, 179, 201, 181, 182, 183, 184, 185, 186, 187, - 188, 189, -1, -1, -1, -1, -1, 195, 175, 176, - 177, 178, 179, 201, 181, 182, 183, 184, 185, 186, - 187, 188, 189, -1, -1, -1, -1, -1, 195, 175, - 176, 177, 178, 179, 201, 181, 182, 183, 184, 185, - 186, 187, 188, 189, -1, -1, -1, -1, -1, 195, - 175, 176, 177, 178, 179, 201, 181, 182, 183, 184, - 185, 186, 187, 188, 189, -1, -1, -1, -1, -1, - 195, 175, 176, 177, 178, 179, 201, 181, 182, 183, - 184, 185, 186, 187, 188, 189, -1, -1, -1, -1, - -1, 195, 175, 176, 177, 178, 179, 201, 181, 182, - 183, 184, 185, 186, 187, 188, 189, -1, -1, -1, - -1, -1, 195, 175, 176, 177, 178, 179, 201, 181, - 182, 183, 184, 185, 186, 187, 188, 189, -1, -1, - -1, -1, -1, 195, 175, 176, 177, 178, 179, 201, - 181, 182, 183, 184, 185, 186, 187, 188, 189, -1, - -1, -1, -1, -1, 195, 175, 176, 177, 178, 179, - 201, 181, 182, 183, 184, 185, 186, 187, 188, 189, - -1, -1, -1, -1, -1, 195, 175, 176, 177, 178, - 179, 201, 181, 182, 183, 184, 185, 186, 187, 188, - 189, -1, -1, -1, -1, -1, 195, 175, 176, 177, - 178, 179, 201, 181, 182, 183, 184, 185, 186, 187, - 188, 189, -1, -1, -1, -1, -1, 195, 175, 176, - 177, 178, 179, 201, 181, 182, 183, 184, 185, 186, - 187, 188, 189, -1, -1, -1, -1, -1, 195, 175, - 176, 177, 178, 179, 201, 181, 182, 183, 184, 185, - 186, 187, 188, 189, -1, -1, -1, -1, -1, 195, - 175, 176, 177, 178, 179, 201, 181, 182, 183, 184, - 185, 186, 187, 188, 189, -1, -1, -1, -1, -1, - 195, 175, 176, 177, 178, 179, 201, 181, 182, 183, - 184, 185, 186, 187, 188, 189, -1, -1, -1, -1, - -1, 195, -1, -1, -1, 199, 175, 176, 177, 178, - 179, -1, 181, 182, 183, 184, 185, 186, 187, 188, - 189, -1, -1, -1, -1, -1, 195, -1, -1, -1, - 199, 175, 176, 177, 178, 179, -1, 181, 182, 183, - 184, 185, 186, 187, 188, 189, -1, -1, -1, -1, - -1, 195, -1, -1, -1, 199, 175, 176, 177, 178, - 179, -1, 181, 182, 183, 184, 185, 186, 187, 188, - 189, -1, -1, -1, -1, -1, 195, -1, -1, -1, - 199, 175, 176, 177, 178, 179, -1, 181, 182, 183, - 184, 185, 186, 187, 188, 189, -1, -1, -1, -1, - -1, 195, -1, -1, -1, 199, 175, 176, 177, 178, - 179, -1, 181, 182, 183, 184, 185, 186, 187, 188, - 189, -1, -1, -1, -1, -1, 195, -1, -1, -1, - 199, 175, 176, 177, 178, 179, -1, 181, 182, 183, - 184, 185, 186, 187, 188, 189, -1, -1, -1, -1, - -1, 195, -1, -1, -1, 199, 175, 176, 177, 178, - 179, -1, 181, 182, 183, 184, 185, 186, 187, 188, - 189, -1, -1, -1, -1, -1, 195, -1, -1, -1, - 199, 175, 176, 177, 178, 179, -1, 181, 182, 183, - 184, 185, 186, 187, 188, 189, -1, -1, -1, -1, - -1, 195, -1, -1, -1, 199, 175, 176, 177, 178, - 179, -1, 181, 182, 183, 184, 185, 186, 187, 188, - 189, -1, -1, -1, -1, -1, 195, -1, -1, -1, - 199, 175, 176, 177, 178, 179, -1, 181, 182, 183, - 184, 185, 186, 187, 188, 189, -1, -1, -1, -1, - -1, 195, -1, -1, -1, 199, 175, 176, 177, 178, - 179, -1, 181, 182, 183, 184, 185, 186, 187, 188, - 189, -1, -1, -1, -1, -1, 195, -1, -1, -1, - 199, 175, 176, 177, 178, 179, -1, 181, 182, 183, - 184, 185, 186, 187, 188, 189, -1, -1, -1, -1, - -1, 195, -1, -1, -1, 199, 175, 176, 177, 178, - 179, -1, 181, 182, 183, 184, 185, 186, 187, 188, - 189, -1, -1, -1, -1, -1, 195, -1, -1, -1, - 199, 175, 176, 177, 178, 179, -1, 181, 182, 183, - 184, 185, 186, 187, 188, 189, -1, -1, -1, -1, - -1, 195, -1, -1, -1, 199, 175, 176, 177, 178, - 179, -1, 181, 182, 183, 184, 185, 186, 187, 188, - 189, -1, -1, -1, -1, -1, 195, -1, -1, -1, - 199, 175, 176, 177, 178, 179, -1, 181, 182, 183, - 184, 185, 186, 187, 188, 189, -1, -1, -1, -1, - -1, 195, -1, -1, -1, 199, 175, 176, 177, 178, - 179, -1, 181, 182, 183, 184, 185, 186, 187, 188, - 189, -1, -1, -1, -1, -1, 195, -1, -1, -1, - 199, 175, 176, 177, 178, 179, -1, 181, 182, 183, - 184, 185, 186, 187, 188, 189, -1, -1, -1, -1, - -1, 195, -1, -1, -1, 199, 175, 176, 177, 178, - 179, -1, 181, 182, 183, 184, 185, 186, 187, 188, - 189, -1, -1, -1, -1, -1, 195, -1, -1, -1, - 199, 175, 176, 177, 178, 179, -1, 181, 182, 183, - 184, 185, 186, 187, 188, 189, -1, -1, -1, -1, - -1, 195, -1, -1, -1, 199, 175, 176, 177, 178, - 179, -1, 181, 182, 183, 184, 185, 186, 187, 188, - 189, -1, -1, -1, -1, -1, 195, -1, -1, -1, - 199, 175, 176, 177, 178, 179, -1, 181, 182, 183, - 184, 185, 186, 187, 188, 189, -1, -1, -1, -1, - -1, 195, -1, -1, -1, 199, 175, 176, 177, 178, - 179, -1, 181, 182, 183, 184, 185, 186, 187, 188, - 189, -1, -1, -1, -1, -1, 195, -1, -1, -1, - 199, 175, 176, 177, 178, 179, -1, 181, 182, 183, - 184, 185, 186, 187, 188, 189, -1, -1, -1, -1, - -1, 195, -1, -1, -1, 199, 175, 176, 177, 178, - 179, -1, 181, 182, 183, 184, 185, 186, 187, 188, - 189, -1, -1, -1, -1, -1, 195, -1, -1, -1, - 199, 175, 176, 177, 178, 179, -1, 181, 182, 183, - 184, 185, 186, 187, 188, 189, -1, -1, -1, -1, - -1, 195, -1, -1, -1, 199, 175, 176, 177, 178, - 179, -1, 181, 182, 183, 184, 185, 186, 187, 188, - 189, -1, -1, -1, -1, -1, 195, -1, 197, 175, - 176, 177, 178, 179, -1, 181, 182, 183, 184, 185, - 186, 187, 188, 189, -1, -1, -1, -1, -1, 195, - -1, 197, 175, 176, 177, 178, 179, -1, 181, 182, - 183, 184, 185, 186, 187, 188, 189, -1, -1, -1, - -1, -1, 195, -1, 197, 175, 176, 177, 178, 179, - -1, 181, 182, 183, 184, 185, 186, 187, 188, 189, - -1, -1, -1, -1, -1, 195, -1, 197, 175, 176, - 177, 178, 179, -1, 181, 182, 183, 184, 185, 186, - 187, 188, 189, -1, -1, -1, -1, -1, 195, -1, - 197, 175, 176, 177, 178, 179, -1, 181, 182, 183, - 184, 185, 186, 187, 188, 189, -1, -1, -1, -1, - -1, 195, -1, 197, 175, 176, 177, 178, 179, -1, - 181, 182, 183, 184, 185, 186, 187, 188, 189, -1, - -1, -1, -1, -1, 195, -1, 197, 175, 176, 177, - 178, 179, -1, 181, 182, 183, 184, 185, 186, 187, - 188, 189, -1, -1, -1, -1, -1, 195, -1, 197, - 175, 176, 177, 178, 179, -1, 181, 182, 183, 184, - 185, 186, 187, 188, 189, -1, -1, -1, -1, -1, - 195, -1, 197, 175, 176, 177, 178, 179, -1, 181, - 182, 183, 184, 185, 186, 187, 188, 189, -1, -1, - -1, -1, -1, 195, -1, 197, 175, 176, 177, 178, - 179, -1, 181, 182, 183, 184, 185, 186, 187, 188, - 189, -1, -1, -1, -1, -1, 195, -1, 197, 175, - 176, 177, 178, 179, -1, 181, 182, 183, 184, 185, - 186, 187, 188, 189, -1, -1, -1, -1, -1, 195, - -1, 197, 175, 176, 177, 178, 179, -1, 181, 182, - 183, 184, 185, 186, 187, 188, 189, -1, -1, -1, - -1, -1, 195, -1, 197, 175, 176, 177, 178, 179, - -1, 181, 182, 183, 184, 185, 186, 187, 188, 189, - -1, -1, -1, -1, -1, 195, -1, 197, 175, 176, - 177, 178, 179, -1, 181, 182, 183, 184, 185, 186, - 187, 188, 189, -1, -1, -1, -1, -1, 195, -1, - 197, 175, 176, 177, 178, 179, -1, 181, 182, 183, - 184, 185, 186, 187, 188, 189, -1, -1, -1, -1, - -1, 195, -1, 197, 175, 176, 177, 178, 179, -1, - 181, 182, 183, 184, 185, 186, 187, 188, 189, -1, - -1, -1, -1, -1, 195, -1, 197, 175, 176, 177, - 178, 179, -1, 181, 182, 183, 184, 185, 186, 187, - 188, 189, -1, -1, -1, -1, -1, 195, -1, 197, - 175, 176, 177, 178, 179, -1, 181, 182, 183, 184, - 185, 186, 187, 188, 189, -1, -1, -1, -1, -1, - 195, -1, 197, 175, 176, 177, 178, 179, -1, 181, - 182, 183, 184, 185, 186, 187, 188, 189, -1, -1, - -1, -1, -1, 195, -1, 197, 175, 176, 177, 178, - 179, -1, 181, 182, 183, 184, 185, 186, 187, 188, - 189, -1, -1, -1, -1, -1, 195, -1, 197, 175, - 176, 177, 178, 179, -1, 181, 182, 183, 184, 185, - 186, 187, 188, 189, -1, -1, -1, -1, -1, 195, - -1, 197, 175, 176, 177, 178, 179, -1, 181, 182, - 183, 184, 185, 186, 187, 188, 189, -1, -1, -1, - -1, -1, 195, -1, 197, 175, 176, 177, 178, 179, - -1, 181, 182, 183, 184, 185, 186, 187, 188, 189, - -1, -1, -1, -1, -1, 195, -1, 197, 175, 176, - 177, 178, 179, -1, 181, 182, 183, 184, 185, 186, - 187, 188, 189, -1, -1, -1, -1, -1, 195, -1, - 197, 175, 176, 177, 178, 179, -1, 181, 182, 183, - 184, 185, 186, 187, 188, 189, -1, -1, -1, -1, - -1, 195, -1, 197, 175, 176, 177, 178, 179, -1, - 181, 182, 183, 184, 185, 186, 187, 188, 189, -1, - -1, -1, -1, -1, 195, -1, 197, 175, 176, 177, - 178, 179, -1, 181, 182, 183, 184, 185, 186, 187, - 188, 189, -1, -1, -1, -1, -1, 195, -1, 197, - 175, 176, 177, 178, 179, -1, 181, 182, 183, 184, - 185, 186, 187, 188, 189, -1, -1, -1, -1, -1, - 195, -1, 197, 175, 176, 177, 178, 179, -1, 181, - 182, 183, 184, 185, 186, 187, 188, 189, -1, -1, - -1, -1, -1, 195, -1, 197, 175, 176, 177, 178, - 179, -1, 181, 182, 183, 184, 185, 186, 187, 188, - 189, -1, -1, -1, -1, -1, 195, -1, 197, 175, - 176, 177, 178, 179, -1, 181, 182, 183, 184, 185, - 186, 187, 188, 189, -1, -1, -1, -1, -1, 195, - -1, 197, 175, 176, 177, 178, 179, -1, 181, 182, - 183, 184, 185, 186, 187, 188, 189, -1, -1, -1, - -1, -1, 195, -1, 197, 175, 176, 177, 178, 179, - -1, 181, 182, 183, 184, 185, 186, 187, 188, 189, - -1, -1, -1, -1, -1, 195, -1, 197, 175, 176, - 177, 178, 179, -1, 181, 182, 183, 184, 185, 186, - 187, 188, 189, -1, -1, -1, -1, -1, 195, -1, - 197, 175, 176, 177, 178, 179, -1, 181, 182, 183, - 184, 185, 186, 187, 188, 189, -1, -1, -1, -1, - -1, 195, -1, 197, 175, 176, 177, 178, 179, -1, - 181, 182, 183, 184, 185, 186, 187, 188, 189, -1, - -1, -1, -1, -1, 195, -1, 197, 175, 176, 177, - 178, 179, -1, 181, 182, 183, 184, 185, 186, 187, - 188, 189, -1, -1, -1, -1, -1, 195, -1, 197, - 175, 176, 177, 178, 179, -1, 181, 182, 183, 184, - 185, 186, 187, 188, 189, -1, -1, -1, -1, -1, - 195, -1, 197, 175, 176, 177, 178, 179, -1, 181, - 182, 183, 184, 185, 186, 187, 188, 189, -1, -1, - -1, -1, -1, 195, -1, 197, 175, 176, 177, 178, - 179, -1, 181, 182, 183, 184, 185, 186, 187, 188, - 189, -1, -1, -1, -1, -1, 195, -1, 197, 175, - 176, 177, 178, 179, -1, 181, 182, 183, 184, 185, - 186, 187, 188, 189, -1, -1, -1, -1, -1, 195, - -1, 197, 175, 176, 177, 178, 179, -1, 181, 182, - 183, 184, 185, 186, 187, 188, 189, -1, -1, -1, - -1, -1, 195, -1, 197, 175, 176, 177, 178, 179, - -1, 181, 182, 183, 184, 185, 186, 187, 188, 189, - -1, -1, -1, -1, -1, 195, -1, 197, 175, 176, - 177, 178, 179, -1, 181, 182, 183, 184, 185, 186, - 187, 188, 189, -1, -1, -1, -1, -1, 195, -1, - 197, 175, 176, 177, 178, 179, -1, 181, 182, 183, - 184, 185, 186, 187, 188, 189, -1, -1, -1, -1, - -1, 195, -1, 197, 175, 176, 177, 178, 179, -1, - 181, 182, 183, 184, 185, 186, 187, 188, 189, -1, - -1, -1, -1, -1, 195, -1, 197, 175, 176, 177, - 178, 179, -1, 181, 182, 183, 184, 185, 186, 187, - 188, 189, -1, -1, -1, -1, -1, 195, -1, 197, - 175, 176, 177, 178, 179, -1, 181, 182, 183, 184, - 185, 186, 187, 188, 189, -1, -1, -1, -1, -1, - 195, -1, 197, 175, 176, 177, 178, 179, -1, 181, - 182, 183, 184, 185, 186, 187, 188, 189, -1, -1, - -1, -1, -1, 195, -1, 197, 175, 176, 177, 178, - 179, -1, 181, 182, 183, 184, 185, 186, 187, 188, - 189, -1, -1, -1, -1, -1, 195, -1, 197, 175, - 176, 177, 178, 179, -1, 181, 182, 183, 184, 185, - 186, 187, 188, 189, -1, -1, -1, -1, -1, 195, - -1, 197, 175, 176, 177, 178, 179, -1, 181, 182, - 183, 184, 185, 186, 187, 188, 189, -1, -1, -1, - -1, -1, 195, -1, 197, 175, 176, 177, 178, 179, - -1, 181, 182, 183, 184, 185, 186, 187, 188, 189, - -1, -1, -1, -1, -1, 195, -1, 197, 175, 176, - 177, 178, 179, -1, 181, 182, 183, 184, 185, 186, - 187, 188, 189, -1, -1, -1, -1, -1, 195, -1, - 197, 175, 176, 177, 178, 179, -1, 181, 182, 183, - 184, 185, 186, 187, 188, 189, -1, -1, -1, -1, - -1, 195, -1, 197, 175, 176, 177, 178, 179, -1, - 181, 182, 183, 184, 185, 186, 187, 188, 189, -1, - -1, -1, -1, -1, 195, -1, 197, 175, 176, 177, - 178, 179, -1, 181, 182, 183, 184, 185, 186, 187, - 188, 189, -1, -1, -1, -1, -1, 195, -1, 197, - 175, 176, 177, 178, 179, -1, 181, 182, 183, 184, - 185, 186, 187, 188, 189, -1, -1, -1, -1, -1, - 195, -1, 197, 175, 176, 177, 178, 179, -1, 181, - 182, 183, 184, 185, 186, 187, 188, 189, -1, -1, - -1, -1, -1, 195, -1, 197, 175, 176, 177, 178, - 179, -1, 181, 182, 183, 184, 185, 186, 187, 188, - 189, -1, -1, -1, -1, -1, 195, -1, 197, 175, - 176, 177, 178, 179, -1, 181, 182, 183, 184, 185, - 186, 187, 188, 189, -1, -1, -1, -1, -1, 195, - -1, 197, 175, 176, 177, 178, 179, -1, 181, 182, - 183, 184, 185, 186, 187, 188, 189, -1, -1, -1, - -1, -1, 195, -1, 197, 175, 176, 177, 178, 179, - -1, 181, 182, 183, 184, 185, 186, 187, 188, 189, - -1, -1, -1, -1, -1, 195, -1, 197, 175, 176, - 177, 178, 179, -1, 181, 182, 183, 184, 185, 186, - 187, 188, 189, -1, -1, -1, -1, -1, 195, -1, - 197, 175, 176, 177, 178, 179, -1, 181, 182, 183, - 184, 185, 186, 187, 188, 189, -1, -1, -1, -1, - -1, 195, -1, 197, 175, 176, 177, 178, 179, -1, - 181, 182, 183, 184, 185, 186, 187, 188, 189, -1, - -1, -1, -1, -1, 195, -1, 197, 175, 176, 177, - 178, 179, -1, 181, 182, 183, 184, 185, 186, 187, - 188, 189, -1, -1, -1, -1, -1, 195, -1, 197, - 175, 176, 177, 178, 179, -1, 181, 182, 183, 184, - 185, 186, 187, 188, 189, -1, -1, -1, -1, -1, - 195, -1, 197, 175, 176, 177, 178, 179, -1, 181, - 182, 183, 184, 185, 186, 187, 188, 189, -1, -1, - -1, -1, -1, 195, -1, 197, 175, 176, 177, 178, - 179, -1, 181, 182, 183, 184, 185, 186, 187, 188, - 189, -1, -1, -1, -1, -1, 195, -1, 197, 175, - 176, 177, 178, 179, -1, 181, 182, 183, 184, 185, - 186, 187, 188, 189, -1, -1, -1, -1, -1, 195, - -1, 197, 175, 176, 177, 178, 179, -1, 181, 182, - 183, 184, 185, 186, 187, 188, 189, -1, -1, -1, - -1, -1, 195, -1, 197, 175, 176, 177, 178, 179, - -1, 181, 182, 183, 184, 185, 186, 187, 188, 189, - -1, -1, -1, -1, -1, 195, -1, 197, 175, 176, - 177, 178, 179, -1, 181, 182, 183, 184, 185, 186, - 187, 188, 189, -1, -1, -1, -1, -1, 195, -1, - 197, 175, 176, 177, 178, 179, -1, 181, 182, 183, - 184, 185, 186, 187, 188, 189, -1, -1, -1, -1, - -1, 195, -1, 197, 175, 176, 177, 178, 179, -1, - 181, 182, 183, 184, 185, 186, 187, 188, 189, -1, - -1, -1, -1, -1, 195, -1, 197, 175, 176, 177, - 178, 179, -1, 181, 182, 183, 184, 185, 186, 187, - 188, 189, -1, -1, -1, -1, -1, 195, -1, 197, - 175, 176, 177, 178, 179, -1, 181, 182, 183, 184, - 185, 186, 187, 188, 189, -1, -1, -1, -1, -1, - 195, -1, 197, 175, 176, 177, 178, 179, -1, 181, - 182, 183, 184, 185, 186, 187, 188, 189, -1, -1, - -1, -1, -1, 195, -1, 197, 175, 176, 177, 178, - 179, -1, 181, 182, 183, 184, 185, 186, 187, 188, - 189, -1, -1, -1, -1, -1, 195, -1, 197, 175, - 176, 177, 178, 179, -1, 181, 182, 183, 184, 185, - 186, 187, 188, 189, -1, -1, -1, -1, -1, 195 + 99, 100, 101, -1, -1, -1, -1, 139, 140, 141, + 142, 143, 144, 145, 146, -1, -1, -1, -1, 118, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 1450, 164, 165, -1, 167, -1, -1, 1457, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 1468, + 1469, 38, 39, 40, 41, 42, 43, 44, 45, -1, + 47, -1, 49, 50, 51, -1, 53, 54, -1, -1, + -1, -1, -1, 38, 39, 40, 41, 42, 43, 44, + 45, -1, 47, 70, 49, 50, 51, -1, 53, 54, + -1, -1, -1, 1512, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 70, 205, -1, -1, -1, + -1, -1, 99, 100, 101, -1, -1, 38, 39, 40, + 41, 42, 43, 44, 45, -1, 47, -1, 49, 50, + 51, 118, 53, 54, 99, 100, 101, -1, -1, 38, + 39, 40, 41, 42, 43, 44, 45, -1, 47, 70, + 49, 50, 51, 118, 53, 54, 1575, -1, -1, -1, + -1, 1580, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 70, -1, -1, -1, -1, -1, -1, 99, 100, + 101, 41, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 118, -1, -1, + 99, 100, 101, 177, 178, 179, 180, 181, -1, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 205, 118, + -1, -1, -1, 197, -1, -1, -1, -1, -1, -1, + -1, 205, -1, -1, -1, 177, 178, 179, 180, 181, + 205, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 1669, -1, -1, -1, -1, 197, -1, -1, -1, 201, + 1679, 121, 122, 123, -1, -1, -1, -1, -1, 129, + 130, 131, 132, 133, 134, 135, 136, 137, 138, -1, + -1, -1, -1, -1, 205, -1, -1, 147, 148, 149, + 150, 151, 152, 153, 154, 155, 156, -1, 158, 159, + 160, 161, 162, 163, -1, -1, 205, 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, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 4, -1, 1768, + 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, 33, -1, -1, -1, + 37, 38, 39, 40, 41, 42, 43, 44, 45, -1, + 47, 48, 49, 50, 51, 52, 53, 54, -1, -1, + -1, 58, 59, 60, 61, 62, 63, 64, 1827, 66, + 67, 68, 69, 70, 38, 39, 40, 41, 42, 43, + 44, 45, -1, 47, -1, 49, 50, 51, -1, 53, + 54, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 205, 98, 99, 100, 101, -1, 70, -1, -1, 106, + -1, 108, -1, 110, 111, 112, 113, 114, 115, 116, + 1879, 118, 119, 120, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 99, 100, 101, 177, 178, + 179, 180, 181, 205, 183, 184, 185, 186, 187, 188, + 189, 190, 191, -1, 118, -1, -1, -1, 197, -1, + -1, -1, -1, -1, -1, -1, 205, -1, 177, 178, + 179, 180, 181, 1932, 183, 184, 185, 186, 187, 188, + 189, 190, 191, -1, -1, -1, -1, -1, 197, -1, + -1, -1, -1, -1, -1, -1, 205, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 177, 178, 179, 180, + 181, 1970, 183, 184, 185, 186, 187, 188, 189, 190, + 191, -1, -1, -1, -1, -1, 197, -1, -1, 177, + 178, 179, 180, 181, 205, 183, 184, 185, 186, 187, + 188, 189, 190, 191, -1, -1, -1, -1, -1, 197, + -1, -1, 177, 178, 179, 180, 181, 205, 183, 184, + 185, 186, 187, 188, 189, 190, 191, -1, -1, -1, + -1, -1, 197, -1, -1, 177, 178, 179, 180, 181, + 205, 183, 184, 185, 186, 187, 188, 189, 190, 191, + -1, -1, -1, -1, -1, 197, -1, -1, 177, 178, + 179, 180, 181, 205, 183, 184, 185, 186, 187, 188, + 189, 190, 191, -1, -1, -1, -1, -1, 197, -1, + -1, 177, 178, 179, 180, 181, 205, 183, 184, 185, + 186, 187, 188, 189, 190, 191, -1, -1, -1, -1, + -1, 197, -1, -1, 177, 178, 179, 180, 181, 205, + 183, 184, 185, 186, 187, 188, 189, 190, 191, -1, + -1, -1, -1, -1, 197, -1, -1, 177, 178, 179, + 180, 181, 205, 183, 184, 185, 186, 187, 188, 189, + 190, 191, -1, -1, -1, -1, -1, 197, -1, -1, + 177, 178, 179, 180, 181, 205, 183, 184, 185, 186, + 187, 188, 189, 190, 191, -1, -1, -1, -1, -1, + 197, -1, -1, 177, 178, 179, 180, 181, 205, 183, + 184, 185, 186, 187, 188, 189, 190, 191, -1, -1, + -1, -1, -1, 197, -1, -1, 177, 178, 179, 180, + 181, 205, 183, 184, 185, 186, 187, 188, 189, 190, + 191, -1, -1, -1, -1, -1, 197, -1, -1, 177, + 178, 179, 180, 181, 205, 183, 184, 185, 186, 187, + 188, 189, 190, 191, -1, -1, -1, -1, -1, 197, + -1, -1, 177, 178, 179, 180, 181, 205, 183, 184, + 185, 186, 187, 188, 189, 190, 191, -1, -1, -1, + -1, -1, 197, -1, -1, 177, 178, 179, 180, 181, + 205, 183, 184, 185, 186, 187, 188, 189, 190, 191, + -1, -1, -1, -1, -1, 197, -1, -1, 177, 178, + 179, 180, 181, 205, 183, 184, 185, 186, 187, 188, + 189, 190, 191, -1, -1, -1, -1, -1, 197, -1, + -1, 177, 178, 179, 180, 181, 205, 183, 184, 185, + 186, 187, 188, 189, 190, 191, -1, -1, -1, -1, + -1, 197, 177, 178, 179, 180, 181, 203, 183, 184, + 185, 186, 187, 188, 189, 190, 191, -1, -1, -1, + -1, -1, 197, 177, 178, 179, 180, 181, 203, 183, + 184, 185, 186, 187, 188, 189, 190, 191, -1, -1, + -1, -1, -1, 197, 177, 178, 179, 180, 181, 203, + 183, 184, 185, 186, 187, 188, 189, 190, 191, -1, + -1, -1, -1, -1, 197, 177, 178, 179, 180, 181, + 203, 183, 184, 185, 186, 187, 188, 189, 190, 191, + -1, -1, -1, -1, -1, 197, 177, 178, 179, 180, + 181, 203, 183, 184, 185, 186, 187, 188, 189, 190, + 191, -1, -1, -1, -1, -1, 197, 177, 178, 179, + 180, 181, 203, 183, 184, 185, 186, 187, 188, 189, + 190, 191, -1, -1, -1, -1, -1, 197, 177, 178, + 179, 180, 181, 203, 183, 184, 185, 186, 187, 188, + 189, 190, 191, -1, -1, -1, -1, -1, 197, 177, + 178, 179, 180, 181, 203, 183, 184, 185, 186, 187, + 188, 189, 190, 191, -1, -1, -1, -1, -1, 197, + 177, 178, 179, 180, 181, 203, 183, 184, 185, 186, + 187, 188, 189, 190, 191, -1, -1, -1, -1, -1, + 197, 177, 178, 179, 180, 181, 203, 183, 184, 185, + 186, 187, 188, 189, 190, 191, -1, -1, -1, -1, + -1, 197, 177, 178, 179, 180, 181, 203, 183, 184, + 185, 186, 187, 188, 189, 190, 191, -1, -1, -1, + -1, -1, 197, 177, 178, 179, 180, 181, 203, 183, + 184, 185, 186, 187, 188, 189, 190, 191, -1, -1, + -1, -1, -1, 197, 177, 178, 179, 180, 181, 203, + 183, 184, 185, 186, 187, 188, 189, 190, 191, -1, + -1, -1, -1, -1, 197, 177, 178, 179, 180, 181, + 203, 183, 184, 185, 186, 187, 188, 189, 190, 191, + -1, -1, -1, -1, -1, 197, 177, 178, 179, 180, + 181, 203, 183, 184, 185, 186, 187, 188, 189, 190, + 191, -1, -1, -1, -1, -1, 197, 177, 178, 179, + 180, 181, 203, 183, 184, 185, 186, 187, 188, 189, + 190, 191, -1, -1, -1, -1, -1, 197, 177, 178, + 179, 180, 181, 203, 183, 184, 185, 186, 187, 188, + 189, 190, 191, -1, -1, -1, -1, -1, 197, 177, + 178, 179, 180, 181, 203, 183, 184, 185, 186, 187, + 188, 189, 190, 191, -1, -1, -1, -1, -1, 197, + 177, 178, 179, 180, 181, 203, 183, 184, 185, 186, + 187, 188, 189, 190, 191, -1, -1, -1, -1, -1, + 197, 177, 178, 179, 180, 181, 203, 183, 184, 185, + 186, 187, 188, 189, 190, 191, -1, -1, -1, -1, + -1, 197, 177, 178, 179, 180, 181, 203, 183, 184, + 185, 186, 187, 188, 189, 190, 191, -1, -1, -1, + -1, -1, 197, 177, 178, 179, 180, 181, 203, 183, + 184, 185, 186, 187, 188, 189, 190, 191, -1, -1, + -1, -1, -1, 197, 177, 178, 179, 180, 181, 203, + 183, 184, 185, 186, 187, 188, 189, 190, 191, -1, + -1, -1, -1, -1, 197, 177, 178, 179, 180, 181, + 203, 183, 184, 185, 186, 187, 188, 189, 190, 191, + -1, -1, -1, -1, -1, 197, 177, 178, 179, 180, + 181, 203, 183, 184, 185, 186, 187, 188, 189, 190, + 191, -1, -1, -1, -1, -1, 197, 177, 178, 179, + 180, 181, 203, 183, 184, 185, 186, 187, 188, 189, + 190, 191, -1, -1, -1, -1, -1, 197, 177, 178, + 179, 180, 181, 203, 183, 184, 185, 186, 187, 188, + 189, 190, 191, -1, -1, -1, -1, -1, 197, 177, + 178, 179, 180, 181, 203, 183, 184, 185, 186, 187, + 188, 189, 190, 191, -1, -1, -1, -1, -1, 197, + 177, 178, 179, 180, 181, 203, 183, 184, 185, 186, + 187, 188, 189, 190, 191, -1, -1, -1, -1, -1, + 197, 177, 178, 179, 180, 181, 203, 183, 184, 185, + 186, 187, 188, 189, 190, 191, -1, -1, -1, -1, + -1, 197, 177, 178, 179, 180, 181, 203, 183, 184, + 185, 186, 187, 188, 189, 190, 191, -1, -1, -1, + -1, -1, 197, 177, 178, 179, 180, 181, 203, 183, + 184, 185, 186, 187, 188, 189, 190, 191, -1, -1, + -1, -1, -1, 197, 177, 178, 179, 180, 181, 203, + 183, 184, 185, 186, 187, 188, 189, 190, 191, -1, + -1, -1, -1, -1, 197, 177, 178, 179, 180, 181, + 203, 183, 184, 185, 186, 187, 188, 189, 190, 191, + -1, -1, -1, -1, -1, 197, 177, 178, 179, 180, + 181, 203, 183, 184, 185, 186, 187, 188, 189, 190, + 191, -1, -1, -1, -1, -1, 197, 177, 178, 179, + 180, 181, 203, 183, 184, 185, 186, 187, 188, 189, + 190, 191, -1, -1, -1, -1, -1, 197, 177, 178, + 179, 180, 181, 203, 183, 184, 185, 186, 187, 188, + 189, 190, 191, -1, -1, -1, -1, -1, 197, 177, + 178, 179, 180, 181, 203, 183, 184, 185, 186, 187, + 188, 189, 190, 191, -1, -1, -1, -1, -1, 197, + 177, 178, 179, 180, 181, 203, 183, 184, 185, 186, + 187, 188, 189, 190, 191, -1, -1, -1, -1, -1, + 197, 177, 178, 179, 180, 181, 203, 183, 184, 185, + 186, 187, 188, 189, 190, 191, -1, -1, -1, -1, + -1, 197, 177, 178, 179, 180, 181, 203, 183, 184, + 185, 186, 187, 188, 189, 190, 191, -1, -1, -1, + -1, -1, 197, 177, 178, 179, 180, 181, 203, 183, + 184, 185, 186, 187, 188, 189, 190, 191, -1, -1, + -1, -1, -1, 197, 177, 178, 179, 180, 181, 203, + 183, 184, 185, 186, 187, 188, 189, 190, 191, -1, + -1, -1, -1, -1, 197, 177, 178, 179, 180, 181, + 203, 183, 184, 185, 186, 187, 188, 189, 190, 191, + -1, -1, -1, -1, -1, 197, 177, 178, 179, 180, + 181, 203, 183, 184, 185, 186, 187, 188, 189, 190, + 191, -1, -1, -1, -1, -1, 197, 177, 178, 179, + 180, 181, 203, 183, 184, 185, 186, 187, 188, 189, + 190, 191, -1, -1, -1, -1, -1, 197, 177, 178, + 179, 180, 181, 203, 183, 184, 185, 186, 187, 188, + 189, 190, 191, -1, -1, -1, -1, -1, 197, 177, + 178, 179, 180, 181, 203, 183, 184, 185, 186, 187, + 188, 189, 190, 191, -1, -1, -1, -1, -1, 197, + 177, 178, 179, 180, 181, 203, 183, 184, 185, 186, + 187, 188, 189, 190, 191, -1, -1, -1, -1, -1, + 197, 177, 178, 179, 180, 181, 203, 183, 184, 185, + 186, 187, 188, 189, 190, 191, -1, -1, -1, -1, + -1, 197, 177, 178, 179, 180, 181, 203, 183, 184, + 185, 186, 187, 188, 189, 190, 191, -1, -1, -1, + -1, -1, 197, 177, 178, 179, 180, 181, 203, 183, + 184, 185, 186, 187, 188, 189, 190, 191, -1, -1, + -1, -1, -1, 197, 177, 178, 179, 180, 181, 203, + 183, 184, 185, 186, 187, 188, 189, 190, 191, -1, + -1, -1, -1, -1, 197, 177, 178, 179, 180, 181, + 203, 183, 184, 185, 186, 187, 188, 189, 190, 191, + -1, -1, -1, -1, -1, 197, 177, 178, 179, 180, + 181, 203, 183, 184, 185, 186, 187, 188, 189, 190, + 191, -1, -1, -1, -1, -1, 197, 177, 178, 179, + 180, 181, 203, 183, 184, 185, 186, 187, 188, 189, + 190, 191, -1, -1, -1, -1, -1, 197, 177, 178, + 179, 180, 181, 203, 183, 184, 185, 186, 187, 188, + 189, 190, 191, -1, -1, -1, -1, -1, 197, 177, + 178, 179, 180, 181, 203, 183, 184, 185, 186, 187, + 188, 189, 190, 191, -1, -1, -1, -1, -1, 197, + 177, 178, 179, 180, 181, 203, 183, 184, 185, 186, + 187, 188, 189, 190, 191, -1, -1, -1, -1, -1, + 197, 177, 178, 179, 180, 181, 203, 183, 184, 185, + 186, 187, 188, 189, 190, 191, -1, -1, -1, -1, + -1, 197, 177, 178, 179, 180, 181, 203, 183, 184, + 185, 186, 187, 188, 189, 190, 191, -1, -1, -1, + -1, -1, 197, 177, 178, 179, 180, 181, 203, 183, + 184, 185, 186, 187, 188, 189, 190, 191, -1, -1, + -1, -1, -1, 197, 177, 178, 179, 180, 181, 203, + 183, 184, 185, 186, 187, 188, 189, 190, 191, -1, + -1, -1, -1, -1, 197, 177, 178, 179, 180, 181, + 203, 183, 184, 185, 186, 187, 188, 189, 190, 191, + -1, -1, -1, -1, -1, 197, 177, 178, 179, 180, + 181, 203, 183, 184, 185, 186, 187, 188, 189, 190, + 191, -1, -1, -1, -1, -1, 197, 177, 178, 179, + 180, 181, 203, 183, 184, 185, 186, 187, 188, 189, + 190, 191, -1, -1, -1, -1, -1, 197, 177, 178, + 179, 180, 181, 203, 183, 184, 185, 186, 187, 188, + 189, 190, 191, -1, -1, -1, -1, -1, 197, 177, + 178, 179, 180, 181, 203, 183, 184, 185, 186, 187, + 188, 189, 190, 191, -1, -1, -1, -1, -1, 197, + 177, 178, 179, 180, 181, 203, 183, 184, 185, 186, + 187, 188, 189, 190, 191, -1, -1, -1, -1, -1, + 197, 177, 178, 179, 180, 181, 203, 183, 184, 185, + 186, 187, 188, 189, 190, 191, -1, -1, -1, -1, + -1, 197, 177, 178, 179, 180, 181, 203, 183, 184, + 185, 186, 187, 188, 189, 190, 191, -1, -1, -1, + -1, -1, 197, 177, 178, 179, 180, 181, 203, 183, + 184, 185, 186, 187, 188, 189, 190, 191, -1, -1, + -1, -1, -1, 197, 177, 178, 179, 180, 181, 203, + 183, 184, 185, 186, 187, 188, 189, 190, 191, -1, + -1, -1, -1, -1, 197, 177, 178, 179, 180, 181, + 203, 183, 184, 185, 186, 187, 188, 189, 190, 191, + -1, -1, -1, -1, -1, 197, 177, 178, 179, 180, + 181, 203, 183, 184, 185, 186, 187, 188, 189, 190, + 191, -1, -1, -1, -1, -1, 197, 177, 178, 179, + 180, 181, 203, 183, 184, 185, 186, 187, 188, 189, + 190, 191, -1, -1, -1, -1, -1, 197, 177, 178, + 179, 180, 181, 203, 183, 184, 185, 186, 187, 188, + 189, 190, 191, -1, -1, -1, -1, -1, 197, 177, + 178, 179, 180, 181, 203, 183, 184, 185, 186, 187, + 188, 189, 190, 191, -1, -1, -1, -1, -1, 197, + 177, 178, 179, 180, 181, 203, 183, 184, 185, 186, + 187, 188, 189, 190, 191, -1, -1, -1, -1, -1, + 197, 177, 178, 179, 180, 181, 203, 183, 184, 185, + 186, 187, 188, 189, 190, 191, -1, -1, -1, -1, + -1, 197, 177, 178, 179, 180, 181, 203, 183, 184, + 185, 186, 187, 188, 189, 190, 191, -1, -1, -1, + -1, -1, 197, 177, 178, 179, 180, 181, 203, 183, + 184, 185, 186, 187, 188, 189, 190, 191, -1, -1, + -1, -1, -1, 197, 177, 178, 179, 180, 181, 203, + 183, 184, 185, 186, 187, 188, 189, 190, 191, -1, + -1, -1, -1, -1, 197, 177, 178, 179, 180, 181, + 203, 183, 184, 185, 186, 187, 188, 189, 190, 191, + -1, -1, -1, -1, -1, 197, 177, 178, 179, 180, + 181, 203, 183, 184, 185, 186, 187, 188, 189, 190, + 191, -1, -1, -1, -1, -1, 197, 177, 178, 179, + 180, 181, 203, 183, 184, 185, 186, 187, 188, 189, + 190, 191, -1, -1, -1, -1, -1, 197, 177, 178, + 179, 180, 181, 203, 183, 184, 185, 186, 187, 188, + 189, 190, 191, -1, -1, -1, -1, -1, 197, 177, + 178, 179, 180, 181, 203, 183, 184, 185, 186, 187, + 188, 189, 190, 191, -1, -1, -1, -1, -1, 197, + 177, 178, 179, 180, 181, 203, 183, 184, 185, 186, + 187, 188, 189, 190, 191, -1, -1, -1, -1, -1, + 197, 177, 178, 179, 180, 181, 203, 183, 184, 185, + 186, 187, 188, 189, 190, 191, -1, -1, -1, -1, + -1, 197, 177, 178, 179, 180, 181, 203, 183, 184, + 185, 186, 187, 188, 189, 190, 191, -1, -1, -1, + -1, -1, 197, 177, 178, 179, 180, 181, 203, 183, + 184, 185, 186, 187, 188, 189, 190, 191, -1, -1, + -1, -1, -1, 197, 177, 178, 179, 180, 181, 203, + 183, 184, 185, 186, 187, 188, 189, 190, 191, -1, + -1, -1, -1, -1, 197, 177, 178, 179, 180, 181, + 203, 183, 184, 185, 186, 187, 188, 189, 190, 191, + -1, -1, -1, -1, -1, 197, 177, 178, 179, 180, + 181, 203, 183, 184, 185, 186, 187, 188, 189, 190, + 191, -1, -1, -1, -1, -1, 197, 177, 178, 179, + 180, 181, 203, 183, 184, 185, 186, 187, 188, 189, + 190, 191, -1, -1, -1, -1, -1, 197, 177, 178, + 179, 180, 181, 203, 183, 184, 185, 186, 187, 188, + 189, 190, 191, -1, -1, -1, -1, -1, 197, 177, + 178, 179, 180, 181, 203, 183, 184, 185, 186, 187, + 188, 189, 190, 191, -1, -1, -1, -1, -1, 197, + 177, 178, 179, 180, 181, 203, 183, 184, 185, 186, + 187, 188, 189, 190, 191, -1, -1, -1, -1, -1, + 197, 177, 178, 179, 180, 181, 203, 183, 184, 185, + 186, 187, 188, 189, 190, 191, -1, -1, -1, -1, + -1, 197, 177, 178, 179, 180, 181, 203, 183, 184, + 185, 186, 187, 188, 189, 190, 191, -1, -1, -1, + -1, -1, 197, 177, 178, 179, 180, 181, 203, 183, + 184, 185, 186, 187, 188, 189, 190, 191, -1, -1, + -1, -1, -1, 197, 177, 178, 179, 180, 181, 203, + 183, 184, 185, 186, 187, 188, 189, 190, 191, -1, + -1, -1, -1, -1, 197, 177, 178, 179, 180, 181, + 203, 183, 184, 185, 186, 187, 188, 189, 190, 191, + -1, -1, -1, -1, -1, 197, 177, 178, 179, 180, + 181, 203, 183, 184, 185, 186, 187, 188, 189, 190, + 191, -1, -1, -1, -1, -1, 197, 177, 178, 179, + 180, 181, 203, 183, 184, 185, 186, 187, 188, 189, + 190, 191, -1, -1, -1, -1, -1, 197, 177, 178, + 179, 180, 181, 203, 183, 184, 185, 186, 187, 188, + 189, 190, 191, -1, -1, -1, -1, -1, 197, 177, + 178, 179, 180, 181, 203, 183, 184, 185, 186, 187, + 188, 189, 190, 191, -1, -1, -1, -1, -1, 197, + 177, 178, 179, 180, 181, 203, 183, 184, 185, 186, + 187, 188, 189, 190, 191, -1, -1, -1, -1, -1, + 197, 177, 178, 179, 180, 181, 203, 183, 184, 185, + 186, 187, 188, 189, 190, 191, -1, -1, -1, -1, + -1, 197, 177, 178, 179, 180, 181, 203, 183, 184, + 185, 186, 187, 188, 189, 190, 191, -1, -1, -1, + -1, -1, 197, 177, 178, 179, 180, 181, 203, 183, + 184, 185, 186, 187, 188, 189, 190, 191, -1, -1, + -1, -1, -1, 197, 177, 178, 179, 180, 181, 203, + 183, 184, 185, 186, 187, 188, 189, 190, 191, -1, + -1, -1, -1, -1, 197, 177, 178, 179, 180, 181, + 203, 183, 184, 185, 186, 187, 188, 189, 190, 191, + -1, -1, -1, -1, -1, 197, 177, 178, 179, 180, + 181, 203, 183, 184, 185, 186, 187, 188, 189, 190, + 191, -1, -1, -1, -1, -1, 197, 177, 178, 179, + 180, 181, 203, 183, 184, 185, 186, 187, 188, 189, + 190, 191, -1, -1, -1, -1, -1, 197, 177, 178, + 179, 180, 181, 203, 183, 184, 185, 186, 187, 188, + 189, 190, 191, -1, -1, -1, -1, -1, 197, 177, + 178, 179, 180, 181, 203, 183, 184, 185, 186, 187, + 188, 189, 190, 191, -1, -1, -1, -1, -1, 197, + 177, 178, 179, 180, 181, 203, 183, 184, 185, 186, + 187, 188, 189, 190, 191, -1, -1, -1, -1, -1, + 197, 177, 178, 179, 180, 181, 203, 183, 184, 185, + 186, 187, 188, 189, 190, 191, -1, -1, -1, -1, + -1, 197, 177, 178, 179, 180, 181, 203, 183, 184, + 185, 186, 187, 188, 189, 190, 191, -1, -1, -1, + -1, -1, 197, 177, 178, 179, 180, 181, 203, 183, + 184, 185, 186, 187, 188, 189, 190, 191, -1, -1, + -1, -1, -1, 197, 177, 178, 179, 180, 181, 203, + 183, 184, 185, 186, 187, 188, 189, 190, 191, -1, + -1, -1, -1, -1, 197, 177, 178, 179, 180, 181, + 203, 183, 184, 185, 186, 187, 188, 189, 190, 191, + -1, -1, -1, -1, -1, 197, 177, 178, 179, 180, + 181, 203, 183, 184, 185, 186, 187, 188, 189, 190, + 191, -1, -1, -1, -1, -1, 197, 177, 178, 179, + 180, 181, 203, 183, 184, 185, 186, 187, 188, 189, + 190, 191, -1, -1, -1, -1, -1, 197, 177, 178, + 179, 180, 181, 203, 183, 184, 185, 186, 187, 188, + 189, 190, 191, -1, -1, -1, -1, -1, 197, 177, + 178, 179, 180, 181, 203, 183, 184, 185, 186, 187, + 188, 189, 190, 191, -1, -1, -1, -1, -1, 197, + 177, 178, 179, 180, 181, 203, 183, 184, 185, 186, + 187, 188, 189, 190, 191, -1, -1, -1, -1, -1, + 197, 177, 178, 179, 180, 181, 203, 183, 184, 185, + 186, 187, 188, 189, 190, 191, -1, -1, -1, -1, + -1, 197, 177, 178, 179, 180, 181, 203, 183, 184, + 185, 186, 187, 188, 189, 190, 191, -1, -1, -1, + -1, -1, 197, 177, 178, 179, 180, 181, 203, 183, + 184, 185, 186, 187, 188, 189, 190, 191, -1, -1, + -1, -1, -1, 197, 177, 178, 179, 180, 181, 203, + 183, 184, 185, 186, 187, 188, 189, 190, 191, -1, + -1, -1, -1, -1, 197, 177, 178, 179, 180, 181, + 203, 183, 184, 185, 186, 187, 188, 189, 190, 191, + -1, -1, -1, -1, -1, 197, 177, 178, 179, 180, + 181, 203, 183, 184, 185, 186, 187, 188, 189, 190, + 191, -1, -1, -1, -1, -1, 197, 177, 178, 179, + 180, 181, 203, 183, 184, 185, 186, 187, 188, 189, + 190, 191, -1, -1, -1, -1, -1, 197, 177, 178, + 179, 180, 181, 203, 183, 184, 185, 186, 187, 188, + 189, 190, 191, -1, -1, -1, -1, -1, 197, 177, + 178, 179, 180, 181, 203, 183, 184, 185, 186, 187, + 188, 189, 190, 191, -1, -1, -1, -1, -1, 197, + 177, 178, 179, 180, 181, 203, 183, 184, 185, 186, + 187, 188, 189, 190, 191, -1, -1, -1, -1, -1, + 197, 177, 178, 179, 180, 181, 203, 183, 184, 185, + 186, 187, 188, 189, 190, 191, -1, -1, -1, -1, + -1, 197, 177, 178, 179, 180, 181, 203, 183, 184, + 185, 186, 187, 188, 189, 190, 191, -1, -1, -1, + -1, -1, 197, 177, 178, 179, 180, 181, 203, 183, + 184, 185, 186, 187, 188, 189, 190, 191, -1, -1, + -1, -1, -1, 197, 177, 178, 179, 180, 181, 203, + 183, 184, 185, 186, 187, 188, 189, 190, 191, -1, + -1, -1, -1, -1, 197, 177, 178, 179, 180, 181, + 203, 183, 184, 185, 186, 187, 188, 189, 190, 191, + -1, -1, -1, -1, -1, 197, 177, 178, 179, 180, + 181, 203, 183, 184, 185, 186, 187, 188, 189, 190, + 191, -1, -1, -1, -1, -1, 197, 177, 178, 179, + 180, 181, 203, 183, 184, 185, 186, 187, 188, 189, + 190, 191, -1, -1, -1, -1, -1, 197, 177, 178, + 179, 180, 181, 203, 183, 184, 185, 186, 187, 188, + 189, 190, 191, -1, -1, -1, -1, -1, 197, 177, + 178, 179, 180, 181, 203, 183, 184, 185, 186, 187, + 188, 189, 190, 191, -1, -1, -1, -1, -1, 197, + 177, 178, 179, 180, 181, 203, 183, 184, 185, 186, + 187, 188, 189, 190, 191, -1, -1, -1, -1, -1, + 197, 177, 178, 179, 180, 181, 203, 183, 184, 185, + 186, 187, 188, 189, 190, 191, -1, -1, -1, -1, + -1, 197, 177, 178, 179, 180, 181, 203, 183, 184, + 185, 186, 187, 188, 189, 190, 191, -1, -1, -1, + -1, -1, 197, 177, 178, 179, 180, 181, 203, 183, + 184, 185, 186, 187, 188, 189, 190, 191, -1, -1, + -1, -1, -1, 197, 177, 178, 179, 180, 181, 203, + 183, 184, 185, 186, 187, 188, 189, 190, 191, -1, + -1, -1, -1, -1, 197, 177, 178, 179, 180, 181, + 203, 183, 184, 185, 186, 187, 188, 189, 190, 191, + -1, -1, -1, -1, -1, 197, 177, 178, 179, 180, + 181, 203, 183, 184, 185, 186, 187, 188, 189, 190, + 191, -1, -1, -1, -1, -1, 197, 177, 178, 179, + 180, 181, 203, 183, 184, 185, 186, 187, 188, 189, + 190, 191, -1, -1, -1, -1, -1, 197, 177, 178, + 179, 180, 181, 203, 183, 184, 185, 186, 187, 188, + 189, 190, 191, -1, -1, -1, -1, -1, 197, 177, + 178, 179, 180, 181, 203, 183, 184, 185, 186, 187, + 188, 189, 190, 191, -1, -1, -1, -1, -1, 197, + 177, 178, 179, 180, 181, 203, 183, 184, 185, 186, + 187, 188, 189, 190, 191, -1, -1, -1, -1, -1, + 197, 177, 178, 179, 180, 181, 203, 183, 184, 185, + 186, 187, 188, 189, 190, 191, -1, -1, -1, -1, + -1, 197, 177, 178, 179, 180, 181, 203, 183, 184, + 185, 186, 187, 188, 189, 190, 191, -1, -1, -1, + -1, -1, 197, 177, 178, 179, 180, 181, 203, 183, + 184, 185, 186, 187, 188, 189, 190, 191, -1, -1, + -1, -1, -1, 197, 177, 178, 179, 180, 181, 203, + 183, 184, 185, 186, 187, 188, 189, 190, 191, -1, + -1, -1, -1, -1, 197, 177, 178, 179, 180, 181, + 203, 183, 184, 185, 186, 187, 188, 189, 190, 191, + -1, -1, -1, -1, -1, 197, 177, 178, 179, 180, + 181, 203, 183, 184, 185, 186, 187, 188, 189, 190, + 191, -1, -1, -1, -1, -1, 197, 177, 178, 179, + 180, 181, 203, 183, 184, 185, 186, 187, 188, 189, + 190, 191, -1, -1, -1, -1, -1, 197, 177, 178, + 179, 180, 181, 203, 183, 184, 185, 186, 187, 188, + 189, 190, 191, -1, -1, -1, -1, -1, 197, 177, + 178, 179, 180, 181, 203, 183, 184, 185, 186, 187, + 188, 189, 190, 191, -1, -1, -1, -1, -1, 197, + 177, 178, 179, 180, 181, 203, 183, 184, 185, 186, + 187, 188, 189, 190, 191, -1, -1, -1, -1, -1, + 197, 177, 178, 179, 180, 181, 203, 183, 184, 185, + 186, 187, 188, 189, 190, 191, -1, -1, -1, -1, + -1, 197, 177, 178, 179, 180, 181, 203, 183, 184, + 185, 186, 187, 188, 189, 190, 191, -1, -1, -1, + -1, -1, 197, 177, 178, 179, 180, 181, 203, 183, + 184, 185, 186, 187, 188, 189, 190, 191, -1, -1, + -1, -1, -1, 197, 177, 178, 179, 180, 181, 203, + 183, 184, 185, 186, 187, 188, 189, 190, 191, -1, + -1, -1, -1, -1, 197, 177, 178, 179, 180, 181, + 203, 183, 184, 185, 186, 187, 188, 189, 190, 191, + -1, -1, -1, -1, -1, 197, 177, 178, 179, 180, + 181, 203, 183, 184, 185, 186, 187, 188, 189, 190, + 191, -1, -1, -1, -1, -1, 197, 177, 178, 179, + 180, 181, 203, 183, 184, 185, 186, 187, 188, 189, + 190, 191, -1, -1, -1, -1, -1, 197, 177, 178, + 179, 180, 181, 203, 183, 184, 185, 186, 187, 188, + 189, 190, 191, -1, -1, -1, -1, -1, 197, 177, + 178, 179, 180, 181, 203, 183, 184, 185, 186, 187, + 188, 189, 190, 191, -1, -1, -1, -1, -1, 197, + 177, 178, 179, 180, 181, 203, 183, 184, 185, 186, + 187, 188, 189, 190, 191, -1, -1, -1, -1, -1, + 197, 177, 178, 179, 180, 181, 203, 183, 184, 185, + 186, 187, 188, 189, 190, 191, -1, -1, -1, -1, + -1, 197, 177, 178, 179, 180, 181, 203, 183, 184, + 185, 186, 187, 188, 189, 190, 191, -1, -1, -1, + -1, -1, 197, 177, 178, 179, 180, 181, 203, 183, + 184, 185, 186, 187, 188, 189, 190, 191, -1, -1, + -1, -1, -1, 197, 177, 178, 179, 180, 181, 203, + 183, 184, 185, 186, 187, 188, 189, 190, 191, -1, + -1, -1, -1, -1, 197, 177, 178, 179, 180, 181, + 203, 183, 184, 185, 186, 187, 188, 189, 190, 191, + -1, -1, -1, -1, -1, 197, 177, 178, 179, 180, + 181, 203, 183, 184, 185, 186, 187, 188, 189, 190, + 191, -1, -1, -1, -1, -1, 197, 177, 178, 179, + 180, 181, 203, 183, 184, 185, 186, 187, 188, 189, + 190, 191, -1, -1, -1, -1, -1, 197, 177, 178, + 179, 180, 181, 203, 183, 184, 185, 186, 187, 188, + 189, 190, 191, -1, -1, -1, -1, -1, 197, 177, + 178, 179, 180, 181, 203, 183, 184, 185, 186, 187, + 188, 189, 190, 191, -1, -1, -1, -1, -1, 197, + 177, 178, 179, 180, 181, 203, 183, 184, 185, 186, + 187, 188, 189, 190, 191, -1, -1, -1, -1, -1, + 197, 177, 178, 179, 180, 181, 203, 183, 184, 185, + 186, 187, 188, 189, 190, 191, -1, -1, -1, -1, + -1, 197, 177, 178, 179, 180, 181, 203, 183, 184, + 185, 186, 187, 188, 189, 190, 191, -1, -1, -1, + -1, -1, 197, 177, 178, 179, 180, 181, 203, 183, + 184, 185, 186, 187, 188, 189, 190, 191, -1, -1, + -1, -1, -1, 197, 177, 178, 179, 180, 181, 203, + 183, 184, 185, 186, 187, 188, 189, 190, 191, -1, + -1, -1, -1, -1, 197, 177, 178, 179, 180, 181, + 203, 183, 184, 185, 186, 187, 188, 189, 190, 191, + -1, -1, -1, -1, -1, 197, 177, 178, 179, 180, + 181, 203, 183, 184, 185, 186, 187, 188, 189, 190, + 191, -1, -1, -1, -1, -1, 197, 177, 178, 179, + 180, 181, 203, 183, 184, 185, 186, 187, 188, 189, + 190, 191, -1, -1, -1, -1, -1, 197, 177, 178, + 179, 180, 181, 203, 183, 184, 185, 186, 187, 188, + 189, 190, 191, -1, -1, -1, -1, -1, 197, 177, + 178, 179, 180, 181, 203, 183, 184, 185, 186, 187, + 188, 189, 190, 191, -1, -1, -1, -1, -1, 197, + 177, 178, 179, 180, 181, 203, 183, 184, 185, 186, + 187, 188, 189, 190, 191, -1, -1, -1, -1, -1, + 197, 177, 178, 179, 180, 181, 203, 183, 184, 185, + 186, 187, 188, 189, 190, 191, -1, -1, -1, -1, + -1, 197, 177, 178, 179, 180, 181, 203, 183, 184, + 185, 186, 187, 188, 189, 190, 191, -1, -1, -1, + -1, -1, 197, 177, 178, 179, 180, 181, 203, 183, + 184, 185, 186, 187, 188, 189, 190, 191, -1, -1, + -1, -1, -1, 197, 177, 178, 179, 180, 181, 203, + 183, 184, 185, 186, 187, 188, 189, 190, 191, -1, + -1, -1, -1, -1, 197, 177, 178, 179, 180, 181, + 203, 183, 184, 185, 186, 187, 188, 189, 190, 191, + -1, -1, -1, -1, -1, 197, 177, 178, 179, 180, + 181, 203, 183, 184, 185, 186, 187, 188, 189, 190, + 191, -1, -1, -1, -1, -1, 197, 177, 178, 179, + 180, 181, 203, 183, 184, 185, 186, 187, 188, 189, + 190, 191, -1, -1, -1, -1, -1, 197, 177, 178, + 179, 180, 181, 203, 183, 184, 185, 186, 187, 188, + 189, 190, 191, -1, -1, -1, -1, -1, 197, 177, + 178, 179, 180, 181, 203, 183, 184, 185, 186, 187, + 188, 189, 190, 191, -1, -1, -1, -1, -1, 197, + 177, 178, 179, 180, 181, 203, 183, 184, 185, 186, + 187, 188, 189, 190, 191, -1, -1, -1, -1, -1, + 197, 177, 178, 179, 180, 181, 203, 183, 184, 185, + 186, 187, 188, 189, 190, 191, -1, -1, -1, -1, + -1, 197, 177, 178, 179, 180, 181, 203, 183, 184, + 185, 186, 187, 188, 189, 190, 191, -1, -1, -1, + -1, -1, 197, 177, 178, 179, 180, 181, 203, 183, + 184, 185, 186, 187, 188, 189, 190, 191, -1, -1, + -1, -1, -1, 197, 177, 178, 179, 180, 181, 203, + 183, 184, 185, 186, 187, 188, 189, 190, 191, -1, + -1, -1, -1, -1, 197, 177, 178, 179, 180, 181, + 203, 183, 184, 185, 186, 187, 188, 189, 190, 191, + -1, -1, -1, -1, -1, 197, 177, 178, 179, 180, + 181, 203, 183, 184, 185, 186, 187, 188, 189, 190, + 191, -1, -1, -1, -1, -1, 197, 177, 178, 179, + 180, 181, 203, 183, 184, 185, 186, 187, 188, 189, + 190, 191, -1, -1, -1, -1, -1, 197, 177, 178, + 179, 180, 181, 203, 183, 184, 185, 186, 187, 188, + 189, 190, 191, -1, -1, -1, -1, -1, 197, 177, + 178, 179, 180, 181, 203, 183, 184, 185, 186, 187, + 188, 189, 190, 191, -1, -1, -1, -1, -1, 197, + 177, 178, 179, 180, 181, 203, 183, 184, 185, 186, + 187, 188, 189, 190, 191, -1, -1, -1, -1, -1, + 197, 177, 178, 179, 180, 181, 203, 183, 184, 185, + 186, 187, 188, 189, 190, 191, -1, -1, -1, -1, + -1, 197, 177, 178, 179, 180, 181, 203, 183, 184, + 185, 186, 187, 188, 189, 190, 191, -1, -1, -1, + -1, -1, 197, 177, 178, 179, 180, 181, 203, 183, + 184, 185, 186, 187, 188, 189, 190, 191, -1, -1, + -1, -1, -1, 197, 177, 178, 179, 180, 181, 203, + 183, 184, 185, 186, 187, 188, 189, 190, 191, -1, + -1, -1, -1, -1, 197, 177, 178, 179, 180, 181, + 203, 183, 184, 185, 186, 187, 188, 189, 190, 191, + -1, -1, -1, -1, -1, 197, 177, 178, 179, 180, + 181, 203, 183, 184, 185, 186, 187, 188, 189, 190, + 191, -1, -1, -1, -1, -1, 197, 177, 178, 179, + 180, 181, 203, 183, 184, 185, 186, 187, 188, 189, + 190, 191, -1, -1, -1, -1, -1, 197, 177, 178, + 179, 180, 181, 203, 183, 184, 185, 186, 187, 188, + 189, 190, 191, -1, -1, -1, -1, -1, 197, 177, + 178, 179, 180, 181, 203, 183, 184, 185, 186, 187, + 188, 189, 190, 191, -1, -1, -1, -1, -1, 197, + 177, 178, 179, 180, 181, 203, 183, 184, 185, 186, + 187, 188, 189, 190, 191, -1, -1, -1, -1, -1, + 197, 177, 178, 179, 180, 181, 203, 183, 184, 185, + 186, 187, 188, 189, 190, 191, -1, -1, -1, -1, + -1, 197, 177, 178, 179, 180, 181, 203, 183, 184, + 185, 186, 187, 188, 189, 190, 191, -1, -1, -1, + -1, -1, 197, 177, 178, 179, 180, 181, 203, 183, + 184, 185, 186, 187, 188, 189, 190, 191, -1, -1, + -1, -1, -1, 197, 177, 178, 179, 180, 181, 203, + 183, 184, 185, 186, 187, 188, 189, 190, 191, -1, + -1, -1, -1, -1, 197, 177, 178, 179, 180, 181, + 203, 183, 184, 185, 186, 187, 188, 189, 190, 191, + -1, -1, -1, -1, -1, 197, 177, 178, 179, 180, + 181, 203, 183, 184, 185, 186, 187, 188, 189, 190, + 191, -1, -1, -1, -1, -1, 197, 177, 178, 179, + 180, 181, 203, 183, 184, 185, 186, 187, 188, 189, + 190, 191, -1, -1, -1, -1, -1, 197, 177, 178, + 179, 180, 181, 203, 183, 184, 185, 186, 187, 188, + 189, 190, 191, -1, -1, -1, -1, -1, 197, 177, + 178, 179, 180, 181, 203, 183, 184, 185, 186, 187, + 188, 189, 190, 191, -1, -1, -1, -1, -1, 197, + 177, 178, 179, 180, 181, 203, 183, 184, 185, 186, + 187, 188, 189, 190, 191, -1, -1, -1, -1, -1, + 197, 177, 178, 179, 180, 181, 203, 183, 184, 185, + 186, 187, 188, 189, 190, 191, -1, -1, -1, -1, + -1, 197, 177, 178, 179, 180, 181, 203, 183, 184, + 185, 186, 187, 188, 189, 190, 191, -1, -1, -1, + -1, -1, 197, 177, 178, 179, 180, 181, 203, 183, + 184, 185, 186, 187, 188, 189, 190, 191, -1, -1, + -1, -1, -1, 197, 177, 178, 179, 180, 181, 203, + 183, 184, 185, 186, 187, 188, 189, 190, 191, -1, + -1, -1, -1, -1, 197, 177, 178, 179, 180, 181, + 203, 183, 184, 185, 186, 187, 188, 189, 190, 191, + -1, -1, -1, -1, -1, 197, 177, 178, 179, 180, + 181, 203, 183, 184, 185, 186, 187, 188, 189, 190, + 191, -1, -1, -1, -1, -1, 197, 177, 178, 179, + 180, 181, 203, 183, 184, 185, 186, 187, 188, 189, + 190, 191, -1, -1, -1, -1, -1, 197, 177, 178, + 179, 180, 181, 203, 183, 184, 185, 186, 187, 188, + 189, 190, 191, -1, -1, -1, -1, -1, 197, 177, + 178, 179, 180, 181, 203, 183, 184, 185, 186, 187, + 188, 189, 190, 191, -1, -1, -1, -1, -1, 197, + 177, 178, 179, 180, 181, 203, 183, 184, 185, 186, + 187, 188, 189, 190, 191, -1, -1, -1, -1, -1, + 197, 177, 178, 179, 180, 181, 203, 183, 184, 185, + 186, 187, 188, 189, 190, 191, -1, -1, -1, -1, + -1, 197, 177, 178, 179, 180, 181, 203, 183, 184, + 185, 186, 187, 188, 189, 190, 191, -1, -1, -1, + -1, -1, 197, 177, 178, 179, 180, 181, 203, 183, + 184, 185, 186, 187, 188, 189, 190, 191, -1, -1, + -1, -1, -1, 197, 177, 178, 179, 180, 181, 203, + 183, 184, 185, 186, 187, 188, 189, 190, 191, -1, + -1, -1, -1, -1, 197, 177, 178, 179, 180, 181, + 203, 183, 184, 185, 186, 187, 188, 189, 190, 191, + -1, -1, -1, -1, -1, 197, 177, 178, 179, 180, + 181, 203, 183, 184, 185, 186, 187, 188, 189, 190, + 191, -1, -1, -1, -1, -1, 197, 177, 178, 179, + 180, 181, 203, 183, 184, 185, 186, 187, 188, 189, + 190, 191, -1, -1, -1, -1, -1, 197, 177, 178, + 179, 180, 181, 203, 183, 184, 185, 186, 187, 188, + 189, 190, 191, -1, -1, -1, -1, -1, 197, 177, + 178, 179, 180, 181, 203, 183, 184, 185, 186, 187, + 188, 189, 190, 191, -1, -1, -1, -1, -1, 197, + 177, 178, 179, 180, 181, 203, 183, 184, 185, 186, + 187, 188, 189, 190, 191, -1, -1, -1, -1, -1, + 197, 177, 178, 179, 180, 181, 203, 183, 184, 185, + 186, 187, 188, 189, 190, 191, -1, -1, -1, -1, + -1, 197, 177, 178, 179, 180, 181, 203, 183, 184, + 185, 186, 187, 188, 189, 190, 191, -1, -1, -1, + -1, -1, 197, 177, 178, 179, 180, 181, 203, 183, + 184, 185, 186, 187, 188, 189, 190, 191, -1, -1, + -1, -1, -1, 197, 177, 178, 179, 180, 181, 203, + 183, 184, 185, 186, 187, 188, 189, 190, 191, -1, + -1, -1, -1, -1, 197, 177, 178, 179, 180, 181, + 203, 183, 184, 185, 186, 187, 188, 189, 190, 191, + -1, -1, -1, -1, -1, 197, 177, 178, 179, 180, + 181, 203, 183, 184, 185, 186, 187, 188, 189, 190, + 191, -1, -1, -1, -1, -1, 197, 177, 178, 179, + 180, 181, 203, 183, 184, 185, 186, 187, 188, 189, + 190, 191, -1, -1, -1, -1, -1, 197, 177, 178, + 179, 180, 181, 203, 183, 184, 185, 186, 187, 188, + 189, 190, 191, -1, -1, -1, -1, -1, 197, 177, + 178, 179, 180, 181, 203, 183, 184, 185, 186, 187, + 188, 189, 190, 191, -1, -1, -1, -1, -1, 197, + 177, 178, 179, 180, 181, 203, 183, 184, 185, 186, + 187, 188, 189, 190, 191, -1, -1, -1, -1, -1, + 197, 177, 178, 179, 180, 181, 203, 183, 184, 185, + 186, 187, 188, 189, 190, 191, -1, -1, -1, -1, + -1, 197, 177, 178, 179, 180, 181, 203, 183, 184, + 185, 186, 187, 188, 189, 190, 191, -1, -1, -1, + -1, -1, 197, 177, 178, 179, 180, 181, 203, 183, + 184, 185, 186, 187, 188, 189, 190, 191, -1, -1, + -1, -1, -1, 197, 177, 178, 179, 180, 181, 203, + 183, 184, 185, 186, 187, 188, 189, 190, 191, -1, + -1, -1, -1, -1, 197, 177, 178, 179, 180, 181, + 203, 183, 184, 185, 186, 187, 188, 189, 190, 191, + -1, -1, -1, -1, -1, 197, 177, 178, 179, 180, + 181, 203, 183, 184, 185, 186, 187, 188, 189, 190, + 191, -1, -1, -1, -1, -1, 197, 177, 178, 179, + 180, 181, 203, 183, 184, 185, 186, 187, 188, 189, + 190, 191, -1, -1, -1, -1, -1, 197, 177, 178, + 179, 180, 181, 203, 183, 184, 185, 186, 187, 188, + 189, 190, 191, -1, -1, -1, -1, -1, 197, 177, + 178, 179, 180, 181, 203, 183, 184, 185, 186, 187, + 188, 189, 190, 191, -1, -1, -1, -1, -1, 197, + 177, 178, 179, 180, 181, 203, 183, 184, 185, 186, + 187, 188, 189, 190, 191, -1, -1, -1, -1, -1, + 197, 177, 178, 179, 180, 181, 203, 183, 184, 185, + 186, 187, 188, 189, 190, 191, -1, -1, -1, -1, + -1, 197, 177, 178, 179, 180, 181, 203, 183, 184, + 185, 186, 187, 188, 189, 190, 191, -1, -1, -1, + -1, -1, 197, 177, 178, 179, 180, 181, 203, 183, + 184, 185, 186, 187, 188, 189, 190, 191, -1, -1, + -1, -1, -1, 197, 177, 178, 179, 180, 181, 203, + 183, 184, 185, 186, 187, 188, 189, 190, 191, -1, + -1, -1, -1, -1, 197, 177, 178, 179, 180, 181, + 203, 183, 184, 185, 186, 187, 188, 189, 190, 191, + -1, -1, -1, -1, -1, 197, 177, 178, 179, 180, + 181, 203, 183, 184, 185, 186, 187, 188, 189, 190, + 191, -1, -1, -1, -1, -1, 197, 177, 178, 179, + 180, 181, 203, 183, 184, 185, 186, 187, 188, 189, + 190, 191, -1, -1, -1, -1, -1, 197, 177, 178, + 179, 180, 181, 203, 183, 184, 185, 186, 187, 188, + 189, 190, 191, -1, -1, -1, -1, -1, 197, 177, + 178, 179, 180, 181, 203, 183, 184, 185, 186, 187, + 188, 189, 190, 191, -1, -1, -1, -1, -1, 197, + 177, 178, 179, 180, 181, 203, 183, 184, 185, 186, + 187, 188, 189, 190, 191, -1, -1, -1, -1, -1, + 197, 177, 178, 179, 180, 181, 203, 183, 184, 185, + 186, 187, 188, 189, 190, 191, -1, -1, -1, -1, + -1, 197, 177, 178, 179, 180, 181, 203, 183, 184, + 185, 186, 187, 188, 189, 190, 191, -1, -1, -1, + -1, -1, 197, 177, 178, 179, 180, 181, 203, 183, + 184, 185, 186, 187, 188, 189, 190, 191, -1, -1, + -1, -1, -1, 197, 177, 178, 179, 180, 181, 203, + 183, 184, 185, 186, 187, 188, 189, 190, 191, -1, + -1, -1, -1, -1, 197, 177, 178, 179, 180, 181, + 203, 183, 184, 185, 186, 187, 188, 189, 190, 191, + -1, -1, -1, -1, -1, 197, 177, 178, 179, 180, + 181, 203, 183, 184, 185, 186, 187, 188, 189, 190, + 191, -1, -1, -1, -1, -1, 197, 177, 178, 179, + 180, 181, 203, 183, 184, 185, 186, 187, 188, 189, + 190, 191, -1, -1, -1, -1, -1, 197, 177, 178, + 179, 180, 181, 203, 183, 184, 185, 186, 187, 188, + 189, 190, 191, -1, -1, -1, -1, -1, 197, 177, + 178, 179, 180, 181, 203, 183, 184, 185, 186, 187, + 188, 189, 190, 191, -1, -1, -1, -1, -1, 197, + 177, 178, 179, 180, 181, 203, 183, 184, 185, 186, + 187, 188, 189, 190, 191, -1, -1, -1, -1, -1, + 197, 177, 178, 179, 180, 181, 203, 183, 184, 185, + 186, 187, 188, 189, 190, 191, -1, -1, -1, -1, + -1, 197, 177, 178, 179, 180, 181, 203, 183, 184, + 185, 186, 187, 188, 189, 190, 191, -1, -1, -1, + -1, -1, 197, 177, 178, 179, 180, 181, 203, 183, + 184, 185, 186, 187, 188, 189, 190, 191, -1, -1, + -1, -1, -1, 197, 177, 178, 179, 180, 181, 203, + 183, 184, 185, 186, 187, 188, 189, 190, 191, -1, + -1, -1, -1, -1, 197, 177, 178, 179, 180, 181, + 203, 183, 184, 185, 186, 187, 188, 189, 190, 191, + -1, -1, -1, -1, -1, 197, 177, 178, 179, 180, + 181, 203, 183, 184, 185, 186, 187, 188, 189, 190, + 191, -1, -1, -1, -1, -1, 197, 177, 178, 179, + 180, 181, 203, 183, 184, 185, 186, 187, 188, 189, + 190, 191, -1, -1, -1, -1, -1, 197, 177, 178, + 179, 180, 181, 203, 183, 184, 185, 186, 187, 188, + 189, 190, 191, -1, -1, -1, -1, -1, 197, 177, + 178, 179, 180, 181, 203, 183, 184, 185, 186, 187, + 188, 189, 190, 191, -1, -1, -1, -1, -1, 197, + 177, 178, 179, 180, 181, 203, 183, 184, 185, 186, + 187, 188, 189, 190, 191, -1, -1, -1, -1, -1, + 197, 177, 178, 179, 180, 181, 203, 183, 184, 185, + 186, 187, 188, 189, 190, 191, -1, -1, -1, -1, + -1, 197, 177, 178, 179, 180, 181, 203, 183, 184, + 185, 186, 187, 188, 189, 190, 191, -1, -1, -1, + -1, -1, 197, 177, 178, 179, 180, 181, 203, 183, + 184, 185, 186, 187, 188, 189, 190, 191, -1, -1, + -1, -1, -1, 197, -1, -1, -1, 201, 177, 178, + 179, 180, 181, -1, 183, 184, 185, 186, 187, 188, + 189, 190, 191, -1, -1, -1, -1, -1, 197, -1, + -1, -1, 201, 177, 178, 179, 180, 181, -1, 183, + 184, 185, 186, 187, 188, 189, 190, 191, -1, -1, + -1, -1, -1, 197, -1, -1, -1, 201, 177, 178, + 179, 180, 181, -1, 183, 184, 185, 186, 187, 188, + 189, 190, 191, -1, -1, -1, -1, -1, 197, -1, + -1, -1, 201, 177, 178, 179, 180, 181, -1, 183, + 184, 185, 186, 187, 188, 189, 190, 191, -1, -1, + -1, -1, -1, 197, -1, -1, -1, 201, 177, 178, + 179, 180, 181, -1, 183, 184, 185, 186, 187, 188, + 189, 190, 191, -1, -1, -1, -1, -1, 197, -1, + -1, -1, 201, 177, 178, 179, 180, 181, -1, 183, + 184, 185, 186, 187, 188, 189, 190, 191, -1, -1, + -1, -1, -1, 197, -1, -1, -1, 201, 177, 178, + 179, 180, 181, -1, 183, 184, 185, 186, 187, 188, + 189, 190, 191, -1, -1, -1, -1, -1, 197, -1, + -1, -1, 201, 177, 178, 179, 180, 181, -1, 183, + 184, 185, 186, 187, 188, 189, 190, 191, -1, -1, + -1, -1, -1, 197, -1, -1, -1, 201, 177, 178, + 179, 180, 181, -1, 183, 184, 185, 186, 187, 188, + 189, 190, 191, -1, -1, -1, -1, -1, 197, -1, + -1, -1, 201, 177, 178, 179, 180, 181, -1, 183, + 184, 185, 186, 187, 188, 189, 190, 191, -1, -1, + -1, -1, -1, 197, -1, -1, -1, 201, 177, 178, + 179, 180, 181, -1, 183, 184, 185, 186, 187, 188, + 189, 190, 191, -1, -1, -1, -1, -1, 197, -1, + -1, -1, 201, 177, 178, 179, 180, 181, -1, 183, + 184, 185, 186, 187, 188, 189, 190, 191, -1, -1, + -1, -1, -1, 197, -1, -1, -1, 201, 177, 178, + 179, 180, 181, -1, 183, 184, 185, 186, 187, 188, + 189, 190, 191, -1, -1, -1, -1, -1, 197, -1, + -1, -1, 201, 177, 178, 179, 180, 181, -1, 183, + 184, 185, 186, 187, 188, 189, 190, 191, -1, -1, + -1, -1, -1, 197, -1, -1, -1, 201, 177, 178, + 179, 180, 181, -1, 183, 184, 185, 186, 187, 188, + 189, 190, 191, -1, -1, -1, -1, -1, 197, -1, + -1, -1, 201, 177, 178, 179, 180, 181, -1, 183, + 184, 185, 186, 187, 188, 189, 190, 191, -1, -1, + -1, -1, -1, 197, -1, -1, -1, 201, 177, 178, + 179, 180, 181, -1, 183, 184, 185, 186, 187, 188, + 189, 190, 191, -1, -1, -1, -1, -1, 197, -1, + -1, -1, 201, 177, 178, 179, 180, 181, -1, 183, + 184, 185, 186, 187, 188, 189, 190, 191, -1, -1, + -1, -1, -1, 197, -1, -1, -1, 201, 177, 178, + 179, 180, 181, -1, 183, 184, 185, 186, 187, 188, + 189, 190, 191, -1, -1, -1, -1, -1, 197, -1, + -1, -1, 201, 177, 178, 179, 180, 181, -1, 183, + 184, 185, 186, 187, 188, 189, 190, 191, -1, -1, + -1, -1, -1, 197, -1, -1, -1, 201, 177, 178, + 179, 180, 181, -1, 183, 184, 185, 186, 187, 188, + 189, 190, 191, -1, -1, -1, -1, -1, 197, -1, + -1, -1, 201, 177, 178, 179, 180, 181, -1, 183, + 184, 185, 186, 187, 188, 189, 190, 191, -1, -1, + -1, -1, -1, 197, -1, -1, -1, 201, 177, 178, + 179, 180, 181, -1, 183, 184, 185, 186, 187, 188, + 189, 190, 191, -1, -1, -1, -1, -1, 197, -1, + -1, -1, 201, 177, 178, 179, 180, 181, -1, 183, + 184, 185, 186, 187, 188, 189, 190, 191, -1, -1, + -1, -1, -1, 197, -1, -1, -1, 201, 177, 178, + 179, 180, 181, -1, 183, 184, 185, 186, 187, 188, + 189, 190, 191, -1, -1, -1, -1, -1, 197, -1, + -1, -1, 201, 177, 178, 179, 180, 181, -1, 183, + 184, 185, 186, 187, 188, 189, 190, 191, -1, -1, + -1, -1, -1, 197, -1, 199, 177, 178, 179, 180, + 181, -1, 183, 184, 185, 186, 187, 188, 189, 190, + 191, -1, -1, -1, -1, -1, 197, -1, 199, 177, + 178, 179, 180, 181, -1, 183, 184, 185, 186, 187, + 188, 189, 190, 191, -1, -1, -1, -1, -1, 197, + -1, 199, 177, 178, 179, 180, 181, -1, 183, 184, + 185, 186, 187, 188, 189, 190, 191, -1, -1, -1, + -1, -1, 197, -1, 199, 177, 178, 179, 180, 181, + -1, 183, 184, 185, 186, 187, 188, 189, 190, 191, + -1, -1, -1, -1, -1, 197, -1, 199, 177, 178, + 179, 180, 181, -1, 183, 184, 185, 186, 187, 188, + 189, 190, 191, -1, -1, -1, -1, -1, 197, -1, + 199, 177, 178, 179, 180, 181, -1, 183, 184, 185, + 186, 187, 188, 189, 190, 191, -1, -1, -1, -1, + -1, 197, -1, 199, 177, 178, 179, 180, 181, -1, + 183, 184, 185, 186, 187, 188, 189, 190, 191, -1, + -1, -1, -1, -1, 197, -1, 199, 177, 178, 179, + 180, 181, -1, 183, 184, 185, 186, 187, 188, 189, + 190, 191, -1, -1, -1, -1, -1, 197, -1, 199, + 177, 178, 179, 180, 181, -1, 183, 184, 185, 186, + 187, 188, 189, 190, 191, -1, -1, -1, -1, -1, + 197, -1, 199, 177, 178, 179, 180, 181, -1, 183, + 184, 185, 186, 187, 188, 189, 190, 191, -1, -1, + -1, -1, -1, 197, -1, 199, 177, 178, 179, 180, + 181, -1, 183, 184, 185, 186, 187, 188, 189, 190, + 191, -1, -1, -1, -1, -1, 197, -1, 199, 177, + 178, 179, 180, 181, -1, 183, 184, 185, 186, 187, + 188, 189, 190, 191, -1, -1, -1, -1, -1, 197, + -1, 199, 177, 178, 179, 180, 181, -1, 183, 184, + 185, 186, 187, 188, 189, 190, 191, -1, -1, -1, + -1, -1, 197, -1, 199, 177, 178, 179, 180, 181, + -1, 183, 184, 185, 186, 187, 188, 189, 190, 191, + -1, -1, -1, -1, -1, 197, -1, 199, 177, 178, + 179, 180, 181, -1, 183, 184, 185, 186, 187, 188, + 189, 190, 191, -1, -1, -1, -1, -1, 197, -1, + 199, 177, 178, 179, 180, 181, -1, 183, 184, 185, + 186, 187, 188, 189, 190, 191, -1, -1, -1, -1, + -1, 197, -1, 199, 177, 178, 179, 180, 181, -1, + 183, 184, 185, 186, 187, 188, 189, 190, 191, -1, + -1, -1, -1, -1, 197, -1, 199, 177, 178, 179, + 180, 181, -1, 183, 184, 185, 186, 187, 188, 189, + 190, 191, -1, -1, -1, -1, -1, 197, -1, 199, + 177, 178, 179, 180, 181, -1, 183, 184, 185, 186, + 187, 188, 189, 190, 191, -1, -1, -1, -1, -1, + 197, -1, 199, 177, 178, 179, 180, 181, -1, 183, + 184, 185, 186, 187, 188, 189, 190, 191, -1, -1, + -1, -1, -1, 197, -1, 199, 177, 178, 179, 180, + 181, -1, 183, 184, 185, 186, 187, 188, 189, 190, + 191, -1, -1, -1, -1, -1, 197, -1, 199, 177, + 178, 179, 180, 181, -1, 183, 184, 185, 186, 187, + 188, 189, 190, 191, -1, -1, -1, -1, -1, 197, + -1, 199, 177, 178, 179, 180, 181, -1, 183, 184, + 185, 186, 187, 188, 189, 190, 191, -1, -1, -1, + -1, -1, 197, -1, 199, 177, 178, 179, 180, 181, + -1, 183, 184, 185, 186, 187, 188, 189, 190, 191, + -1, -1, -1, -1, -1, 197, -1, 199, 177, 178, + 179, 180, 181, -1, 183, 184, 185, 186, 187, 188, + 189, 190, 191, -1, -1, -1, -1, -1, 197, -1, + 199, 177, 178, 179, 180, 181, -1, 183, 184, 185, + 186, 187, 188, 189, 190, 191, -1, -1, -1, -1, + -1, 197, -1, 199, 177, 178, 179, 180, 181, -1, + 183, 184, 185, 186, 187, 188, 189, 190, 191, -1, + -1, -1, -1, -1, 197, -1, 199, 177, 178, 179, + 180, 181, -1, 183, 184, 185, 186, 187, 188, 189, + 190, 191, -1, -1, -1, -1, -1, 197, -1, 199, + 177, 178, 179, 180, 181, -1, 183, 184, 185, 186, + 187, 188, 189, 190, 191, -1, -1, -1, -1, -1, + 197, -1, 199, 177, 178, 179, 180, 181, -1, 183, + 184, 185, 186, 187, 188, 189, 190, 191, -1, -1, + -1, -1, -1, 197, -1, 199, 177, 178, 179, 180, + 181, -1, 183, 184, 185, 186, 187, 188, 189, 190, + 191, -1, -1, -1, -1, -1, 197, -1, 199, 177, + 178, 179, 180, 181, -1, 183, 184, 185, 186, 187, + 188, 189, 190, 191, -1, -1, -1, -1, -1, 197, + -1, 199, 177, 178, 179, 180, 181, -1, 183, 184, + 185, 186, 187, 188, 189, 190, 191, -1, -1, -1, + -1, -1, 197, -1, 199, 177, 178, 179, 180, 181, + -1, 183, 184, 185, 186, 187, 188, 189, 190, 191, + -1, -1, -1, -1, -1, 197, -1, 199, 177, 178, + 179, 180, 181, -1, 183, 184, 185, 186, 187, 188, + 189, 190, 191, -1, -1, -1, -1, -1, 197, -1, + 199, 177, 178, 179, 180, 181, -1, 183, 184, 185, + 186, 187, 188, 189, 190, 191, -1, -1, -1, -1, + -1, 197, -1, 199, 177, 178, 179, 180, 181, -1, + 183, 184, 185, 186, 187, 188, 189, 190, 191, -1, + -1, -1, -1, -1, 197, -1, 199, 177, 178, 179, + 180, 181, -1, 183, 184, 185, 186, 187, 188, 189, + 190, 191, -1, -1, -1, -1, -1, 197, -1, 199, + 177, 178, 179, 180, 181, -1, 183, 184, 185, 186, + 187, 188, 189, 190, 191, -1, -1, -1, -1, -1, + 197, -1, 199, 177, 178, 179, 180, 181, -1, 183, + 184, 185, 186, 187, 188, 189, 190, 191, -1, -1, + -1, -1, -1, 197, -1, 199, 177, 178, 179, 180, + 181, -1, 183, 184, 185, 186, 187, 188, 189, 190, + 191, -1, -1, -1, -1, -1, 197, -1, 199, 177, + 178, 179, 180, 181, -1, 183, 184, 185, 186, 187, + 188, 189, 190, 191, -1, -1, -1, -1, -1, 197, + -1, 199, 177, 178, 179, 180, 181, -1, 183, 184, + 185, 186, 187, 188, 189, 190, 191, -1, -1, -1, + -1, -1, 197, -1, 199, 177, 178, 179, 180, 181, + -1, 183, 184, 185, 186, 187, 188, 189, 190, 191, + -1, -1, -1, -1, -1, 197, -1, 199, 177, 178, + 179, 180, 181, -1, 183, 184, 185, 186, 187, 188, + 189, 190, 191, -1, -1, -1, -1, -1, 197, -1, + 199, 177, 178, 179, 180, 181, -1, 183, 184, 185, + 186, 187, 188, 189, 190, 191, -1, -1, -1, -1, + -1, 197, -1, 199, 177, 178, 179, 180, 181, -1, + 183, 184, 185, 186, 187, 188, 189, 190, 191, -1, + -1, -1, -1, -1, 197, -1, 199, 177, 178, 179, + 180, 181, -1, 183, 184, 185, 186, 187, 188, 189, + 190, 191, -1, -1, -1, -1, -1, 197, -1, 199, + 177, 178, 179, 180, 181, -1, 183, 184, 185, 186, + 187, 188, 189, 190, 191, -1, -1, -1, -1, -1, + 197, -1, 199, 177, 178, 179, 180, 181, -1, 183, + 184, 185, 186, 187, 188, 189, 190, 191, -1, -1, + -1, -1, -1, 197, -1, 199, 177, 178, 179, 180, + 181, -1, 183, 184, 185, 186, 187, 188, 189, 190, + 191, -1, -1, -1, -1, -1, 197, -1, 199, 177, + 178, 179, 180, 181, -1, 183, 184, 185, 186, 187, + 188, 189, 190, 191, -1, -1, -1, -1, -1, 197, + -1, 199, 177, 178, 179, 180, 181, -1, 183, 184, + 185, 186, 187, 188, 189, 190, 191, -1, -1, -1, + -1, -1, 197, -1, 199, 177, 178, 179, 180, 181, + -1, 183, 184, 185, 186, 187, 188, 189, 190, 191, + -1, -1, -1, -1, -1, 197, -1, 199, 177, 178, + 179, 180, 181, -1, 183, 184, 185, 186, 187, 188, + 189, 190, 191, -1, -1, -1, -1, -1, 197, -1, + 199, 177, 178, 179, 180, 181, -1, 183, 184, 185, + 186, 187, 188, 189, 190, 191, -1, -1, -1, -1, + -1, 197, -1, 199, 177, 178, 179, 180, 181, -1, + 183, 184, 185, 186, 187, 188, 189, 190, 191, -1, + -1, -1, -1, -1, 197, -1, 199, 177, 178, 179, + 180, 181, -1, 183, 184, 185, 186, 187, 188, 189, + 190, 191, -1, -1, -1, -1, -1, 197, -1, 199, + 177, 178, 179, 180, 181, -1, 183, 184, 185, 186, + 187, 188, 189, 190, 191, -1, -1, -1, -1, -1, + 197, -1, 199, 177, 178, 179, 180, 181, -1, 183, + 184, 185, 186, 187, 188, 189, 190, 191, -1, -1, + -1, -1, -1, 197, -1, 199, 177, 178, 179, 180, + 181, -1, 183, 184, 185, 186, 187, 188, 189, 190, + 191, -1, -1, -1, -1, -1, 197, -1, 199, 177, + 178, 179, 180, 181, -1, 183, 184, 185, 186, 187, + 188, 189, 190, 191, -1, -1, -1, -1, -1, 197, + -1, 199, 177, 178, 179, 180, 181, -1, 183, 184, + 185, 186, 187, 188, 189, 190, 191, -1, -1, -1, + -1, -1, 197, -1, 199, 177, 178, 179, 180, 181, + -1, 183, 184, 185, 186, 187, 188, 189, 190, 191, + -1, -1, -1, -1, -1, 197, -1, 199, 177, 178, + 179, 180, 181, -1, 183, 184, 185, 186, 187, 188, + 189, 190, 191, -1, -1, -1, -1, -1, 197, -1, + 199, 177, 178, 179, 180, 181, -1, 183, 184, 185, + 186, 187, 188, 189, 190, 191, -1, -1, -1, -1, + -1, 197, -1, 199, 177, 178, 179, 180, 181, -1, + 183, 184, 185, 186, 187, 188, 189, 190, 191, -1, + -1, -1, -1, -1, 197, -1, 199, 177, 178, 179, + 180, 181, -1, 183, 184, 185, 186, 187, 188, 189, + 190, 191, -1, -1, -1, -1, -1, 197, -1, 199, + 177, 178, 179, 180, 181, -1, 183, 184, 185, 186, + 187, 188, 189, 190, 191, -1, -1, -1, -1, -1, + 197, -1, 199, 177, 178, 179, 180, 181, -1, 183, + 184, 185, 186, 187, 188, 189, 190, 191, -1, -1, + -1, -1, -1, 197, -1, 199, 177, 178, 179, 180, + 181, -1, 183, 184, 185, 186, 187, 188, 189, 190, + 191, -1, -1, -1, -1, -1, 197, -1, 199, 177, + 178, 179, 180, 181, -1, 183, 184, 185, 186, 187, + 188, 189, 190, 191, -1, -1, -1, -1, -1, 197, + -1, 199, 177, 178, 179, 180, 181, -1, 183, 184, + 185, 186, 187, 188, 189, 190, 191, -1, -1, -1, + -1, -1, 197, -1, 199, 177, 178, 179, 180, 181, + -1, 183, 184, 185, 186, 187, 188, 189, 190, 191, + -1, -1, -1, -1, -1, 197, -1, 199, 177, 178, + 179, 180, 181, -1, 183, 184, 185, 186, 187, 188, + 189, 190, 191, -1, -1, -1, -1, -1, 197, -1, + 199, 177, 178, 179, 180, 181, -1, 183, 184, 185, + 186, 187, 188, 189, 190, 191, -1, -1, -1, -1, + -1, 197, -1, 199, 177, 178, 179, 180, 181, -1, + 183, 184, 185, 186, 187, 188, 189, 190, 191, -1, + -1, -1, -1, -1, 197, -1, 199, 177, 178, 179, + 180, 181, -1, 183, 184, 185, 186, 187, 188, 189, + 190, 191, -1, -1, -1, -1, -1, 197, -1, 199, + 177, 178, 179, 180, 181, -1, 183, 184, 185, 186, + 187, 188, 189, 190, 191, -1, -1, -1, -1, -1, + 197, -1, 199, 177, 178, 179, 180, 181, -1, 183, + 184, 185, 186, 187, 188, 189, 190, 191, -1, -1, + -1, -1, -1, 197, -1, 199 }; /* -*-C-*- Note some compilers choke on comments on `#line' lines. */ #line 3 "/usr/share/bison.simple" @@ -4526,19 +4563,19 @@ yyreduce: switch (yyn) { case 4: -#line 171 "Gmsh.y" +#line 172 "Gmsh.y" { yyerrok ; return 1; ; break;} case 5: -#line 177 "Gmsh.y" +#line 178 "Gmsh.y" { yyval.d = yyvsp[0].d; ; break;} case 6: -#line 178 "Gmsh.y" +#line 179 "Gmsh.y" { yyval.d = -yyvsp[0].d; ; break;} case 7: -#line 183 "Gmsh.y" +#line 184 "Gmsh.y" { yymsg(INFO, "STL file format"); STL_Surf = Create_Surface(1, MSH_SURF_STL); @@ -4547,7 +4584,7 @@ case 7: ; break;} case 8: -#line 197 "Gmsh.y" +#line 198 "Gmsh.y" { STL_Surf->STL->Add_Facet(yyvsp[-12].d, yyvsp[-11].d, yyvsp[-10].d, yyvsp[-8].d, yyvsp[-7].d, yyvsp[-6].d, @@ -4556,7 +4593,7 @@ case 8: ; break;} case 9: -#line 204 "Gmsh.y" +#line 205 "Gmsh.y" { yymsg(INFO, "STL file format read"); Tree_Add(THEM->Surfaces, &STL_Surf); @@ -4564,79 +4601,79 @@ case 9: ; break;} case 12: -#line 219 "Gmsh.y" +#line 220 "Gmsh.y" { return 1; ; break;} case 13: -#line 220 "Gmsh.y" +#line 221 "Gmsh.y" { return 1; ; break;} case 14: -#line 221 "Gmsh.y" +#line 222 "Gmsh.y" { return 1; ; break;} case 15: -#line 226 "Gmsh.y" +#line 227 "Gmsh.y" { yymsg(INFO, "Step Iso-10303-21 file format"); Create_Step_Solid_BRep(); ; break;} case 16: -#line 231 "Gmsh.y" +#line 232 "Gmsh.y" { yymsg(INFO, "Step Iso-10303-21 file format read"); Resolve_BREP (); ; break;} case 20: -#line 242 "Gmsh.y" +#line 243 "Gmsh.y" { ; break;} case 21: -#line 245 "Gmsh.y" +#line 246 "Gmsh.y" { ; break;} case 22: -#line 249 "Gmsh.y" +#line 250 "Gmsh.y" { ; break;} case 23: -#line 255 "Gmsh.y" +#line 256 "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 24: -#line 261 "Gmsh.y" +#line 262 "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 25: -#line 268 "Gmsh.y" +#line 269 "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 26: -#line 274 "Gmsh.y" +#line 275 "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 27: -#line 278 "Gmsh.y" +#line 279 "Gmsh.y" { Add_Face_Outer_Bound((int)yyvsp[-10].d, yyvsp[-6].c, (int)yyvsp[-4].d, yyvsp[-2].i, 1); ; break;} case 28: -#line 282 "Gmsh.y" +#line 283 "Gmsh.y" { // check the norm! Face_Bound : hole outside surface! yymsg(INFO, "Found a face bound"); @@ -4644,211 +4681,215 @@ case 28: ; break;} case 29: -#line 289 "Gmsh.y" +#line 290 "Gmsh.y" { Add_Oriented_Edge((int)yyvsp[-14].d, yyvsp[-10].c, (int)yyvsp[-4].d, yyvsp[-2].i); ; break;} case 30: -#line 293 "Gmsh.y" +#line 294 "Gmsh.y" { Add_Edge_Loop((int)yyvsp[-8].d, yyvsp[-4].c, yyvsp[-2].l); ; break;} case 31: -#line 298 "Gmsh.y" +#line 299 "Gmsh.y" { Add_Advanced_Face((int)yyvsp[-12].d, yyvsp[-8].c, yyvsp[-6].l, (int)yyvsp[-4].d, yyvsp[-2].i); ; break;} case 32: -#line 302 "Gmsh.y" +#line 303 "Gmsh.y" { Add_Vertex_Point((int)yyvsp[-8].d, yyvsp[-4].c, (int)yyvsp[-2].d); ; break;} case 33: -#line 306 "Gmsh.y" +#line 307 "Gmsh.y" { ; break;} case 34: -#line 310 "Gmsh.y" +#line 311 "Gmsh.y" { Add_Axis2_Placement3D ((int)yyvsp[-12].d, (int)yyvsp[-4].d, (int)yyvsp[-2].d, (int)yyvsp[-6].d); ; break;} case 35: -#line 314 "Gmsh.y" +#line 315 "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 36: -#line 318 "Gmsh.y" +#line 319 "Gmsh.y" { Add_Plane((int)yyvsp[-8].d, yyvsp[-4].c, (int)yyvsp[-2].d); ; break;} case 37: -#line 322 "Gmsh.y" +#line 323 "Gmsh.y" { Add_Line ((int)yyvsp[-10].d, yyvsp[-6].c , (int) yyvsp[-4].d, (int)yyvsp[-2].d); ; break;} case 38: -#line 326 "Gmsh.y" +#line 327 "Gmsh.y" { yymsg(INFO, "Found a closed shell"); Add_Closed_Shell((int)yyvsp[-8].d, yyvsp[-4].c , yyvsp[-2].l); ; break;} case 39: -#line 332 "Gmsh.y" +#line 333 "Gmsh.y" { ; break;} case 40: -#line 335 "Gmsh.y" +#line 336 "Gmsh.y" { ; break;} case 41: -#line 338 "Gmsh.y" +#line 339 "Gmsh.y" { Add_Cylinder ((int)yyvsp[-10].d, yyvsp[-6].c , (int)yyvsp[-4].d, yyvsp[-2].d); ; break;} case 42: -#line 342 "Gmsh.y" +#line 343 "Gmsh.y" { Add_Cone ((int)yyvsp[-12].d, yyvsp[-8].c , (int)yyvsp[-6].d, yyvsp[-4].d, yyvsp[-2].d); ; break;} case 43: -#line 346 "Gmsh.y" +#line 347 "Gmsh.y" { Add_Torus ((int)yyvsp[-12].d, yyvsp[-8].c , (int)yyvsp[-6].d, yyvsp[-4].d, yyvsp[-2].d); ; break;} case 44: -#line 350 "Gmsh.y" +#line 351 "Gmsh.y" { Add_Circle((int) yyvsp[-10].d, yyvsp[-6].c, (int) yyvsp[-4].d, yyvsp[-2].d); ; break;} case 45: -#line 354 "Gmsh.y" +#line 355 "Gmsh.y" { Add_Ellipse((int) yyvsp[-12].d, yyvsp[-8].c, (int) yyvsp[-6].d, yyvsp[-4].d, yyvsp[-2].d); ; break;} case 46: -#line 359 "Gmsh.y" +#line 360 "Gmsh.y" { ; break;} case 47: -#line 362 "Gmsh.y" +#line 363 "Gmsh.y" { ; break;} case 48: -#line 366 "Gmsh.y" +#line 367 "Gmsh.y" { ; break;} case 49: -#line 369 "Gmsh.y" +#line 370 "Gmsh.y" { ; break;} case 50: -#line 373 "Gmsh.y" +#line 374 "Gmsh.y" { ; break;} case 51: -#line 376 "Gmsh.y" +#line 377 "Gmsh.y" { ; break;} case 52: -#line 379 "Gmsh.y" +#line 380 "Gmsh.y" { ; break;} case 53: -#line 387 "Gmsh.y" +#line 388 "Gmsh.y" { ; break;} case 54: -#line 390 "Gmsh.y" +#line 391 "Gmsh.y" { yymsg(INFO, "Gmsh file format read"); ; break;} case 55: -#line 396 "Gmsh.y" +#line 397 "Gmsh.y" { return 1; ; break;} case 56: -#line 397 "Gmsh.y" +#line 398 "Gmsh.y" { return 1; ; break;} case 57: -#line 398 "Gmsh.y" +#line 399 "Gmsh.y" { return 1; ; break;} case 58: -#line 399 "Gmsh.y" +#line 400 "Gmsh.y" { return 1; ; break;} case 59: -#line 400 "Gmsh.y" +#line 401 "Gmsh.y" { return 1; ; break;} case 60: -#line 401 "Gmsh.y" +#line 402 "Gmsh.y" { return 1; ; break;} case 61: -#line 402 "Gmsh.y" +#line 403 "Gmsh.y" { return 1; ; break;} case 62: -#line 403 "Gmsh.y" +#line 404 "Gmsh.y" { return 1; ; break;} case 63: -#line 404 "Gmsh.y" +#line 405 "Gmsh.y" { return 1; ; break;} case 64: -#line 405 "Gmsh.y" +#line 406 "Gmsh.y" { return 1; ; break;} case 65: -#line 406 "Gmsh.y" +#line 407 "Gmsh.y" { return 1; ; break;} case 66: -#line 407 "Gmsh.y" +#line 408 "Gmsh.y" { return 1; ; break;} case 67: -#line 408 "Gmsh.y" +#line 409 "Gmsh.y" { return 1; ; break;} case 68: -#line 413 "Gmsh.y" +#line 410 "Gmsh.y" +{ return 1; ; + break;} +case 69: +#line 415 "Gmsh.y" { Msg(DIRECT, yyvsp[-2].c); ; break;} -case 69: -#line 417 "Gmsh.y" +case 70: +#line 419 "Gmsh.y" { i = PrintListOfDouble(yyvsp[-4].c, yyvsp[-2].l, tmpstring); if(i < 0) @@ -4860,163 +4901,163 @@ case 69: List_Delete(yyvsp[-2].l); ; break;} -case 70: -#line 433 "Gmsh.y" +case 71: +#line 435 "Gmsh.y" { if(!strcmp(yyvsp[-5].c, "View")) EndView(View, 1, yyname, yyvsp[-4].c); ; break;} -case 71: -#line 437 "Gmsh.y" +case 72: +#line 439 "Gmsh.y" { if(!strcmp(yyvsp[-7].c, "View")) EndView(View, 1, yyname, yyvsp[-6].c); ; break;} -case 72: -#line 444 "Gmsh.y" +case 73: +#line 446 "Gmsh.y" { View = BeginView(1); ; break;} -case 99: -#line 477 "Gmsh.y" -{ List_Add(View->SP, &yyvsp[0].d) ; ; - break;} case 100: #line 479 "Gmsh.y" { List_Add(View->SP, &yyvsp[0].d) ; ; break;} case 101: -#line 484 "Gmsh.y" +#line 481 "Gmsh.y" +{ List_Add(View->SP, &yyvsp[0].d) ; ; + break;} +case 102: +#line 486 "Gmsh.y" { List_Add(View->SP, &yyvsp[-5].d); List_Add(View->SP, &yyvsp[-3].d); List_Add(View->SP, &yyvsp[-1].d); ; break;} -case 102: -#line 489 "Gmsh.y" +case 103: +#line 491 "Gmsh.y" { View->NbSP++ ; ; break;} -case 103: -#line 496 "Gmsh.y" -{ List_Add(View->VP, &yyvsp[0].d) ; ; - break;} case 104: #line 498 "Gmsh.y" { List_Add(View->VP, &yyvsp[0].d) ; ; break;} case 105: -#line 503 "Gmsh.y" +#line 500 "Gmsh.y" +{ List_Add(View->VP, &yyvsp[0].d) ; ; + break;} +case 106: +#line 505 "Gmsh.y" { List_Add(View->VP, &yyvsp[-5].d); List_Add(View->VP, &yyvsp[-3].d); List_Add(View->VP, &yyvsp[-1].d); ; break;} -case 106: -#line 508 "Gmsh.y" +case 107: +#line 510 "Gmsh.y" { View->NbVP++ ; ; break;} -case 107: -#line 515 "Gmsh.y" -{ List_Add(View->TP, &yyvsp[0].d) ; ; - break;} case 108: #line 517 "Gmsh.y" { List_Add(View->TP, &yyvsp[0].d) ; ; break;} case 109: -#line 522 "Gmsh.y" +#line 519 "Gmsh.y" +{ List_Add(View->TP, &yyvsp[0].d) ; ; + break;} +case 110: +#line 524 "Gmsh.y" { List_Add(View->TP, &yyvsp[-5].d); List_Add(View->TP, &yyvsp[-3].d); List_Add(View->TP, &yyvsp[-1].d); ; break;} -case 110: -#line 527 "Gmsh.y" +case 111: +#line 529 "Gmsh.y" { View->NbTP++ ; ; break;} -case 111: -#line 534 "Gmsh.y" -{ List_Add(View->SL, &yyvsp[0].d) ; ; - break;} case 112: #line 536 "Gmsh.y" { List_Add(View->SL, &yyvsp[0].d) ; ; break;} case 113: -#line 542 "Gmsh.y" +#line 538 "Gmsh.y" +{ List_Add(View->SL, &yyvsp[0].d) ; ; + break;} +case 114: +#line 544 "Gmsh.y" { List_Add(View->SL, &yyvsp[-11].d); List_Add(View->SL, &yyvsp[-5].d); List_Add(View->SL, &yyvsp[-9].d); List_Add(View->SL, &yyvsp[-3].d); List_Add(View->SL, &yyvsp[-7].d); List_Add(View->SL, &yyvsp[-1].d); ; break;} -case 114: -#line 548 "Gmsh.y" +case 115: +#line 550 "Gmsh.y" { View->NbSL++ ; ; break;} -case 115: -#line 555 "Gmsh.y" -{ List_Add(View->VL, &yyvsp[0].d) ; ; - break;} case 116: #line 557 "Gmsh.y" { List_Add(View->VL, &yyvsp[0].d) ; ; break;} case 117: -#line 563 "Gmsh.y" +#line 559 "Gmsh.y" +{ List_Add(View->VL, &yyvsp[0].d) ; ; + break;} +case 118: +#line 565 "Gmsh.y" { List_Add(View->VL, &yyvsp[-11].d); List_Add(View->VL, &yyvsp[-5].d); List_Add(View->VL, &yyvsp[-9].d); List_Add(View->VL, &yyvsp[-3].d); List_Add(View->VL, &yyvsp[-7].d); List_Add(View->VL, &yyvsp[-1].d); ; break;} -case 118: -#line 569 "Gmsh.y" +case 119: +#line 571 "Gmsh.y" { View->NbVL++ ; ; break;} -case 119: -#line 576 "Gmsh.y" -{ List_Add(View->TL, &yyvsp[0].d) ; ; - break;} case 120: #line 578 "Gmsh.y" { List_Add(View->TL, &yyvsp[0].d) ; ; break;} case 121: -#line 584 "Gmsh.y" +#line 580 "Gmsh.y" +{ List_Add(View->TL, &yyvsp[0].d) ; ; + break;} +case 122: +#line 586 "Gmsh.y" { List_Add(View->TL, &yyvsp[-11].d); List_Add(View->TL, &yyvsp[-5].d); List_Add(View->TL, &yyvsp[-9].d); List_Add(View->TL, &yyvsp[-3].d); List_Add(View->TL, &yyvsp[-7].d); List_Add(View->TL, &yyvsp[-1].d); ; break;} -case 122: -#line 590 "Gmsh.y" +case 123: +#line 592 "Gmsh.y" { View->NbTL++ ; ; break;} -case 123: -#line 597 "Gmsh.y" -{ List_Add(View->ST, &yyvsp[0].d) ; ; - break;} case 124: #line 599 "Gmsh.y" { List_Add(View->ST, &yyvsp[0].d) ; ; break;} case 125: -#line 606 "Gmsh.y" +#line 601 "Gmsh.y" +{ List_Add(View->ST, &yyvsp[0].d) ; ; + break;} +case 126: +#line 608 "Gmsh.y" { List_Add(View->ST, &yyvsp[-17].d); List_Add(View->ST, &yyvsp[-11].d); List_Add(View->ST, &yyvsp[-5].d); @@ -5026,22 +5067,22 @@ case 125: List_Add(View->ST, &yyvsp[-1].d); ; break;} -case 126: -#line 615 "Gmsh.y" +case 127: +#line 617 "Gmsh.y" { View->NbST++ ; ; break;} -case 127: -#line 622 "Gmsh.y" -{ List_Add(View->VT, &yyvsp[0].d) ; ; - break;} case 128: #line 624 "Gmsh.y" { List_Add(View->VT, &yyvsp[0].d) ; ; break;} case 129: -#line 631 "Gmsh.y" +#line 626 "Gmsh.y" +{ List_Add(View->VT, &yyvsp[0].d) ; ; + break;} +case 130: +#line 633 "Gmsh.y" { List_Add(View->VT, &yyvsp[-17].d); List_Add(View->VT, &yyvsp[-11].d); List_Add(View->VT, &yyvsp[-5].d); @@ -5051,22 +5092,22 @@ case 129: List_Add(View->VT, &yyvsp[-1].d); ; break;} -case 130: -#line 640 "Gmsh.y" +case 131: +#line 642 "Gmsh.y" { View->NbVT++ ; ; break;} -case 131: -#line 647 "Gmsh.y" -{ List_Add(View->TT, &yyvsp[0].d) ; ; - break;} case 132: #line 649 "Gmsh.y" { List_Add(View->TT, &yyvsp[0].d) ; ; break;} case 133: -#line 656 "Gmsh.y" +#line 651 "Gmsh.y" +{ List_Add(View->TT, &yyvsp[0].d) ; ; + break;} +case 134: +#line 658 "Gmsh.y" { List_Add(View->TT, &yyvsp[-17].d); List_Add(View->TT, &yyvsp[-11].d); List_Add(View->TT, &yyvsp[-5].d); @@ -5076,22 +5117,22 @@ case 133: List_Add(View->TT, &yyvsp[-1].d); ; break;} -case 134: -#line 665 "Gmsh.y" +case 135: +#line 667 "Gmsh.y" { View->NbTT++ ; ; break;} -case 135: -#line 672 "Gmsh.y" -{ List_Add(View->SQ, &yyvsp[0].d) ; ; - break;} case 136: #line 674 "Gmsh.y" { List_Add(View->SQ, &yyvsp[0].d) ; ; break;} case 137: -#line 682 "Gmsh.y" +#line 676 "Gmsh.y" +{ List_Add(View->SQ, &yyvsp[0].d) ; ; + break;} +case 138: +#line 684 "Gmsh.y" { List_Add(View->SQ, &yyvsp[-23].d); List_Add(View->SQ, &yyvsp[-17].d); List_Add(View->SQ, &yyvsp[-11].d); List_Add(View->SQ, &yyvsp[-5].d); @@ -5101,22 +5142,22 @@ case 137: List_Add(View->SQ, &yyvsp[-7].d); List_Add(View->SQ, &yyvsp[-1].d); ; break;} -case 138: -#line 691 "Gmsh.y" +case 139: +#line 693 "Gmsh.y" { View->NbSQ++ ; ; break;} -case 139: -#line 698 "Gmsh.y" -{ List_Add(View->VQ, &yyvsp[0].d) ; ; - break;} case 140: #line 700 "Gmsh.y" { List_Add(View->VQ, &yyvsp[0].d) ; ; break;} case 141: -#line 708 "Gmsh.y" +#line 702 "Gmsh.y" +{ List_Add(View->VQ, &yyvsp[0].d) ; ; + break;} +case 142: +#line 710 "Gmsh.y" { List_Add(View->VQ, &yyvsp[-23].d); List_Add(View->VQ, &yyvsp[-17].d); List_Add(View->VQ, &yyvsp[-11].d); List_Add(View->VQ, &yyvsp[-5].d); @@ -5126,22 +5167,22 @@ case 141: List_Add(View->VQ, &yyvsp[-7].d); List_Add(View->VQ, &yyvsp[-1].d); ; break;} -case 142: -#line 717 "Gmsh.y" +case 143: +#line 719 "Gmsh.y" { View->NbVQ++ ; ; break;} -case 143: -#line 724 "Gmsh.y" -{ List_Add(View->TQ, &yyvsp[0].d) ; ; - break;} case 144: #line 726 "Gmsh.y" { List_Add(View->TQ, &yyvsp[0].d) ; ; break;} case 145: -#line 734 "Gmsh.y" +#line 728 "Gmsh.y" +{ List_Add(View->TQ, &yyvsp[0].d) ; ; + break;} +case 146: +#line 736 "Gmsh.y" { List_Add(View->TQ, &yyvsp[-23].d); List_Add(View->TQ, &yyvsp[-17].d); List_Add(View->TQ, &yyvsp[-11].d); List_Add(View->TQ, &yyvsp[-5].d); @@ -5151,22 +5192,22 @@ case 145: List_Add(View->TQ, &yyvsp[-7].d); List_Add(View->TQ, &yyvsp[-1].d); ; break;} -case 146: -#line 743 "Gmsh.y" +case 147: +#line 745 "Gmsh.y" { View->NbTQ++ ; ; break;} -case 147: -#line 750 "Gmsh.y" -{ List_Add(View->SS, &yyvsp[0].d) ; ; - break;} case 148: #line 752 "Gmsh.y" { List_Add(View->SS, &yyvsp[0].d) ; ; break;} case 149: -#line 760 "Gmsh.y" +#line 754 "Gmsh.y" +{ List_Add(View->SS, &yyvsp[0].d) ; ; + break;} +case 150: +#line 762 "Gmsh.y" { List_Add(View->SS, &yyvsp[-23].d); List_Add(View->SS, &yyvsp[-17].d); List_Add(View->SS, &yyvsp[-11].d); List_Add(View->SS, &yyvsp[-5].d); @@ -5176,22 +5217,22 @@ case 149: List_Add(View->SS, &yyvsp[-7].d); List_Add(View->SS, &yyvsp[-1].d); ; break;} -case 150: -#line 769 "Gmsh.y" +case 151: +#line 771 "Gmsh.y" { View->NbSS++ ; ; break;} -case 151: -#line 776 "Gmsh.y" -{ List_Add(View->VS, &yyvsp[0].d) ; ; - break;} case 152: #line 778 "Gmsh.y" { List_Add(View->VS, &yyvsp[0].d) ; ; break;} case 153: -#line 786 "Gmsh.y" +#line 780 "Gmsh.y" +{ List_Add(View->VS, &yyvsp[0].d) ; ; + break;} +case 154: +#line 788 "Gmsh.y" { List_Add(View->VS, &yyvsp[-23].d); List_Add(View->VS, &yyvsp[-17].d); List_Add(View->VS, &yyvsp[-11].d); List_Add(View->VS, &yyvsp[-5].d); @@ -5201,22 +5242,22 @@ case 153: List_Add(View->VS, &yyvsp[-7].d); List_Add(View->VS, &yyvsp[-1].d); ; break;} -case 154: -#line 795 "Gmsh.y" +case 155: +#line 797 "Gmsh.y" { View->NbVS++ ; ; break;} -case 155: -#line 802 "Gmsh.y" -{ List_Add(View->TS, &yyvsp[0].d) ; ; - break;} case 156: #line 804 "Gmsh.y" { List_Add(View->TS, &yyvsp[0].d) ; ; break;} case 157: -#line 812 "Gmsh.y" +#line 806 "Gmsh.y" +{ List_Add(View->TS, &yyvsp[0].d) ; ; + break;} +case 158: +#line 814 "Gmsh.y" { List_Add(View->TS, &yyvsp[-23].d); List_Add(View->TS, &yyvsp[-17].d); List_Add(View->TS, &yyvsp[-11].d); List_Add(View->TS, &yyvsp[-5].d); @@ -5226,22 +5267,22 @@ case 157: List_Add(View->TS, &yyvsp[-7].d); List_Add(View->TS, &yyvsp[-1].d); ; break;} -case 158: -#line 821 "Gmsh.y" +case 159: +#line 823 "Gmsh.y" { View->NbTS++ ; ; break;} -case 159: -#line 828 "Gmsh.y" -{ List_Add(View->SH, &yyvsp[0].d) ; ; - break;} case 160: #line 830 "Gmsh.y" { List_Add(View->SH, &yyvsp[0].d) ; ; break;} case 161: -#line 842 "Gmsh.y" +#line 832 "Gmsh.y" +{ List_Add(View->SH, &yyvsp[0].d) ; ; + break;} +case 162: +#line 844 "Gmsh.y" { List_Add(View->SH, &yyvsp[-47].d); List_Add(View->SH, &yyvsp[-41].d); List_Add(View->SH, &yyvsp[-35].d); List_Add(View->SH, &yyvsp[-29].d); @@ -5257,22 +5298,22 @@ case 161: List_Add(View->SH, &yyvsp[-7].d); List_Add(View->SH, &yyvsp[-1].d); ; break;} -case 162: -#line 857 "Gmsh.y" +case 163: +#line 859 "Gmsh.y" { View->NbSH++ ; ; break;} -case 163: -#line 864 "Gmsh.y" -{ List_Add(View->VH, &yyvsp[0].d) ; ; - break;} case 164: #line 866 "Gmsh.y" { List_Add(View->VH, &yyvsp[0].d) ; ; break;} case 165: -#line 878 "Gmsh.y" +#line 868 "Gmsh.y" +{ List_Add(View->VH, &yyvsp[0].d) ; ; + break;} +case 166: +#line 880 "Gmsh.y" { List_Add(View->VH, &yyvsp[-47].d); List_Add(View->VH, &yyvsp[-41].d); List_Add(View->VH, &yyvsp[-35].d); List_Add(View->VH, &yyvsp[-29].d); @@ -5288,22 +5329,22 @@ case 165: List_Add(View->VH, &yyvsp[-7].d); List_Add(View->VH, &yyvsp[-1].d); ; break;} -case 166: -#line 893 "Gmsh.y" +case 167: +#line 895 "Gmsh.y" { View->NbVH++ ; ; break;} -case 167: -#line 900 "Gmsh.y" -{ List_Add(View->TH, &yyvsp[0].d) ; ; - break;} case 168: #line 902 "Gmsh.y" { List_Add(View->TH, &yyvsp[0].d) ; ; break;} case 169: -#line 914 "Gmsh.y" +#line 904 "Gmsh.y" +{ List_Add(View->TH, &yyvsp[0].d) ; ; + break;} +case 170: +#line 916 "Gmsh.y" { List_Add(View->TH, &yyvsp[-47].d); List_Add(View->TH, &yyvsp[-41].d); List_Add(View->TH, &yyvsp[-35].d); List_Add(View->TH, &yyvsp[-29].d); @@ -5319,22 +5360,22 @@ case 169: List_Add(View->TH, &yyvsp[-7].d); List_Add(View->TH, &yyvsp[-1].d); ; break;} -case 170: -#line 929 "Gmsh.y" +case 171: +#line 931 "Gmsh.y" { View->NbTH++ ; ; break;} -case 171: -#line 936 "Gmsh.y" -{ List_Add(View->SI, &yyvsp[0].d) ; ; - break;} case 172: #line 938 "Gmsh.y" { List_Add(View->SI, &yyvsp[0].d) ; ; break;} case 173: -#line 948 "Gmsh.y" +#line 940 "Gmsh.y" +{ List_Add(View->SI, &yyvsp[0].d) ; ; + break;} +case 174: +#line 950 "Gmsh.y" { List_Add(View->SI, &yyvsp[-35].d); List_Add(View->SI, &yyvsp[-29].d); List_Add(View->SI, &yyvsp[-23].d); List_Add(View->SI, &yyvsp[-17].d); @@ -5347,22 +5388,22 @@ case 173: List_Add(View->SI, &yyvsp[-7].d); List_Add(View->SI, &yyvsp[-1].d); ; break;} -case 174: -#line 960 "Gmsh.y" +case 175: +#line 962 "Gmsh.y" { View->NbSI++ ; ; break;} -case 175: -#line 967 "Gmsh.y" -{ List_Add(View->VI, &yyvsp[0].d) ; ; - break;} case 176: #line 969 "Gmsh.y" { List_Add(View->VI, &yyvsp[0].d) ; ; break;} case 177: -#line 979 "Gmsh.y" +#line 971 "Gmsh.y" +{ List_Add(View->VI, &yyvsp[0].d) ; ; + break;} +case 178: +#line 981 "Gmsh.y" { List_Add(View->VI, &yyvsp[-35].d); List_Add(View->VI, &yyvsp[-29].d); List_Add(View->VI, &yyvsp[-23].d); List_Add(View->VI, &yyvsp[-17].d); @@ -5375,22 +5416,22 @@ case 177: List_Add(View->VI, &yyvsp[-7].d); List_Add(View->VI, &yyvsp[-1].d); ; break;} -case 178: -#line 991 "Gmsh.y" +case 179: +#line 993 "Gmsh.y" { View->NbVI++ ; ; break;} -case 179: -#line 998 "Gmsh.y" -{ List_Add(View->TI, &yyvsp[0].d) ; ; - break;} case 180: #line 1000 "Gmsh.y" { List_Add(View->TI, &yyvsp[0].d) ; ; break;} case 181: -#line 1010 "Gmsh.y" +#line 1002 "Gmsh.y" +{ List_Add(View->TI, &yyvsp[0].d) ; ; + break;} +case 182: +#line 1012 "Gmsh.y" { List_Add(View->TI, &yyvsp[-35].d); List_Add(View->TI, &yyvsp[-29].d); List_Add(View->TI, &yyvsp[-23].d); List_Add(View->TI, &yyvsp[-17].d); @@ -5403,22 +5444,22 @@ case 181: List_Add(View->TI, &yyvsp[-7].d); List_Add(View->TI, &yyvsp[-1].d); ; break;} -case 182: -#line 1022 "Gmsh.y" +case 183: +#line 1024 "Gmsh.y" { View->NbTI++ ; ; break;} -case 183: -#line 1029 "Gmsh.y" -{ List_Add(View->SY, &yyvsp[0].d) ; ; - break;} case 184: #line 1031 "Gmsh.y" { List_Add(View->SY, &yyvsp[0].d) ; ; break;} case 185: -#line 1040 "Gmsh.y" +#line 1033 "Gmsh.y" +{ List_Add(View->SY, &yyvsp[0].d) ; ; + break;} +case 186: +#line 1042 "Gmsh.y" { List_Add(View->SY, &yyvsp[-29].d); List_Add(View->SY, &yyvsp[-23].d); List_Add(View->SY, &yyvsp[-17].d); List_Add(View->SY, &yyvsp[-11].d); @@ -5431,23 +5472,23 @@ case 185: List_Add(View->SY, &yyvsp[-1].d); ; break;} -case 186: -#line 1052 "Gmsh.y" +case 187: +#line 1054 "Gmsh.y" { View->NbSY++ ; ; break;} -case 187: -#line 1059 "Gmsh.y" -{ List_Add(View->VY, &yyvsp[0].d) ; ; - break;} case 188: #line 1061 "Gmsh.y" { List_Add(View->VY, &yyvsp[0].d) ; ; break;} case 189: -#line 1070 "Gmsh.y" -{ +#line 1063 "Gmsh.y" +{ List_Add(View->VY, &yyvsp[0].d) ; ; + break;} +case 190: +#line 1072 "Gmsh.y" +{ List_Add(View->VY, &yyvsp[-29].d); List_Add(View->VY, &yyvsp[-23].d); List_Add(View->VY, &yyvsp[-17].d); List_Add(View->VY, &yyvsp[-11].d); List_Add(View->VY, &yyvsp[-5].d); @@ -5459,22 +5500,22 @@ case 189: List_Add(View->VY, &yyvsp[-1].d); ; break;} -case 190: -#line 1082 "Gmsh.y" +case 191: +#line 1084 "Gmsh.y" { View->NbVY++ ; ; break;} -case 191: -#line 1089 "Gmsh.y" -{ List_Add(View->TY, &yyvsp[0].d) ; ; - break;} case 192: #line 1091 "Gmsh.y" { List_Add(View->TY, &yyvsp[0].d) ; ; break;} case 193: -#line 1100 "Gmsh.y" +#line 1093 "Gmsh.y" +{ List_Add(View->TY, &yyvsp[0].d) ; ; + break;} +case 194: +#line 1102 "Gmsh.y" { List_Add(View->TY, &yyvsp[-29].d); List_Add(View->TY, &yyvsp[-23].d); List_Add(View->TY, &yyvsp[-17].d); List_Add(View->TY, &yyvsp[-11].d); @@ -5487,28 +5528,28 @@ case 193: List_Add(View->TY, &yyvsp[-1].d); ; break;} -case 194: -#line 1112 "Gmsh.y" +case 195: +#line 1114 "Gmsh.y" { View->NbTY++ ; ; break;} -case 195: -#line 1119 "Gmsh.y" +case 196: +#line 1121 "Gmsh.y" { for(i = 0; i < (int)strlen(yyvsp[0].c)+1; i++) List_Add(View->T2C, &yyvsp[0].c[i]) ; Free(yyvsp[0].c); ; break;} -case 196: -#line 1124 "Gmsh.y" +case 197: +#line 1126 "Gmsh.y" { for(i = 0; i < (int)strlen(yyvsp[0].c)+1; i++) List_Add(View->T2C, &yyvsp[0].c[i]) ; Free(yyvsp[0].c); ; break;} -case 197: -#line 1132 "Gmsh.y" +case 198: +#line 1134 "Gmsh.y" { List_Add(View->T2D, &yyvsp[-5].d); List_Add(View->T2D, &yyvsp[-3].d); List_Add(View->T2D, &yyvsp[-1].d); @@ -5516,28 +5557,28 @@ case 197: List_Add(View->T2D, &d); ; break;} -case 198: -#line 1139 "Gmsh.y" +case 199: +#line 1141 "Gmsh.y" { View->NbT2++ ; ; break;} -case 199: -#line 1146 "Gmsh.y" +case 200: +#line 1148 "Gmsh.y" { for(i = 0; i < (int)strlen(yyvsp[0].c)+1; i++) List_Add(View->T3C, &yyvsp[0].c[i]) ; Free(yyvsp[0].c); ; break;} -case 200: -#line 1151 "Gmsh.y" +case 201: +#line 1153 "Gmsh.y" { for(i = 0; i < (int)strlen(yyvsp[0].c)+1; i++) List_Add(View->T3C, &yyvsp[0].c[i]) ; Free(yyvsp[0].c); ; break;} -case 201: -#line 1159 "Gmsh.y" +case 202: +#line 1161 "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); @@ -5545,42 +5586,42 @@ case 201: List_Add(View->T3D, &d); ; break;} -case 202: -#line 1166 "Gmsh.y" +case 203: +#line 1168 "Gmsh.y" { View->NbT3++ ; ; break;} -case 203: -#line 1175 "Gmsh.y" +case 204: +#line 1177 "Gmsh.y" { yyval.i = 0 ; ; break;} -case 204: -#line 1176 "Gmsh.y" +case 205: +#line 1178 "Gmsh.y" { yyval.i = 1 ; ; break;} -case 205: -#line 1177 "Gmsh.y" +case 206: +#line 1179 "Gmsh.y" { yyval.i = 2 ; ; break;} -case 206: -#line 1178 "Gmsh.y" +case 207: +#line 1180 "Gmsh.y" { yyval.i = 3 ; ; break;} -case 207: -#line 1179 "Gmsh.y" +case 208: +#line 1181 "Gmsh.y" { yyval.i = 4 ; ; break;} -case 208: -#line 1183 "Gmsh.y" +case 209: +#line 1185 "Gmsh.y" { yyval.i = 1 ; ; break;} -case 209: -#line 1184 "Gmsh.y" +case 210: +#line 1186 "Gmsh.y" { yyval.i = -1 ; ; break;} -case 210: -#line 1192 "Gmsh.y" +case 211: +#line 1194 "Gmsh.y" { TheSymbol.Name = yyvsp[-3].c; if(!(pSymbol = (Symbol*)Tree_PQuery(Symbol_T, &TheSymbol))){ @@ -5607,8 +5648,8 @@ case 210: } ; break;} -case 211: -#line 1219 "Gmsh.y" +case 212: +#line 1221 "Gmsh.y" { TheSymbol.Name = yyvsp[-6].c; if(!(pSymbol = (Symbol*)Tree_PQuery(Symbol_T, &TheSymbol))){ @@ -5642,8 +5683,8 @@ case 211: } ; break;} -case 212: -#line 1253 "Gmsh.y" +case 213: +#line 1255 "Gmsh.y" { if(List_Nbr(yyvsp[-5].l) != List_Nbr(yyvsp[-1].l)) yymsg(GERROR, "Incompatible array dimensions in affectation"); @@ -5690,8 +5731,8 @@ case 212: List_Delete(yyvsp[-1].l); ; break;} -case 213: -#line 1300 "Gmsh.y" +case 214: +#line 1302 "Gmsh.y" { TheSymbol.Name = yyvsp[-5].c; if(!(pSymbol = (Symbol*)Tree_PQuery(Symbol_T, &TheSymbol))){ @@ -5706,8 +5747,8 @@ case 213: List_Delete(yyvsp[-1].l); ; break;} -case 214: -#line 1315 "Gmsh.y" +case 215: +#line 1317 "Gmsh.y" { TheSymbol.Name = yyvsp[-2].c; if(!(pSymbol = (Symbol*)Tree_PQuery(Symbol_T, &TheSymbol))) @@ -5716,8 +5757,8 @@ case 214: *(double*)List_Pointer_Fast(pSymbol->val, 0) += yyvsp[-1].i; ; break;} -case 215: -#line 1324 "Gmsh.y" +case 216: +#line 1326 "Gmsh.y" { TheSymbol.Name = yyvsp[-5].c ; if(!(pSymbol = (Symbol*)Tree_PQuery(Symbol_T, &TheSymbol))) @@ -5730,8 +5771,8 @@ case 215: } ; break;} -case 216: -#line 1339 "Gmsh.y" +case 217: +#line 1341 "Gmsh.y" { if(!(pStrCat = Get_StringOptionCategory(yyvsp[-5].c))) yymsg(GERROR, "Unknown string option class '%s'", yyvsp[-5].c); @@ -5743,8 +5784,8 @@ case 216: } ; break;} -case 217: -#line 1351 "Gmsh.y" +case 218: +#line 1353 "Gmsh.y" { if(!(pStrCat = Get_StringOptionCategory(yyvsp[-8].c))) yymsg(GERROR, "Unknown string option class '%s'", yyvsp[-8].c); @@ -5756,8 +5797,8 @@ case 217: } ; break;} -case 218: -#line 1365 "Gmsh.y" +case 219: +#line 1367 "Gmsh.y" { if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-5].c))) yymsg(GERROR, "Unknown numeric option class '%s'", yyvsp[-5].c); @@ -5780,8 +5821,8 @@ case 218: } ; break;} -case 219: -#line 1388 "Gmsh.y" +case 220: +#line 1390 "Gmsh.y" { if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-8].c))) yymsg(GERROR, "Unknown numeric option class '%s'", yyvsp[-8].c); @@ -5805,8 +5846,8 @@ case 219: } ; break;} -case 220: -#line 1412 "Gmsh.y" +case 221: +#line 1414 "Gmsh.y" { if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-4].c))) yymsg(GERROR, "Unknown numeric option class '%s'", yyvsp[-4].c); @@ -5818,8 +5859,8 @@ case 220: } ; break;} -case 221: -#line 1424 "Gmsh.y" +case 222: +#line 1426 "Gmsh.y" { if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-7].c))) yymsg(GERROR, "Unknown numeric option class '%s'", yyvsp[-7].c); @@ -5831,8 +5872,8 @@ case 221: } ; break;} -case 222: -#line 1438 "Gmsh.y" +case 223: +#line 1440 "Gmsh.y" { if(!(pColCat = Get_ColorOptionCategory(yyvsp[-7].c))) yymsg(GERROR, "Unknown color option class '%s'", yyvsp[-7].c); @@ -5844,8 +5885,8 @@ case 222: } ; break;} -case 223: -#line 1450 "Gmsh.y" +case 224: +#line 1452 "Gmsh.y" { if(!(pColCat = Get_ColorOptionCategory(yyvsp[-10].c))) yymsg(GERROR, "Unknown color option class '%s'", yyvsp[-10].c); @@ -5857,8 +5898,8 @@ case 223: } ; break;} -case 224: -#line 1464 "Gmsh.y" +case 225: +#line 1466 "Gmsh.y" { GmshColorTable *ct = Get_ColorTable(0); if(!ct) @@ -5878,8 +5919,8 @@ case 224: List_Delete(yyvsp[-1].l); ; break;} -case 225: -#line 1484 "Gmsh.y" +case 226: +#line 1486 "Gmsh.y" { GmshColorTable *ct = Get_ColorTable((int)yyvsp[-6].d); if(!ct) @@ -5899,8 +5940,8 @@ case 225: List_Delete(yyvsp[-1].l); ; break;} -case 226: -#line 1506 "Gmsh.y" +case 227: +#line 1508 "Gmsh.y" { try { GMSH_PluginManager::instance()->setPluginOption(yyvsp[-6].c, yyvsp[-3].c, yyvsp[-1].d); @@ -5910,8 +5951,8 @@ case 226: } ; break;} -case 227: -#line 1516 "Gmsh.y" +case 228: +#line 1518 "Gmsh.y" { try { GMSH_PluginManager::instance()->setPluginOption(yyvsp[-6].c, yyvsp[-3].c, yyvsp[-1].c); @@ -5921,24 +5962,24 @@ case 227: } ; break;} -case 228: -#line 1534 "Gmsh.y" +case 229: +#line 1536 "Gmsh.y" { Cdbpts101((int)yyvsp[-4].d, yyvsp[-1].v[0], yyvsp[-1].v[1], yyvsp[-1].v[2], yyvsp[-1].v[3], yyvsp[-1].v[4]); yyval.s.Type = MSH_POINT; yyval.s.Num = (int)yyvsp[-4].d; ; break;} -case 229: -#line 1541 "Gmsh.y" +case 230: +#line 1543 "Gmsh.y" { Cdbz101((int)yyvsp[-4].d, MSH_PHYSICAL_POINT, 0, 0, 0, 0, 0, NULL, yyvsp[-1].l, NULL); yyval.s.Type = MSH_PHYSICAL_POINT; yyval.s.Num = (int)yyvsp[-4].d; ; break;} -case 230: -#line 1547 "Gmsh.y" +case 231: +#line 1549 "Gmsh.y" { Vertex *v; Attractor *a; @@ -5958,8 +5999,8 @@ case 230: } ; break;} -case 231: -#line 1566 "Gmsh.y" +case 232: +#line 1568 "Gmsh.y" { for(i = 0; i < List_Nbr(yyvsp[-3].l); i++){ List_Read(yyvsp[-3].l, i, &d); @@ -5971,24 +6012,24 @@ case 231: } ; break;} -case 232: -#line 1580 "Gmsh.y" +case 233: +#line 1582 "Gmsh.y" { Cdbseg101((int)yyvsp[-4].d, MSH_SEGM_LINE, 1, yyvsp[-1].l, NULL, -1, -1, 0., 1., NULL, NULL, NULL); yyval.s.Type = MSH_SEGM_LINE; yyval.s.Num = (int)yyvsp[-4].d; ; break;} -case 233: -#line 1586 "Gmsh.y" +case 234: +#line 1588 "Gmsh.y" { Cdbseg101((int)yyvsp[-4].d, MSH_SEGM_SPLN, 3, yyvsp[-1].l, NULL, -1, -1, 0., 1., NULL, NULL, NULL); yyval.s.Type = MSH_SEGM_SPLN; yyval.s.Num = (int)yyvsp[-4].d; ; break;} -case 234: -#line 1592 "Gmsh.y" +case 235: +#line 1594 "Gmsh.y" { Curve *c; Attractor *a; @@ -6008,24 +6049,24 @@ case 234: } ; break;} -case 235: -#line 1611 "Gmsh.y" +case 236: +#line 1613 "Gmsh.y" { Cdbseg101((int)yyvsp[-4].d, MSH_SEGM_CIRC, 2, yyvsp[-1].l, NULL, -1, -1, 0., 1., NULL, NULL, NULL); yyval.s.Type = MSH_SEGM_CIRC ; yyval.s.Num = (int)yyvsp[-4].d; ; break;} -case 236: -#line 1617 "Gmsh.y" +case 237: +#line 1619 "Gmsh.y" { Cdbseg101((int)yyvsp[-4].d, MSH_SEGM_ELLI, 2, yyvsp[-1].l, NULL, -1, -1, 0., 1., NULL, NULL, NULL); yyval.s.Type = MSH_SEGM_ELLI ; yyval.s.Num = (int)yyvsp[-4].d; ; break;} -case 237: -#line 1623 "Gmsh.y" +case 238: +#line 1625 "Gmsh.y" { List_T *temp; int i, j; @@ -6042,32 +6083,32 @@ case 237: yyval.s.Num = (int)yyvsp[-6].d; ; break;} -case 238: -#line 1640 "Gmsh.y" +case 239: +#line 1642 "Gmsh.y" { Cdbseg101((int)yyvsp[-14].d, MSH_SEGM_PARAMETRIC, 2, NULL, NULL, -1, -1, yyvsp[-10].d, yyvsp[-8].d, yyvsp[-6].c, yyvsp[-4].c, yyvsp[-2].c); yyval.s.Type = MSH_SEGM_PARAMETRIC ; yyval.s.Num = (int)yyvsp[-14].d; ; break;} -case 239: -#line 1646 "Gmsh.y" +case 240: +#line 1648 "Gmsh.y" { Cdbz101((int)yyvsp[-4].d, MSH_PHYSICAL_LINE, 0, 0, 0, 0, 0, NULL, yyvsp[-1].l, NULL); yyval.s.Type = MSH_PHYSICAL_LINE; yyval.s.Num = (int)yyvsp[-4].d; ; break;} -case 240: -#line 1652 "Gmsh.y" +case 241: +#line 1654 "Gmsh.y" { yyval.s.Type = MSH_SEGM_LOOP; Cdbz101((int)yyvsp[-4].d, yyval.s.Type, 0, 0, 0, 0, 0, NULL, yyvsp[-1].l, NULL); yyval.s.Num = (int)yyvsp[-4].d; ; break;} -case 241: -#line 1658 "Gmsh.y" +case 242: +#line 1660 "Gmsh.y" { if(List_Nbr(yyvsp[-1].l) > 3){ Cdbseg101((int)yyvsp[-4].d, MSH_SEGM_BSPLN, 2, yyvsp[-1].l, NULL, -1, -1, 0., 1., NULL, NULL, NULL); @@ -6079,8 +6120,8 @@ case 241: List_Nbr(yyvsp[-1].l)); ; break;} -case 242: -#line 1669 "Gmsh.y" +case 243: +#line 1671 "Gmsh.y" { if(List_Nbr(yyvsp[-1].l) > 3){ Cdbseg101((int)yyvsp[-4].d, MSH_SEGM_BEZIER, 2, yyvsp[-1].l, NULL, -1, -1, 0., 1., NULL, NULL, NULL); @@ -6092,8 +6133,8 @@ case 242: List_Nbr(yyvsp[-1].l)); ; break;} -case 243: -#line 1680 "Gmsh.y" +case 244: +#line 1682 "Gmsh.y" { List_T *Temp; int i; @@ -6116,16 +6157,16 @@ case 243: } ; break;} -case 244: -#line 1705 "Gmsh.y" +case 245: +#line 1707 "Gmsh.y" { Cdbz101((int)yyvsp[-4].d, MSH_SURF_PLAN, 0, 0, 0, 0, 0, NULL, yyvsp[-1].l, NULL); yyval.s.Type = MSH_SURF_PLAN; yyval.s.Num = (int)yyvsp[-4].d; ; break;} -case 245: -#line 1711 "Gmsh.y" +case 246: +#line 1713 "Gmsh.y" { Surface *s,*support; support = FindSurface((int)yyvsp[-4].d, THEM); @@ -6145,8 +6186,8 @@ case 245: } ; break;} -case 246: -#line 1730 "Gmsh.y" +case 247: +#line 1732 "Gmsh.y" { List_Read(yyvsp[-1].l, 0, &d); i = (int)d; @@ -6168,121 +6209,121 @@ case 246: } ; break;} -case 247: -#line 1752 "Gmsh.y" +case 248: +#line 1754 "Gmsh.y" { AddTriangulationToSurface ((int) yyvsp[-10].d, (int) yyvsp[-6].d, (int) yyvsp[-4].d, yyvsp[-2].l, yyvsp[-1].l); yyval.s.Num = (int)yyvsp[-10].d; ; break;} -case 248: -#line 1760 "Gmsh.y" +case 249: +#line 1762 "Gmsh.y" { CreateNurbsSurface ((int) yyvsp[-16].d , (int)yyvsp[-4].d , (int)yyvsp[-2].d , yyvsp[-13].l, yyvsp[-10].l, yyvsp[-8].l); yyval.s.Type = MSH_SURF_NURBS; yyval.s.Num = (int)yyvsp[-16].d; ; break;} -case 249: -#line 1768 "Gmsh.y" +case 250: +#line 1770 "Gmsh.y" { CreateNurbsSurfaceSupport ((int)yyvsp[-16].d, (int) yyvsp[-4].d , (int) yyvsp[-2].d , yyvsp[-13].l, yyvsp[-10].l, yyvsp[-8].l); ; break;} -case 250: -#line 1772 "Gmsh.y" +case 251: +#line 1774 "Gmsh.y" { Cdbz101((int)yyvsp[-4].d, MSH_PHYSICAL_SURFACE, 0, 0, 0, 0, 0, NULL, yyvsp[-1].l, NULL); yyval.s.Type = MSH_PHYSICAL_SURFACE; yyval.s.Num = (int)yyvsp[-4].d; ; break;} -case 251: -#line 1778 "Gmsh.y" +case 252: +#line 1780 "Gmsh.y" { Cdbz101((int)yyvsp[-4].d, MSH_SURF_LOOP, 0, 0, 0, 0, 0, NULL, yyvsp[-1].l, NULL); yyval.s.Type = MSH_SURF_LOOP; yyval.s.Num = (int)yyvsp[-4].d; ; break;} -case 252: -#line 1787 "Gmsh.y" +case 253: +#line 1789 "Gmsh.y" { Cdbz101((int)yyvsp[-4].d, MSH_VOLUME, 0, 0, 0, 0, 0, NULL, yyvsp[-1].l, NULL); yyval.s.Type = MSH_VOLUME; yyval.s.Num = (int)yyvsp[-4].d; ; break;} -case 253: -#line 1793 "Gmsh.y" +case 254: +#line 1795 "Gmsh.y" { Cdbz101((int)yyvsp[-4].d, MSH_VOLUME, 0, 0, 0, 0, 0, NULL, yyvsp[-1].l, NULL); yyval.s.Type = MSH_VOLUME; yyval.s.Num = (int)yyvsp[-4].d; ; break;} -case 254: -#line 1799 "Gmsh.y" +case 255: +#line 1801 "Gmsh.y" { Cdbz101((int)yyvsp[-4].d, MSH_PHYSICAL_VOLUME, 0, 0, 0, 0, 0, NULL, yyvsp[-1].l, NULL); yyval.s.Type = MSH_PHYSICAL_VOLUME; yyval.s.Num = (int)yyvsp[-4].d; ; break;} -case 255: -#line 1810 "Gmsh.y" +case 256: +#line 1812 "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 256: -#line 1815 "Gmsh.y" +case 257: +#line 1817 "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 257: -#line 1820 "Gmsh.y" +case 258: +#line 1822 "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 258: -#line 1825 "Gmsh.y" +case 259: +#line 1827 "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 259: -#line 1832 "Gmsh.y" -{ yyval.l = yyvsp[0].l; ; - break;} case 260: -#line 1833 "Gmsh.y" +#line 1834 "Gmsh.y" { yyval.l = yyvsp[0].l; ; break;} case 261: -#line 1834 "Gmsh.y" +#line 1835 "Gmsh.y" { yyval.l = yyvsp[0].l; ; break;} case 262: -#line 1839 "Gmsh.y" +#line 1836 "Gmsh.y" +{ yyval.l = yyvsp[0].l; ; + break;} +case 263: +#line 1841 "Gmsh.y" { yyval.l = List_Create(3, 3, sizeof(Shape)); ; break;} -case 263: -#line 1843 "Gmsh.y" +case 264: +#line 1845 "Gmsh.y" { List_Add(yyval.l, &yyvsp[0].s); ; break;} -case 264: -#line 1847 "Gmsh.y" +case 265: +#line 1849 "Gmsh.y" { for(i = 0; i < List_Nbr(yyvsp[-2].l); i++){ List_Read(yyvsp[-2].l, i, &d); @@ -6297,8 +6338,8 @@ case 264: } ; break;} -case 265: -#line 1861 "Gmsh.y" +case 266: +#line 1863 "Gmsh.y" { for(i = 0; i < List_Nbr(yyvsp[-2].l); i++){ List_Read(yyvsp[-2].l, i, &d); @@ -6313,8 +6354,8 @@ case 265: } ; break;} -case 266: -#line 1875 "Gmsh.y" +case 267: +#line 1877 "Gmsh.y" { for(i = 0; i < List_Nbr(yyvsp[-2].l); i++){ List_Read(yyvsp[-2].l, i, &d); @@ -6329,8 +6370,24 @@ case 266: } ; break;} -case 267: -#line 1894 "Gmsh.y" +case 268: +#line 1891 "Gmsh.y" +{ + for(i = 0; i < List_Nbr(yyvsp[-2].l); i++){ + List_Read(yyvsp[-2].l, i, &d); + TheShape.Num = (int)d; + Volume *v = FindVolume(TheShape.Num, THEM); + if(!v) + yymsg(WARNING, "Unknown Volume %d", TheShape.Num); + else{ + TheShape.Type = v->Typ; + List_Add(yyval.l, &TheShape); + } + } + ; + break;} +case 269: +#line 1910 "Gmsh.y" { yyval.l = List_Create(3, 3, sizeof(Shape)); for(i = 0; i < List_Nbr(yyvsp[-1].l); i++){ @@ -6341,15 +6398,15 @@ case 267: } ; break;} -case 268: -#line 1904 "Gmsh.y" +case 270: +#line 1920 "Gmsh.y" { if(!strcmp(yyvsp[-4].c, "View")) DuplicateView((int)yyvsp[-2].d, 0); yyval.l = NULL; ; break;} -case 269: -#line 1915 "Gmsh.y" +case 271: +#line 1931 "Gmsh.y" { for(i = 0; i < List_Nbr(yyvsp[-1].l); i++){ List_Read (yyvsp[-1].l, i, &TheShape); @@ -6357,20 +6414,20 @@ case 269: } ; break;} -case 270: -#line 1922 "Gmsh.y" +case 272: +#line 1938 "Gmsh.y" { if(!strcmp(yyvsp[-4].c, "View")) RemoveViewByIndex((int)yyvsp[-2].d); ; break;} -case 271: -#line 1926 "Gmsh.y" +case 273: +#line 1942 "Gmsh.y" { Init_Mesh(THEM, 1); ; break;} -case 272: -#line 1935 "Gmsh.y" +case 274: +#line 1951 "Gmsh.y" { for(i = 0; i < List_Nbr(yyvsp[-1].l); i++){ List_Read (yyvsp[-1].l, i, &TheShape); @@ -6378,8 +6435,44 @@ case 272: } ; break;} -case 273: -#line 1947 "Gmsh.y" +case 275: +#line 1963 "Gmsh.y" +{ + int m = (CTX.visibility_mode == 2) ? VIS_MESH : + ((CTX.visibility_mode == 1) ? VIS_GEOM : VIS_GEOM|VIS_MESH); + for(i = 2; i < 6; i++) + SetVisibilityByNumber(yyvsp[-1].c, i, m); + ; + break;} +case 276: +#line 1970 "Gmsh.y" +{ + for(i = 2; i < 6; i++) + SetVisibilityByNumber(yyvsp[-1].c, i, 0); + ; + break;} +case 277: +#line 1975 "Gmsh.y" +{ + int m = (CTX.visibility_mode == 2) ? VIS_MESH : + ((CTX.visibility_mode == 1) ? VIS_GEOM : VIS_GEOM|VIS_MESH); + for(i = 0; i < List_Nbr(yyvsp[-1].l); i++){ + List_Read (yyvsp[-1].l, i, &TheShape); + VisibilityShape(TheShape.Type, TheShape.Num, m); + } + ; + break;} +case 278: +#line 1984 "Gmsh.y" +{ + for(i = 0; i < List_Nbr(yyvsp[-1].l); i++){ + List_Read (yyvsp[-1].l, i, &TheShape); + VisibilityShape(TheShape.Type, TheShape.Num, 0); + } + ; + break;} +case 279: +#line 1996 "Gmsh.y" { if(!strcmp(yyvsp[-2].c, "Include")){ FixRelativePath(yyvsp[-1].c, tmpstring); @@ -6419,8 +6512,8 @@ case 273: } ; break;} -case 274: -#line 1986 "Gmsh.y" +case 280: +#line 2035 "Gmsh.y" { if(!strcmp(yyvsp[-6].c, "Save") && !strcmp(yyvsp[-5].c, "View")){ Post_View *v = (Post_View *)List_Pointer_Test(CTX.post.list, (int)yyvsp[-3].d); @@ -6434,8 +6527,8 @@ case 274: } ; break;} -case 275: -#line 1999 "Gmsh.y" +case 281: +#line 2048 "Gmsh.y" { if(!strcmp(yyvsp[-2].c, "Sleep")){ long sleep_time = GetTime(); @@ -6453,8 +6546,8 @@ case 275: } ; break;} -case 276: -#line 2016 "Gmsh.y" +case 282: +#line 2065 "Gmsh.y" { try { GMSH_PluginManager::instance()->action(yyvsp[-4].c, yyvsp[-1].c, 0); @@ -6464,8 +6557,8 @@ case 276: } ; break;} -case 277: -#line 2025 "Gmsh.y" +case 283: +#line 2074 "Gmsh.y" { if(!strcmp(yyvsp[-1].c, "Views")) CombineViews(1); @@ -6473,14 +6566,14 @@ case 277: yymsg(GERROR, "Unknown Combine command"); ; break;} -case 278: -#line 2032 "Gmsh.y" +case 284: +#line 2081 "Gmsh.y" { exit(0); ; break;} -case 279: -#line 2036 "Gmsh.y" +case 285: +#line 2085 "Gmsh.y" { #if defined(HAVE_FLTK) if(!CTX.batch){ // we're in interactive mode @@ -6497,8 +6590,8 @@ case 279: #endif ; break;} -case 280: -#line 2058 "Gmsh.y" +case 286: +#line 2107 "Gmsh.y" { LoopControlVariablesTab[ImbricatedLoop][0] = yyvsp[-3].d ; LoopControlVariablesTab[ImbricatedLoop][1] = yyvsp[-1].d ; @@ -6509,8 +6602,8 @@ case 280: ImbricatedLoop++; ; break;} -case 281: -#line 2068 "Gmsh.y" +case 287: +#line 2117 "Gmsh.y" { LoopControlVariablesTab[ImbricatedLoop][0] = yyvsp[-5].d ; LoopControlVariablesTab[ImbricatedLoop][1] = yyvsp[-3].d ; @@ -6521,8 +6614,8 @@ case 281: ImbricatedLoop++; ; break;} -case 282: -#line 2078 "Gmsh.y" +case 288: +#line 2127 "Gmsh.y" { LoopControlVariablesTab[ImbricatedLoop][0] = yyvsp[-3].d ; LoopControlVariablesTab[ImbricatedLoop][1] = yyvsp[-1].d ; @@ -6544,8 +6637,8 @@ case 282: ImbricatedLoop++; ; break;} -case 283: -#line 2099 "Gmsh.y" +case 289: +#line 2148 "Gmsh.y" { LoopControlVariablesTab[ImbricatedLoop][0] = yyvsp[-5].d ; LoopControlVariablesTab[ImbricatedLoop][1] = yyvsp[-3].d ; @@ -6567,8 +6660,8 @@ case 283: ImbricatedLoop++; ; break;} -case 284: -#line 2120 "Gmsh.y" +case 290: +#line 2169 "Gmsh.y" { if(LoopControlVariablesTab[ImbricatedLoop-1][1] > LoopControlVariablesTab[ImbricatedLoop-1][0]){ @@ -6590,41 +6683,41 @@ case 284: } ; break;} -case 285: -#line 2141 "Gmsh.y" +case 291: +#line 2190 "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"); ; break;} -case 286: -#line 2147 "Gmsh.y" +case 292: +#line 2196 "Gmsh.y" { if(!FunctionManager::Instance()->leaveFunction(&yyin, yyname, yylineno)) yymsg(GERROR, "Error while exiting function"); ; break;} -case 287: -#line 2152 "Gmsh.y" +case 293: +#line 2201 "Gmsh.y" { if(!FunctionManager::Instance()->enterFunction(yyvsp[-1].c, &yyin, yyname, yylineno)) yymsg(GERROR, "Unknown function %s", yyvsp[-1].c); ; break;} -case 288: -#line 2157 "Gmsh.y" +case 294: +#line 2206 "Gmsh.y" { if(!yyvsp[-1].d) skip_until("If", "EndIf"); ; break;} -case 289: -#line 2161 "Gmsh.y" +case 295: +#line 2210 "Gmsh.y" { ; break;} -case 290: -#line 2172 "Gmsh.y" +case 296: +#line 2221 "Gmsh.y" { Curve *pc, *prc; TheShape.Num = Extrude_ProtudePoint(TRANSLATE, (int)yyvsp[-4].d, yyvsp[-2].v[0], yyvsp[-2].v[1], yyvsp[-2].v[2], @@ -6635,8 +6728,8 @@ case 290: List_Add(yyval.l, &TheShape); ; break;} -case 291: -#line 2182 "Gmsh.y" +case 297: +#line 2231 "Gmsh.y" { Curve *pc, *prc; TheShape.Num = Extrude_ProtudePoint(ROTATE, (int)yyvsp[-8].d, 0., 0., 0., @@ -6647,8 +6740,8 @@ case 291: List_Add(yyval.l, &TheShape); ; break;} -case 292: -#line 2192 "Gmsh.y" +case 298: +#line 2241 "Gmsh.y" { Curve *pc, *prc; TheShape.Num = Extrude_ProtudePoint(TRANSLATE_ROTATE, (int)yyvsp[-10].d, yyvsp[-8].v[0], yyvsp[-8].v[1], yyvsp[-8].v[2], @@ -6659,15 +6752,15 @@ case 292: List_Add(yyval.l, &TheShape); ; break;} -case 293: -#line 2202 "Gmsh.y" +case 299: +#line 2251 "Gmsh.y" { extr.mesh.ExtrudeMesh = false; extr.mesh.Recombine = false; ; break;} -case 294: -#line 2207 "Gmsh.y" +case 300: +#line 2256 "Gmsh.y" { Curve *pc, *prc; TheShape.Num = Extrude_ProtudePoint(TRANSLATE, (int)yyvsp[-8].d, yyvsp[-6].v[0], yyvsp[-6].v[1], yyvsp[-6].v[2], @@ -6678,15 +6771,15 @@ case 294: List_Add(yyval.l, &TheShape); ; break;} -case 295: -#line 2217 "Gmsh.y" -{ +case 301: +#line 2266 "Gmsh.y" +{ extr.mesh.ExtrudeMesh = false; extr.mesh.Recombine = false; ; break;} -case 296: -#line 2222 "Gmsh.y" +case 302: +#line 2271 "Gmsh.y" { Curve *pc, *prc; TheShape.Num = Extrude_ProtudePoint(ROTATE, (int)yyvsp[-12].d, 0., 0., 0., @@ -6697,15 +6790,15 @@ case 296: List_Add(yyval.l, &TheShape); ; break;} -case 297: -#line 2232 "Gmsh.y" +case 303: +#line 2281 "Gmsh.y" { extr.mesh.ExtrudeMesh = false; extr.mesh.Recombine = false; ; break;} -case 298: -#line 2237 "Gmsh.y" +case 304: +#line 2286 "Gmsh.y" { Curve *pc, *prc; TheShape.Num = Extrude_ProtudePoint(TRANSLATE_ROTATE, (int)yyvsp[-14].d, yyvsp[-12].v[0], yyvsp[-12].v[1], yyvsp[-12].v[2], @@ -6716,8 +6809,8 @@ case 298: List_Add(yyval.l, &TheShape); ; break;} -case 299: -#line 2249 "Gmsh.y" +case 305: +#line 2298 "Gmsh.y" { Surface *ps; TheShape.Num = Extrude_ProtudeCurve(TRANSLATE, (int)yyvsp[-4].d, yyvsp[-2].v[0], yyvsp[-2].v[1], yyvsp[-2].v[2], @@ -6735,8 +6828,8 @@ case 299: List_Add(yyval.l, &TheShape); ; break;} -case 300: -#line 2266 "Gmsh.y" +case 306: +#line 2315 "Gmsh.y" { Surface *ps; TheShape.Num = Extrude_ProtudeCurve(ROTATE, (int)yyvsp[-8].d, 0., 0., 0., @@ -6754,8 +6847,8 @@ case 300: List_Add(yyval.l, &TheShape); ; break;} -case 301: -#line 2283 "Gmsh.y" +case 307: +#line 2332 "Gmsh.y" { Surface *ps; TheShape.Num = Extrude_ProtudeCurve(TRANSLATE_ROTATE, (int)yyvsp[-10].d, yyvsp[-8].v[0], yyvsp[-8].v[1], yyvsp[-8].v[2], @@ -6773,15 +6866,15 @@ case 301: List_Add(yyval.l, &TheShape); ; break;} -case 302: -#line 2300 "Gmsh.y" +case 308: +#line 2349 "Gmsh.y" { extr.mesh.ExtrudeMesh = false; extr.mesh.Recombine = false; ; break;} -case 303: -#line 2305 "Gmsh.y" +case 309: +#line 2354 "Gmsh.y" { Surface *ps; TheShape.Num = Extrude_ProtudeCurve(TRANSLATE, (int)yyvsp[-8].d, yyvsp[-6].v[0], yyvsp[-6].v[1], yyvsp[-6].v[2], @@ -6799,15 +6892,15 @@ case 303: List_Add(yyval.l, &TheShape); ; break;} -case 304: -#line 2322 "Gmsh.y" +case 310: +#line 2371 "Gmsh.y" { extr.mesh.ExtrudeMesh = false; extr.mesh.Recombine = false; ; break;} -case 305: -#line 2327 "Gmsh.y" +case 311: +#line 2376 "Gmsh.y" { Surface *ps; TheShape.Num = Extrude_ProtudeCurve(ROTATE, (int)yyvsp[-12].d, 0., 0., 0., @@ -6825,15 +6918,15 @@ case 305: List_Add(yyval.l, &TheShape); ; break;} -case 306: -#line 2344 "Gmsh.y" +case 312: +#line 2393 "Gmsh.y" { extr.mesh.ExtrudeMesh = false; extr.mesh.Recombine = false; ; break;} -case 307: -#line 2349 "Gmsh.y" +case 313: +#line 2398 "Gmsh.y" { Surface *ps; TheShape.Num = Extrude_ProtudeCurve(TRANSLATE_ROTATE, (int)yyvsp[-14].d, yyvsp[-12].v[0], yyvsp[-12].v[1], yyvsp[-12].v[2], @@ -6851,8 +6944,8 @@ case 307: List_Add(yyval.l, &TheShape); ; break;} -case 308: -#line 2369 "Gmsh.y" +case 314: +#line 2418 "Gmsh.y" { TheShape.Num = Extrude_ProtudeSurface(TRANSLATE, (int)yyvsp[-4].d, yyvsp[-2].v[0], yyvsp[-2].v[1], yyvsp[-2].v[2], 0., 0., 0., 0., 0., 0., 0., @@ -6869,8 +6962,8 @@ case 308: List_Add(yyval.l, &TheShape); ; break;} -case 309: -#line 2385 "Gmsh.y" +case 315: +#line 2434 "Gmsh.y" { TheShape.Num = Extrude_ProtudeSurface(ROTATE, (int)yyvsp[-8].d, 0., 0., 0., yyvsp[-6].v[0], yyvsp[-6].v[1], yyvsp[-6].v[2], yyvsp[-4].v[0], yyvsp[-4].v[1], yyvsp[-4].v[2], yyvsp[-2].d, @@ -6887,8 +6980,8 @@ case 309: List_Add(yyval.l, &TheShape); ; break;} -case 310: -#line 2401 "Gmsh.y" +case 316: +#line 2450 "Gmsh.y" { TheShape.Num = Extrude_ProtudeSurface(TRANSLATE_ROTATE, (int)yyvsp[-10].d, 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].v[0], yyvsp[-4].v[1], yyvsp[-4].v[2], yyvsp[-2].d, @@ -6905,15 +6998,15 @@ case 310: List_Add(yyval.l, &TheShape); ; break;} -case 311: -#line 2417 "Gmsh.y" +case 317: +#line 2466 "Gmsh.y" { extr.mesh.ExtrudeMesh = false; extr.mesh.Recombine = false; ; break;} -case 312: -#line 2422 "Gmsh.y" +case 318: +#line 2471 "Gmsh.y" { int vol = NEWREG(); TheShape.Num = Extrude_ProtudeSurface(TRANSLATE, (int)yyvsp[-8].d, yyvsp[-6].v[0], yyvsp[-6].v[1], yyvsp[-6].v[2], @@ -6931,15 +7024,15 @@ case 312: List_Add(yyval.l, &TheShape); ; break;} -case 313: -#line 2439 "Gmsh.y" +case 319: +#line 2488 "Gmsh.y" { extr.mesh.ExtrudeMesh = false; extr.mesh.Recombine = false; ; break;} -case 314: -#line 2445 "Gmsh.y" +case 320: +#line 2494 "Gmsh.y" { int vol = NEWREG(); TheShape.Num = Extrude_ProtudeSurface(ROTATE, (int)yyvsp[-12].d, 0., 0., 0., @@ -6957,15 +7050,15 @@ case 314: List_Add(yyval.l, &TheShape); ; break;} -case 315: -#line 2462 "Gmsh.y" +case 321: +#line 2511 "Gmsh.y" { extr.mesh.ExtrudeMesh = false; extr.mesh.Recombine = false; ; break;} -case 316: -#line 2468 "Gmsh.y" +case 322: +#line 2517 "Gmsh.y" { int vol = NEWREG(); TheShape.Num = Extrude_ProtudeSurface(TRANSLATE_ROTATE, (int)yyvsp[-14].d, yyvsp[-12].v[0], yyvsp[-12].v[1], yyvsp[-12].v[2], @@ -6983,18 +7076,18 @@ case 316: List_Add(yyval.l, &TheShape); ; break;} -case 317: -#line 2488 "Gmsh.y" +case 323: +#line 2537 "Gmsh.y" { ; break;} -case 318: -#line 2491 "Gmsh.y" +case 324: +#line 2540 "Gmsh.y" { ; break;} -case 319: -#line 2497 "Gmsh.y" +case 325: +#line 2546 "Gmsh.y" { double d; extr.mesh.ExtrudeMesh = true; @@ -7021,8 +7114,8 @@ case 319: List_Delete(yyvsp[-2].l); ; break;} -case 320: -#line 2523 "Gmsh.y" +case 326: +#line 2572 "Gmsh.y" { double d; extr.mesh.ExtrudeMesh = true; @@ -7047,14 +7140,14 @@ case 320: List_Delete(yyvsp[-2].l); ; break;} -case 321: -#line 2547 "Gmsh.y" +case 327: +#line 2596 "Gmsh.y" { extr.mesh.Recombine = true; ; break;} -case 322: -#line 2556 "Gmsh.y" +case 328: +#line 2605 "Gmsh.y" { Curve *c; for(i = 0; i < List_Nbr(yyvsp[-3].l); i++){ @@ -7073,8 +7166,8 @@ case 322: List_Delete(yyvsp[-3].l); ; break;} -case 323: -#line 2574 "Gmsh.y" +case 329: +#line 2623 "Gmsh.y" { Curve *c; for(i = 0; i < List_Nbr(yyvsp[-6].l); i++){ @@ -7093,8 +7186,8 @@ case 323: List_Delete(yyvsp[-6].l); ; break;} -case 324: -#line 2592 "Gmsh.y" +case 330: +#line 2641 "Gmsh.y" { Curve *c; for(i = 0; i < List_Nbr(yyvsp[-6].l); i++){ @@ -7113,8 +7206,8 @@ case 324: List_Delete(yyvsp[-6].l); ; break;} -case 325: -#line 2610 "Gmsh.y" +case 331: +#line 2659 "Gmsh.y" { Surface *s = FindSurface((int)yyvsp[-4].d, THEM); if(!s) @@ -7137,8 +7230,8 @@ case 325: List_Delete(yyvsp[-1].l); ; break;} -case 326: -#line 2632 "Gmsh.y" +case 332: +#line 2681 "Gmsh.y" { Surface *s = FindSurface((int)yyvsp[-4].d, THEM); if(!s) @@ -7160,8 +7253,8 @@ case 326: List_Delete(yyvsp[-1].l); ; break;} -case 327: -#line 2653 "Gmsh.y" +case 333: +#line 2702 "Gmsh.y" { Volume *v = FindVolume((int)yyvsp[-4].d, THEM); if(!v) @@ -7183,8 +7276,8 @@ case 327: List_Delete(yyvsp[-1].l); ; break;} -case 328: -#line 2674 "Gmsh.y" +case 334: +#line 2723 "Gmsh.y" { Surface *s; for(i = 0; i < List_Nbr(yyvsp[-3].l); i++){ @@ -7199,8 +7292,8 @@ case 328: List_Delete(yyvsp[-3].l); ; break;} -case 329: -#line 2688 "Gmsh.y" +case 335: +#line 2737 "Gmsh.y" { Surface *s; for(i = 0; i < List_Nbr(yyvsp[-1].l); i++){ @@ -7215,72 +7308,72 @@ case 329: List_Delete(yyvsp[-1].l); ; break;} -case 330: -#line 2708 "Gmsh.y" +case 336: +#line 2757 "Gmsh.y" { ReplaceAllDuplicates(THEM); ; break;} -case 331: -#line 2712 "Gmsh.y" +case 337: +#line 2761 "Gmsh.y" { IntersectAllSegmentsTogether(); ; break;} -case 332: -#line 2721 "Gmsh.y" +case 338: +#line 2770 "Gmsh.y" {yyval.i = 1;; break;} -case 333: -#line 2722 "Gmsh.y" +case 339: +#line 2771 "Gmsh.y" {yyval.i = 0;; break;} -case 334: -#line 2723 "Gmsh.y" +case 340: +#line 2772 "Gmsh.y" {yyval.i = -1;; break;} -case 335: -#line 2724 "Gmsh.y" +case 341: +#line 2773 "Gmsh.y" {yyval.i = -1;; break;} -case 336: -#line 2725 "Gmsh.y" +case 342: +#line 2774 "Gmsh.y" {yyval.i = -1;; break;} -case 337: -#line 2729 "Gmsh.y" +case 343: +#line 2778 "Gmsh.y" { yyval.d = yyvsp[0].d; ; break;} -case 338: -#line 2730 "Gmsh.y" +case 344: +#line 2779 "Gmsh.y" { yyval.d = yyvsp[-1].d ; ; break;} -case 339: -#line 2731 "Gmsh.y" +case 345: +#line 2780 "Gmsh.y" { yyval.d = -yyvsp[0].d ; ; break;} -case 340: -#line 2732 "Gmsh.y" +case 346: +#line 2781 "Gmsh.y" { yyval.d = yyvsp[0].d; ; break;} -case 341: -#line 2733 "Gmsh.y" +case 347: +#line 2782 "Gmsh.y" { yyval.d = !yyvsp[0].d ; ; break;} -case 342: -#line 2734 "Gmsh.y" +case 348: +#line 2783 "Gmsh.y" { yyval.d = yyvsp[-2].d - yyvsp[0].d ; ; break;} -case 343: -#line 2735 "Gmsh.y" +case 349: +#line 2784 "Gmsh.y" { yyval.d = yyvsp[-2].d + yyvsp[0].d ; ; break;} -case 344: -#line 2736 "Gmsh.y" +case 350: +#line 2785 "Gmsh.y" { yyval.d = yyvsp[-2].d * yyvsp[0].d ; ; break;} -case 345: -#line 2738 "Gmsh.y" +case 351: +#line 2787 "Gmsh.y" { if(!yyvsp[0].d) yymsg(GERROR, "Division by zero in '%g / %g'", yyvsp[-2].d, yyvsp[0].d); @@ -7288,236 +7381,236 @@ case 345: yyval.d = yyvsp[-2].d / yyvsp[0].d ; ; break;} -case 346: -#line 2744 "Gmsh.y" +case 352: +#line 2793 "Gmsh.y" { yyval.d = (int)yyvsp[-2].d % (int)yyvsp[0].d ; ; break;} -case 347: -#line 2745 "Gmsh.y" +case 353: +#line 2794 "Gmsh.y" { yyval.d = pow(yyvsp[-2].d, yyvsp[0].d) ; ; break;} -case 348: -#line 2746 "Gmsh.y" +case 354: +#line 2795 "Gmsh.y" { yyval.d = yyvsp[-2].d < yyvsp[0].d ; ; break;} -case 349: -#line 2747 "Gmsh.y" +case 355: +#line 2796 "Gmsh.y" { yyval.d = yyvsp[-2].d > yyvsp[0].d ; ; break;} -case 350: -#line 2748 "Gmsh.y" +case 356: +#line 2797 "Gmsh.y" { yyval.d = yyvsp[-2].d <= yyvsp[0].d ; ; break;} -case 351: -#line 2749 "Gmsh.y" +case 357: +#line 2798 "Gmsh.y" { yyval.d = yyvsp[-2].d >= yyvsp[0].d ; ; break;} -case 352: -#line 2750 "Gmsh.y" +case 358: +#line 2799 "Gmsh.y" { yyval.d = yyvsp[-2].d == yyvsp[0].d ; ; break;} -case 353: -#line 2751 "Gmsh.y" +case 359: +#line 2800 "Gmsh.y" { yyval.d = yyvsp[-2].d != yyvsp[0].d ; ; break;} -case 354: -#line 2752 "Gmsh.y" +case 360: +#line 2801 "Gmsh.y" { yyval.d = yyvsp[-2].d && yyvsp[0].d ; ; break;} -case 355: -#line 2753 "Gmsh.y" +case 361: +#line 2802 "Gmsh.y" { yyval.d = yyvsp[-2].d || yyvsp[0].d ; ; break;} -case 356: -#line 2754 "Gmsh.y" +case 362: +#line 2803 "Gmsh.y" { yyval.d = yyvsp[-4].d? yyvsp[-2].d : yyvsp[0].d ; ; break;} -case 357: -#line 2755 "Gmsh.y" +case 363: +#line 2804 "Gmsh.y" { yyval.d = exp(yyvsp[-1].d); ; break;} -case 358: -#line 2756 "Gmsh.y" +case 364: +#line 2805 "Gmsh.y" { yyval.d = log(yyvsp[-1].d); ; break;} -case 359: -#line 2757 "Gmsh.y" +case 365: +#line 2806 "Gmsh.y" { yyval.d = log10(yyvsp[-1].d); ; break;} -case 360: -#line 2758 "Gmsh.y" +case 366: +#line 2807 "Gmsh.y" { yyval.d = sqrt(yyvsp[-1].d); ; break;} -case 361: -#line 2759 "Gmsh.y" +case 367: +#line 2808 "Gmsh.y" { yyval.d = sin(yyvsp[-1].d); ; break;} -case 362: -#line 2760 "Gmsh.y" +case 368: +#line 2809 "Gmsh.y" { yyval.d = asin(yyvsp[-1].d); ; break;} -case 363: -#line 2761 "Gmsh.y" +case 369: +#line 2810 "Gmsh.y" { yyval.d = cos(yyvsp[-1].d); ; break;} -case 364: -#line 2762 "Gmsh.y" +case 370: +#line 2811 "Gmsh.y" { yyval.d = acos(yyvsp[-1].d); ; break;} -case 365: -#line 2763 "Gmsh.y" +case 371: +#line 2812 "Gmsh.y" { yyval.d = tan(yyvsp[-1].d); ; break;} -case 366: -#line 2764 "Gmsh.y" +case 372: +#line 2813 "Gmsh.y" { yyval.d = atan(yyvsp[-1].d); ; break;} -case 367: -#line 2765 "Gmsh.y" +case 373: +#line 2814 "Gmsh.y" { yyval.d = atan2(yyvsp[-3].d, yyvsp[-1].d); ; break;} -case 368: -#line 2766 "Gmsh.y" +case 374: +#line 2815 "Gmsh.y" { yyval.d = sinh(yyvsp[-1].d); ; break;} -case 369: -#line 2767 "Gmsh.y" +case 375: +#line 2816 "Gmsh.y" { yyval.d = cosh(yyvsp[-1].d); ; break;} -case 370: -#line 2768 "Gmsh.y" +case 376: +#line 2817 "Gmsh.y" { yyval.d = tanh(yyvsp[-1].d); ; break;} -case 371: -#line 2769 "Gmsh.y" +case 377: +#line 2818 "Gmsh.y" { yyval.d = fabs(yyvsp[-1].d); ; break;} -case 372: -#line 2770 "Gmsh.y" +case 378: +#line 2819 "Gmsh.y" { yyval.d = floor(yyvsp[-1].d); ; break;} -case 373: -#line 2771 "Gmsh.y" +case 379: +#line 2820 "Gmsh.y" { yyval.d = ceil(yyvsp[-1].d); ; break;} -case 374: -#line 2772 "Gmsh.y" +case 380: +#line 2821 "Gmsh.y" { yyval.d = fmod(yyvsp[-3].d, yyvsp[-1].d); ; break;} -case 375: -#line 2773 "Gmsh.y" +case 381: +#line 2822 "Gmsh.y" { yyval.d = fmod(yyvsp[-3].d, yyvsp[-1].d); ; break;} -case 376: -#line 2774 "Gmsh.y" +case 382: +#line 2823 "Gmsh.y" { yyval.d = sqrt(yyvsp[-3].d*yyvsp[-3].d+yyvsp[-1].d*yyvsp[-1].d); ; break;} -case 377: -#line 2775 "Gmsh.y" +case 383: +#line 2824 "Gmsh.y" { yyval.d = yyvsp[-1].d*(double)rand()/(double)RAND_MAX; ; break;} -case 378: -#line 2777 "Gmsh.y" +case 384: +#line 2826 "Gmsh.y" { yyval.d = exp(yyvsp[-1].d); ; break;} -case 379: -#line 2778 "Gmsh.y" +case 385: +#line 2827 "Gmsh.y" { yyval.d = log(yyvsp[-1].d); ; break;} -case 380: -#line 2779 "Gmsh.y" +case 386: +#line 2828 "Gmsh.y" { yyval.d = log10(yyvsp[-1].d); ; break;} -case 381: -#line 2780 "Gmsh.y" +case 387: +#line 2829 "Gmsh.y" { yyval.d = sqrt(yyvsp[-1].d); ; break;} -case 382: -#line 2781 "Gmsh.y" +case 388: +#line 2830 "Gmsh.y" { yyval.d = sin(yyvsp[-1].d); ; break;} -case 383: -#line 2782 "Gmsh.y" +case 389: +#line 2831 "Gmsh.y" { yyval.d = asin(yyvsp[-1].d); ; break;} -case 384: -#line 2783 "Gmsh.y" +case 390: +#line 2832 "Gmsh.y" { yyval.d = cos(yyvsp[-1].d); ; break;} -case 385: -#line 2784 "Gmsh.y" +case 391: +#line 2833 "Gmsh.y" { yyval.d = acos(yyvsp[-1].d); ; break;} -case 386: -#line 2785 "Gmsh.y" +case 392: +#line 2834 "Gmsh.y" { yyval.d = tan(yyvsp[-1].d); ; break;} -case 387: -#line 2786 "Gmsh.y" +case 393: +#line 2835 "Gmsh.y" { yyval.d = atan(yyvsp[-1].d); ; break;} -case 388: -#line 2787 "Gmsh.y" +case 394: +#line 2836 "Gmsh.y" { yyval.d = atan2(yyvsp[-3].d, yyvsp[-1].d); ; break;} -case 389: -#line 2788 "Gmsh.y" +case 395: +#line 2837 "Gmsh.y" { yyval.d = sinh(yyvsp[-1].d); ; break;} -case 390: -#line 2789 "Gmsh.y" +case 396: +#line 2838 "Gmsh.y" { yyval.d = cosh(yyvsp[-1].d); ; break;} -case 391: -#line 2790 "Gmsh.y" +case 397: +#line 2839 "Gmsh.y" { yyval.d = tanh(yyvsp[-1].d); ; break;} -case 392: -#line 2791 "Gmsh.y" +case 398: +#line 2840 "Gmsh.y" { yyval.d = fabs(yyvsp[-1].d); ; break;} -case 393: -#line 2792 "Gmsh.y" +case 399: +#line 2841 "Gmsh.y" { yyval.d = floor(yyvsp[-1].d); ; break;} -case 394: -#line 2793 "Gmsh.y" +case 400: +#line 2842 "Gmsh.y" { yyval.d = ceil(yyvsp[-1].d); ; break;} -case 395: -#line 2794 "Gmsh.y" +case 401: +#line 2843 "Gmsh.y" { yyval.d = fmod(yyvsp[-3].d, yyvsp[-1].d); ; break;} -case 396: -#line 2795 "Gmsh.y" +case 402: +#line 2844 "Gmsh.y" { yyval.d = fmod(yyvsp[-3].d, yyvsp[-1].d); ; break;} -case 397: -#line 2796 "Gmsh.y" +case 403: +#line 2845 "Gmsh.y" { yyval.d = sqrt(yyvsp[-3].d*yyvsp[-3].d+yyvsp[-1].d*yyvsp[-1].d); ; break;} -case 398: -#line 2797 "Gmsh.y" +case 404: +#line 2846 "Gmsh.y" { yyval.d = yyvsp[-1].d*(double)rand()/(double)RAND_MAX; ; break;} -case 399: -#line 2806 "Gmsh.y" +case 405: +#line 2855 "Gmsh.y" { yyval.d = yyvsp[0].d; ; break;} -case 400: -#line 2807 "Gmsh.y" +case 406: +#line 2856 "Gmsh.y" { yyval.d = 3.141592653589793; ; break;} -case 401: -#line 2808 "Gmsh.y" +case 407: +#line 2857 "Gmsh.y" { yyval.d = ParUtil::Instance()->rank(); ; break;} -case 402: -#line 2809 "Gmsh.y" +case 408: +#line 2858 "Gmsh.y" { yyval.d = ParUtil::Instance()->size(); ; break;} -case 403: -#line 2814 "Gmsh.y" +case 409: +#line 2863 "Gmsh.y" { TheSymbol.Name = yyvsp[0].c ; if(!(pSymbol = (Symbol*)Tree_PQuery(Symbol_T, &TheSymbol))) { @@ -7528,8 +7621,8 @@ case 403: yyval.d = *(double*)List_Pointer_Fast(pSymbol->val, 0) ; ; break;} -case 404: -#line 2825 "Gmsh.y" +case 410: +#line 2874 "Gmsh.y" { TheSymbol.Name = yyvsp[-3].c ; if(!(pSymbol = (Symbol*)Tree_PQuery(Symbol_T, &TheSymbol))) { @@ -7546,8 +7639,8 @@ case 404: } ; break;} -case 405: -#line 2842 "Gmsh.y" +case 411: +#line 2891 "Gmsh.y" { TheSymbol.Name = yyvsp[-1].c ; if(!(pSymbol = (Symbol*)Tree_PQuery(Symbol_T, &TheSymbol))) { @@ -7558,8 +7651,8 @@ case 405: yyval.d = (*(double*)List_Pointer_Fast(pSymbol->val, 0) += yyvsp[0].i) ; ; break;} -case 406: -#line 2853 "Gmsh.y" +case 412: +#line 2902 "Gmsh.y" { TheSymbol.Name = yyvsp[-4].c ; if(!(pSymbol = (Symbol*)Tree_PQuery(Symbol_T, &TheSymbol))) { @@ -7576,8 +7669,8 @@ case 406: } ; break;} -case 407: -#line 2872 "Gmsh.y" +case 413: +#line 2921 "Gmsh.y" { if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-2].c))){ yymsg(GERROR, "Unknown numeric option class '%s'", yyvsp[-2].c); @@ -7593,8 +7686,8 @@ case 407: } ; break;} -case 408: -#line 2888 "Gmsh.y" +case 414: +#line 2937 "Gmsh.y" { if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-5].c))){ yymsg(GERROR, "Unknown numeric option class '%s'", yyvsp[-5].c); @@ -7610,8 +7703,8 @@ case 408: } ; break;} -case 409: -#line 2904 "Gmsh.y" +case 415: +#line 2953 "Gmsh.y" { if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-3].c))){ yymsg(GERROR, "Unknown numeric option class '%s'", yyvsp[-3].c); @@ -7627,8 +7720,8 @@ case 409: } ; break;} -case 410: -#line 2920 "Gmsh.y" +case 416: +#line 2969 "Gmsh.y" { if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-6].c))){ yymsg(GERROR, "Unknown numeric option class '%s'", yyvsp[-6].c); @@ -7644,131 +7737,131 @@ case 410: } ; break;} -case 411: -#line 2938 "Gmsh.y" +case 417: +#line 2987 "Gmsh.y" { memcpy(yyval.v, yyvsp[0].v, 5*sizeof(double)) ; ; break;} -case 412: -#line 2942 "Gmsh.y" +case 418: +#line 2991 "Gmsh.y" { for(i = 0; i < 5; i++) yyval.v[i] = -yyvsp[0].v[i] ; ; break;} -case 413: -#line 2946 "Gmsh.y" +case 419: +#line 2995 "Gmsh.y" { for(i = 0; i < 5; i++) yyval.v[i] = yyvsp[0].v[i]; ; break;} -case 414: -#line 2950 "Gmsh.y" +case 420: +#line 2999 "Gmsh.y" { for(i = 0; i < 5; i++) yyval.v[i] = yyvsp[-2].v[i] - yyvsp[0].v[i] ; ; break;} -case 415: -#line 2954 "Gmsh.y" +case 421: +#line 3003 "Gmsh.y" { for(i = 0; i < 5; i++) yyval.v[i] = yyvsp[-2].v[i] + yyvsp[0].v[i] ; ; break;} -case 416: -#line 2961 "Gmsh.y" +case 422: +#line 3010 "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 417: -#line 2965 "Gmsh.y" +case 423: +#line 3014 "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 418: -#line 2969 "Gmsh.y" +case 424: +#line 3018 "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 419: -#line 2973 "Gmsh.y" +case 425: +#line 3022 "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 420: -#line 2980 "Gmsh.y" +case 426: +#line 3029 "Gmsh.y" { ; break;} -case 421: -#line 2983 "Gmsh.y" +case 427: +#line 3032 "Gmsh.y" { ; break;} -case 422: -#line 2989 "Gmsh.y" +case 428: +#line 3038 "Gmsh.y" { ; break;} -case 423: -#line 2992 "Gmsh.y" +case 429: +#line 3041 "Gmsh.y" { ; break;} -case 424: -#line 2998 "Gmsh.y" +case 430: +#line 3047 "Gmsh.y" { ; break;} -case 425: -#line 3001 "Gmsh.y" +case 431: +#line 3050 "Gmsh.y" { yyval.l = yyvsp[-1].l; ; break;} -case 426: -#line 3005 "Gmsh.y" +case 432: +#line 3054 "Gmsh.y" { yyval.l = yyvsp[-1].l; ; break;} -case 427: -#line 3012 "Gmsh.y" +case 433: +#line 3061 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(List_T*)) ; List_Add(yyval.l, &(yyvsp[0].l)) ; ; break;} -case 428: -#line 3017 "Gmsh.y" +case 434: +#line 3066 "Gmsh.y" { List_Add(yyval.l, &(yyvsp[0].l)) ; ; break;} -case 429: -#line 3025 "Gmsh.y" +case 435: +#line 3074 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(double)) ; List_Add(yyval.l, &(yyvsp[0].d)) ; ; break;} -case 430: -#line 3030 "Gmsh.y" +case 436: +#line 3079 "Gmsh.y" { yyval.l = yyvsp[0].l ; ; break;} -case 431: -#line 3034 "Gmsh.y" +case 437: +#line 3083 "Gmsh.y" { yyval.l = yyvsp[-1].l; ; break;} -case 432: -#line 3038 "Gmsh.y" +case 438: +#line 3087 "Gmsh.y" { yyval.l = yyvsp[-1].l; for(i = 0; i < List_Nbr(yyval.l); i++){ @@ -7777,16 +7870,16 @@ case 432: } ; break;} -case 433: -#line 3049 "Gmsh.y" +case 439: +#line 3098 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(double)) ; for(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 434: -#line 3055 "Gmsh.y" +case 440: +#line 3104 "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)){ @@ -7798,8 +7891,8 @@ case 434: List_Add(yyval.l, &d) ; ; break;} -case 435: -#line 3066 "Gmsh.y" +case 441: +#line 3115 "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 @@ -7820,8 +7913,8 @@ case 435: } ; break;} -case 436: -#line 3086 "Gmsh.y" +case 442: +#line 3135 "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++){ @@ -7831,8 +7924,8 @@ case 436: } ; break;} -case 437: -#line 3095 "Gmsh.y" +case 443: +#line 3144 "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++){ @@ -7842,8 +7935,8 @@ case 437: } ; break;} -case 438: -#line 3104 "Gmsh.y" +case 444: +#line 3153 "Gmsh.y" { // FIXME: The syntax for this is ugly: we get double semi-colons // at the end of the line @@ -7855,8 +7948,8 @@ case 438: } ; break;} -case 439: -#line 3115 "Gmsh.y" +case 445: +#line 3164 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(double)) ; TheSymbol.Name = yyvsp[-2].c ; @@ -7871,8 +7964,8 @@ case 439: } ; break;} -case 440: -#line 3129 "Gmsh.y" +case 446: +#line 3178 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(double)) ; TheSymbol.Name = yyvsp[-2].c ; @@ -7889,8 +7982,8 @@ case 440: } ; break;} -case 441: -#line 3145 "Gmsh.y" +case 447: +#line 3194 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(double)) ; TheSymbol.Name = yyvsp[-5].c ; @@ -7911,8 +8004,8 @@ case 441: List_Delete(yyvsp[-2].l); ; break;} -case 442: -#line 3165 "Gmsh.y" +case 448: +#line 3214 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(double)) ; TheSymbol.Name = yyvsp[-5].c ; @@ -7935,27 +8028,27 @@ case 442: List_Delete(yyvsp[-2].l); ; break;} -case 443: -#line 3190 "Gmsh.y" +case 449: +#line 3239 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(double)) ; List_Add(yyval.l, &(yyvsp[0].d)) ; ; break;} -case 444: -#line 3195 "Gmsh.y" +case 450: +#line 3244 "Gmsh.y" { yyval.l = yyvsp[0].l ; ; break;} -case 445: -#line 3199 "Gmsh.y" +case 451: +#line 3248 "Gmsh.y" { List_Add(yyval.l, &(yyvsp[0].d)) ; ; break;} -case 446: -#line 3203 "Gmsh.y" +case 452: +#line 3252 "Gmsh.y" { for(i = 0; i < List_Nbr(yyvsp[0].l); i++){ List_Read(yyvsp[0].l, i, &d) ; @@ -7964,27 +8057,27 @@ case 446: List_Delete(yyvsp[0].l); ; break;} -case 447: -#line 3215 "Gmsh.y" +case 453: +#line 3264 "Gmsh.y" { yyval.u = PACK_COLOR((int)yyvsp[-7].d, (int)yyvsp[-5].d, (int)yyvsp[-3].d, (int)yyvsp[-1].d); ; break;} -case 448: -#line 3219 "Gmsh.y" +case 454: +#line 3268 "Gmsh.y" { yyval.u = PACK_COLOR((int)yyvsp[-5].d, (int)yyvsp[-3].d, (int)yyvsp[-1].d, 255); ; break;} -case 449: -#line 3230 "Gmsh.y" +case 455: +#line 3279 "Gmsh.y" { yyval.u = Get_ColorForString(ColorString, -1, yyvsp[0].c, &flag); if(flag) yymsg(GERROR, "Unknown color '%s'", yyvsp[0].c); ; break;} -case 450: -#line 3235 "Gmsh.y" +case 456: +#line 3284 "Gmsh.y" { if(!(pColCat = Get_ColorOptionCategory(yyvsp[-4].c))){ yymsg(GERROR, "Unknown color option class '%s'", yyvsp[-4].c); @@ -8001,14 +8094,14 @@ case 450: } ; break;} -case 451: -#line 3254 "Gmsh.y" +case 457: +#line 3303 "Gmsh.y" { yyval.l = yyvsp[-1].l; ; break;} -case 452: -#line 3258 "Gmsh.y" +case 458: +#line 3307 "Gmsh.y" { yyval.l = List_Create(256, 10, sizeof(unsigned int)) ; GmshColorTable *ct = Get_ColorTable((int)yyvsp[-3].d); @@ -8020,27 +8113,27 @@ case 452: } ; break;} -case 453: -#line 3272 "Gmsh.y" +case 459: +#line 3321 "Gmsh.y" { yyval.l = List_Create(256, 10, sizeof(unsigned int)) ; List_Add(yyval.l, &(yyvsp[0].u)) ; ; break;} -case 454: -#line 3277 "Gmsh.y" +case 460: +#line 3326 "Gmsh.y" { List_Add(yyval.l, &(yyvsp[0].u)) ; ; break;} -case 455: -#line 3284 "Gmsh.y" +case 461: +#line 3333 "Gmsh.y" { yyval.c = yyvsp[0].c; ; break;} -case 456: -#line 3288 "Gmsh.y" +case 462: +#line 3337 "Gmsh.y" { yyval.c = (char *)Malloc((strlen(yyvsp[-3].c)+strlen(yyvsp[-1].c)+1)*sizeof(char)) ; strcpy(yyval.c, yyvsp[-3].c) ; @@ -8049,8 +8142,8 @@ case 456: Free(yyvsp[-1].c); ; break;} -case 457: -#line 3296 "Gmsh.y" +case 463: +#line 3345 "Gmsh.y" { yyval.c = (char *)Malloc((strlen(yyvsp[-1].c)+1)*sizeof(char)) ; for(i = strlen(yyvsp[-1].c)-1; i >= 0; i--){ @@ -8064,14 +8157,14 @@ case 457: Free(yyvsp[-1].c); ; break;} -case 458: -#line 3309 "Gmsh.y" +case 464: +#line 3358 "Gmsh.y" { yyval.c = yyvsp[-1].c; ; break;} -case 459: -#line 3313 "Gmsh.y" +case 465: +#line 3362 "Gmsh.y" { i = PrintListOfDouble(yyvsp[-3].c, yyvsp[-1].l, tmpstring); if(i < 0){ @@ -8090,8 +8183,8 @@ case 459: List_Delete(yyvsp[-1].l); ; break;} -case 460: -#line 3331 "Gmsh.y" +case 466: +#line 3380 "Gmsh.y" { if(!(pStrCat = Get_StringOptionCategory(yyvsp[-3].c))) yymsg(GERROR, "Unknown string option class '%s'", yyvsp[-3].c); @@ -8106,8 +8199,8 @@ case 460: } ; break;} -case 461: -#line 3345 "Gmsh.y" +case 467: +#line 3394 "Gmsh.y" { if(!(pStrCat = Get_StringOptionCategory(yyvsp[-6].c))) yymsg(GERROR, "Unknown string option class '%s'", yyvsp[-6].c); @@ -8344,7 +8437,7 @@ yyerrhandle: } return 1; } -#line 3360 "Gmsh.y" +#line 3409 "Gmsh.y" void DeleteSymbol(void *a, void *b){ diff --git a/Parser/Gmsh.tab.hpp b/Parser/Gmsh.tab.hpp index 355b3b99ee..e0c3155f71 100644 --- a/Parser/Gmsh.tab.hpp +++ b/Parser/Gmsh.tab.hpp @@ -123,73 +123,75 @@ typedef union { #define tFunction 370 #define tMesh 371 #define tTrimmed 372 -#define tB_SPLINE_SURFACE_WITH_KNOTS 373 -#define tB_SPLINE_CURVE_WITH_KNOTS 374 -#define tCARTESIAN_POINT 375 -#define tTRUE 376 -#define tFALSE 377 -#define tUNSPECIFIED 378 -#define tU 379 -#define tV 380 -#define tEDGE_CURVE 381 -#define tVERTEX_POINT 382 -#define tORIENTED_EDGE 383 -#define tPLANE 384 -#define tFACE_OUTER_BOUND 385 -#define tEDGE_LOOP 386 -#define tADVANCED_FACE 387 -#define tVECTOR 388 -#define tDIRECTION 389 -#define tAXIS2_PLACEMENT_3D 390 -#define tISO 391 -#define tENDISO 392 -#define tENDSEC 393 -#define tDATA 394 -#define tHEADER 395 -#define tFILE_DESCRIPTION 396 -#define tFILE_SCHEMA 397 -#define tFILE_NAME 398 -#define tMANIFOLD_SOLID_BREP 399 -#define tCLOSED_SHELL 400 -#define tADVANCED_BREP_SHAPE_REPRESENTATION 401 -#define tFACE_BOUND 402 -#define tCYLINDRICAL_SURFACE 403 -#define tCONICAL_SURFACE 404 -#define tCIRCLE 405 -#define tTRIMMED_CURVE 406 -#define tGEOMETRIC_SET 407 -#define tCOMPOSITE_CURVE_SEGMENT 408 -#define tCONTINUOUS 409 -#define tCOMPOSITE_CURVE 410 -#define tTOROIDAL_SURFACE 411 -#define tPRODUCT_DEFINITION 412 -#define tPRODUCT_DEFINITION_SHAPE 413 -#define tSHAPE_DEFINITION_REPRESENTATION 414 -#define tELLIPSE 415 -#define tSolid 416 -#define tEndSolid 417 -#define tVertex 418 -#define tFacet 419 -#define tNormal 420 -#define tOuter 421 -#define tLoopSTL 422 -#define tEndLoop 423 -#define tEndFacet 424 -#define tAFFECTPLUS 425 -#define tAFFECTMINUS 426 -#define tAFFECTTIMES 427 -#define tAFFECTDIVIDE 428 -#define tOR 429 -#define tAND 430 -#define tEQUAL 431 -#define tNOTEQUAL 432 -#define tAPPROXEQUAL 433 -#define tLESSOREQUAL 434 -#define tGREATEROREQUAL 435 -#define tCROSSPRODUCT 436 -#define tPLUSPLUS 437 -#define tMINUSMINUS 438 -#define UNARYPREC 439 +#define tShow 373 +#define tHide 374 +#define tB_SPLINE_SURFACE_WITH_KNOTS 375 +#define tB_SPLINE_CURVE_WITH_KNOTS 376 +#define tCARTESIAN_POINT 377 +#define tTRUE 378 +#define tFALSE 379 +#define tUNSPECIFIED 380 +#define tU 381 +#define tV 382 +#define tEDGE_CURVE 383 +#define tVERTEX_POINT 384 +#define tORIENTED_EDGE 385 +#define tPLANE 386 +#define tFACE_OUTER_BOUND 387 +#define tEDGE_LOOP 388 +#define tADVANCED_FACE 389 +#define tVECTOR 390 +#define tDIRECTION 391 +#define tAXIS2_PLACEMENT_3D 392 +#define tISO 393 +#define tENDISO 394 +#define tENDSEC 395 +#define tDATA 396 +#define tHEADER 397 +#define tFILE_DESCRIPTION 398 +#define tFILE_SCHEMA 399 +#define tFILE_NAME 400 +#define tMANIFOLD_SOLID_BREP 401 +#define tCLOSED_SHELL 402 +#define tADVANCED_BREP_SHAPE_REPRESENTATION 403 +#define tFACE_BOUND 404 +#define tCYLINDRICAL_SURFACE 405 +#define tCONICAL_SURFACE 406 +#define tCIRCLE 407 +#define tTRIMMED_CURVE 408 +#define tGEOMETRIC_SET 409 +#define tCOMPOSITE_CURVE_SEGMENT 410 +#define tCONTINUOUS 411 +#define tCOMPOSITE_CURVE 412 +#define tTOROIDAL_SURFACE 413 +#define tPRODUCT_DEFINITION 414 +#define tPRODUCT_DEFINITION_SHAPE 415 +#define tSHAPE_DEFINITION_REPRESENTATION 416 +#define tELLIPSE 417 +#define tSolid 418 +#define tEndSolid 419 +#define tVertex 420 +#define tFacet 421 +#define tNormal 422 +#define tOuter 423 +#define tLoopSTL 424 +#define tEndLoop 425 +#define tEndFacet 426 +#define tAFFECTPLUS 427 +#define tAFFECTMINUS 428 +#define tAFFECTTIMES 429 +#define tAFFECTDIVIDE 430 +#define tOR 431 +#define tAND 432 +#define tEQUAL 433 +#define tNOTEQUAL 434 +#define tAPPROXEQUAL 435 +#define tLESSOREQUAL 436 +#define tGREATEROREQUAL 437 +#define tCROSSPRODUCT 438 +#define tPLUSPLUS 439 +#define tMINUSMINUS 440 +#define UNARYPREC 441 extern YYSTYPE yylval; diff --git a/Parser/Gmsh.y b/Parser/Gmsh.y index 6ae1d77d70..d41c41b7d9 100644 --- a/Parser/Gmsh.y +++ b/Parser/Gmsh.y @@ -1,5 +1,5 @@ %{ -// $Id: Gmsh.y,v 1.151 2003-11-29 19:29:27 geuzaine Exp $ +// $Id: Gmsh.y,v 1.152 2003-12-01 21:51:22 geuzaine Exp $ // // Copyright (C) 1997-2003 C. Geuzaine, J.-F. Remacle // @@ -44,6 +44,7 @@ #include "Timer.h" #include "CreateFile.h" #include "STL.h" +#include "Visibility.h" Tree_T *Symbol_T = NULL; @@ -114,7 +115,7 @@ void FixRelativePath(char *in, char *out); %token tText2D tText3D tCombine %token tBSpline tBezier tNurbs tOrder tWith tBounds tKnots %token tColor tColorTable tFor tIn tEndFor tIf tEndIf tExit -%token tReturn tCall tFunction tMesh tTrimmed +%token tReturn tCall tFunction tMesh tTrimmed tShow tHide %token tB_SPLINE_SURFACE_WITH_KNOTS %token tB_SPLINE_CURVE_WITH_KNOTS @@ -401,6 +402,7 @@ GeomFormat : | Duplicata { return 1; } | Delete { return 1; } | Colorify { return 1; } + | Visibility { return 1; } | Extrude { return 1; } | Transfini { return 1; } | Coherence { return 1; } @@ -1885,6 +1887,20 @@ ListOfShapes : } } } + | ListOfShapes tVolume '{' RecursiveListOfDouble '}' tEND + { + for(i = 0; i < List_Nbr($4); i++){ + List_Read($4, i, &d); + TheShape.Num = (int)d; + Volume *v = FindVolume(TheShape.Num, THEM); + if(!v) + yymsg(WARNING, "Unknown Volume %d", TheShape.Num); + else{ + TheShape.Type = v->Typ; + List_Add($$, &TheShape); + } + } + } ; // D U P L I C A T A @@ -1940,6 +1956,39 @@ Colorify : } ; +// V I S I B I L I T Y + +Visibility : + tShow StringExpr tEND + { + int m = (CTX.visibility_mode == 2) ? VIS_MESH : + ((CTX.visibility_mode == 1) ? VIS_GEOM : VIS_GEOM|VIS_MESH); + for(i = 2; i < 6; i++) + SetVisibilityByNumber($2, i, m); + } + | tHide StringExpr tEND + { + for(i = 2; i < 6; i++) + SetVisibilityByNumber($2, i, 0); + } + | tShow '{' ListOfShapes '}' + { + int m = (CTX.visibility_mode == 2) ? VIS_MESH : + ((CTX.visibility_mode == 1) ? VIS_GEOM : VIS_GEOM|VIS_MESH); + for(i = 0; i < List_Nbr($3); i++){ + List_Read ($3, i, &TheShape); + VisibilityShape(TheShape.Type, TheShape.Num, m); + } + } + | tHide '{' ListOfShapes '}' + { + for(i = 0; i < List_Nbr($3); i++){ + List_Read ($3, i, &TheShape); + VisibilityShape(TheShape.Type, TheShape.Num, 0); + } + } +; + // C O M M A N D Command : diff --git a/Parser/Gmsh.yy.cpp b/Parser/Gmsh.yy.cpp index dee0555da9..7120619d00 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.171 2003-11-29 19:29:27 geuzaine Exp $ + * $Header: /cvsroot/gmsh/Parser/Gmsh.yy.cpp,v 1.172 2003-12-01 21:51:23 geuzaine Exp $ */ #define FLEX_SCANNER @@ -283,125 +283,126 @@ static void yy_fatal_error YY_PROTO(( yyconst char msg[] )); *yy_cp = '\0'; \ yy_c_buf_p = yy_cp; -#define YY_NUM_RULES 207 -#define YY_END_OF_BUFFER 208 -static yyconst short int yy_accept[1046] = +#define YY_NUM_RULES 209 +#define YY_END_OF_BUFFER 210 +static yyconst short int yy_accept[1052] = { 0, - 0, 0, 208, 206, 1, 1, 206, 5, 200, 206, - 6, 206, 206, 206, 206, 206, 201, 18, 2, 206, - 13, 206, 205, 205, 205, 205, 205, 205, 205, 205, - 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, - 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, - 205, 206, 206, 0, 0, 26, 200, 22, 16, 23, - 14, 24, 15, 0, 203, 0, 0, 0, 0, 3, - 4, 17, 20, 202, 201, 0, 28, 25, 29, 205, - 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, - 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, - - 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, - 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, - 205, 205, 205, 205, 205, 205, 74, 73, 205, 205, - 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, - 205, 205, 205, 205, 205, 90, 205, 205, 205, 205, - 205, 205, 205, 136, 139, 124, 121, 130, 133, 127, - 142, 205, 205, 205, 205, 205, 205, 145, 146, 138, - 141, 126, 205, 123, 132, 205, 135, 129, 144, 205, - 205, 205, 205, 137, 140, 125, 122, 131, 134, 128, - 143, 205, 205, 205, 205, 205, 205, 205, 205, 205, - - 205, 21, 27, 0, 0, 19, 0, 152, 153, 154, - 155, 202, 0, 0, 204, 205, 205, 205, 205, 205, - 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, - 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, - 205, 205, 205, 46, 205, 205, 205, 205, 205, 205, - 205, 205, 205, 205, 205, 205, 59, 205, 205, 205, - 205, 205, 205, 70, 205, 205, 205, 205, 205, 205, - 205, 205, 205, 205, 205, 80, 205, 205, 205, 205, - 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, - 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, - - 104, 205, 205, 205, 205, 205, 205, 205, 205, 116, - 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, - 205, 205, 205, 205, 205, 0, 0, 0, 203, 0, - 0, 202, 205, 205, 205, 205, 30, 205, 205, 205, - 32, 34, 205, 205, 205, 205, 205, 40, 205, 205, - 205, 205, 205, 205, 54, 205, 43, 205, 205, 205, - 205, 205, 205, 45, 170, 205, 205, 205, 58, 205, - 205, 205, 0, 205, 205, 205, 205, 66, 205, 205, - 205, 67, 205, 69, 205, 205, 205, 205, 0, 205, - 205, 164, 205, 205, 78, 205, 79, 205, 205, 205, - - 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, - 205, 205, 205, 205, 101, 205, 205, 205, 205, 205, - 105, 205, 205, 103, 205, 205, 205, 205, 205, 205, - 115, 205, 205, 205, 205, 205, 205, 205, 120, 205, - 205, 205, 205, 195, 10, 9, 8, 205, 11, 12, - 205, 205, 205, 205, 0, 0, 0, 202, 205, 205, - 205, 205, 205, 205, 205, 36, 205, 205, 205, 205, - 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, - 205, 51, 205, 205, 205, 205, 205, 205, 205, 205, - 0, 205, 205, 205, 65, 205, 205, 205, 68, 205, - - 205, 205, 72, 0, 205, 76, 205, 205, 81, 205, - 205, 205, 205, 205, 87, 205, 88, 168, 205, 205, - 205, 91, 205, 92, 93, 205, 205, 205, 205, 205, - 100, 205, 205, 205, 205, 205, 205, 205, 205, 205, - 205, 205, 205, 118, 205, 205, 205, 205, 205, 205, - 192, 205, 205, 194, 199, 205, 0, 0, 205, 205, - 205, 205, 31, 33, 35, 205, 205, 205, 39, 42, - 205, 183, 205, 205, 205, 205, 205, 205, 48, 205, - 205, 205, 205, 205, 55, 56, 205, 205, 205, 205, - 0, 176, 205, 205, 64, 205, 205, 205, 205, 205, - - 205, 205, 205, 169, 0, 205, 82, 77, 205, 205, - 205, 84, 83, 205, 205, 205, 205, 97, 96, 205, - 205, 102, 99, 205, 106, 205, 110, 205, 205, 205, - 205, 205, 205, 205, 205, 205, 165, 205, 119, 205, - 205, 205, 7, 193, 191, 0, 0, 205, 205, 205, - 205, 37, 205, 41, 205, 205, 205, 205, 205, 205, - 205, 205, 205, 205, 44, 50, 205, 205, 205, 205, - 159, 0, 61, 205, 205, 62, 205, 205, 205, 205, - 205, 205, 205, 0, 205, 205, 205, 205, 205, 205, - 205, 205, 205, 205, 205, 109, 205, 107, 205, 205, - - 205, 205, 205, 205, 117, 205, 205, 196, 205, 0, - 0, 205, 205, 205, 205, 205, 205, 205, 205, 205, - 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, - 0, 60, 63, 205, 205, 205, 205, 205, 71, 205, - 0, 205, 205, 85, 86, 205, 205, 205, 89, 205, - 205, 205, 205, 108, 205, 205, 205, 205, 205, 205, - 197, 198, 0, 0, 205, 205, 205, 205, 38, 205, - 205, 205, 205, 205, 205, 205, 205, 49, 205, 166, - 57, 205, 158, 0, 205, 205, 205, 172, 205, 205, - 0, 75, 205, 205, 205, 205, 205, 98, 205, 111, - - 205, 205, 205, 114, 205, 205, 0, 0, 205, 205, - 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, - 53, 205, 52, 157, 0, 162, 205, 205, 205, 205, - 0, 205, 205, 205, 95, 205, 205, 205, 205, 205, - 205, 205, 0, 0, 205, 205, 205, 205, 205, 205, - 205, 205, 205, 205, 205, 205, 205, 0, 205, 205, - 171, 205, 0, 205, 205, 205, 94, 205, 205, 205, - 113, 205, 205, 151, 0, 151, 205, 205, 205, 205, - 205, 205, 205, 177, 205, 205, 205, 205, 0, 205, - 205, 205, 174, 205, 205, 205, 205, 205, 205, 205, - - 160, 150, 205, 163, 150, 205, 205, 205, 205, 205, - 205, 205, 205, 0, 205, 205, 185, 205, 156, 205, - 205, 205, 184, 112, 205, 205, 205, 205, 205, 205, - 205, 205, 47, 0, 205, 205, 205, 205, 205, 205, - 205, 205, 205, 205, 147, 187, 181, 205, 0, 205, - 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, - 205, 175, 161, 173, 205, 205, 205, 182, 205, 205, - 205, 205, 205, 205, 205, 205, 205, 205, 167, 205, - 205, 205, 205, 205, 188, 205, 205, 205, 205, 205, - 180, 179, 205, 205, 205, 205, 205, 205, 205, 205, - - 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, - 205, 205, 205, 205, 205, 186, 205, 205, 205, 205, - 205, 189, 205, 205, 149, 205, 205, 205, 205, 205, - 205, 148, 205, 205, 205, 205, 205, 205, 205, 205, - 190, 205, 205, 178, 0 + 0, 0, 210, 208, 1, 1, 208, 5, 202, 208, + 6, 208, 208, 208, 208, 208, 203, 18, 2, 208, + 13, 208, 207, 207, 207, 207, 207, 207, 207, 207, + 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, + 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, + 207, 208, 208, 0, 0, 26, 202, 22, 16, 23, + 14, 24, 15, 0, 205, 0, 0, 0, 0, 3, + 4, 17, 20, 204, 203, 0, 28, 25, 29, 207, + 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, + 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, + + 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, + 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, + 207, 207, 207, 207, 207, 207, 207, 75, 74, 207, + 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, + 207, 207, 207, 207, 207, 207, 91, 207, 207, 207, + 207, 207, 207, 207, 138, 141, 126, 123, 132, 135, + 129, 144, 207, 207, 207, 207, 207, 207, 207, 147, + 148, 140, 143, 128, 207, 125, 134, 207, 137, 131, + 146, 207, 207, 207, 207, 139, 142, 127, 124, 133, + 136, 130, 145, 207, 207, 207, 207, 207, 207, 207, + + 207, 207, 207, 21, 27, 0, 0, 19, 0, 154, + 155, 156, 157, 204, 0, 0, 206, 207, 207, 207, + 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, + 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, + 207, 207, 207, 207, 207, 46, 207, 207, 207, 207, + 207, 207, 207, 207, 207, 207, 207, 207, 59, 207, + 207, 207, 207, 207, 207, 70, 207, 207, 207, 207, + 207, 207, 207, 207, 207, 207, 207, 207, 81, 207, + 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, + 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, + + 207, 207, 207, 207, 105, 207, 207, 207, 207, 207, + 207, 207, 207, 118, 207, 207, 207, 207, 207, 207, + 207, 207, 207, 207, 207, 207, 207, 207, 207, 0, + 0, 0, 205, 0, 0, 204, 207, 207, 207, 207, + 30, 207, 207, 207, 32, 34, 207, 207, 207, 207, + 207, 40, 207, 207, 207, 207, 207, 207, 54, 207, + 43, 207, 207, 207, 207, 207, 207, 45, 172, 207, + 207, 207, 58, 207, 207, 207, 0, 207, 207, 207, + 207, 66, 207, 207, 207, 67, 207, 69, 207, 207, + 207, 72, 207, 0, 207, 207, 166, 207, 207, 79, + + 207, 80, 207, 207, 207, 207, 207, 207, 207, 207, + 207, 207, 207, 207, 207, 207, 207, 207, 207, 102, + 207, 207, 207, 207, 207, 113, 106, 207, 207, 104, + 207, 207, 207, 207, 207, 207, 117, 207, 207, 207, + 207, 207, 207, 207, 122, 207, 207, 207, 207, 197, + 10, 9, 8, 207, 11, 12, 207, 207, 207, 207, + 0, 0, 0, 204, 207, 207, 207, 207, 207, 207, + 207, 36, 207, 207, 207, 207, 207, 207, 207, 207, + 207, 207, 207, 207, 207, 207, 207, 51, 207, 207, + 207, 207, 207, 207, 207, 207, 0, 207, 207, 207, + + 65, 207, 207, 207, 68, 207, 207, 207, 73, 0, + 207, 77, 207, 207, 82, 207, 207, 207, 207, 207, + 88, 207, 89, 170, 207, 207, 207, 92, 207, 93, + 94, 207, 207, 207, 207, 207, 101, 207, 207, 207, + 207, 207, 207, 207, 207, 207, 207, 207, 207, 120, + 207, 207, 207, 207, 207, 207, 194, 207, 207, 196, + 201, 207, 0, 0, 207, 207, 207, 207, 31, 33, + 35, 207, 207, 207, 39, 42, 207, 185, 207, 207, + 207, 207, 207, 207, 48, 207, 207, 207, 207, 207, + 55, 56, 207, 207, 207, 207, 0, 178, 207, 207, + + 64, 207, 207, 207, 207, 207, 207, 207, 207, 171, + 0, 207, 83, 78, 207, 207, 207, 85, 84, 207, + 207, 207, 207, 98, 97, 207, 207, 103, 100, 207, + 107, 207, 111, 207, 207, 207, 207, 207, 207, 207, + 207, 207, 167, 207, 121, 207, 207, 207, 7, 195, + 193, 0, 0, 207, 207, 207, 207, 37, 207, 41, + 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, + 44, 50, 207, 207, 207, 207, 161, 0, 61, 207, + 207, 62, 207, 207, 207, 207, 207, 207, 207, 0, + 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, + + 207, 110, 207, 108, 207, 207, 207, 207, 207, 207, + 119, 207, 207, 198, 207, 0, 0, 207, 207, 207, + 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, + 207, 207, 207, 207, 207, 207, 0, 60, 63, 207, + 207, 207, 207, 207, 71, 207, 0, 207, 207, 86, + 87, 207, 207, 207, 90, 207, 207, 207, 207, 109, + 207, 207, 207, 207, 207, 207, 199, 200, 0, 0, + 207, 207, 207, 207, 38, 207, 207, 207, 207, 207, + 207, 207, 207, 49, 207, 168, 57, 207, 160, 0, + 207, 207, 207, 174, 207, 207, 0, 76, 207, 207, + + 207, 207, 207, 99, 207, 112, 207, 207, 207, 116, + 207, 207, 0, 0, 207, 207, 207, 207, 207, 207, + 207, 207, 207, 207, 207, 207, 53, 207, 52, 159, + 0, 164, 207, 207, 207, 207, 0, 207, 207, 207, + 96, 207, 207, 207, 207, 207, 207, 207, 0, 0, + 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, + 207, 207, 207, 0, 207, 207, 173, 207, 0, 207, + 207, 207, 95, 207, 207, 207, 115, 207, 207, 153, + 0, 153, 207, 207, 207, 207, 207, 207, 207, 179, + 207, 207, 207, 207, 0, 207, 207, 207, 176, 207, + + 207, 207, 207, 207, 207, 207, 162, 152, 207, 165, + 152, 207, 207, 207, 207, 207, 207, 207, 207, 0, + 207, 207, 187, 207, 158, 207, 207, 207, 186, 114, + 207, 207, 207, 207, 207, 207, 207, 207, 47, 0, + 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, + 149, 189, 183, 207, 0, 207, 207, 207, 207, 207, + 207, 207, 207, 207, 207, 207, 207, 177, 163, 175, + 207, 207, 207, 184, 207, 207, 207, 207, 207, 207, + 207, 207, 207, 207, 169, 207, 207, 207, 207, 207, + 190, 207, 207, 207, 207, 207, 182, 181, 207, 207, + + 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, + 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, + 207, 188, 207, 207, 207, 207, 207, 191, 207, 207, + 151, 207, 207, 207, 207, 207, 207, 150, 207, 207, + 207, 207, 207, 207, 207, 207, 192, 207, 207, 180, + 0 } ; static yyconst int yy_ec[256] = @@ -448,245 +449,247 @@ static yyconst int yy_meta[78] = 3, 3, 3, 3, 3, 1, 1 } ; -static yyconst short int yy_base[1051] = +static yyconst short int yy_base[1057] = { 0, - 0, 0, 1310, 52, 53, 1311, 58, 55, 72, 75, + 0, 0, 1316, 52, 53, 1317, 58, 55, 72, 75, 59, 69, 82, 83, 106, 116, 129, 67, 84, 108, - 114, 137, 127, 122, 173, 143, 192, 190, 89, 165, - 200, 135, 144, 217, 238, 189, 204, 248, 240, 290, - 349, 157, 391, 214, 194, 243, 159, 241, 244, 253, - 264, 274, 156, 1271, 1271, 1311, 325, 1311, 1311, 1311, - 1311, 1311, 1311, 1295, 330, 1294, 1293, 94, 1292, 1311, - 1311, 1311, 1311, 354, 387, 396, 1311, 1311, 1311, 0, - 1265, 1257, 1264, 1268, 1235, 1245, 1238, 229, 1231, 1253, - 1219, 1223, 1230, 1250, 1249, 1251, 153, 1253, 107, 1228, - - 1235, 1218, 315, 1241, 1242, 1221, 1220, 1229, 1214, 1248, - 1242, 1249, 1214, 1220, 292, 1247, 1237, 1219, 1206, 1205, - 1201, 1204, 1228, 1241, 1199, 1225, 0, 1193, 1197, 1223, - 1185, 1195, 1194, 43, 1219, 1223, 1186, 1199, 1185, 1219, - 1196, 1225, 1210, 1180, 1172, 0, 86, 252, 264, 1182, - 267, 1175, 1182, 1218, 0, 0, 0, 0, 0, 0, - 0, 1178, 145, 1173, 1172, 1171, 1175, 0, 0, 0, - 0, 0, 1195, 0, 0, 1203, 0, 0, 0, 1171, - 227, 1174, 209, 0, 0, 0, 0, 0, 0, 0, - 0, 1171, 1162, 1176, 1176, 1164, 1155, 1159, 1156, 1163, - - 1156, 1311, 1311, 1185, 1179, 1311, 430, 1311, 1311, 1311, - 1311, 435, 450, 455, 460, 1183, 1195, 1176, 1175, 1148, - 311, 1152, 1151, 1146, 1151, 1172, 1151, 1146, 1143, 1164, - 1180, 1163, 1165, 1171, 1170, 1140, 1138, 1138, 1131, 1144, - 1141, 1131, 261, 1136, 1169, 1164, 1136, 1139, 1117, 1127, - 1159, 1154, 72, 1126, 366, 1115, 0, 1116, 1154, 1153, - 1112, 1115, 1124, 0, 1124, 1140, 1148, 1110, 1162, 1117, - 1102, 1142, 1114, 1111, 1112, 1151, 1100, 1132, 1113, 1104, - 1091, 1108, 1131, 1103, 1120, 1129, 1104, 1086, 1090, 1095, - 1088, 1095, 1086, 1091, 1093, 1082, 1075, 1093, 1088, 1103, - - 1083, 1081, 1080, 1069, 382, 1081, 1074, 1097, 1098, 1075, - 1069, 301, 1068, 1087, 1086, 1058, 1069, 306, 1071, 1060, - 426, 1062, 1068, 1063, 1052, 1077, 1080, 466, 484, 493, - 498, 503, 1075, 1080, 1077, 1099, 0, 1050, 1054, 1061, - 0, 1095, 1059, 1050, 1073, 1052, 1052, 0, 1077, 1069, - 1075, 1064, 1075, 1063, 0, 1029, 0, 1047, 1036, 1029, - 1028, 1035, 1032, 0, 0, 1066, 1022, 1021, 0, 1030, - 1038, 1048, 1054, 1057, 1019, 1019, 1026, 0, 1011, 1030, - 1029, 0, 1011, 0, 1008, 1048, 1047, 1005, 1058, 1005, - 1003, 0, 1003, 1000, 0, 1054, 0, 1038, 205, 1011, - - 1004, 996, 1026, 995, 1033, 1016, 997, 999, 1002, 997, - 986, 987, 984, 985, 0, 989, 983, 980, 994, 1019, - 0, 983, 982, 0, 993, 976, 991, 986, 1008, 1003, - 0, 970, 974, 974, 978, 996, 1005, 970, 0, 980, - 966, 965, 959, 0, 0, 0, 0, 972, 0, 0, - 975, 958, 970, 968, 990, 993, 508, 513, 988, 993, - 990, 967, 948, 952, 951, 0, 960, 949, 979, 943, - 941, 966, 979, 979, 963, 980, 976, 941, 948, 945, - 944, 955, 934, 941, 952, 939, 938, 939, 392, 949, - 948, 963, 310, 921, 0, 933, 399, 401, 0, 927, - - 942, 943, 0, 969, 914, 0, 913, 922, 0, 941, - 927, 918, 908, 911, 0, 931, 0, 0, 947, 917, - 918, 0, 907, 0, 0, 913, 913, 915, 903, 910, - 0, 914, 908, 893, 892, 905, 906, 889, 930, 928, - 364, 898, 899, 0, 912, 905, 896, 897, 885, 887, - 0, 890, 885, 0, 0, 872, 907, 917, 905, 913, - 914, 900, 0, 0, 922, 868, 881, 898, 0, 0, - 902, 0, 883, 900, 896, 889, 868, 859, 0, 864, - 875, 870, 851, 891, 0, 0, 871, 877, 882, 891, - 880, 0, 272, 858, 0, 861, 877, 870, 885, 888, - - 885, 846, 868, 0, 891, 852, 0, 0, 871, 842, - 829, 0, 0, 875, 859, 832, 849, 0, 0, 831, - 839, 0, 0, 870, 0, 840, 0, 839, 839, 826, - 868, 864, 831, 838, 818, 833, 0, 836, 0, 830, - 819, 824, 0, 0, 0, 838, 849, 836, 852, 846, - 842, 0, 812, 0, 847, 850, 831, 829, 821, 838, - 828, 813, 814, 814, 0, 0, 827, 795, 822, 824, - 0, 850, 0, 792, 806, 0, 814, 814, 814, 819, - 823, 790, 820, 837, 797, 822, 788, 792, 819, 795, - 777, 782, 774, 778, 812, 0, 780, 0, 764, 802, - - 786, 772, 765, 772, 0, 793, 762, 0, 776, 791, - 799, 789, 776, 796, 800, 756, 772, 784, 789, 791, - 776, 791, 752, 747, 756, 747, 768, 61, 94, 123, - 189, 0, 0, 238, 273, 277, 307, 358, 0, 368, - 379, 360, 382, 0, 0, 386, 427, 397, 0, 398, - 403, 430, 389, 0, 435, 460, 429, 434, 441, 457, - 0, 0, 452, 473, 462, 507, 501, 508, 0, 509, - 487, 510, 489, 496, 517, 480, 484, 0, 489, 0, - 0, 517, 0, 532, 520, 507, 508, 0, 514, 502, - 542, 0, 512, 527, 528, 504, 494, 0, 527, 0, - - 518, 517, 493, 0, 494, 532, 523, 538, 525, 527, - 545, 542, 543, 528, 529, 535, 540, 550, 536, 543, - 0, 511, 0, 0, 563, 0, 531, 550, 559, 542, - 569, 548, 560, 559, 0, 526, 553, 547, 551, 538, - 535, 558, 0, 569, 596, 571, 584, 584, 576, 572, - 573, 582, 586, 578, 594, 574, 556, 612, 602, 589, - 0, 601, 615, 596, 602, 601, 0, 602, 594, 591, - 0, 573, 595, 1311, 0, 0, 600, 612, 673, 613, - 597, 614, 612, 0, 605, 623, 606, 590, 633, 613, - 609, 610, 1311, 622, 627, 619, 614, 629, 631, 597, - - 0, 1311, 611, 0, 0, 625, 635, 640, 628, 621, - 641, 624, 616, 659, 627, 644, 0, 660, 0, 656, - 657, 666, 0, 0, 649, 654, 648, 673, 657, 673, - 674, 662, 0, 688, 668, 668, 657, 665, 671, 684, - 680, 662, 667, 686, 0, 665, 0, 687, 702, 691, - 682, 695, 689, 686, 696, 701, 709, 695, 678, 687, - 706, 1311, 0, 0, 690, 694, 683, 0, 695, 708, - 693, 691, 710, 713, 712, 704, 701, 715, 0, 713, - 713, 716, 719, 709, 701, 724, 703, 704, 712, 720, - 0, 0, 715, 719, 718, 726, 730, 734, 732, 723, - - 737, 729, 717, 731, 745, 742, 732, 734, 739, 731, - 736, 734, 736, 735, 742, 0, 752, 753, 754, 741, - 746, 0, 748, 744, 0, 744, 745, 761, 748, 767, - 755, 0, 750, 751, 763, 772, 759, 755, 762, 768, - 0, 763, 765, 0, 1311, 800, 803, 806, 809, 812 + 114, 137, 127, 122, 173, 143, 192, 190, 89, 212, + 217, 135, 144, 213, 223, 156, 222, 244, 249, 294, + 353, 157, 395, 232, 255, 266, 159, 257, 165, 186, + 189, 270, 272, 1277, 1277, 1317, 333, 1317, 1317, 1317, + 1317, 1317, 1317, 1301, 358, 1300, 1299, 94, 1298, 1317, + 1317, 1317, 1317, 391, 400, 434, 1317, 1317, 1317, 0, + 1271, 1263, 1270, 1274, 1241, 1251, 1244, 246, 1237, 1259, + 1225, 1229, 1236, 1256, 1255, 1257, 153, 1259, 107, 1234, + + 1241, 1224, 319, 1247, 1248, 1227, 1226, 1235, 1220, 1254, + 1248, 1255, 1220, 1226, 263, 1253, 1243, 1225, 1212, 1211, + 1207, 1210, 1234, 1247, 1216, 1204, 1230, 0, 1198, 1202, + 1228, 1190, 1200, 1199, 43, 1224, 1228, 1191, 1204, 1190, + 1224, 1201, 1230, 1215, 1185, 1177, 0, 86, 134, 210, + 1187, 109, 1180, 1187, 1223, 0, 0, 0, 0, 0, + 0, 0, 1182, 1182, 223, 1177, 1176, 1175, 1179, 0, + 0, 0, 0, 0, 1199, 0, 0, 1207, 0, 0, + 0, 1175, 272, 1178, 283, 0, 0, 0, 0, 0, + 0, 0, 0, 1175, 1166, 1180, 1180, 1168, 1159, 1163, + + 1160, 1167, 1160, 1317, 1317, 1189, 1183, 1317, 446, 1317, + 1317, 1317, 1317, 451, 460, 340, 466, 1187, 1199, 1180, + 1179, 1152, 301, 1156, 1155, 1150, 1155, 1176, 1155, 1150, + 1147, 1168, 1184, 1167, 1169, 1175, 1174, 1144, 1142, 1142, + 1135, 1148, 1145, 1135, 313, 1140, 1173, 1168, 1140, 1143, + 1121, 1131, 1163, 1158, 72, 1130, 370, 1119, 0, 1120, + 1158, 1157, 1116, 1119, 1128, 0, 1128, 1144, 1152, 1123, + 1113, 1165, 1120, 1105, 1145, 1117, 1114, 1115, 1154, 1103, + 1135, 1116, 1107, 1094, 1111, 1134, 1106, 1123, 1132, 1107, + 1089, 1093, 1098, 1091, 1098, 1089, 1094, 1096, 1085, 1078, + + 1096, 1091, 1106, 1072, 1085, 1083, 1082, 1071, 364, 1083, + 1076, 1099, 1100, 1077, 1071, 279, 1070, 1089, 1088, 1060, + 1071, 368, 1073, 1062, 432, 1064, 1070, 1065, 1054, 1079, + 1082, 472, 493, 502, 507, 512, 1077, 1082, 1079, 1101, + 0, 1052, 1056, 1063, 0, 1097, 1061, 1052, 1075, 1054, + 1054, 0, 1079, 1071, 1077, 1066, 1077, 1065, 0, 1031, + 0, 1049, 1038, 1031, 1030, 1037, 1034, 0, 0, 1068, + 1024, 1023, 0, 1032, 1040, 1050, 1056, 1059, 1021, 1021, + 1028, 0, 1013, 1032, 1031, 0, 1013, 0, 1010, 1050, + 1049, 0, 1007, 1060, 1007, 1005, 0, 1005, 1002, 0, + + 1056, 0, 1040, 265, 1013, 1006, 998, 1028, 997, 1035, + 1018, 999, 1001, 1004, 999, 988, 989, 986, 987, 0, + 991, 985, 982, 996, 1021, 0, 0, 985, 984, 0, + 995, 978, 993, 988, 1010, 1005, 0, 972, 976, 976, + 980, 998, 1007, 972, 0, 982, 968, 967, 961, 0, + 0, 0, 0, 974, 0, 0, 977, 960, 972, 970, + 992, 995, 517, 522, 990, 995, 992, 969, 950, 954, + 953, 0, 962, 951, 981, 945, 943, 968, 981, 981, + 965, 982, 978, 943, 950, 947, 946, 957, 936, 943, + 954, 941, 940, 941, 336, 951, 950, 965, 271, 923, + + 0, 935, 373, 405, 0, 929, 944, 945, 0, 971, + 916, 0, 915, 924, 0, 943, 929, 920, 910, 913, + 0, 933, 0, 0, 949, 919, 920, 0, 909, 0, + 0, 915, 915, 917, 905, 912, 0, 916, 910, 895, + 894, 907, 908, 891, 932, 930, 305, 900, 901, 0, + 914, 907, 898, 899, 887, 889, 0, 892, 887, 0, + 0, 874, 909, 919, 907, 915, 916, 902, 0, 0, + 924, 870, 883, 900, 0, 0, 904, 0, 885, 902, + 898, 891, 870, 861, 0, 866, 877, 872, 853, 893, + 0, 0, 873, 879, 884, 893, 882, 0, 187, 860, + + 0, 863, 879, 872, 887, 890, 887, 848, 870, 0, + 893, 854, 0, 0, 873, 844, 831, 0, 0, 877, + 861, 834, 851, 0, 0, 833, 841, 0, 0, 872, + 0, 842, 0, 841, 841, 828, 870, 866, 833, 840, + 820, 835, 0, 838, 0, 832, 821, 826, 0, 0, + 0, 840, 851, 838, 854, 848, 844, 0, 814, 0, + 849, 852, 833, 831, 823, 840, 830, 815, 816, 816, + 0, 0, 829, 797, 824, 826, 0, 852, 0, 794, + 808, 0, 816, 816, 816, 821, 825, 792, 822, 839, + 799, 824, 790, 794, 821, 797, 779, 784, 776, 780, + + 814, 0, 782, 0, 766, 804, 788, 774, 767, 774, + 0, 795, 764, 0, 778, 793, 801, 791, 778, 798, + 802, 758, 774, 786, 791, 792, 775, 788, 747, 45, + 84, 143, 183, 231, 290, 306, 352, 0, 0, 345, + 355, 363, 372, 382, 0, 396, 408, 362, 383, 0, + 0, 390, 414, 394, 0, 395, 403, 443, 400, 0, + 441, 466, 435, 440, 445, 460, 0, 0, 457, 470, + 460, 516, 473, 488, 0, 516, 465, 515, 494, 502, + 523, 486, 490, 0, 495, 0, 0, 523, 0, 538, + 526, 513, 514, 0, 520, 507, 548, 0, 518, 533, + + 534, 510, 500, 0, 533, 0, 524, 523, 499, 0, + 500, 538, 529, 544, 531, 533, 551, 548, 549, 534, + 535, 541, 546, 556, 542, 549, 0, 517, 0, 0, + 569, 0, 537, 556, 565, 548, 575, 554, 566, 565, + 0, 532, 559, 553, 557, 544, 541, 564, 0, 575, + 602, 577, 590, 590, 582, 578, 579, 588, 592, 584, + 600, 580, 562, 618, 608, 595, 0, 607, 621, 602, + 608, 607, 0, 608, 600, 597, 0, 579, 601, 1317, + 0, 0, 606, 618, 679, 619, 603, 620, 618, 0, + 611, 629, 612, 596, 639, 619, 615, 616, 1317, 628, + + 633, 625, 620, 635, 637, 603, 0, 1317, 617, 0, + 0, 631, 641, 646, 634, 627, 647, 630, 622, 665, + 633, 650, 0, 666, 0, 662, 663, 672, 0, 0, + 655, 660, 654, 679, 663, 679, 680, 668, 0, 694, + 674, 674, 663, 671, 677, 690, 686, 668, 673, 692, + 0, 671, 0, 693, 708, 697, 688, 701, 695, 692, + 702, 707, 715, 701, 684, 693, 712, 1317, 0, 0, + 696, 700, 689, 0, 701, 714, 699, 697, 716, 719, + 718, 710, 707, 721, 0, 719, 719, 722, 725, 715, + 707, 730, 709, 710, 718, 726, 0, 0, 721, 725, + + 724, 732, 736, 740, 738, 729, 743, 735, 723, 737, + 751, 748, 738, 740, 745, 737, 742, 740, 742, 741, + 748, 0, 758, 759, 760, 747, 752, 0, 754, 750, + 0, 750, 751, 767, 754, 773, 761, 0, 756, 757, + 769, 778, 765, 761, 768, 774, 0, 769, 771, 0, + 1317, 806, 809, 812, 815, 818 } ; -static yyconst short int yy_def[1051] = +static yyconst short int yy_def[1057] = { 0, - 1045, 1, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, - 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, - 1045, 1045, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, - 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, - 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, - 1046, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, - 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, - 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1046, - 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, - 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, - - 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, - 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, - 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, - 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, - 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, - 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, - 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, - 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, - 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, - 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, - - 1046, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, - 1045, 1045, 1045, 1045, 1045, 1046, 1046, 1046, 1046, 1046, - 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, - 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, - 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, - 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, - 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, - 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, - 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, - 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, - - 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, - 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, - 1046, 1046, 1046, 1046, 1046, 1045, 1045, 1045, 1045, 1045, - 1045, 1045, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, - 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, - 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, - 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, - 1046, 1046, 1045, 1046, 1046, 1046, 1046, 1046, 1046, 1046, - 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1045, 1046, - 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, - - 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, - 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, - 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, - 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, - 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, - 1046, 1046, 1046, 1046, 1045, 1045, 1045, 1045, 1046, 1046, - 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, - 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, - 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, - 1045, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, - - 1046, 1046, 1046, 1045, 1046, 1046, 1046, 1046, 1046, 1046, - 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, - 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, - 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, - 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, - 1046, 1046, 1046, 1046, 1046, 1046, 1045, 1045, 1046, 1046, - 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, - 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, - 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, - 1045, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, - - 1046, 1046, 1046, 1046, 1045, 1046, 1046, 1046, 1046, 1046, - 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, - 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, - 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, - 1046, 1046, 1046, 1046, 1046, 1045, 1045, 1046, 1046, 1046, - 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, - 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, - 1046, 1045, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, - 1046, 1046, 1046, 1045, 1046, 1046, 1046, 1046, 1046, 1046, - 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, - - 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1045, - 1045, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, - 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, - 1045, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, - 1045, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, - 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, - 1046, 1046, 1045, 1045, 1046, 1046, 1046, 1046, 1046, 1046, - 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, - 1046, 1046, 1046, 1045, 1046, 1046, 1046, 1046, 1046, 1046, - 1045, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, - - 1046, 1046, 1046, 1046, 1046, 1046, 1045, 1045, 1046, 1046, - 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, - 1046, 1046, 1046, 1046, 1045, 1046, 1046, 1046, 1046, 1046, - 1045, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, - 1046, 1046, 1047, 1045, 1048, 1046, 1046, 1046, 1046, 1046, - 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1045, 1046, 1046, - 1046, 1046, 1045, 1046, 1046, 1046, 1046, 1046, 1046, 1046, - 1046, 1046, 1046, 1045, 1049, 1046, 1046, 1046, 1050, 1046, - 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1045, 1046, - 1046, 1046, 1045, 1046, 1046, 1046, 1046, 1046, 1046, 1046, - - 1046, 1045, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, - 1046, 1046, 1046, 1045, 1046, 1046, 1046, 1046, 1046, 1046, - 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, - 1046, 1046, 1046, 1045, 1046, 1046, 1046, 1046, 1046, 1046, - 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1045, 1046, - 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, - 1046, 1045, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, - 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, - 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, - 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, - - 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, - 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, - 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, - 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, - 1046, 1046, 1046, 1046, 0, 1045, 1045, 1045, 1045, 1045 + 1051, 1, 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051, + 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051, + 1051, 1051, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, + 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, + 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, + 1052, 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051, + 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051, + 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1052, + 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, + 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, + + 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, + 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, + 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, + 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, + 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, + 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, + 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, + 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, + 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, + 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, + + 1052, 1052, 1052, 1051, 1051, 1051, 1051, 1051, 1051, 1051, + 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1052, 1052, 1052, + 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, + 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, + 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, + 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, + 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, + 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, + 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, + 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, + + 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, + 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, + 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1051, + 1051, 1051, 1051, 1051, 1051, 1051, 1052, 1052, 1052, 1052, + 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, + 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, + 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, + 1052, 1052, 1052, 1052, 1052, 1052, 1051, 1052, 1052, 1052, + 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, + 1052, 1052, 1052, 1051, 1052, 1052, 1052, 1052, 1052, 1052, + + 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, + 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, + 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, + 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, + 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, + 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, + 1051, 1051, 1051, 1051, 1052, 1052, 1052, 1052, 1052, 1052, + 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, + 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, + 1052, 1052, 1052, 1052, 1052, 1052, 1051, 1052, 1052, 1052, + + 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1051, + 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, + 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, + 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, + 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, + 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, + 1052, 1052, 1051, 1051, 1052, 1052, 1052, 1052, 1052, 1052, + 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, + 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, + 1052, 1052, 1052, 1052, 1052, 1052, 1051, 1052, 1052, 1052, + + 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, + 1051, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, + 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, + 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, + 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, + 1052, 1051, 1051, 1052, 1052, 1052, 1052, 1052, 1052, 1052, + 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, + 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1051, 1052, 1052, + 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1051, + 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, + + 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, + 1052, 1052, 1052, 1052, 1052, 1051, 1051, 1052, 1052, 1052, + 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, + 1052, 1052, 1052, 1052, 1052, 1052, 1051, 1052, 1052, 1052, + 1052, 1052, 1052, 1052, 1052, 1052, 1051, 1052, 1052, 1052, + 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, + 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1051, 1051, + 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, + 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1051, + 1052, 1052, 1052, 1052, 1052, 1052, 1051, 1052, 1052, 1052, + + 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, + 1052, 1052, 1051, 1051, 1052, 1052, 1052, 1052, 1052, 1052, + 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, + 1051, 1052, 1052, 1052, 1052, 1052, 1051, 1052, 1052, 1052, + 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1053, 1051, + 1054, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, + 1052, 1052, 1052, 1051, 1052, 1052, 1052, 1052, 1051, 1052, + 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1051, + 1055, 1052, 1052, 1052, 1056, 1052, 1052, 1052, 1052, 1052, + 1052, 1052, 1052, 1052, 1051, 1052, 1052, 1052, 1051, 1052, + + 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1051, 1052, 1052, + 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1051, + 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, + 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1051, + 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, + 1052, 1052, 1052, 1052, 1051, 1052, 1052, 1052, 1052, 1052, + 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1051, 1052, 1052, + 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, + 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, + 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, + + 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, + 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, + 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, + 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, + 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, + 0, 1051, 1051, 1051, 1051, 1051 } ; -static yyconst short int yy_nxt[1389] = +static yyconst short int yy_nxt[1395] = { 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 17, 17, 17, 17, 18, 19, @@ -696,153 +699,155 @@ static yyconst short int yy_nxt[1389] = 32, 32, 32, 32, 45, 46, 32, 32, 32, 32, 47, 32, 48, 49, 32, 32, 32, 50, 32, 32, 51, 32, 32, 32, 32, 52, 53, 54, 54, 56, - 54, 58, 373, 54, 54, 57, 57, 57, 57, 57, - 59, 60, 54, 62, 54, 55, 55, 54, 55, 276, + 54, 58, 377, 54, 54, 57, 57, 57, 57, 57, + 59, 60, 54, 62, 54, 55, 55, 54, 55, 279, - 54, 55, 55, 61, 63, 210, 277, 54, 54, 54, - 55, 781, 55, 374, 81, 55, 123, 64, 55, 65, + 54, 55, 55, 61, 63, 212, 280, 54, 54, 54, + 55, 783, 55, 378, 81, 55, 123, 64, 55, 65, 65, 65, 65, 65, 70, 55, 55, 55, 71, 77, - 205, 54, 83, 54, 66, 78, 289, 72, 782, 54, + 207, 54, 83, 54, 66, 78, 292, 72, 784, 54, 74, 54, 75, 75, 75, 75, 75, 81, 67, 68, - 69, 55, 81, 82, 54, 290, 76, 55, 79, 55, - 81, 783, 54, 89, 73, 83, 104, 236, 81, 81, - 83, 90, 55, 84, 105, 237, 91, 203, 83, 85, - 55, 54, 81, 76, 81, 92, 83, 83, 233, 234, - 81, 93, 124, 86, 87, 88, 94, 106, 81, 55, - - 83, 107, 83, 784, 95, 302, 129, 96, 83, 108, - 97, 303, 109, 116, 81, 81, 83, 81, 110, 81, - 98, 117, 196, 99, 182, 81, 111, 100, 112, 81, - 101, 102, 83, 83, 314, 83, 103, 83, 125, 81, - 118, 126, 81, 83, 140, 511, 512, 83, 130, 315, - 119, 120, 113, 121, 114, 127, 194, 83, 139, 122, - 83, 135, 128, 81, 115, 81, 81, 131, 81, 81, - 141, 132, 193, 81, 785, 133, 136, 311, 81, 223, - 134, 83, 142, 83, 83, 312, 83, 83, 143, 81, - 150, 83, 137, 195, 151, 197, 83, 224, 144, 54, - - 786, 138, 787, 152, 198, 145, 146, 83, 147, 153, - 291, 148, 362, 199, 149, 81, 200, 55, 201, 296, - 154, 155, 293, 292, 156, 363, 673, 294, 157, 158, - 674, 159, 160, 83, 788, 297, 338, 161, 57, 57, - 57, 57, 57, 65, 65, 65, 65, 65, 162, 202, - 256, 433, 339, 340, 163, 164, 257, 207, 165, 166, - 258, 440, 434, 167, 168, 169, 441, 212, 212, 212, - 212, 212, 241, 442, 81, 242, 243, 593, 594, 170, - 171, 213, 244, 172, 207, 789, 173, 174, 175, 176, - 177, 178, 83, 790, 376, 791, 179, 377, 74, 180, - - 75, 75, 75, 75, 75, 214, 214, 425, 213, 215, - 215, 215, 215, 215, 76, 181, 81, 588, 183, 633, - 426, 184, 185, 597, 634, 186, 589, 599, 792, 187, - 188, 793, 189, 190, 83, 794, 598, 600, 191, 328, - 328, 76, 601, 329, 329, 329, 329, 329, 212, 212, - 212, 212, 212, 795, 192, 796, 797, 798, 799, 331, - 331, 800, 330, 332, 332, 332, 332, 332, 215, 215, - 215, 215, 215, 215, 215, 215, 215, 215, 445, 329, - 329, 329, 329, 329, 801, 802, 446, 803, 804, 330, - 447, 805, 448, 449, 806, 807, 450, 329, 329, 329, - - 329, 329, 457, 457, 808, 809, 458, 458, 458, 458, - 458, 332, 332, 332, 332, 332, 332, 332, 332, 332, - 332, 458, 458, 458, 458, 458, 458, 458, 458, 458, - 458, 810, 812, 813, 814, 811, 816, 817, 818, 819, - 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, - 815, 830, 831, 832, 833, 834, 835, 836, 837, 838, + 69, 55, 81, 82, 54, 293, 76, 55, 79, 55, + 81, 299, 54, 89, 73, 83, 104, 238, 81, 81, + 83, 90, 55, 84, 105, 239, 91, 300, 83, 85, + 55, 81, 81, 76, 81, 92, 83, 83, 235, 236, + 81, 93, 294, 86, 87, 88, 94, 106, 81, 83, + + 83, 107, 83, 785, 95, 295, 130, 96, 83, 108, + 97, 81, 109, 116, 81, 81, 83, 81, 110, 786, + 98, 117, 198, 99, 184, 140, 111, 100, 112, 83, + 101, 102, 83, 83, 201, 83, 103, 81, 81, 124, + 118, 679, 81, 203, 131, 680, 136, 81, 81, 202, + 119, 120, 113, 121, 114, 83, 83, 81, 127, 122, + 83, 137, 141, 132, 115, 83, 83, 133, 296, 81, + 125, 134, 128, 297, 81, 83, 135, 138, 143, 129, + 81, 787, 81, 306, 144, 126, 139, 83, 142, 307, + 195, 81, 83, 205, 145, 54, 225, 54, 83, 151, + + 83, 146, 147, 152, 148, 517, 518, 149, 318, 83, + 150, 199, 153, 55, 226, 55, 197, 196, 154, 81, + 200, 258, 315, 319, 155, 156, 342, 259, 157, 439, + 316, 260, 158, 159, 788, 160, 161, 83, 599, 600, + 440, 162, 343, 344, 789, 204, 57, 57, 57, 57, + 57, 163, 164, 217, 217, 217, 217, 217, 165, 166, + 639, 594, 167, 168, 366, 640, 790, 169, 170, 171, + 595, 65, 65, 65, 65, 65, 243, 367, 81, 244, + 245, 791, 792, 172, 173, 209, 246, 174, 793, 431, + 175, 176, 177, 178, 179, 180, 83, 603, 380, 794, + + 181, 381, 432, 182, 214, 214, 214, 214, 214, 795, + 604, 74, 209, 75, 75, 75, 75, 75, 215, 183, + 81, 796, 185, 446, 797, 186, 187, 76, 447, 188, + 798, 605, 799, 189, 190, 448, 191, 192, 83, 800, + 801, 606, 193, 216, 216, 215, 607, 217, 217, 217, + 217, 217, 802, 803, 76, 332, 332, 804, 194, 333, + 333, 333, 333, 333, 214, 214, 214, 214, 214, 335, + 335, 805, 806, 336, 336, 336, 336, 336, 334, 217, + 217, 217, 217, 217, 451, 333, 333, 333, 333, 333, + 807, 808, 452, 809, 810, 811, 453, 812, 454, 455, + + 813, 814, 456, 815, 818, 334, 333, 333, 333, 333, + 333, 463, 463, 819, 822, 464, 464, 464, 464, 464, + 336, 336, 336, 336, 336, 336, 336, 336, 336, 336, + 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, + 816, 820, 823, 824, 817, 825, 826, 827, 828, 829, + 830, 831, 832, 833, 834, 835, 836, 821, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, - 869, 870, 871, 872, 873, 875, 874, 874, 877, 874, - - 874, 874, 874, 874, 874, 874, 874, 874, 874, 878, - 879, 880, 881, 882, 874, 874, 874, 874, 874, 883, - 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, - 894, 895, 896, 897, 898, 899, 900, 901, 903, 904, - 906, 907, 908, 909, 874, 910, 911, 912, 913, 914, - 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, + 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, + + 879, 881, 880, 880, 883, 880, 880, 880, 880, 880, + 880, 880, 880, 880, 880, 884, 885, 886, 887, 888, + 880, 880, 880, 880, 880, 889, 890, 891, 892, 893, + 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, + 904, 905, 906, 907, 909, 910, 912, 913, 914, 915, + 880, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, - 935, 874, 874, 902, 902, 936, 902, 902, 902, 902, - 902, 902, 902, 902, 902, 902, 937, 938, 939, 940, - 941, 902, 902, 902, 902, 902, 942, 943, 944, 945, + 935, 936, 937, 938, 939, 940, 941, 880, 880, 908, + 908, 942, 908, 908, 908, 908, 908, 908, 908, 908, + 908, 908, 943, 944, 945, 946, 947, 908, 908, 908, - 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, + 908, 908, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, - 966, 902, 967, 968, 969, 970, 971, 972, 973, 974, + 966, 967, 968, 969, 970, 971, 972, 908, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, - 985, 986, 987, 988, 989, 990, 991, 992, 902, 902, - 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, + 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, + 995, 996, 997, 998, 908, 908, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, - 1043, 1044, 80, 874, 780, 874, 876, 779, 876, 902, - 778, 902, 905, 777, 905, 776, 775, 774, 773, 772, - 771, 770, 769, 768, 767, 766, 765, 764, 763, 762, - 761, 760, 759, 758, 757, 756, 755, 754, 753, 752, - 751, 750, 749, 748, 747, 746, 745, 744, 743, 742, - 741, 740, 739, 738, 737, 736, 735, 734, 733, 732, - 731, 730, 729, 728, 727, 726, 725, 724, 723, 722, - 721, 720, 719, 718, 717, 716, 715, 714, 713, 712, - 711, 710, 709, 708, 707, 706, 705, 704, 703, 702, - 701, 700, 699, 698, 697, 696, 695, 694, 693, 692, - - 691, 690, 689, 688, 687, 686, 685, 684, 683, 682, - 681, 680, 679, 678, 677, 676, 675, 672, 671, 670, - 669, 668, 667, 666, 665, 664, 663, 662, 661, 660, - 659, 658, 657, 656, 655, 654, 653, 652, 651, 650, - 649, 648, 647, 646, 645, 644, 643, 642, 641, 640, - 639, 638, 637, 636, 635, 632, 631, 630, 629, 628, - 627, 626, 625, 624, 623, 622, 621, 620, 619, 618, - 617, 616, 615, 614, 613, 612, 611, 610, 609, 608, - 607, 606, 605, 604, 603, 602, 596, 595, 592, 591, - 590, 587, 586, 585, 584, 583, 582, 581, 580, 579, - - 578, 577, 576, 575, 574, 573, 572, 571, 570, 569, - 568, 567, 566, 565, 564, 563, 562, 561, 560, 559, - 558, 557, 556, 555, 554, 553, 552, 551, 550, 549, - 548, 547, 546, 545, 544, 543, 542, 541, 540, 539, - 538, 537, 536, 535, 534, 533, 532, 531, 530, 529, - 528, 527, 526, 525, 524, 523, 522, 521, 520, 519, - 518, 517, 516, 515, 514, 513, 510, 509, 508, 507, - 506, 505, 504, 503, 502, 501, 500, 499, 498, 497, - 496, 495, 494, 493, 492, 491, 490, 489, 488, 487, - 486, 485, 484, 483, 482, 481, 480, 479, 478, 477, - - 476, 475, 474, 473, 472, 471, 470, 469, 468, 467, - 466, 465, 464, 463, 462, 461, 460, 459, 456, 455, - 454, 453, 452, 451, 444, 443, 439, 438, 437, 436, - 435, 432, 431, 430, 429, 428, 427, 424, 423, 422, - 421, 420, 419, 418, 417, 416, 415, 414, 413, 412, - 411, 410, 409, 408, 407, 406, 405, 404, 403, 402, - 401, 400, 399, 398, 397, 396, 395, 394, 393, 392, - 391, 390, 389, 388, 387, 386, 385, 384, 383, 382, - 381, 380, 379, 378, 375, 372, 371, 370, 369, 368, - 367, 366, 365, 364, 361, 360, 359, 358, 357, 356, - - 355, 354, 353, 352, 351, 350, 349, 348, 347, 346, - 345, 344, 343, 342, 341, 337, 336, 335, 334, 333, - 327, 326, 325, 324, 323, 322, 321, 320, 319, 318, - 317, 316, 313, 310, 309, 308, 307, 306, 305, 304, - 301, 300, 299, 298, 295, 288, 287, 286, 285, 284, - 283, 282, 281, 280, 279, 278, 275, 274, 273, 272, - 271, 270, 269, 268, 267, 266, 265, 264, 263, 262, - 261, 260, 259, 255, 254, 253, 252, 251, 250, 249, - 248, 247, 246, 245, 240, 239, 238, 235, 232, 231, - 230, 229, 228, 227, 226, 225, 222, 221, 220, 219, - - 218, 217, 216, 211, 209, 208, 206, 205, 204, 1045, - 3, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, - 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, - 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, - 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, - 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, - 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, - 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, - 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045 + 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 80, 880, + 782, 880, 882, 781, 882, 908, 780, 908, 911, 779, + 911, 778, 777, 776, 775, 774, 773, 772, 771, 770, + 769, 768, 767, 766, 765, 764, 763, 762, 761, 760, + 759, 758, 757, 756, 755, 754, 753, 752, 751, 750, + 749, 748, 747, 746, 745, 744, 743, 742, 741, 740, + 739, 738, 737, 736, 735, 734, 733, 732, 731, 730, + 729, 728, 727, 726, 725, 724, 723, 722, 721, 720, + 719, 718, 717, 716, 715, 714, 713, 712, 711, 710, + 709, 708, 707, 706, 705, 704, 703, 702, 701, 700, + + 699, 698, 697, 696, 695, 694, 693, 692, 691, 690, + 689, 688, 687, 686, 685, 684, 683, 682, 681, 678, + 677, 676, 675, 674, 673, 672, 671, 670, 669, 668, + 667, 666, 665, 664, 663, 662, 661, 660, 659, 658, + 657, 656, 655, 654, 653, 652, 651, 650, 649, 648, + 647, 646, 645, 644, 643, 642, 641, 638, 637, 636, + 635, 634, 633, 632, 631, 630, 629, 628, 627, 626, + 625, 624, 623, 622, 621, 620, 619, 618, 617, 616, + 615, 614, 613, 612, 611, 610, 609, 608, 602, 601, + 598, 597, 596, 593, 592, 591, 590, 589, 588, 587, + + 586, 585, 584, 583, 582, 581, 580, 579, 578, 577, + 576, 575, 574, 573, 572, 571, 570, 569, 568, 567, + 566, 565, 564, 563, 562, 561, 560, 559, 558, 557, + 556, 555, 554, 553, 552, 551, 550, 549, 548, 547, + 546, 545, 544, 543, 542, 541, 540, 539, 538, 537, + 536, 535, 534, 533, 532, 531, 530, 529, 528, 527, + 526, 525, 524, 523, 522, 521, 520, 519, 516, 515, + 514, 513, 512, 511, 510, 509, 508, 507, 506, 505, + 504, 503, 502, 501, 500, 499, 498, 497, 496, 495, + 494, 493, 492, 491, 490, 489, 488, 487, 486, 485, + + 484, 483, 482, 481, 480, 479, 478, 477, 476, 475, + 474, 473, 472, 471, 470, 469, 468, 467, 466, 465, + 462, 461, 460, 459, 458, 457, 450, 449, 445, 444, + 443, 442, 441, 438, 437, 436, 435, 434, 433, 430, + 429, 428, 427, 426, 425, 424, 423, 422, 421, 420, + 419, 418, 417, 416, 415, 414, 413, 412, 411, 410, + 409, 408, 407, 406, 405, 404, 403, 402, 401, 400, + 399, 398, 397, 396, 395, 394, 393, 392, 391, 390, + 389, 388, 387, 386, 385, 384, 383, 382, 379, 376, + 375, 374, 373, 372, 371, 370, 369, 368, 365, 364, + + 363, 362, 361, 360, 359, 358, 357, 356, 355, 354, + 353, 352, 351, 350, 349, 348, 347, 346, 345, 341, + 340, 339, 338, 337, 331, 330, 329, 328, 327, 326, + 325, 324, 323, 322, 321, 320, 317, 314, 313, 312, + 311, 310, 309, 308, 305, 304, 303, 302, 301, 298, + 291, 290, 289, 288, 287, 286, 285, 284, 283, 282, + 281, 278, 277, 276, 275, 274, 273, 272, 271, 270, + 269, 268, 267, 266, 265, 264, 263, 262, 261, 257, + 256, 255, 254, 253, 252, 251, 250, 249, 248, 247, + 242, 241, 240, 237, 234, 233, 232, 231, 230, 229, + + 228, 227, 224, 223, 222, 221, 220, 219, 218, 213, + 211, 210, 208, 207, 206, 1051, 3, 1051, 1051, 1051, + 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051, + 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051, + 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051, + 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051, + 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051, + 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051, + 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051, + 1051, 1051, 1051, 1051 + } ; -static yyconst short int yy_chk[1389] = +static yyconst short int yy_chk[1395] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -852,150 +857,152 @@ static yyconst short int yy_chk[1389] = 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 5, 7, - 8, 10, 253, 7, 11, 9, 9, 9, 9, 9, - 12, 13, 18, 14, 12, 4, 5, 9, 8, 134, + 8, 10, 255, 7, 11, 9, 9, 9, 9, 9, + 12, 13, 18, 14, 12, 4, 5, 9, 8, 135, - 10, 7, 11, 13, 14, 68, 134, 13, 14, 19, - 18, 728, 12, 253, 29, 9, 29, 15, 10, 15, + 10, 7, 11, 13, 14, 68, 135, 13, 14, 19, + 18, 730, 12, 255, 29, 9, 29, 15, 10, 15, 15, 15, 15, 15, 16, 13, 14, 19, 16, 20, - 68, 15, 29, 20, 15, 21, 147, 16, 729, 21, + 68, 15, 29, 20, 15, 21, 148, 16, 731, 21, 17, 16, 17, 17, 17, 17, 17, 24, 15, 15, - 15, 20, 23, 23, 17, 147, 17, 21, 22, 16, - 32, 730, 22, 24, 16, 24, 26, 99, 26, 33, - 23, 24, 17, 23, 26, 99, 24, 53, 32, 23, - 22, 53, 42, 17, 47, 24, 26, 33, 97, 97, - 30, 24, 30, 23, 23, 23, 25, 26, 25, 53, - - 42, 26, 47, 731, 25, 163, 33, 25, 30, 26, - 25, 163, 26, 28, 36, 28, 25, 27, 27, 45, - 25, 28, 47, 25, 42, 31, 27, 25, 27, 37, - 25, 25, 36, 28, 183, 27, 25, 45, 30, 44, - 28, 31, 34, 31, 37, 399, 399, 37, 34, 183, - 28, 28, 27, 28, 27, 31, 45, 44, 36, 28, - 34, 35, 31, 35, 27, 39, 48, 34, 46, 49, - 37, 34, 44, 38, 734, 34, 35, 181, 50, 88, - 34, 35, 38, 39, 48, 181, 46, 49, 38, 51, - 39, 38, 35, 46, 39, 48, 50, 88, 38, 52, - - 735, 35, 736, 39, 48, 38, 38, 51, 38, 39, - 148, 38, 243, 49, 38, 40, 50, 52, 51, 151, - 40, 40, 149, 148, 40, 243, 593, 149, 40, 40, - 593, 40, 40, 40, 737, 151, 221, 40, 57, 57, - 57, 57, 57, 65, 65, 65, 65, 65, 40, 52, - 115, 312, 221, 221, 40, 40, 115, 65, 40, 40, - 115, 318, 312, 40, 41, 41, 318, 74, 74, 74, - 74, 74, 103, 318, 41, 103, 103, 493, 493, 41, - 41, 74, 103, 41, 65, 738, 41, 41, 41, 41, - 41, 41, 41, 740, 255, 741, 41, 255, 75, 41, - - 75, 75, 75, 75, 75, 76, 76, 305, 74, 76, - 76, 76, 76, 76, 75, 41, 43, 489, 43, 541, - 305, 43, 43, 497, 541, 43, 489, 498, 742, 43, - 43, 743, 43, 43, 43, 746, 497, 498, 43, 207, - 207, 75, 498, 207, 207, 207, 207, 207, 212, 212, - 212, 212, 212, 747, 43, 748, 750, 751, 752, 213, - 213, 753, 212, 213, 213, 213, 213, 213, 214, 214, - 214, 214, 214, 215, 215, 215, 215, 215, 321, 328, - 328, 328, 328, 328, 755, 756, 321, 757, 758, 212, - 321, 759, 321, 321, 760, 763, 321, 329, 329, 329, - - 329, 329, 330, 330, 764, 765, 330, 330, 330, 330, - 330, 331, 331, 331, 331, 331, 332, 332, 332, 332, - 332, 457, 457, 457, 457, 457, 458, 458, 458, 458, - 458, 766, 767, 768, 770, 766, 771, 772, 773, 774, - 775, 776, 777, 779, 782, 784, 785, 786, 787, 789, - 770, 790, 791, 793, 794, 795, 796, 797, 799, 801, - 802, 803, 805, 806, 807, 808, 809, 810, 811, 812, - 813, 814, 815, 816, 817, 818, 819, 820, 822, 825, - 827, 828, 829, 830, 831, 832, 833, 834, 836, 837, - 838, 839, 840, 841, 842, 844, 845, 845, 846, 845, - - 845, 845, 845, 845, 845, 845, 845, 845, 845, 847, - 848, 849, 850, 851, 845, 845, 845, 845, 845, 852, - 853, 854, 855, 856, 857, 858, 859, 860, 862, 863, - 864, 865, 866, 868, 869, 870, 872, 873, 877, 878, - 880, 881, 882, 883, 845, 885, 886, 887, 888, 889, - 890, 891, 892, 894, 895, 896, 897, 898, 899, 900, - 903, 906, 907, 908, 909, 910, 911, 912, 913, 914, - 915, 845, 845, 879, 879, 916, 879, 879, 879, 879, - 879, 879, 879, 879, 879, 879, 918, 920, 921, 922, - 925, 879, 879, 879, 879, 879, 926, 927, 928, 929, - - 930, 931, 932, 934, 935, 936, 937, 938, 939, 940, - 941, 942, 943, 944, 946, 948, 949, 950, 951, 952, - 953, 879, 954, 955, 956, 957, 958, 959, 960, 961, - 965, 966, 967, 969, 970, 971, 972, 973, 974, 975, - 976, 977, 978, 980, 981, 982, 983, 984, 879, 879, - 985, 986, 987, 988, 989, 990, 993, 994, 995, 996, - 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, - 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1017, - 1018, 1019, 1020, 1021, 1023, 1024, 1026, 1027, 1028, 1029, - 1030, 1031, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, - - 1042, 1043, 1046, 1047, 727, 1047, 1048, 726, 1048, 1049, - 725, 1049, 1050, 724, 1050, 723, 722, 721, 720, 719, - 718, 717, 716, 715, 714, 713, 712, 711, 710, 709, - 707, 706, 704, 703, 702, 701, 700, 699, 697, 695, - 694, 693, 692, 691, 690, 689, 688, 687, 686, 685, - 684, 683, 682, 681, 680, 679, 678, 677, 675, 674, - 672, 670, 669, 668, 667, 664, 663, 662, 661, 660, - 659, 658, 657, 656, 655, 653, 651, 650, 649, 648, - 647, 646, 642, 641, 640, 638, 636, 635, 634, 633, - 632, 631, 630, 629, 628, 626, 624, 621, 620, 617, - - 616, 615, 614, 611, 610, 609, 606, 605, 603, 602, - 601, 600, 599, 598, 597, 596, 594, 591, 590, 589, - 588, 587, 584, 583, 582, 581, 580, 578, 577, 576, - 575, 574, 573, 571, 568, 567, 566, 565, 562, 561, - 560, 559, 558, 557, 556, 553, 552, 550, 549, 548, - 547, 546, 545, 543, 542, 540, 539, 538, 537, 536, - 535, 534, 533, 532, 530, 529, 528, 527, 526, 523, - 521, 520, 519, 516, 514, 513, 512, 511, 510, 508, - 507, 505, 504, 502, 501, 500, 496, 494, 492, 491, - 490, 488, 487, 486, 485, 484, 483, 482, 481, 480, - - 479, 478, 477, 476, 475, 474, 473, 472, 471, 470, - 469, 468, 467, 465, 464, 463, 462, 461, 460, 459, - 456, 455, 454, 453, 452, 451, 448, 443, 442, 441, - 440, 438, 437, 436, 435, 434, 433, 432, 430, 429, - 428, 427, 426, 425, 423, 422, 420, 419, 418, 417, - 416, 414, 413, 412, 411, 410, 409, 408, 407, 406, - 405, 404, 403, 402, 401, 400, 398, 396, 394, 393, - 391, 390, 389, 388, 387, 386, 385, 383, 381, 380, - 379, 377, 376, 375, 374, 373, 372, 371, 370, 368, - 367, 366, 363, 362, 361, 360, 359, 358, 356, 354, - - 353, 352, 351, 350, 349, 347, 346, 345, 344, 343, - 342, 340, 339, 338, 336, 335, 334, 333, 327, 326, - 325, 324, 323, 322, 320, 319, 317, 316, 315, 314, - 313, 311, 310, 309, 308, 307, 306, 304, 303, 302, - 301, 300, 299, 298, 297, 296, 295, 294, 293, 292, - 291, 290, 289, 288, 287, 286, 285, 284, 283, 282, - 281, 280, 279, 278, 277, 276, 275, 274, 273, 272, - 271, 270, 269, 268, 267, 266, 265, 263, 262, 261, - 260, 259, 258, 256, 254, 252, 251, 250, 249, 248, - 247, 246, 245, 244, 242, 241, 240, 239, 238, 237, - - 236, 235, 234, 233, 232, 231, 230, 229, 228, 227, - 226, 225, 224, 223, 222, 220, 219, 218, 217, 216, - 205, 204, 201, 200, 199, 198, 197, 196, 195, 194, - 193, 192, 182, 180, 176, 173, 167, 166, 165, 164, - 162, 154, 153, 152, 150, 145, 144, 143, 142, 141, - 140, 139, 138, 137, 136, 135, 133, 132, 131, 130, - 129, 128, 126, 125, 124, 123, 122, 121, 120, 119, - 118, 117, 116, 114, 113, 112, 111, 110, 109, 108, - 107, 106, 105, 104, 102, 101, 100, 98, 96, 95, - 94, 93, 92, 91, 90, 89, 87, 86, 85, 84, - - 83, 82, 81, 69, 67, 66, 64, 55, 54, 3, - 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, - 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, - 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, - 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, - 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, - 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, - 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, - 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045 + 15, 20, 23, 23, 17, 148, 17, 21, 22, 16, + 32, 152, 22, 24, 16, 24, 26, 99, 26, 33, + 23, 24, 17, 23, 26, 99, 24, 152, 32, 23, + 22, 36, 42, 17, 47, 24, 26, 33, 97, 97, + 49, 24, 149, 23, 23, 23, 25, 26, 25, 36, + + 42, 26, 47, 732, 25, 149, 33, 25, 49, 26, + 25, 50, 26, 28, 51, 28, 25, 27, 27, 733, + 25, 28, 47, 25, 42, 36, 27, 25, 27, 50, + 25, 25, 51, 28, 49, 27, 25, 30, 34, 30, + 28, 599, 31, 51, 34, 599, 35, 37, 35, 50, + 28, 28, 27, 28, 27, 30, 34, 44, 31, 28, + 31, 35, 37, 34, 27, 37, 35, 34, 150, 38, + 30, 34, 31, 150, 39, 44, 34, 35, 38, 31, + 45, 734, 48, 165, 38, 30, 35, 38, 37, 165, + 44, 46, 39, 53, 38, 52, 88, 53, 45, 39, + + 48, 38, 38, 39, 38, 404, 404, 38, 185, 46, + 38, 48, 39, 52, 88, 53, 46, 45, 39, 40, + 48, 115, 183, 185, 40, 40, 223, 115, 40, 316, + 183, 115, 40, 40, 735, 40, 40, 40, 499, 499, + 316, 40, 223, 223, 736, 52, 57, 57, 57, 57, + 57, 40, 40, 216, 216, 216, 216, 216, 40, 40, + 547, 495, 40, 40, 245, 547, 737, 40, 41, 41, + 495, 65, 65, 65, 65, 65, 103, 245, 41, 103, + 103, 740, 741, 41, 41, 65, 103, 41, 742, 309, + 41, 41, 41, 41, 41, 41, 41, 503, 257, 743, + + 41, 257, 309, 41, 74, 74, 74, 74, 74, 744, + 503, 75, 65, 75, 75, 75, 75, 75, 74, 41, + 43, 746, 43, 322, 747, 43, 43, 75, 322, 43, + 748, 504, 749, 43, 43, 322, 43, 43, 43, 752, + 753, 504, 43, 76, 76, 74, 504, 76, 76, 76, + 76, 76, 754, 756, 75, 209, 209, 757, 43, 209, + 209, 209, 209, 209, 214, 214, 214, 214, 214, 215, + 215, 758, 759, 215, 215, 215, 215, 215, 214, 217, + 217, 217, 217, 217, 325, 332, 332, 332, 332, 332, + 761, 762, 325, 763, 764, 765, 325, 766, 325, 325, + + 769, 770, 325, 771, 773, 214, 333, 333, 333, 333, + 333, 334, 334, 774, 777, 334, 334, 334, 334, 334, + 335, 335, 335, 335, 335, 336, 336, 336, 336, 336, + 463, 463, 463, 463, 463, 464, 464, 464, 464, 464, + 772, 776, 778, 779, 772, 780, 781, 782, 783, 785, + 788, 790, 791, 792, 793, 795, 796, 776, 797, 799, + 800, 801, 802, 803, 805, 807, 808, 809, 811, 812, + 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, + 823, 824, 825, 826, 828, 831, 833, 834, 835, 836, + 837, 838, 839, 840, 842, 843, 844, 845, 846, 847, + + 848, 850, 851, 851, 852, 851, 851, 851, 851, 851, + 851, 851, 851, 851, 851, 853, 854, 855, 856, 857, + 851, 851, 851, 851, 851, 858, 859, 860, 861, 862, + 863, 864, 865, 866, 868, 869, 870, 871, 872, 874, + 875, 876, 878, 879, 883, 884, 886, 887, 888, 889, + 851, 891, 892, 893, 894, 895, 896, 897, 898, 900, + 901, 902, 903, 904, 905, 906, 909, 912, 913, 914, + 915, 916, 917, 918, 919, 920, 921, 851, 851, 885, + 885, 922, 885, 885, 885, 885, 885, 885, 885, 885, + 885, 885, 924, 926, 927, 928, 931, 885, 885, 885, + + 885, 885, 932, 933, 934, 935, 936, 937, 938, 940, + 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, + 952, 954, 955, 956, 957, 958, 959, 885, 960, 961, + 962, 963, 964, 965, 966, 967, 971, 972, 973, 975, + 976, 977, 978, 979, 980, 981, 982, 983, 984, 986, + 987, 988, 989, 990, 885, 885, 991, 992, 993, 994, + 995, 996, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, + 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, + 1017, 1018, 1019, 1020, 1021, 1023, 1024, 1025, 1026, 1027, + 1029, 1030, 1032, 1033, 1034, 1035, 1036, 1037, 1039, 1040, + + 1041, 1042, 1043, 1044, 1045, 1046, 1048, 1049, 1052, 1053, + 729, 1053, 1054, 728, 1054, 1055, 727, 1055, 1056, 726, + 1056, 725, 724, 723, 722, 721, 720, 719, 718, 717, + 716, 715, 713, 712, 710, 709, 708, 707, 706, 705, + 703, 701, 700, 699, 698, 697, 696, 695, 694, 693, + 692, 691, 690, 689, 688, 687, 686, 685, 684, 683, + 681, 680, 678, 676, 675, 674, 673, 670, 669, 668, + 667, 666, 665, 664, 663, 662, 661, 659, 657, 656, + 655, 654, 653, 652, 648, 647, 646, 644, 642, 641, + 640, 639, 638, 637, 636, 635, 634, 632, 630, 627, + + 626, 623, 622, 621, 620, 617, 616, 615, 612, 611, + 609, 608, 607, 606, 605, 604, 603, 602, 600, 597, + 596, 595, 594, 593, 590, 589, 588, 587, 586, 584, + 583, 582, 581, 580, 579, 577, 574, 573, 572, 571, + 568, 567, 566, 565, 564, 563, 562, 559, 558, 556, + 555, 554, 553, 552, 551, 549, 548, 546, 545, 544, + 543, 542, 541, 540, 539, 538, 536, 535, 534, 533, + 532, 529, 527, 526, 525, 522, 520, 519, 518, 517, + 516, 514, 513, 511, 510, 508, 507, 506, 502, 500, + 498, 497, 496, 494, 493, 492, 491, 490, 489, 488, + + 487, 486, 485, 484, 483, 482, 481, 480, 479, 478, + 477, 476, 475, 474, 473, 471, 470, 469, 468, 467, + 466, 465, 462, 461, 460, 459, 458, 457, 454, 449, + 448, 447, 446, 444, 443, 442, 441, 440, 439, 438, + 436, 435, 434, 433, 432, 431, 429, 428, 425, 424, + 423, 422, 421, 419, 418, 417, 416, 415, 414, 413, + 412, 411, 410, 409, 408, 407, 406, 405, 403, 401, + 399, 398, 396, 395, 394, 393, 391, 390, 389, 387, + 385, 384, 383, 381, 380, 379, 378, 377, 376, 375, + 374, 372, 371, 370, 367, 366, 365, 364, 363, 362, + + 360, 358, 357, 356, 355, 354, 353, 351, 350, 349, + 348, 347, 346, 344, 343, 342, 340, 339, 338, 337, + 331, 330, 329, 328, 327, 326, 324, 323, 321, 320, + 319, 318, 317, 315, 314, 313, 312, 311, 310, 308, + 307, 306, 305, 304, 303, 302, 301, 300, 299, 298, + 297, 296, 295, 294, 293, 292, 291, 290, 289, 288, + 287, 286, 285, 284, 283, 282, 281, 280, 279, 278, + 277, 276, 275, 274, 273, 272, 271, 270, 269, 268, + 267, 265, 264, 263, 262, 261, 260, 258, 256, 254, + 253, 252, 251, 250, 249, 248, 247, 246, 244, 243, + + 242, 241, 240, 239, 238, 237, 236, 235, 234, 233, + 232, 231, 230, 229, 228, 227, 226, 225, 224, 222, + 221, 220, 219, 218, 207, 206, 203, 202, 201, 200, + 199, 198, 197, 196, 195, 194, 184, 182, 178, 175, + 169, 168, 167, 166, 164, 163, 155, 154, 153, 151, + 146, 145, 144, 143, 142, 141, 140, 139, 138, 137, + 136, 134, 133, 132, 131, 130, 129, 127, 126, 125, + 124, 123, 122, 121, 120, 119, 118, 117, 116, 114, + 113, 112, 111, 110, 109, 108, 107, 106, 105, 104, + 102, 101, 100, 98, 96, 95, 94, 93, 92, 91, + + 90, 89, 87, 86, 85, 84, 83, 82, 81, 69, + 67, 66, 64, 55, 54, 3, 1051, 1051, 1051, 1051, + 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051, + 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051, + 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051, + 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051, + 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051, + 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051, + 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051, + 1051, 1051, 1051, 1051 + } ; static yy_state_type yy_last_accepting_state; @@ -1013,7 +1020,7 @@ char *yytext; #define INITIAL 0 #line 2 "Gmsh.l" -// $Id: Gmsh.yy.cpp,v 1.171 2003-11-29 19:29:27 geuzaine Exp $ +// $Id: Gmsh.yy.cpp,v 1.172 2003-12-01 21:51:23 geuzaine Exp $ // // Copyright (C) 1997-2003 C. Geuzaine, J.-F. Remacle // @@ -1075,7 +1082,7 @@ void skipline(void); && ferror( yyin ) ) \ YY_FATAL_ERROR( "input in flex scanner failed" ); -#line 1079 "Gmsh.yy.cpp" +#line 1086 "Gmsh.yy.cpp" /* Macros after this point can all be overridden by user definitions in * section 1. @@ -1229,7 +1236,7 @@ YY_DECL #line 82 "Gmsh.l" -#line 1233 "Gmsh.yy.cpp" +#line 1240 "Gmsh.yy.cpp" if ( yy_init ) { @@ -1280,13 +1287,13 @@ yy_match: while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 1046 ) + if ( yy_current_state >= 1052 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; ++yy_cp; } - while ( yy_base[yy_current_state] != 1311 ); + while ( yy_base[yy_current_state] != 1317 ); yy_find_action: yy_act = yy_accept[yy_current_state]; @@ -1670,112 +1677,112 @@ return tFunction; case 72: YY_RULE_SETUP #line 162 "Gmsh.l" -return tHypot; +return tHide; YY_BREAK case 73: YY_RULE_SETUP -#line 164 "Gmsh.l" -return tIn; +#line 163 "Gmsh.l" +return tHypot; YY_BREAK case 74: YY_RULE_SETUP #line 165 "Gmsh.l" -return tIf; +return tIn; YY_BREAK case 75: YY_RULE_SETUP #line 166 "Gmsh.l" -return tIntersect; +return tIf; YY_BREAK case 76: YY_RULE_SETUP -#line 168 "Gmsh.l" -return tKnots; +#line 167 "Gmsh.l" +return tIntersect; YY_BREAK case 77: YY_RULE_SETUP -#line 170 "Gmsh.l" -return tLength; +#line 169 "Gmsh.l" +return tKnots; YY_BREAK case 78: YY_RULE_SETUP #line 171 "Gmsh.l" -return tLine; +return tLength; YY_BREAK case 79: YY_RULE_SETUP #line 172 "Gmsh.l" -return tLoop; +return tLine; YY_BREAK case 80: YY_RULE_SETUP #line 173 "Gmsh.l" -return tLog; +return tLoop; YY_BREAK case 81: YY_RULE_SETUP #line 174 "Gmsh.l" -return tLog10; +return tLog; YY_BREAK case 82: YY_RULE_SETUP #line 175 "Gmsh.l" -return tLayers; +return tLog10; YY_BREAK case 83: YY_RULE_SETUP -#line 177 "Gmsh.l" -return tModulo; +#line 176 "Gmsh.l" +return tLayers; YY_BREAK case 84: YY_RULE_SETUP #line 178 "Gmsh.l" -return tMesh; +return tModulo; YY_BREAK case 85: YY_RULE_SETUP #line 179 "Gmsh.l" -return tMPI_Rank; +return tMesh; YY_BREAK case 86: YY_RULE_SETUP #line 180 "Gmsh.l" -return tMPI_Size; +return tMPI_Rank; YY_BREAK case 87: YY_RULE_SETUP -#line 182 "Gmsh.l" -return tNurbs; +#line 181 "Gmsh.l" +return tMPI_Size; YY_BREAK case 88: YY_RULE_SETUP -#line 184 "Gmsh.l" -return tOrder; +#line 183 "Gmsh.l" +return tNurbs; YY_BREAK case 89: YY_RULE_SETUP -#line 186 "Gmsh.l" -return tPhysical; +#line 185 "Gmsh.l" +return tOrder; YY_BREAK case 90: YY_RULE_SETUP #line 187 "Gmsh.l" -return tPi; +return tPhysical; YY_BREAK case 91: YY_RULE_SETUP #line 188 "Gmsh.l" -return tPlane; +return tPi; YY_BREAK case 92: YY_RULE_SETUP #line 189 "Gmsh.l" -return tPoint; +return tPlane; YY_BREAK case 93: YY_RULE_SETUP #line 190 "Gmsh.l" -return tProgression; +return tPoint; YY_BREAK case 94: YY_RULE_SETUP @@ -1785,560 +1792,570 @@ return tProgression; case 95: YY_RULE_SETUP #line 192 "Gmsh.l" -return tParametric; +return tProgression; YY_BREAK case 96: YY_RULE_SETUP #line 193 "Gmsh.l" -return tPrintf; +return tParametric; YY_BREAK case 97: YY_RULE_SETUP #line 194 "Gmsh.l" -return tPlugin; +return tPrintf; YY_BREAK case 98: YY_RULE_SETUP -#line 196 "Gmsh.l" -return tRecombine; +#line 195 "Gmsh.l" +return tPlugin; YY_BREAK case 99: YY_RULE_SETUP #line 197 "Gmsh.l" -return tRotate; +return tRecombine; YY_BREAK case 100: YY_RULE_SETUP #line 198 "Gmsh.l" -return tRuled; +return tRotate; YY_BREAK case 101: YY_RULE_SETUP #line 199 "Gmsh.l" -return tRand; +return tRuled; YY_BREAK case 102: YY_RULE_SETUP #line 200 "Gmsh.l" -return tReturn; +return tRand; YY_BREAK case 103: YY_RULE_SETUP -#line 202 "Gmsh.l" -return tSqrt; +#line 201 "Gmsh.l" +return tReturn; YY_BREAK case 104: YY_RULE_SETUP #line 203 "Gmsh.l" -return tSin; +return tSqrt; YY_BREAK case 105: YY_RULE_SETUP #line 204 "Gmsh.l" -return tSinh; +return tSin; YY_BREAK case 106: YY_RULE_SETUP #line 205 "Gmsh.l" -return tSpline; +return tSinh; YY_BREAK case 107: YY_RULE_SETUP #line 206 "Gmsh.l" -return tSurface; +return tSpline; YY_BREAK case 108: YY_RULE_SETUP #line 207 "Gmsh.l" -return tSymmetry; +return tSurface; YY_BREAK case 109: YY_RULE_SETUP #line 208 "Gmsh.l" -return tSprintf; +return tSymmetry; YY_BREAK case 110: YY_RULE_SETUP #line 209 "Gmsh.l" -return tStrCat; +return tSprintf; YY_BREAK case 111: YY_RULE_SETUP #line 210 "Gmsh.l" -return tStrPrefix; +return tStrCat; YY_BREAK case 112: YY_RULE_SETUP -#line 212 "Gmsh.l" -return tTriangulation; +#line 211 "Gmsh.l" +return tStrPrefix; YY_BREAK case 113: YY_RULE_SETUP -#line 213 "Gmsh.l" -return tTransfinite; +#line 212 "Gmsh.l" +return tShow; YY_BREAK case 114: YY_RULE_SETUP #line 214 "Gmsh.l" -return tTranslate; +return tTriangulation; YY_BREAK case 115: YY_RULE_SETUP #line 215 "Gmsh.l" -return tTanh; +return tTransfinite; YY_BREAK case 116: YY_RULE_SETUP #line 216 "Gmsh.l" -return tTan; +return tTranslate; YY_BREAK case 117: YY_RULE_SETUP #line 217 "Gmsh.l" -return tTrimmed; +return tTanh; YY_BREAK case 118: YY_RULE_SETUP -#line 219 "Gmsh.l" -return tUsing; +#line 218 "Gmsh.l" +return tTan; YY_BREAK case 119: YY_RULE_SETUP -#line 221 "Gmsh.l" -return tVolume; +#line 219 "Gmsh.l" +return tTrimmed; YY_BREAK case 120: YY_RULE_SETUP -#line 223 "Gmsh.l" -return tWith; +#line 221 "Gmsh.l" +return tUsing; YY_BREAK case 121: YY_RULE_SETUP -#line 225 "Gmsh.l" -return tScalarPoint; +#line 223 "Gmsh.l" +return tVolume; YY_BREAK case 122: YY_RULE_SETUP -#line 226 "Gmsh.l" -return tVectorPoint; +#line 225 "Gmsh.l" +return tWith; YY_BREAK case 123: YY_RULE_SETUP #line 227 "Gmsh.l" -return tTensorPoint; +return tScalarPoint; YY_BREAK case 124: YY_RULE_SETUP #line 228 "Gmsh.l" -return tScalarLine; +return tVectorPoint; YY_BREAK case 125: YY_RULE_SETUP #line 229 "Gmsh.l" -return tVectorLine; +return tTensorPoint; YY_BREAK case 126: YY_RULE_SETUP #line 230 "Gmsh.l" -return tTensorLine; +return tScalarLine; YY_BREAK case 127: YY_RULE_SETUP #line 231 "Gmsh.l" -return tScalarTriangle; +return tVectorLine; YY_BREAK case 128: YY_RULE_SETUP #line 232 "Gmsh.l" -return tVectorTriangle; +return tTensorLine; YY_BREAK case 129: YY_RULE_SETUP #line 233 "Gmsh.l" -return tTensorTriangle; +return tScalarTriangle; YY_BREAK case 130: YY_RULE_SETUP #line 234 "Gmsh.l" -return tScalarQuadrangle; +return tVectorTriangle; YY_BREAK case 131: YY_RULE_SETUP #line 235 "Gmsh.l" -return tVectorQuadrangle; +return tTensorTriangle; YY_BREAK case 132: YY_RULE_SETUP #line 236 "Gmsh.l" -return tTensorQuadrangle; +return tScalarQuadrangle; YY_BREAK case 133: YY_RULE_SETUP #line 237 "Gmsh.l" -return tScalarTetrahedron; +return tVectorQuadrangle; YY_BREAK case 134: YY_RULE_SETUP #line 238 "Gmsh.l" -return tVectorTetrahedron; +return tTensorQuadrangle; YY_BREAK case 135: YY_RULE_SETUP #line 239 "Gmsh.l" -return tTensorTetrahedron; +return tScalarTetrahedron; YY_BREAK case 136: YY_RULE_SETUP #line 240 "Gmsh.l" -return tScalarHexahedron; +return tVectorTetrahedron; YY_BREAK case 137: YY_RULE_SETUP #line 241 "Gmsh.l" -return tVectorHexahedron; +return tTensorTetrahedron; YY_BREAK case 138: YY_RULE_SETUP #line 242 "Gmsh.l" -return tTensorHexahedron; +return tScalarHexahedron; YY_BREAK case 139: YY_RULE_SETUP #line 243 "Gmsh.l" -return tScalarPrism; +return tVectorHexahedron; YY_BREAK case 140: YY_RULE_SETUP #line 244 "Gmsh.l" -return tVectorPrism; +return tTensorHexahedron; YY_BREAK case 141: YY_RULE_SETUP #line 245 "Gmsh.l" -return tTensorPrism; +return tScalarPrism; YY_BREAK case 142: YY_RULE_SETUP #line 246 "Gmsh.l" -return tScalarPyramid; +return tVectorPrism; YY_BREAK case 143: YY_RULE_SETUP #line 247 "Gmsh.l" -return tVectorPyramid; +return tTensorPrism; YY_BREAK case 144: YY_RULE_SETUP #line 248 "Gmsh.l" -return tTensorPyramid; +return tScalarPyramid; YY_BREAK case 145: YY_RULE_SETUP #line 249 "Gmsh.l" -return tText2D; +return tVectorPyramid; YY_BREAK case 146: YY_RULE_SETUP #line 250 "Gmsh.l" -return tText3D; +return tTensorPyramid; YY_BREAK case 147: YY_RULE_SETUP -#line 253 "Gmsh.l" -return tCARTESIAN_POINT; +#line 251 "Gmsh.l" +return tText2D; YY_BREAK case 148: YY_RULE_SETUP -#line 254 "Gmsh.l" -return tB_SPLINE_SURFACE_WITH_KNOTS; +#line 252 "Gmsh.l" +return tText3D; YY_BREAK case 149: YY_RULE_SETUP #line 255 "Gmsh.l" -return tB_SPLINE_CURVE_WITH_KNOTS; +return tCARTESIAN_POINT; YY_BREAK case 150: YY_RULE_SETUP #line 256 "Gmsh.l" -return tUNSPECIFIED; +return tB_SPLINE_SURFACE_WITH_KNOTS; YY_BREAK case 151: YY_RULE_SETUP #line 257 "Gmsh.l" -return tCONTINUOUS; +return tB_SPLINE_CURVE_WITH_KNOTS; YY_BREAK case 152: YY_RULE_SETUP #line 258 "Gmsh.l" -return tFALSE; +return tUNSPECIFIED; YY_BREAK case 153: YY_RULE_SETUP #line 259 "Gmsh.l" -return tTRUE; +return tCONTINUOUS; YY_BREAK case 154: YY_RULE_SETUP #line 260 "Gmsh.l" -return tU; +return tFALSE; YY_BREAK case 155: YY_RULE_SETUP #line 261 "Gmsh.l" -return tV; +return tTRUE; YY_BREAK case 156: YY_RULE_SETUP #line 262 "Gmsh.l" -return tORIENTED_EDGE; +return tU; YY_BREAK case 157: YY_RULE_SETUP #line 263 "Gmsh.l" -return tEDGE_CURVE; +return tV; YY_BREAK case 158: YY_RULE_SETUP #line 264 "Gmsh.l" -return tEDGE_LOOP; +return tORIENTED_EDGE; YY_BREAK case 159: YY_RULE_SETUP #line 265 "Gmsh.l" -return tELLIPSE; +return tEDGE_CURVE; YY_BREAK case 160: YY_RULE_SETUP #line 266 "Gmsh.l" -return tVERTEX_POINT; +return tEDGE_LOOP; YY_BREAK case 161: YY_RULE_SETUP #line 267 "Gmsh.l" -return tFACE_OUTER_BOUND; +return tELLIPSE; YY_BREAK case 162: YY_RULE_SETUP #line 268 "Gmsh.l" -return tFACE_BOUND; +return tVERTEX_POINT; YY_BREAK case 163: YY_RULE_SETUP #line 269 "Gmsh.l" -return tADVANCED_FACE; +return tFACE_OUTER_BOUND; YY_BREAK case 164: YY_RULE_SETUP #line 270 "Gmsh.l" -return tLine; +return tFACE_BOUND; YY_BREAK case 165: YY_RULE_SETUP #line 271 "Gmsh.l" -return tVECTOR; +return tADVANCED_FACE; YY_BREAK case 166: YY_RULE_SETUP #line 272 "Gmsh.l" -return tDIRECTION; +return tLine; YY_BREAK case 167: YY_RULE_SETUP #line 273 "Gmsh.l" -return tAXIS2_PLACEMENT_3D; +return tVECTOR; YY_BREAK case 168: YY_RULE_SETUP #line 274 "Gmsh.l" -return tPLANE; +return tDIRECTION; YY_BREAK case 169: YY_RULE_SETUP #line 275 "Gmsh.l" -return tHEADER; +return tAXIS2_PLACEMENT_3D; YY_BREAK case 170: YY_RULE_SETUP #line 276 "Gmsh.l" -return tDATA; +return tPLANE; YY_BREAK case 171: YY_RULE_SETUP #line 277 "Gmsh.l" -return tFILE_SCHEMA; +return tHEADER; YY_BREAK case 172: YY_RULE_SETUP #line 278 "Gmsh.l" -return tFILE_NAME; +return tDATA; YY_BREAK case 173: YY_RULE_SETUP #line 279 "Gmsh.l" -return tFILE_DESCRIPTION; +return tFILE_SCHEMA; YY_BREAK case 174: YY_RULE_SETUP #line 280 "Gmsh.l" -return tISO; +return tFILE_NAME; YY_BREAK case 175: YY_RULE_SETUP #line 281 "Gmsh.l" -return tENDISO; +return tFILE_DESCRIPTION; YY_BREAK case 176: YY_RULE_SETUP #line 282 "Gmsh.l" -return tENDSEC; +return tISO; YY_BREAK case 177: YY_RULE_SETUP #line 283 "Gmsh.l" -return tCLOSED_SHELL; +return tENDISO; YY_BREAK case 178: YY_RULE_SETUP #line 284 "Gmsh.l" -return tADVANCED_BREP_SHAPE_REPRESENTATION; +return tENDSEC; YY_BREAK case 179: YY_RULE_SETUP #line 285 "Gmsh.l" -return tMANIFOLD_SOLID_BREP; +return tCLOSED_SHELL; YY_BREAK case 180: YY_RULE_SETUP #line 286 "Gmsh.l" -return tCYLINDRICAL_SURFACE; +return tADVANCED_BREP_SHAPE_REPRESENTATION; YY_BREAK case 181: YY_RULE_SETUP #line 287 "Gmsh.l" -return tCONICAL_SURFACE; +return tMANIFOLD_SOLID_BREP; YY_BREAK case 182: YY_RULE_SETUP #line 288 "Gmsh.l" -return tTOROIDAL_SURFACE; +return tCYLINDRICAL_SURFACE; YY_BREAK case 183: YY_RULE_SETUP #line 289 "Gmsh.l" -return tCIRCLE; +return tCONICAL_SURFACE; YY_BREAK case 184: YY_RULE_SETUP #line 290 "Gmsh.l" -return tTRIMMED_CURVE; +return tTOROIDAL_SURFACE; YY_BREAK case 185: YY_RULE_SETUP #line 291 "Gmsh.l" -return tGEOMETRIC_SET; +return tCIRCLE; YY_BREAK case 186: YY_RULE_SETUP #line 292 "Gmsh.l" -return tCOMPOSITE_CURVE_SEGMENT; +return tTRIMMED_CURVE; YY_BREAK case 187: YY_RULE_SETUP #line 293 "Gmsh.l" -return tCOMPOSITE_CURVE; +return tGEOMETRIC_SET; YY_BREAK case 188: YY_RULE_SETUP #line 294 "Gmsh.l" -return tPRODUCT_DEFINITION; +return tCOMPOSITE_CURVE_SEGMENT; YY_BREAK case 189: YY_RULE_SETUP #line 295 "Gmsh.l" -return tPRODUCT_DEFINITION_SHAPE; +return tCOMPOSITE_CURVE; YY_BREAK case 190: YY_RULE_SETUP #line 296 "Gmsh.l" -return tSHAPE_DEFINITION_REPRESENTATION; +return tPRODUCT_DEFINITION; YY_BREAK case 191: YY_RULE_SETUP -#line 298 "Gmsh.l" -return tVertex; +#line 297 "Gmsh.l" +return tPRODUCT_DEFINITION_SHAPE; YY_BREAK case 192: YY_RULE_SETUP -#line 299 "Gmsh.l" -return tFacet; +#line 298 "Gmsh.l" +return tSHAPE_DEFINITION_REPRESENTATION; YY_BREAK case 193: YY_RULE_SETUP #line 300 "Gmsh.l" -return tNormal; +return tVertex; YY_BREAK case 194: YY_RULE_SETUP #line 301 "Gmsh.l" -return tOuter; +return tFacet; YY_BREAK case 195: YY_RULE_SETUP #line 302 "Gmsh.l" -return tLoopSTL; +return tNormal; YY_BREAK case 196: YY_RULE_SETUP #line 303 "Gmsh.l" -return tEndLoop; +return tOuter; YY_BREAK case 197: YY_RULE_SETUP #line 304 "Gmsh.l" -return tEndFacet; +return tLoopSTL; YY_BREAK case 198: YY_RULE_SETUP #line 305 "Gmsh.l" -{skipline();return tEndSolid;} +return tEndLoop; YY_BREAK case 199: YY_RULE_SETUP #line 306 "Gmsh.l" -{skipline();return tSolid;} +return tEndFacet; YY_BREAK case 200: YY_RULE_SETUP -#line 308 "Gmsh.l" -{yylval.d = (double)atoi((char*)(yytext+1)); return tDOUBLE;} +#line 307 "Gmsh.l" +{skipline();return tEndSolid;} YY_BREAK case 201: -#line 311 "Gmsh.l" +YY_RULE_SETUP +#line 308 "Gmsh.l" +{skipline();return tSolid;} + YY_BREAK case 202: -#line 312 "Gmsh.l" +YY_RULE_SETUP +#line 310 "Gmsh.l" +{yylval.d = (double)atoi((char*)(yytext+1)); return tDOUBLE;} + YY_BREAK case 203: #line 313 "Gmsh.l" case 204: +#line 314 "Gmsh.l" +case 205: +#line 315 "Gmsh.l" +case 206: YY_RULE_SETUP -#line 313 "Gmsh.l" +#line 315 "Gmsh.l" {yylval.d = atof((char *)yytext); return tDOUBLE;} YY_BREAK -case 205: +case 207: YY_RULE_SETUP -#line 315 "Gmsh.l" +#line 317 "Gmsh.l" {yylval.c = strsave((char*)yytext); return tSTRING;} YY_BREAK -case 206: +case 208: YY_RULE_SETUP -#line 317 "Gmsh.l" +#line 319 "Gmsh.l" return yytext[0]; YY_BREAK -case 207: +case 209: YY_RULE_SETUP -#line 319 "Gmsh.l" +#line 321 "Gmsh.l" ECHO; YY_BREAK -#line 2342 "Gmsh.yy.cpp" +#line 2359 "Gmsh.yy.cpp" case YY_STATE_EOF(INITIAL): yyterminate(); @@ -2630,7 +2647,7 @@ static yy_state_type yy_get_previous_state() while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 1046 ) + if ( yy_current_state >= 1052 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; @@ -2665,11 +2682,11 @@ yy_state_type yy_current_state; while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 1046 ) + if ( yy_current_state >= 1052 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; - yy_is_jam = (yy_current_state == 1045); + yy_is_jam = (yy_current_state == 1051); return yy_is_jam ? 0 : yy_current_state; } @@ -3224,7 +3241,7 @@ int main() return 0; } #endif -#line 319 "Gmsh.l" +#line 321 "Gmsh.l" #undef yywrap diff --git a/Parser/Makefile b/Parser/Makefile index 395306a6af..cf5a1baf4e 100644 --- a/Parser/Makefile +++ b/Parser/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.51 2003-11-29 01:38:54 geuzaine Exp $ +# $Id: Makefile,v 1.52 2003-12-01 21:51:24 geuzaine Exp $ # # Copyright (C) 1997-2003 C. Geuzaine, J.-F. Remacle # @@ -86,7 +86,7 @@ OpenFile.o: OpenFile.cpp ../Common/Gmsh.h ../Common/Message.h \ ../Geo/Geo.h ../Mesh/Mesh.h ../Mesh/Vertex.h ../Mesh/Simplex.h \ ../Mesh/Edge.h ../Geo/ExtrudeParams.h ../Mesh/STL.h ../Mesh/Metric.h \ ../Mesh/Matrix.h ../Common/Views.h ../Common/ColorTable.h \ - ../Geo/MinMax.h ../Graphics/Visibility.h ../Graphics/ReadImg.h \ + ../Geo/MinMax.h ../Common/Visibility.h ../Graphics/ReadImg.h \ ../Common/GmshUI.h ../Graphics/Draw.h ../Fltk/GUI.h \ ../Fltk/Opengl_Window.h ../Fltk/Colorbar_Window.h FunctionManager.o: FunctionManager.cpp FunctionManager.h diff --git a/benchmarks/misc/visibility.geo b/benchmarks/misc/visibility.geo new file mode 100644 index 0000000000..bd212c0889 --- /dev/null +++ b/benchmarks/misc/visibility.geo @@ -0,0 +1,6 @@ + +Merge "../../tutorial/t1.geo"; + +Hide "*"; +Show { Surface{6}; Point{1:3}; Line{2}; } + diff --git a/doc/VERSIONS b/doc/VERSIONS index bb1496adfa..446a2eb92d 100644 --- a/doc/VERSIONS +++ b/doc/VERSIONS @@ -1,4 +1,7 @@ -$Id: VERSIONS,v 1.168 2003-11-30 00:52:52 geuzaine Exp $ +$Id: VERSIONS,v 1.169 2003-12-01 21:51:24 geuzaine Exp $ + +New in 1.50: small changes to the visibility browser + made visibility +scriptable (new Show/Hide commands); New in 1.49: made Merge, Save and Print behave like Include (i.e., open files in the same directory as the main project file if the path diff --git a/doc/texinfo/gmsh.texi b/doc/texinfo/gmsh.texi index 619096a161..f84d67f49d 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.88 2003-11-29 01:38:55 geuzaine Exp $ +@c $Id: gmsh.texi,v 1.89 2003-12-01 21:51:24 geuzaine Exp $ @c @c Copyright (C) 1997-2003 C. Geuzaine, J.-F. Remacle @c @@ -1964,6 +1964,13 @@ Sets the mesh color of the entities listed in @var{expression-list} to @var{colo @item Delete Meshes; Deletes all currently loaded meshes. +@item Hide @{ Point | Line | Surface | Volume @{ @var{expression-list} @}; @dots{} @} +Hide the entities listed in @var{expression-list}. + +@item Hide @var{char-expression}; +Hide the entity @var{char-expression} (@var{char-expression} can for example +be @code{"*"}). + @item Recombine Surface @{ @var{expression-list} @} < = @var{expression} >; Recombines the triangular meshes of the surfaces listed in @var{expression-list} into mixed triangular/quadrangular meshes. The @@ -1974,6 +1981,13 @@ triangle recombinations). @item Save @var{char-expression}; Saves the mesh in a file named @var{char-expression}, using the current @code{Mesh.Format} (@pxref{Mesh options}). + +@item Show @{ Point | Line | Surface | Volume @{ @var{expression-list} @}; @dots{} @} +Show the entities listed in @var{expression-list}. + +@item Show @var{char-expression}; +Show the entity @var{char-expression} (@var{char-expression} can for example +be @code{"*"}). @end ftable @c ------------------------------------------------------------------------- -- GitLab