diff --git a/Box/Main.cpp b/Box/Main.cpp index 00bf8964004c96f38525ec14ae97624cd9df4d6f..f872e316f8235927403e4b8e377d8cf3e3215c74 100644 --- a/Box/Main.cpp +++ b/Box/Main.cpp @@ -1,4 +1,4 @@ -// $Id: Main.cpp,v 1.43 2004-05-22 01:24:16 geuzaine Exp $ +// $Id: Main.cpp,v 1.44 2004-11-25 02:10:30 geuzaine Exp $ // // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // @@ -126,7 +126,7 @@ int main(int argc, char *argv[]) if(TheBgmFileName) { MergeProblem(TheBgmFileName); if(List_Nbr(CTX.post.list)) - BGMWithView((Post_View *) + BGMWithView(*(Post_View **) List_Pointer(CTX.post.list, List_Nbr(CTX.post.list) - 1)); else{ fprintf(stderr, ERROR_STR "Invalid background mesh (no view)\n"); diff --git a/Common/CommandLine.cpp b/Common/CommandLine.cpp index fe20600c0fc2176a38e59fe143e69b05fb6eb5a0..025f47f87c0720974fe31d57da1efaeda415b563 100644 --- a/Common/CommandLine.cpp +++ b/Common/CommandLine.cpp @@ -1,4 +1,4 @@ -// $Id: CommandLine.cpp,v 1.50 2004-10-03 23:32:02 geuzaine Exp $ +// $Id: CommandLine.cpp,v 1.51 2004-11-25 02:10:30 geuzaine Exp $ // // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // @@ -280,7 +280,7 @@ void Get_Options(int argc, char *argv[], int *nbfiles) OpenProblem(argv[i]); // convert post-processing views to latest (binary) format for(int j = 0; j < List_Nbr(CTX.post.list); j++) - WriteView((Post_View *) List_Pointer(CTX.post.list, j), + WriteView(*(Post_View **) List_Pointer(CTX.post.list, j), argv[i + 1], 1, j ? 1 : 0); // convert any mesh to the latest format if(THEM){ diff --git a/Common/Options.cpp b/Common/Options.cpp index c33568fb131c65bd6a26b561bacd1e0c34e86d01..82b8317d1f80165fd4fef3daf2601575982db60d 100644 --- a/Common/Options.cpp +++ b/Common/Options.cpp @@ -1,4 +1,4 @@ -// $Id: Options.cpp,v 1.206 2004-11-18 23:44:53 geuzaine Exp $ +// $Id: Options.cpp,v 1.207 2004-11-25 02:10:30 geuzaine Exp $ // // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // @@ -157,7 +157,7 @@ void ReInit_Options(int num) CTX.post.list = l; for(int i = 0; i < List_Nbr(CTX.post.list); i++) { - Post_View *v = (Post_View *) List_Pointer(CTX.post.list, i); + Post_View *v = *(Post_View **) List_Pointer(CTX.post.list, i); CopyViewOptions(Post_ViewReference, v); } } @@ -778,14 +778,15 @@ int Get_ColorForString(StringX4Int SX4I[], int alpha, // String option routines #define GET_VIEW(error_val) \ - Post_View *v; \ - if(!List_Nbr(CTX.post.list)) \ + Post_View *v, **vv; \ + if(!List_Nbr(CTX.post.list)) \ v = Post_ViewReference ; \ else{ \ - if(!(v = (Post_View*)List_Pointer_Test(CTX.post.list, num))){ \ + if(!(vv = (Post_View **)List_Pointer_Test(CTX.post.list, num))){ \ Msg(WARNING, "View[%d] does not exist", num) ; \ return (error_val) ; \ } \ + v = *vv; \ } char *opt_general_display(OPT_ARGS_STR) diff --git a/Common/Views.cpp b/Common/Views.cpp index a810bff5dae1ecdc5a7d6b680a51c15b24cd1f10..3705f158b2304ae3a29a45f0f0e42e352aa45c81 100644 --- a/Common/Views.cpp +++ b/Common/Views.cpp @@ -1,4 +1,4 @@ -// $Id: Views.cpp,v 1.145 2004-11-13 22:52:44 geuzaine Exp $ +// $Id: Views.cpp,v 1.146 2004-11-25 02:10:31 geuzaine Exp $ // // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // @@ -42,48 +42,47 @@ Post_View *Post_ViewReference = NULL; int fcmpPostViewNum(const void *v1, const void *v2) { - return (((Post_View *) v1)->Num - ((Post_View *) v2)->Num); + return ((*(Post_View **) v1)->Num - (*(Post_View **) v2)->Num); } int fcmpPostViewDuplicateOf(const void *v1, const void *v2) { - return (((Post_View *) v1)->DuplicateOf - ((Post_View *) v2)->DuplicateOf); + return ((*(Post_View **) v1)->DuplicateOf - (*(Post_View **) v2)->DuplicateOf); } int fcmpPostViewName(const void *v1, const void *v2) { - return strcmp(((Post_View *) v1)->Name, ((Post_View *) v2)->Name); + return strcmp((*(Post_View **) v1)->Name, (*(Post_View **) v2)->Name); } int fcmpPostViewVisibility(const void *v1, const void *v2) { - return (((Post_View *) v2)->Visible - ((Post_View *) v1)->Visible); + return ((*(Post_View **) v2)->Visible - (*(Post_View **) v1)->Visible); } Post_View *BeginView(int allocate) { - Post_View vv, *v; + Post_View *v = (Post_View *)Malloc(sizeof(Post_View)); static int UniqueNum = 0; - int i; if(!CTX.post.list) - CTX.post.list = List_Create(100, 100, sizeof(Post_View)); + CTX.post.list = List_Create(100, 100, sizeof(Post_View *)); // Important notes: // - each view *must* have a unique number // - the view list is assumned to be sorted with increasing nums if(!CTX.post.force_num) { - vv.Num = ++UniqueNum; - List_Add(CTX.post.list, &vv); + v->Num = ++UniqueNum; + List_Add(CTX.post.list, &v); } else { - vv.Num = CTX.post.force_num; - List_Replace(CTX.post.list, &vv, fcmpPostViewNum); + v->Num = CTX.post.force_num; + List_Replace(CTX.post.list, &v, fcmpPostViewNum); } - i = List_ISearch(CTX.post.list, &vv, fcmpPostViewNum); - v = (Post_View *) List_Pointer(CTX.post.list, i); + int i = List_ISearch(CTX.post.list, &v, fcmpPostViewNum); + List_Read(CTX.post.list, i, &v); v->Index = i; v->Dirty = 1; @@ -195,7 +194,7 @@ double ComputeVonMises(double *V) v31 * v31 + v32 * v32 + v33 * v33)); } -void Stat_Element(Post_View * v, int type, int nbnod, int N, +void Stat_Element(Post_View *v, int type, int nbnod, int N, double *X, double *Y, double *Z, double *V) { int i; @@ -414,14 +413,11 @@ void EndView(Post_View * v, int add_in_gui, char *file_name, char *name) void DuplicateView(int num, int withoptions) { - Post_View v, *v2, *v3; + Post_View v, *pv, **ppv; - // Create the new view before getting a pointer to the old one: in - // case post.list got reallocated, the pointer to the old one could - // have changed! - v2 = BeginView(0); + Post_View *v1 = *(Post_View **) List_Pointer(CTX.post.list, num); - Post_View *v1 = (Post_View *) List_Pointer_Test(CTX.post.list, num); + Post_View *v2 = BeginView(0); EndView(v2, 0, v1->FileName, v1->Name); if(!v1->DuplicateOf) { @@ -430,13 +426,14 @@ void DuplicateView(int num, int withoptions) } else { v.Num = v1->DuplicateOf; - if(!(v3 = (Post_View *) List_PQuery(CTX.post.list, &v, fcmpPostViewNum))) { + pv = &v; + if(!(ppv = (Post_View **) List_PQuery(CTX.post.list, &pv, fcmpPostViewNum))) { v2->DuplicateOf = v1->Num; v1->Links++; } else { - v2->DuplicateOf = v3->Num; - v3->Links++; + v2->DuplicateOf = (*ppv)->Num; + (*ppv)->Links++; } } @@ -500,18 +497,17 @@ void DuplicateView(int num, int withoptions) bool RemoveViewByIndex(int index) { - Post_View *v; - if(index < 0 || index >= List_Nbr(CTX.post.list)) { return false; } - v = (Post_View *) List_Pointer(CTX.post.list, index); + + Post_View *v = *(Post_View **) List_Pointer(CTX.post.list, index); FreeView(v); List_PSuppress(CTX.post.list, index); // recalculate the indices for(int i = 0; i < List_Nbr(CTX.post.list); i++){ - v = (Post_View *) List_Pointer(CTX.post.list, i); + v = *(Post_View **) List_Pointer(CTX.post.list, i); v->Index = i; } @@ -521,29 +517,30 @@ bool RemoveViewByIndex(int index) bool RemoveViewByNumber(int num) { - Post_View vv; + Post_View v, *pv; - vv.Num = num; - int i = List_ISearch(CTX.post.list, &vv, fcmpPostViewNum); + v.Num = num; + pv = &v; + int i = List_ISearch(CTX.post.list, &pv, fcmpPostViewNum); return RemoveViewByIndex(i); } void FreeView(Post_View * v) { - Post_View vv, *v2; + Post_View vv, *pvv, **ppvv; int i, numdup, free = 1; if(v->DuplicateOf) { vv.Num = v->DuplicateOf; + pvv = &vv; Msg(DEBUG, "This view is a duplicata"); - if(!(v2 = (Post_View *) List_PQuery(CTX.post.list, &vv, fcmpPostViewNum))) { + if(!(ppvv = (Post_View **) List_PQuery(CTX.post.list, &pvv, fcmpPostViewNum))) { Msg(DEBUG, " -the original view is gone"); numdup = 0; for(i = 0; i < List_Nbr(CTX.post.list); i++) - numdup += - (((Post_View *) List_Pointer(CTX.post.list, i))->DuplicateOf == - v->DuplicateOf); + numdup += ((*(Post_View **) List_Pointer(CTX.post.list, i))->DuplicateOf + == v->DuplicateOf); if(numdup == 1) { Msg(DEBUG, " -there are no other duplicata, so I can free"); free = 1; @@ -554,7 +551,7 @@ void FreeView(Post_View * v) } } else { - v2->Links--; + (*ppvv)->Links--; free = 0; Msg(DEBUG, " -the original still exists, so I cannot free"); } @@ -575,28 +572,10 @@ void FreeView(Post_View * v) List_Delete(v->SY); List_Delete(v->VY); List_Delete(v->TY); List_Delete(v->T2D); List_Delete(v->T2C); List_Delete(v->T3D); List_Delete(v->T3C); - //set to NULL in case we don't free v (e.g. when doing a 'reload') - //+ the reload does not work (e.g. the file is gone). This way, - //the next Free stuff will still work gracefully. - v->Time = NULL; - v->TimeStepMin = NULL; - v->TimeStepMax = NULL; - v->SP = v->VP = v->TP = NULL; - v->SL = v->VL = v->TL = NULL; - v->ST = v->VT = v->TT = NULL; - v->SQ = v->VQ = v->TQ = NULL; - v->SS = v->VS = v->TS = NULL; - v->SH = v->VH = v->TH = NULL; - v->SI = v->VI = v->TI = NULL; - v->SY = v->VY = v->TY = NULL; - v->T2D = v->T2C = NULL; - v->T3D = v->T3C = NULL; if(v->normals) delete v->normals; - v->normals = NULL; if(v->TriVertexArray) delete v->TriVertexArray; - v->TriVertexArray = NULL; if(v->adaptive) delete v->adaptive; - v->adaptive = 0; + Free(v); } } @@ -674,26 +653,32 @@ GmshColorTable *Get_ColorTable(int num) { Post_View *v; - if(!CTX.post.list) + if(!CTX.post.list){ v = Post_ViewReference; - else - v = (Post_View *) List_Pointer_Test(CTX.post.list, num); - if(v) - return &v->CT; - else - return NULL; + if(!v) return NULL; + } + else{ + Post_View **vv = (Post_View **) List_Pointer_Test(CTX.post.list, num); + if(!vv) return NULL; + v = *vv; + } + return &v->CT; } void Print_ColorTable(int num, int diff, char *prefix, FILE * file) { char tmp[1024]; Post_View *v; - if(!CTX.post.list) + + if(!CTX.post.list){ v = Post_ViewReference; - else - v = (Post_View *) List_Pointer_Test(CTX.post.list, num); - if(!v) - return; + if(!v) return; + } + else{ + Post_View **vv = (Post_View **) List_Pointer_Test(CTX.post.list, num); + if(!vv) return; + v = *vv; + } if(diff && !ColorTable_Diff(&Post_ViewReference->CT, &v->CT)) return; @@ -1273,7 +1258,7 @@ static void combine_space(struct nameidx *id, List_T *to_remove) int nbt = 0; for(int i = 0; i < List_Nbr(id->indices); i++) { List_Read(id->indices, i, &index); - Post_View *v = (Post_View*)List_Pointer(CTX.post.list, index); + Post_View *v = *(Post_View **)List_Pointer(CTX.post.list, index); if(!i){ nbt = v->NbTimeStep; } @@ -1288,7 +1273,7 @@ static void combine_space(struct nameidx *id, List_T *to_remove) Post_View *vm = BeginView(1); for(int i = 0; i < List_Nbr(id->indices); i++) { List_Read(id->indices, i, &index); - Post_View *v = (Post_View*)List_Pointer(CTX.post.list, index); + Post_View *v = *(Post_View **)List_Pointer(CTX.post.list, index); List_Insert(to_remove, &v->Num, fcmp_int); combine(v->SP,vm->SP); vm->NbSP += v->NbSP; combine(v->VP,vm->VP); vm->NbVP += v->NbVP; @@ -1348,7 +1333,7 @@ static void combine_time(struct nameidx *id, List_T *to_remove) // use the first view as the reference List_Read(id->indices, 0, &index); - Post_View *v = (Post_View*)List_Pointer(CTX.post.list, index); + Post_View *v = *(Post_View **)List_Pointer(CTX.post.list, index); for(int i = 0; i < VIEW_NB_ELEMENT_TYPES; i++){ vm->get_raw_data(i, &list, &nbe, &nbc, &nbn); v->get_raw_data(i, &list2, &nbe2, &nbc2, &nbn2); @@ -1361,7 +1346,7 @@ static void combine_time(struct nameidx *id, List_T *to_remove) for(int j = 0; j < *nbe; j++){ for(int k = 0; k < List_Nbr(id->indices); k++){ List_Read(id->indices, k, &index); - v = (Post_View*)List_Pointer(CTX.post.list, index); + v = *(Post_View **)List_Pointer(CTX.post.list, index); v->get_raw_data(i, &list2, &nbe2, &nbc2, &nbn2); if(*nbe && *nbe == *nbe2){ List_Insert(to_remove, &v->Num, fcmp_int); @@ -1384,7 +1369,7 @@ static void combine_time(struct nameidx *id, List_T *to_remove) // create the time data for(int i = 0; i < List_Nbr(id->indices); i++){ List_Read(id->indices, i, &index); - v = (Post_View*)List_Pointer(CTX.post.list, index); + v = *(Post_View **)List_Pointer(CTX.post.list, index); for(int j = 0; j < List_Nbr(v->Time); j++){ List_Add(vm->Time, List_Pointer(v->Time, j)); } @@ -1435,7 +1420,7 @@ void CombineViews(int time, int how, int remove) struct nameidx *pid; for(int i = 0; i < List_Nbr(CTX.post.list); i++) { - Post_View *v = (Post_View *) List_Pointer(CTX.post.list, i); + Post_View *v = *(Post_View **) List_Pointer(CTX.post.list, i); if(how || v->Visible) { nameidx id; // this might potentially lead to unwanted results if there are diff --git a/Fltk/Callbacks.cpp b/Fltk/Callbacks.cpp index d9da6f0127b3c1a10bdc7c04b5eeb6b91b17d4cb..99d29b07bef55ca3bf3724d647dfb9b0cfbf1115 100644 --- a/Fltk/Callbacks.cpp +++ b/Fltk/Callbacks.cpp @@ -1,4 +1,4 @@ -// $Id: Callbacks.cpp,v 1.299 2004-11-18 23:44:53 geuzaine Exp $ +// $Id: Callbacks.cpp,v 1.300 2004-11-25 02:10:31 geuzaine Exp $ // // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // @@ -3121,34 +3121,29 @@ void view_reload_visible_cb(CALLBACK_ARGS) void view_reload_cb(CALLBACK_ARGS) { - Post_View tmp; - char filename[256]; - if(!CTX.post.list) return; - Post_View *v = (Post_View *) List_Pointer(CTX.post.list, (long int)data); - strcpy(filename, v->FileName); + Post_View *v = *(Post_View **) List_Pointer(CTX.post.list, (long int)data); struct stat buf; - if(stat(filename, &buf)){ - Msg(GERROR, "File '%s' does not exist", filename); + if(stat(v->FileName, &buf)){ + Msg(GERROR, "File '%s' does not exist", v->FileName); return; } - CopyViewOptions(v, &tmp); - FreeView(v); - CTX.post.force_num = v->Num; - MergeProblem(filename); + MergeProblem(v->FileName); CTX.post.force_num = 0; - v = (Post_View *) List_Pointer(CTX.post.list, (long int)data); - CopyViewOptions(&tmp, v); + Post_View *v2 = *(Post_View **) List_Pointer(CTX.post.list, (long int)data); + CopyViewOptions(v, v2); // In case the reloaded view has a different number of time steps - if(v->TimeStep > v->NbTimeStep - 1) - v->TimeStep = 0; + if(v2->TimeStep > v2->NbTimeStep - 1) + v2->TimeStep = 0; + + FreeView(v); if(!RELOAD_ALL_VIEWS) Draw(); @@ -3187,7 +3182,7 @@ void view_remove_empty_cb(CALLBACK_ARGS) { if(!CTX.post.list) return; for(int i = List_Nbr(CTX.post.list) - 1; i >= 0; i--){ - Post_View *v = (Post_View*) List_Pointer(CTX.post.list, i); + Post_View *v = *(Post_View **) List_Pointer(CTX.post.list, i); if(v->empty()) RemoveViewByIndex(i); } @@ -3204,8 +3199,7 @@ void view_remove_cb(CALLBACK_ARGS) void view_save_ascii_cb(CALLBACK_ARGS) { - Post_View *v = (Post_View *) List_Pointer(CTX.post.list, (long int)data); - if(!v) return; + Post_View *v = *(Post_View **) List_Pointer(CTX.post.list, (long int)data); test: if(file_chooser(0, 1, "Save view in ASCII format", "*", 0, v->FileName)) { @@ -3225,8 +3219,7 @@ test: void view_save_binary_cb(CALLBACK_ARGS) { - Post_View *v = (Post_View *) List_Pointer(CTX.post.list, (long int)data); - if(!v) return; + Post_View *v = *(Post_View **) List_Pointer(CTX.post.list, (long int)data); test: if(file_chooser(0, 1, "Save view in binary format", "*", 0, v->FileName)) { @@ -3246,8 +3239,7 @@ test: void view_save_parsed_cb(CALLBACK_ARGS) { - Post_View *v = (Post_View *) List_Pointer(CTX.post.list, (long int)data); - if(!v) return; + Post_View *v = *(Post_View **) List_Pointer(CTX.post.list, (long int)data); test: if(file_chooser(0, 1, "Save view in parsed format", "*", 0, v->FileName)) { @@ -3322,7 +3314,7 @@ void view_all_visible_cb(CALLBACK_ARGS) void view_applybgmesh_cb(CALLBACK_ARGS) { - Post_View *v = (Post_View *) List_Pointer(CTX.post.list, (long int)data); + Post_View *v = *(Post_View **) List_Pointer(CTX.post.list, (long int)data); if(!v->ScalarOnly || v->TextOnly) { Msg(GERROR, "Background mesh generation impossible with non-scalar view"); return; @@ -3361,8 +3353,11 @@ void view_plugin_run_cb(CALLBACK_ARGS) iView = 0; try { - Post_View *v = (Post_View *) List_Pointer_Test(CTX.post.list, iView); - p->execute(v); + Post_View **vv = (Post_View **) List_Pointer_Test(CTX.post.list, iView); + if(!vv) + p->execute(0); + else + p->execute(*vv); Draw(); } catch(GMSH_Plugin * err) { @@ -3881,8 +3876,8 @@ void view_options_ok_cb(CALLBACK_ARGS) // colorbar window if(force || (WID->view_colorbar_window->changed() && i != current)) { - ColorTable_Copy(&((Post_View *)List_Pointer(CTX.post.list, current))->CT); - ColorTable_Paste(&((Post_View *)List_Pointer(CTX.post.list, i))->CT); + ColorTable_Copy(&(*(Post_View **)List_Pointer(CTX.post.list, current))->CT); + ColorTable_Paste(&(*(Post_View **)List_Pointer(CTX.post.list, i))->CT); } } } diff --git a/Fltk/GUI.cpp b/Fltk/GUI.cpp index aa59bc1fc5065958c7f7300b241e11333cfd29f1..f83a434ec997f89f026d104287111e61dc862f12 100644 --- a/Fltk/GUI.cpp +++ b/Fltk/GUI.cpp @@ -1,4 +1,4 @@ -// $Id: GUI.cpp,v 1.384 2004-11-24 16:33:39 geuzaine Exp $ +// $Id: GUI.cpp,v 1.385 2004-11-25 02:10:31 geuzaine Exp $ // // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // @@ -1064,7 +1064,7 @@ void GUI::set_context(Context_Item * menu_asked, int flag) int nb = 0; if(m_module_butt->value() == 3){ // post-processing context for(nb = 0; nb < List_Nbr(CTX.post.list); nb++) { - Post_View *v = (Post_View *) List_Pointer(CTX.post.list, nb); + Post_View *v = *(Post_View **) List_Pointer(CTX.post.list, nb); Fl_Light_Button *b1 = new Fl_Light_Button(0, MH + nb * BH, width - popw, BH); b1->callback(view_toggle_cb, (void *)nb); @@ -1323,7 +1323,7 @@ void GUI::check_anim_buttons() } else { for(i = 0; i < List_Nbr(CTX.post.list); i++) { - if(((Post_View *) List_Pointer(CTX.post.list, i))->NbTimeStep > 1) { + if((*(Post_View **) List_Pointer(CTX.post.list, i))->NbTimeStep > 1) { play = 1; break; } @@ -2783,7 +2783,7 @@ void GUI::update_view_window(int num) return; view_number = num; - Post_View *v = (Post_View *) List_Pointer(CTX.post.list, num); + Post_View *v = *(Post_View **) List_Pointer(CTX.post.list, num); double maxval = MAX(fabs(v->Min), fabs(v->Max)); if(!maxval) maxval = 1.; diff --git a/Fltk/Main.cpp b/Fltk/Main.cpp index 2bd70952a3b9a8445bb7cc562fb877ed4c9db2a1..526d79efeae7843d38ffbb58ded597a2a76b7f14 100644 --- a/Fltk/Main.cpp +++ b/Fltk/Main.cpp @@ -1,4 +1,4 @@ -// $Id: Main.cpp,v 1.73 2004-10-28 08:13:09 geuzaine Exp $ +// $Id: Main.cpp,v 1.74 2004-11-25 02:10:32 geuzaine Exp $ // // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // @@ -132,7 +132,7 @@ int main(int argc, char *argv[]) if(TheBgmFileName) { MergeProblem(TheBgmFileName); if(List_Nbr(CTX.post.list)) - BGMWithView((Post_View *) + BGMWithView(*(Post_View **) List_Pointer(CTX.post.list, List_Nbr(CTX.post.list) - 1)); else @@ -234,7 +234,7 @@ int main(int argc, char *argv[]) if(TheBgmFileName) { MergeProblem(TheBgmFileName); if(List_Nbr(CTX.post.list)) - BGMWithView((Post_View *) + BGMWithView(*(Post_View **) List_Pointer(CTX.post.list, List_Nbr(CTX.post.list) - 1)); else Msg(GERROR, "Invalid background mesh (no view)"); diff --git a/Graphics/Graph2D.cpp b/Graphics/Graph2D.cpp index f9e009aa93dcfa046d501bbc2604936771eef2a5..76ac3d8716dfc9d98ea138685c7e277af0d55994 100644 --- a/Graphics/Graph2D.cpp +++ b/Graphics/Graph2D.cpp @@ -1,4 +1,4 @@ -// $Id: Graph2D.cpp,v 1.37 2004-10-11 19:18:59 geuzaine Exp $ +// $Id: Graph2D.cpp,v 1.38 2004-11-25 02:10:32 geuzaine Exp $ // // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // @@ -378,7 +378,7 @@ void Draw_Graph2D(void) return; for(i = 0; i < List_Nbr(CTX.post.list); i++) { - v = (Post_View *) List_Pointer(CTX.post.list, i); + v = *(Post_View **) List_Pointer(CTX.post.list, i); if(v->Visible && !v->Dirty && v->NbSP && v->Type != DRAW_POST_3D) { tic = 5; dx = dy = 0.; @@ -508,7 +508,7 @@ void Draw_Text2D(void) glColor4ubv((GLubyte *) & CTX.color.text); for(i = 0; i < List_Nbr(CTX.post.list); i++) { - v = (Post_View *) List_Pointer(CTX.post.list, i); + v = *(Post_View **) List_Pointer(CTX.post.list, i); if(v->Visible && !v->Dirty && v->DrawStrings) Draw_Text2D3D(2, v->TimeStep, v->NbT2, v->T2D, v->T2C); } diff --git a/Graphics/Post.cpp b/Graphics/Post.cpp index d4c1fbf8ff2f95fab080c2ea2dd9676aa40bd005..c95347fa7da89f407200f48550387e61b08a668a 100644 --- a/Graphics/Post.cpp +++ b/Graphics/Post.cpp @@ -1,4 +1,4 @@ -// $Id: Post.cpp,v 1.84 2004-11-13 22:52:46 geuzaine Exp $ +// $Id: Post.cpp,v 1.85 2004-11-25 02:10:32 geuzaine Exp $ // // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // @@ -280,7 +280,7 @@ void Draw_Post(void) if(CTX.draw_bbox || !CTX.post.draw) { // draw only the bbox of the visible views for(int iView = 0; iView < List_Nbr(CTX.post.list); iView++) { - v = (Post_View *) List_Pointer(CTX.post.list, iView); + v = *(Post_View **) List_Pointer(CTX.post.list, iView); if(v->Visible && v->Type == DRAW_POST_3D) { glColor4ubv((GLubyte *) & CTX.color.fg); glLineWidth(CTX.line_width); @@ -334,7 +334,7 @@ void Draw_Post(void) for(int iView = 0; iView < List_Nbr(CTX.post.list); iView++) { - v = (Post_View *) List_Pointer(CTX.post.list, iView); + v = *(Post_View **) List_Pointer(CTX.post.list, iView); if(v->Visible && !v->Dirty) { diff --git a/Graphics/PostElement.cpp b/Graphics/PostElement.cpp index 0707f98709f9d998db9d78a8868af82c437aa163..841e7d29992b7579b83c0532195821636f85c53c 100644 --- a/Graphics/PostElement.cpp +++ b/Graphics/PostElement.cpp @@ -1,4 +1,4 @@ -// $Id: PostElement.cpp,v 1.53 2004-11-13 22:52:46 geuzaine Exp $ +// $Id: PostElement.cpp,v 1.54 2004-11-25 02:10:32 geuzaine Exp $ // // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // @@ -927,14 +927,17 @@ void Draw_ScalarElement(int type, Post_View * View, int preproNormals, int GetDataFromOtherView(int type, Post_View *v, int *nbcomp, double *norm, double **vals, int *vectype) { - Post_View *v2 = (Post_View*)List_Pointer_Test(CTX.post.list, v->ExternalViewIndex); + Post_View **vv = (Post_View **)List_Pointer_Test(CTX.post.list, + v->ExternalViewIndex); - if(!v2){ + if(!vv){ if(!v->ExternalElementIndex) Msg(GERROR, "Nonexistent external view: drawing self instead"); return 0; } + Post_View *v2 = *vv; + int nbelm = 0, comp = 0, nbnod = 0; List_T *l; switch (type) { @@ -996,20 +999,20 @@ int GetDataFromOtherView(int type, Post_View *v, int *nbcomp, } int nb = List_Nbr(l) / nbelm; - double *vv = (double *)List_Pointer(l, v->ExternalElementIndex * nb + 3 * nbnod + + double *vp = (double *)List_Pointer(l, v->ExternalElementIndex * nb + 3 * nbnod + comp * nbnod * v->TimeStep); for(int k = 0; k < nbnod; k++){ if(comp == 1) - norm[k] = vv[k]; + norm[k] = vp[k]; else if(comp == 3) - norm[k] = sqrt(vv[3*k] * vv[3*k] + - vv[3*k+1] * vv[3*k+1] + - vv[3*k+2] * vv[3*k+2]); + norm[k] = sqrt(vp[3*k] * vp[3*k] + + vp[3*k+1] * vp[3*k+1] + + vp[3*k+2] * vp[3*k+2]); else if(comp == 9) - norm[k] = ComputeVonMises(vv + 9*k); + norm[k] = ComputeVonMises(vp + 9*k); } - *vals = vv; + *vals = vp; switch (v->RangeType) { case DRAW_POST_RANGE_DEFAULT: diff --git a/Graphics/Scale.cpp b/Graphics/Scale.cpp index 20da8843bd8df17b21cacb8a7bf415b39df65de2..b8cc3050717aaaf118c87cc05a04c8ea7d85b35d 100644 --- a/Graphics/Scale.cpp +++ b/Graphics/Scale.cpp @@ -1,4 +1,4 @@ -// $Id: Scale.cpp,v 1.52 2004-10-26 00:43:23 geuzaine Exp $ +// $Id: Scale.cpp,v 1.53 2004-11-25 02:10:32 geuzaine Exp $ // // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // @@ -278,7 +278,7 @@ void Draw_Scales(void) List_Reset(todraw); for(int i = 0; i < List_Nbr(CTX.post.list); i++) { - Post_View *v = (Post_View *) List_Pointer(CTX.post.list, i); + Post_View *v = *(Post_View **) List_Pointer(CTX.post.list, i); if(v->Visible && !v->Dirty && v->ShowScale && v->Type == DRAW_POST_3D && !v->TextOnly) List_Add(todraw, &v); diff --git a/Mesh/Generator.cpp b/Mesh/Generator.cpp index 16789b5004d77576e48f8ad912f7d266861eceba..36c3bdde7122584fd14cb2af8771feb97b731f9b 100644 --- a/Mesh/Generator.cpp +++ b/Mesh/Generator.cpp @@ -1,4 +1,4 @@ -// $Id: Generator.cpp,v 1.61 2004-11-19 18:26:47 geuzaine Exp $ +// $Id: Generator.cpp,v 1.62 2004-11-25 02:10:32 geuzaine Exp $ // // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // @@ -121,7 +121,7 @@ void GetStatistics(double stat[50]) stat[26] = List_Nbr(CTX.post.list); for(int i = 0; i < List_Nbr(CTX.post.list); i++) { - Post_View *v = (Post_View *) List_Pointer(CTX.post.list, i); + Post_View *v = *(Post_View **) List_Pointer(CTX.post.list, i); stat[27] += v->NbSP + v->NbVP + v->NbTP; stat[28] += v->NbSL + v->NbVL + v->NbTL; stat[29] += v->NbST + v->NbVT + v->NbTT; diff --git a/Parser/Gmsh.tab.cpp b/Parser/Gmsh.tab.cpp index 1358e1f5b743c33f3fd075c7d77106e4b98631c9..933bcb3f8de0701aae517a1f16f0f63da72b6a5a 100644 --- a/Parser/Gmsh.tab.cpp +++ b/Parser/Gmsh.tab.cpp @@ -1,199 +1,440 @@ +/* A Bison parser, made by GNU Bison 1.875c. */ -/* A Bison parser, made from Gmsh.y - by GNU Bison version 1.28 */ - -#define YYBISON 1 /* Identify Bison output. */ - -#define tDOUBLE 257 -#define tSTRING 258 -#define tBIGSTR 259 -#define tEND 260 -#define tAFFECT 261 -#define tDOTS 262 -#define tPi 263 -#define tMPI_Rank 264 -#define tMPI_Size 265 -#define tExp 266 -#define tLog 267 -#define tLog10 268 -#define tSqrt 269 -#define tSin 270 -#define tAsin 271 -#define tCos 272 -#define tAcos 273 -#define tTan 274 -#define tRand 275 -#define tAtan 276 -#define tAtan2 277 -#define tSinh 278 -#define tCosh 279 -#define tTanh 280 -#define tFabs 281 -#define tFloor 282 -#define tCeil 283 -#define tFmod 284 -#define tModulo 285 -#define tHypot 286 -#define tPrintf 287 -#define tSprintf 288 -#define tStrCat 289 -#define tStrPrefix 290 -#define tBoundingBox 291 -#define tDraw 292 -#define tPoint 293 -#define tCircle 294 -#define tEllipse 295 -#define tLine 296 -#define tSurface 297 -#define tSpline 298 -#define tVolume 299 -#define tCharacteristic 300 -#define tLength 301 -#define tParametric 302 -#define tElliptic 303 -#define tPlane 304 -#define tRuled 305 -#define tTriangulation 306 -#define tTransfinite 307 -#define tComplex 308 -#define tPhysical 309 -#define tUsing 310 -#define tBump 311 -#define tProgression 312 -#define tPlugin 313 -#define tRotate 314 -#define tTranslate 315 -#define tSymmetry 316 -#define tDilate 317 -#define tExtrude 318 -#define tDuplicata 319 -#define tLoop 320 -#define tRecombine 321 -#define tDelete 322 -#define tCoherence 323 -#define tIntersect 324 -#define tAttractor 325 -#define tLayers 326 -#define tScalarPoint 327 -#define tVectorPoint 328 -#define tTensorPoint 329 -#define tScalarLine 330 -#define tVectorLine 331 -#define tTensorLine 332 -#define tScalarTriangle 333 -#define tVectorTriangle 334 -#define tTensorTriangle 335 -#define tScalarQuadrangle 336 -#define tVectorQuadrangle 337 -#define tTensorQuadrangle 338 -#define tScalarTetrahedron 339 -#define tVectorTetrahedron 340 -#define tTensorTetrahedron 341 -#define tScalarHexahedron 342 -#define tVectorHexahedron 343 -#define tTensorHexahedron 344 -#define tScalarPrism 345 -#define tVectorPrism 346 -#define tTensorPrism 347 -#define tScalarPyramid 348 -#define tVectorPyramid 349 -#define tTensorPyramid 350 -#define tText2D 351 -#define tText3D 352 -#define tInterpolationScheme 353 -#define tCombine 354 -#define tBSpline 355 -#define tBezier 356 -#define tNurbs 357 -#define tOrder 358 -#define tWith 359 -#define tBounds 360 -#define tKnots 361 -#define tColor 362 -#define tColorTable 363 -#define tFor 364 -#define tIn 365 -#define tEndFor 366 -#define tIf 367 -#define tEndIf 368 -#define tExit 369 -#define tReturn 370 -#define tCall 371 -#define tFunction 372 -#define tTrimmed 373 -#define tShow 374 -#define tHide 375 -#define tB_SPLINE_SURFACE_WITH_KNOTS 376 -#define tB_SPLINE_CURVE_WITH_KNOTS 377 -#define tCARTESIAN_POINT 378 -#define tTRUE 379 -#define tFALSE 380 -#define tUNSPECIFIED 381 -#define tU 382 -#define tV 383 -#define tEDGE_CURVE 384 -#define tVERTEX_POINT 385 -#define tORIENTED_EDGE 386 -#define tPLANE 387 -#define tFACE_OUTER_BOUND 388 -#define tEDGE_LOOP 389 -#define tADVANCED_FACE 390 -#define tVECTOR 391 -#define tDIRECTION 392 -#define tAXIS2_PLACEMENT_3D 393 -#define tISO 394 -#define tENDISO 395 -#define tENDSEC 396 -#define tDATA 397 -#define tHEADER 398 -#define tFILE_DESCRIPTION 399 -#define tFILE_SCHEMA 400 -#define tFILE_NAME 401 -#define tMANIFOLD_SOLID_BREP 402 -#define tCLOSED_SHELL 403 -#define tADVANCED_BREP_SHAPE_REPRESENTATION 404 -#define tFACE_BOUND 405 -#define tCYLINDRICAL_SURFACE 406 -#define tCONICAL_SURFACE 407 -#define tCIRCLE 408 -#define tTRIMMED_CURVE 409 -#define tGEOMETRIC_SET 410 -#define tCOMPOSITE_CURVE_SEGMENT 411 -#define tCONTINUOUS 412 -#define tCOMPOSITE_CURVE 413 -#define tTOROIDAL_SURFACE 414 -#define tPRODUCT_DEFINITION 415 -#define tPRODUCT_DEFINITION_SHAPE 416 -#define tSHAPE_DEFINITION_REPRESENTATION 417 -#define tELLIPSE 418 -#define tSolid 419 -#define tEndSolid 420 -#define tVertex 421 -#define tFacet 422 -#define tNormal 423 -#define tOuter 424 -#define tLoopSTL 425 -#define tEndLoop 426 -#define tEndFacet 427 -#define tAFFECTPLUS 428 -#define tAFFECTMINUS 429 -#define tAFFECTTIMES 430 -#define tAFFECTDIVIDE 431 -#define tOR 432 -#define tAND 433 -#define tEQUAL 434 -#define tNOTEQUAL 435 -#define tAPPROXEQUAL 436 -#define tLESSOREQUAL 437 -#define tGREATEROREQUAL 438 -#define tCROSSPRODUCT 439 -#define tPLUSPLUS 440 -#define tMINUSMINUS 441 -#define UNARYPREC 442 +/* Skeleton parser for Yacc-like parsing with Bison, + Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +/* As a special exception, when this file is copied by Bison into a + Bison output file, you may use that output file without restriction. + This special exception was added by the Free Software Foundation + in version 1.24 of Bison. */ + +/* Written by Richard Stallman by simplifying the original so called + ``semantic'' parser. */ + +/* All symbols defined below should begin with yy or YY, to avoid + infringing on user name space. This should be done even for local + variables, as they might otherwise be expanded by user macros. + There are some unavoidable exceptions within include files to + define necessary library symbols; they are noted "INFRINGES ON + USER NAME SPACE" below. */ + +/* Identify Bison output. */ +#define YYBISON 1 + +/* Skeleton name. */ +#define YYSKELETON_NAME "yacc.c" + +/* Pure parsers. */ +#define YYPURE 0 + +/* Using locations. */ +#define YYLSP_NEEDED 0 + + + +/* Tokens. */ +#ifndef YYTOKENTYPE +# define YYTOKENTYPE + /* Put the tokens into the symbol table, so that GDB and other debuggers + know about them. */ + enum yytokentype { + tDOUBLE = 258, + tSTRING = 259, + tBIGSTR = 260, + tEND = 261, + tAFFECT = 262, + tDOTS = 263, + tPi = 264, + tMPI_Rank = 265, + tMPI_Size = 266, + tExp = 267, + tLog = 268, + tLog10 = 269, + tSqrt = 270, + tSin = 271, + tAsin = 272, + tCos = 273, + tAcos = 274, + tTan = 275, + tRand = 276, + tAtan = 277, + tAtan2 = 278, + tSinh = 279, + tCosh = 280, + tTanh = 281, + tFabs = 282, + tFloor = 283, + tCeil = 284, + tFmod = 285, + tModulo = 286, + tHypot = 287, + tPrintf = 288, + tSprintf = 289, + tStrCat = 290, + tStrPrefix = 291, + tBoundingBox = 292, + tDraw = 293, + tPoint = 294, + tCircle = 295, + tEllipse = 296, + tLine = 297, + tSurface = 298, + tSpline = 299, + tVolume = 300, + tCharacteristic = 301, + tLength = 302, + tParametric = 303, + tElliptic = 304, + tPlane = 305, + tRuled = 306, + tTriangulation = 307, + tTransfinite = 308, + tComplex = 309, + tPhysical = 310, + tUsing = 311, + tBump = 312, + tProgression = 313, + tPlugin = 314, + tRotate = 315, + tTranslate = 316, + tSymmetry = 317, + tDilate = 318, + tExtrude = 319, + tDuplicata = 320, + tLoop = 321, + tRecombine = 322, + tDelete = 323, + tCoherence = 324, + tIntersect = 325, + tAttractor = 326, + tLayers = 327, + tScalarPoint = 328, + tVectorPoint = 329, + tTensorPoint = 330, + tScalarLine = 331, + tVectorLine = 332, + tTensorLine = 333, + tScalarTriangle = 334, + tVectorTriangle = 335, + tTensorTriangle = 336, + tScalarQuadrangle = 337, + tVectorQuadrangle = 338, + tTensorQuadrangle = 339, + tScalarTetrahedron = 340, + tVectorTetrahedron = 341, + tTensorTetrahedron = 342, + tScalarHexahedron = 343, + tVectorHexahedron = 344, + tTensorHexahedron = 345, + tScalarPrism = 346, + tVectorPrism = 347, + tTensorPrism = 348, + tScalarPyramid = 349, + tVectorPyramid = 350, + tTensorPyramid = 351, + tText2D = 352, + tText3D = 353, + tInterpolationScheme = 354, + tCombine = 355, + tBSpline = 356, + tBezier = 357, + tNurbs = 358, + tOrder = 359, + tWith = 360, + tBounds = 361, + tKnots = 362, + tColor = 363, + tColorTable = 364, + tFor = 365, + tIn = 366, + tEndFor = 367, + tIf = 368, + tEndIf = 369, + tExit = 370, + tReturn = 371, + tCall = 372, + tFunction = 373, + tTrimmed = 374, + tShow = 375, + tHide = 376, + tB_SPLINE_SURFACE_WITH_KNOTS = 377, + tB_SPLINE_CURVE_WITH_KNOTS = 378, + tCARTESIAN_POINT = 379, + tTRUE = 380, + tFALSE = 381, + tUNSPECIFIED = 382, + tU = 383, + tV = 384, + tEDGE_CURVE = 385, + tVERTEX_POINT = 386, + tORIENTED_EDGE = 387, + tPLANE = 388, + tFACE_OUTER_BOUND = 389, + tEDGE_LOOP = 390, + tADVANCED_FACE = 391, + tVECTOR = 392, + tDIRECTION = 393, + tAXIS2_PLACEMENT_3D = 394, + tISO = 395, + tENDISO = 396, + tENDSEC = 397, + tDATA = 398, + tHEADER = 399, + tFILE_DESCRIPTION = 400, + tFILE_SCHEMA = 401, + tFILE_NAME = 402, + tMANIFOLD_SOLID_BREP = 403, + tCLOSED_SHELL = 404, + tADVANCED_BREP_SHAPE_REPRESENTATION = 405, + tFACE_BOUND = 406, + tCYLINDRICAL_SURFACE = 407, + tCONICAL_SURFACE = 408, + tCIRCLE = 409, + tTRIMMED_CURVE = 410, + tGEOMETRIC_SET = 411, + tCOMPOSITE_CURVE_SEGMENT = 412, + tCONTINUOUS = 413, + tCOMPOSITE_CURVE = 414, + tTOROIDAL_SURFACE = 415, + tPRODUCT_DEFINITION = 416, + tPRODUCT_DEFINITION_SHAPE = 417, + tSHAPE_DEFINITION_REPRESENTATION = 418, + tELLIPSE = 419, + tSolid = 420, + tEndSolid = 421, + tVertex = 422, + tFacet = 423, + tNormal = 424, + tOuter = 425, + tLoopSTL = 426, + tEndLoop = 427, + tEndFacet = 428, + tAFFECTDIVIDE = 429, + tAFFECTTIMES = 430, + tAFFECTMINUS = 431, + tAFFECTPLUS = 432, + tOR = 433, + tAND = 434, + tAPPROXEQUAL = 435, + tNOTEQUAL = 436, + tEQUAL = 437, + tGREATEROREQUAL = 438, + tLESSOREQUAL = 439, + tCROSSPRODUCT = 440, + UNARYPREC = 441, + tMINUSMINUS = 442, + tPLUSPLUS = 443 + }; +#endif +#define tDOUBLE 258 +#define tSTRING 259 +#define tBIGSTR 260 +#define tEND 261 +#define tAFFECT 262 +#define tDOTS 263 +#define tPi 264 +#define tMPI_Rank 265 +#define tMPI_Size 266 +#define tExp 267 +#define tLog 268 +#define tLog10 269 +#define tSqrt 270 +#define tSin 271 +#define tAsin 272 +#define tCos 273 +#define tAcos 274 +#define tTan 275 +#define tRand 276 +#define tAtan 277 +#define tAtan2 278 +#define tSinh 279 +#define tCosh 280 +#define tTanh 281 +#define tFabs 282 +#define tFloor 283 +#define tCeil 284 +#define tFmod 285 +#define tModulo 286 +#define tHypot 287 +#define tPrintf 288 +#define tSprintf 289 +#define tStrCat 290 +#define tStrPrefix 291 +#define tBoundingBox 292 +#define tDraw 293 +#define tPoint 294 +#define tCircle 295 +#define tEllipse 296 +#define tLine 297 +#define tSurface 298 +#define tSpline 299 +#define tVolume 300 +#define tCharacteristic 301 +#define tLength 302 +#define tParametric 303 +#define tElliptic 304 +#define tPlane 305 +#define tRuled 306 +#define tTriangulation 307 +#define tTransfinite 308 +#define tComplex 309 +#define tPhysical 310 +#define tUsing 311 +#define tBump 312 +#define tProgression 313 +#define tPlugin 314 +#define tRotate 315 +#define tTranslate 316 +#define tSymmetry 317 +#define tDilate 318 +#define tExtrude 319 +#define tDuplicata 320 +#define tLoop 321 +#define tRecombine 322 +#define tDelete 323 +#define tCoherence 324 +#define tIntersect 325 +#define tAttractor 326 +#define tLayers 327 +#define tScalarPoint 328 +#define tVectorPoint 329 +#define tTensorPoint 330 +#define tScalarLine 331 +#define tVectorLine 332 +#define tTensorLine 333 +#define tScalarTriangle 334 +#define tVectorTriangle 335 +#define tTensorTriangle 336 +#define tScalarQuadrangle 337 +#define tVectorQuadrangle 338 +#define tTensorQuadrangle 339 +#define tScalarTetrahedron 340 +#define tVectorTetrahedron 341 +#define tTensorTetrahedron 342 +#define tScalarHexahedron 343 +#define tVectorHexahedron 344 +#define tTensorHexahedron 345 +#define tScalarPrism 346 +#define tVectorPrism 347 +#define tTensorPrism 348 +#define tScalarPyramid 349 +#define tVectorPyramid 350 +#define tTensorPyramid 351 +#define tText2D 352 +#define tText3D 353 +#define tInterpolationScheme 354 +#define tCombine 355 +#define tBSpline 356 +#define tBezier 357 +#define tNurbs 358 +#define tOrder 359 +#define tWith 360 +#define tBounds 361 +#define tKnots 362 +#define tColor 363 +#define tColorTable 364 +#define tFor 365 +#define tIn 366 +#define tEndFor 367 +#define tIf 368 +#define tEndIf 369 +#define tExit 370 +#define tReturn 371 +#define tCall 372 +#define tFunction 373 +#define tTrimmed 374 +#define tShow 375 +#define tHide 376 +#define tB_SPLINE_SURFACE_WITH_KNOTS 377 +#define tB_SPLINE_CURVE_WITH_KNOTS 378 +#define tCARTESIAN_POINT 379 +#define tTRUE 380 +#define tFALSE 381 +#define tUNSPECIFIED 382 +#define tU 383 +#define tV 384 +#define tEDGE_CURVE 385 +#define tVERTEX_POINT 386 +#define tORIENTED_EDGE 387 +#define tPLANE 388 +#define tFACE_OUTER_BOUND 389 +#define tEDGE_LOOP 390 +#define tADVANCED_FACE 391 +#define tVECTOR 392 +#define tDIRECTION 393 +#define tAXIS2_PLACEMENT_3D 394 +#define tISO 395 +#define tENDISO 396 +#define tENDSEC 397 +#define tDATA 398 +#define tHEADER 399 +#define tFILE_DESCRIPTION 400 +#define tFILE_SCHEMA 401 +#define tFILE_NAME 402 +#define tMANIFOLD_SOLID_BREP 403 +#define tCLOSED_SHELL 404 +#define tADVANCED_BREP_SHAPE_REPRESENTATION 405 +#define tFACE_BOUND 406 +#define tCYLINDRICAL_SURFACE 407 +#define tCONICAL_SURFACE 408 +#define tCIRCLE 409 +#define tTRIMMED_CURVE 410 +#define tGEOMETRIC_SET 411 +#define tCOMPOSITE_CURVE_SEGMENT 412 +#define tCONTINUOUS 413 +#define tCOMPOSITE_CURVE 414 +#define tTOROIDAL_SURFACE 415 +#define tPRODUCT_DEFINITION 416 +#define tPRODUCT_DEFINITION_SHAPE 417 +#define tSHAPE_DEFINITION_REPRESENTATION 418 +#define tELLIPSE 419 +#define tSolid 420 +#define tEndSolid 421 +#define tVertex 422 +#define tFacet 423 +#define tNormal 424 +#define tOuter 425 +#define tLoopSTL 426 +#define tEndLoop 427 +#define tEndFacet 428 +#define tAFFECTDIVIDE 429 +#define tAFFECTTIMES 430 +#define tAFFECTMINUS 431 +#define tAFFECTPLUS 432 +#define tOR 433 +#define tAND 434 +#define tAPPROXEQUAL 435 +#define tNOTEQUAL 436 +#define tEQUAL 437 +#define tGREATEROREQUAL 438 +#define tLESSOREQUAL 439 +#define tCROSSPRODUCT 440 +#define UNARYPREC 441 +#define tMINUSMINUS 442 +#define tPLUSPLUS 443 + + + + +/* Copy the first part of user declarations. */ #line 1 "Gmsh.y" -// $Id: Gmsh.tab.cpp,v 1.209 2004-11-19 22:54:39 geuzaine Exp $ +// $Id: Gmsh.tab.cpp,v 1.210 2004-11-25 02:10:32 geuzaine Exp $ // // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // @@ -271,8 +512,23 @@ void skip_until(char *skip, char *until); int PrintListOfDouble(char *format, List_T *list, char *buffer); int CheckViewErrorFlags(Post_View *v); + +/* Enabling traces. */ +#ifndef YYDEBUG +# define YYDEBUG 0 +#endif + +/* Enabling verbose error messages. */ +#ifdef YYERROR_VERBOSE +# undef YYERROR_VERBOSE +# define YYERROR_VERBOSE 1 +#else +# define YYERROR_VERBOSE 0 +#endif + +#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED) #line 81 "Gmsh.y" -typedef union { +typedef union YYSTYPE { char *c; int i; unsigned int u; @@ -281,4158 +537,4837 @@ typedef union { Shape s; List_T *l; } YYSTYPE; -#include <stdio.h> - -#ifndef __cplusplus -#ifndef __STDC__ -#define const -#endif +/* Line 191 of yacc.c. */ +#line 542 "Gmsh.tab.cpp" +# define yystype YYSTYPE /* obsolescent; will be withdrawn */ +# define YYSTYPE_IS_DECLARED 1 +# define YYSTYPE_IS_TRIVIAL 1 #endif -#define YYFINAL 2364 -#define YYFLAG -32768 -#define YYNTBASE 208 - -#define YYTRANSLATE(x) ((unsigned)(x) <= 442 ? yytranslate[x] : 344) - -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, 194, 2, 204, 2, 192, 2, 2, 199, - 200, 190, 188, 205, 189, 203, 191, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 184, - 2, 186, 178, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 201, 2, 202, 198, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 206, 2, 207, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 1, 3, 4, 5, 6, - 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, - 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, - 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, - 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, - 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, - 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, - 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, - 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, - 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, - 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, - 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, - 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, - 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, - 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, - 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, - 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, - 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, - 177, 179, 180, 181, 182, 183, 185, 187, 193, 195, - 196, 197 -}; +/* Copy the second part of user declarations. */ + + +/* Line 214 of yacc.c. */ +#line 554 "Gmsh.tab.cpp" + +#if ! defined (yyoverflow) || YYERROR_VERBOSE + +# ifndef YYFREE +# define YYFREE free +# endif +# ifndef YYMALLOC +# define YYMALLOC malloc +# endif + +/* The parser invokes alloca or malloc; define the necessary symbols. */ + +# ifdef YYSTACK_USE_ALLOCA +# if YYSTACK_USE_ALLOCA +# define YYSTACK_ALLOC alloca +# endif +# else +# if defined (alloca) || defined (_ALLOCA_H) +# define YYSTACK_ALLOC alloca +# else +# ifdef __GNUC__ +# define YYSTACK_ALLOC __builtin_alloca +# endif +# endif +# endif + +# ifdef YYSTACK_ALLOC + /* Pacify GCC's `empty if-body' warning. */ +# define YYSTACK_FREE(Ptr) do { /* empty */; } while (0) +# else +# if defined (__STDC__) || defined (__cplusplus) +# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ +# define YYSIZE_T size_t +# endif +# define YYSTACK_ALLOC YYMALLOC +# define YYSTACK_FREE YYFREE +# endif +#endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */ + + +#if (! defined (yyoverflow) \ + && (! defined (__cplusplus) \ + || (defined (YYSTYPE_IS_TRIVIAL) && YYSTYPE_IS_TRIVIAL))) + +/* A type that is properly aligned for any stack member. */ +union yyalloc +{ + short yyss; + YYSTYPE yyvs; + }; + +/* The size of the maximum gap between one aligned stack and the next. */ +# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) + +/* The size of an array large to enough to hold all stacks, each with + N elements. */ +# define YYSTACK_BYTES(N) \ + ((N) * (sizeof (short) + sizeof (YYSTYPE)) \ + + YYSTACK_GAP_MAXIMUM) + +/* Copy COUNT objects from FROM to TO. The source and destination do + not overlap. */ +# ifndef YYCOPY +# if defined (__GNUC__) && 1 < __GNUC__ +# define YYCOPY(To, From, Count) \ + __builtin_memcpy (To, From, (Count) * sizeof (*(From))) +# else +# define YYCOPY(To, From, Count) \ + do \ + { \ + register YYSIZE_T yyi; \ + for (yyi = 0; yyi < (Count); yyi++) \ + (To)[yyi] = (From)[yyi]; \ + } \ + while (0) +# endif +# endif + +/* Relocate STACK from its old location to the new one. The + local variables YYSIZE and YYSTACKSIZE give the old and new number of + elements in the stack, and YYPTR gives the new location of the + stack. Advance YYPTR to a properly aligned location for the next + stack. */ +# define YYSTACK_RELOCATE(Stack) \ + do \ + { \ + YYSIZE_T yynewbytes; \ + YYCOPY (&yyptr->Stack, Stack, yysize); \ + Stack = &yyptr->Stack; \ + yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ + yyptr += yynewbytes / sizeof (*yyptr); \ + } \ + while (0) + +#endif + +#if defined (__STDC__) || defined (__cplusplus) + typedef signed char yysigned_char; +#else + typedef short yysigned_char; +#endif -#if YYDEBUG != 0 -static const short yyprhs[] = { 0, - 0, 2, 4, 6, 9, 11, 14, 15, 18, 20, - 42, 44, 45, 48, 50, 52, 54, 57, 60, 63, - 66, 69, 77, 83, 101, 111, 135, 167, 183, 195, - 207, 223, 233, 247, 257, 269, 283, 293, 303, 315, - 325, 337, 347, 359, 373, 387, 399, 413, 431, 441, - 453, 465, 479, 491, 501, 502, 505, 507, 509, 511, - 513, 515, 517, 519, 521, 523, 525, 527, 529, 531, - 533, 539, 547, 554, 563, 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, - 639, 642, 645, 647, 651, 652, 666, 668, 672, 673, - 687, 689, 693, 694, 708, 710, 714, 715, 735, 737, - 741, 742, 762, 764, 768, 769, 789, 791, 795, 796, - 822, 824, 828, 829, 855, 857, 861, 862, 888, 890, - 894, 895, 927, 929, 933, 934, 966, 968, 972, 973, - 1005, 1007, 1011, 1012, 1044, 1046, 1050, 1051, 1083, 1085, - 1089, 1090, 1122, 1124, 1128, 1129, 1185, 1187, 1191, 1192, - 1248, 1250, 1254, 1255, 1311, 1313, 1317, 1318, 1362, 1364, - 1368, 1369, 1413, 1415, 1419, 1420, 1464, 1466, 1470, 1471, - 1509, 1511, 1515, 1516, 1554, 1556, 1560, 1561, 1599, 1601, - 1605, 1606, 1620, 1622, 1626, 1627, 1643, 1652, 1654, 1656, - 1658, 1660, 1662, 1664, 1666, 1671, 1679, 1689, 1696, 1700, - 1707, 1714, 1724, 1731, 1741, 1747, 1756, 1765, 1777, 1784, - 1794, 1804, 1814, 1822, 1831, 1844, 1851, 1859, 1867, 1875, - 1885, 1893, 1903, 1921, 1929, 1937, 1949, 1958, 1971, 1980, - 1989, 1998, 2011, 2026, 2041, 2064, 2085, 2094, 2103, 2112, - 2120, 2129, 2135, 2147, 2153, 2163, 2165, 2167, 2169, 2170, - 2173, 2180, 2187, 2194, 2201, 2206, 2213, 2218, 2225, 2229, - 2235, 2239, 2243, 2248, 2253, 2257, 2265, 2269, 2277, 2281, - 2284, 2287, 2303, 2306, 2313, 2322, 2331, 2342, 2344, 2347, - 2349, 2353, 2358, 2360, 2369, 2382, 2397, 2398, 2411, 2412, - 2429, 2430, 2449, 2458, 2471, 2486, 2487, 2500, 2501, 2518, - 2519, 2538, 2547, 2560, 2575, 2576, 2589, 2590, 2607, 2608, - 2627, 2629, 2632, 2642, 2650, 2653, 2660, 2670, 2680, 2689, - 2698, 2707, 2714, 2719, 2722, 2725, 2727, 2729, 2731, 2733, - 2735, 2737, 2741, 2744, 2747, 2750, 2754, 2758, 2762, 2766, - 2770, 2774, 2778, 2782, 2786, 2790, 2794, 2798, 2802, 2806, - 2812, 2817, 2822, 2827, 2832, 2837, 2842, 2847, 2852, 2857, - 2862, 2869, 2874, 2879, 2884, 2889, 2894, 2899, 2906, 2913, - 2920, 2925, 2930, 2935, 2940, 2945, 2950, 2955, 2960, 2965, - 2970, 2975, 2982, 2987, 2992, 2997, 3002, 3007, 3012, 3019, - 3026, 3033, 3038, 3040, 3042, 3044, 3046, 3048, 3053, 3058, - 3061, 3067, 3071, 3078, 3083, 3091, 3093, 3096, 3099, 3103, - 3107, 3119, 3129, 3137, 3145, 3146, 3150, 3152, 3156, 3157, - 3161, 3165, 3167, 3171, 3173, 3175, 3179, 3184, 3188, 3194, - 3199, 3201, 3203, 3205, 3209, 3214, 3221, 3229, 3231, 3233, - 3237, 3241, 3251, 3259, 3261, 3267, 3271, 3278, 3280, 3284, - 3286, 3293, 3298, 3303, 3310, 3317 +/* YYFINAL -- State number of the termination state. */ +#define YYFINAL 7 +/* YYLAST -- Last index in YYTABLE. */ +#define YYLAST 13940 + +/* YYNTOKENS -- Number of terminals. */ +#define YYNTOKENS 208 +/* YYNNTS -- Number of nonterminals. */ +#define YYNNTS 137 +/* YYNRULES -- Number of rules. */ +#define YYNRULES 477 +/* YYNRULES -- Number of states. */ +#define YYNSTATES 2364 + +/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ +#define YYUNDEFTOK 2 +#define YYMAXUTOK 443 + +#define YYTRANSLATE(YYX) \ + ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) + +/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */ +static const unsigned char yytranslate[] = +{ + 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 194, 2, 204, 2, 192, 2, 2, + 199, 200, 190, 188, 205, 189, 203, 191, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 184, 2, 185, 178, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 201, 2, 202, 198, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 206, 2, 207, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 1, 2, 3, 4, + 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, + 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, + 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, + 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, + 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, + 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, + 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, + 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, + 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, + 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, + 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, + 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, + 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, + 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, + 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, + 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, + 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, + 175, 176, 177, 179, 180, 181, 182, 183, 186, 187, + 193, 195, 196, 197 }; -static const short yyrhs[] = { 212, - 0, 210, 0, 217, 0, 1, 6, 0, 3, 0, - 189, 3, 0, 0, 210, 211, 0, 165, 0, 168, - 169, 209, 209, 209, 170, 171, 167, 209, 209, 209, - 167, 209, 209, 209, 167, 209, 209, 209, 172, 173, - 0, 166, 0, 0, 212, 213, 0, 214, 0, 216, - 0, 215, 0, 140, 6, 0, 141, 6, 0, 143, - 6, 0, 142, 6, 0, 144, 6, 0, 145, 199, - 333, 205, 5, 200, 6, 0, 146, 199, 333, 200, - 6, 0, 147, 199, 5, 205, 5, 205, 333, 205, - 333, 205, 5, 205, 5, 205, 5, 200, 6, 0, - 3, 7, 124, 199, 5, 205, 331, 200, 6, 0, - 3, 7, 123, 199, 5, 205, 329, 205, 337, 205, - 328, 205, 328, 205, 328, 205, 337, 205, 337, 205, - 328, 200, 6, 0, 3, 7, 122, 199, 5, 205, - 329, 205, 329, 205, 335, 205, 328, 205, 328, 205, - 328, 205, 328, 205, 337, 205, 337, 205, 337, 205, - 337, 205, 328, 200, 6, 0, 3, 7, 130, 199, - 5, 205, 3, 205, 3, 205, 3, 205, 328, 200, - 6, 0, 3, 7, 134, 199, 5, 205, 3, 205, - 328, 200, 6, 0, 3, 7, 151, 199, 5, 205, - 3, 205, 328, 200, 6, 0, 3, 7, 132, 199, - 5, 205, 190, 205, 190, 205, 329, 205, 328, 200, - 6, 0, 3, 7, 135, 199, 5, 205, 337, 200, - 6, 0, 3, 7, 136, 199, 5, 205, 337, 205, - 3, 205, 328, 200, 6, 0, 3, 7, 131, 199, - 5, 205, 3, 200, 6, 0, 3, 7, 137, 199, - 5, 205, 3, 205, 329, 200, 6, 0, 3, 7, - 139, 199, 5, 205, 3, 205, 3, 205, 3, 200, - 6, 0, 3, 7, 138, 199, 5, 205, 331, 200, - 6, 0, 3, 7, 133, 199, 5, 205, 3, 200, - 6, 0, 3, 7, 42, 199, 5, 205, 3, 205, - 3, 200, 6, 0, 3, 7, 149, 199, 5, 205, - 337, 200, 6, 0, 3, 7, 150, 199, 5, 205, - 337, 205, 3, 200, 6, 0, 3, 7, 148, 199, - 5, 205, 3, 200, 6, 0, 3, 7, 152, 199, - 5, 205, 3, 205, 329, 200, 6, 0, 3, 7, - 153, 199, 5, 205, 3, 205, 329, 205, 329, 200, - 6, 0, 3, 7, 160, 199, 5, 205, 3, 205, - 329, 205, 329, 200, 6, 0, 3, 7, 154, 199, - 5, 205, 3, 205, 329, 200, 6, 0, 3, 7, - 164, 199, 5, 205, 3, 205, 329, 205, 329, 200, - 6, 0, 3, 7, 155, 199, 5, 205, 3, 205, - 337, 205, 337, 205, 328, 205, 328, 200, 6, 0, - 3, 7, 156, 199, 5, 205, 337, 200, 6, 0, - 3, 7, 157, 199, 158, 205, 328, 205, 3, 200, - 6, 0, 3, 7, 159, 199, 5, 205, 337, 205, - 328, 200, 6, 0, 3, 7, 161, 199, 5, 205, - 5, 205, 3, 205, 3, 200, 6, 0, 3, 7, - 162, 199, 5, 205, 5, 205, 3, 200, 6, 0, - 3, 7, 163, 199, 3, 205, 3, 200, 6, 0, - 0, 217, 218, 0, 220, 0, 219, 0, 303, 0, - 304, 0, 305, 0, 308, 0, 309, 0, 310, 0, - 311, 0, 314, 0, 326, 0, 327, 0, 313, 0, - 312, 0, 33, 199, 5, 200, 6, 0, 33, 199, - 5, 205, 339, 200, 6, 0, 4, 5, 206, 221, - 207, 6, 0, 4, 5, 4, 331, 206, 221, 207, - 6, 0, 0, 221, 223, 0, 221, 226, 0, 221, - 229, 0, 221, 232, 0, 221, 235, 0, 221, 238, - 0, 221, 241, 0, 221, 244, 0, 221, 247, 0, - 221, 250, 0, 221, 253, 0, 221, 256, 0, 221, - 259, 0, 221, 262, 0, 221, 265, 0, 221, 268, - 0, 221, 271, 0, 221, 274, 0, 221, 277, 0, - 221, 280, 0, 221, 283, 0, 221, 286, 0, 221, - 289, 0, 221, 292, 0, 221, 295, 0, 221, 298, - 0, 221, 300, 0, 329, 0, 222, 205, 329, 0, - 0, 73, 199, 329, 205, 329, 205, 329, 200, 224, - 206, 222, 207, 6, 0, 329, 0, 225, 205, 329, - 0, 0, 74, 199, 329, 205, 329, 205, 329, 200, - 227, 206, 225, 207, 6, 0, 329, 0, 228, 205, - 329, 0, 0, 75, 199, 329, 205, 329, 205, 329, - 200, 230, 206, 228, 207, 6, 0, 329, 0, 231, - 205, 329, 0, 0, 76, 199, 329, 205, 329, 205, - 329, 205, 329, 205, 329, 205, 329, 200, 233, 206, - 231, 207, 6, 0, 329, 0, 234, 205, 329, 0, - 0, 77, 199, 329, 205, 329, 205, 329, 205, 329, - 205, 329, 205, 329, 200, 236, 206, 234, 207, 6, - 0, 329, 0, 237, 205, 329, 0, 0, 78, 199, - 329, 205, 329, 205, 329, 205, 329, 205, 329, 205, - 329, 200, 239, 206, 237, 207, 6, 0, 329, 0, - 240, 205, 329, 0, 0, 79, 199, 329, 205, 329, - 205, 329, 205, 329, 205, 329, 205, 329, 205, 329, - 205, 329, 205, 329, 200, 242, 206, 240, 207, 6, - 0, 329, 0, 243, 205, 329, 0, 0, 80, 199, - 329, 205, 329, 205, 329, 205, 329, 205, 329, 205, - 329, 205, 329, 205, 329, 205, 329, 200, 245, 206, - 243, 207, 6, 0, 329, 0, 246, 205, 329, 0, - 0, 81, 199, 329, 205, 329, 205, 329, 205, 329, - 205, 329, 205, 329, 205, 329, 205, 329, 205, 329, - 200, 248, 206, 246, 207, 6, 0, 329, 0, 249, - 205, 329, 0, 0, 82, 199, 329, 205, 329, 205, - 329, 205, 329, 205, 329, 205, 329, 205, 329, 205, - 329, 205, 329, 205, 329, 205, 329, 205, 329, 200, - 251, 206, 249, 207, 6, 0, 329, 0, 252, 205, - 329, 0, 0, 83, 199, 329, 205, 329, 205, 329, - 205, 329, 205, 329, 205, 329, 205, 329, 205, 329, - 205, 329, 205, 329, 205, 329, 205, 329, 200, 254, - 206, 252, 207, 6, 0, 329, 0, 255, 205, 329, - 0, 0, 84, 199, 329, 205, 329, 205, 329, 205, - 329, 205, 329, 205, 329, 205, 329, 205, 329, 205, - 329, 205, 329, 205, 329, 205, 329, 200, 257, 206, - 255, 207, 6, 0, 329, 0, 258, 205, 329, 0, - 0, 85, 199, 329, 205, 329, 205, 329, 205, 329, - 205, 329, 205, 329, 205, 329, 205, 329, 205, 329, - 205, 329, 205, 329, 205, 329, 200, 260, 206, 258, - 207, 6, 0, 329, 0, 261, 205, 329, 0, 0, - 86, 199, 329, 205, 329, 205, 329, 205, 329, 205, - 329, 205, 329, 205, 329, 205, 329, 205, 329, 205, - 329, 205, 329, 205, 329, 200, 263, 206, 261, 207, - 6, 0, 329, 0, 264, 205, 329, 0, 0, 87, - 199, 329, 205, 329, 205, 329, 205, 329, 205, 329, - 205, 329, 205, 329, 205, 329, 205, 329, 205, 329, - 205, 329, 205, 329, 200, 266, 206, 264, 207, 6, - 0, 329, 0, 267, 205, 329, 0, 0, 88, 199, - 329, 205, 329, 205, 329, 205, 329, 205, 329, 205, - 329, 205, 329, 205, 329, 205, 329, 205, 329, 205, - 329, 205, 329, 205, 329, 205, 329, 205, 329, 205, - 329, 205, 329, 205, 329, 205, 329, 205, 329, 205, - 329, 205, 329, 205, 329, 205, 329, 200, 269, 206, - 267, 207, 6, 0, 329, 0, 270, 205, 329, 0, - 0, 89, 199, 329, 205, 329, 205, 329, 205, 329, - 205, 329, 205, 329, 205, 329, 205, 329, 205, 329, - 205, 329, 205, 329, 205, 329, 205, 329, 205, 329, - 205, 329, 205, 329, 205, 329, 205, 329, 205, 329, - 205, 329, 205, 329, 205, 329, 205, 329, 205, 329, - 200, 272, 206, 270, 207, 6, 0, 329, 0, 273, - 205, 329, 0, 0, 90, 199, 329, 205, 329, 205, - 329, 205, 329, 205, 329, 205, 329, 205, 329, 205, - 329, 205, 329, 205, 329, 205, 329, 205, 329, 205, - 329, 205, 329, 205, 329, 205, 329, 205, 329, 205, - 329, 205, 329, 205, 329, 205, 329, 205, 329, 205, - 329, 205, 329, 200, 275, 206, 273, 207, 6, 0, - 329, 0, 276, 205, 329, 0, 0, 91, 199, 329, - 205, 329, 205, 329, 205, 329, 205, 329, 205, 329, - 205, 329, 205, 329, 205, 329, 205, 329, 205, 329, - 205, 329, 205, 329, 205, 329, 205, 329, 205, 329, - 205, 329, 205, 329, 200, 278, 206, 276, 207, 6, - 0, 329, 0, 279, 205, 329, 0, 0, 92, 199, - 329, 205, 329, 205, 329, 205, 329, 205, 329, 205, - 329, 205, 329, 205, 329, 205, 329, 205, 329, 205, - 329, 205, 329, 205, 329, 205, 329, 205, 329, 205, - 329, 205, 329, 205, 329, 200, 281, 206, 279, 207, - 6, 0, 329, 0, 282, 205, 329, 0, 0, 93, - 199, 329, 205, 329, 205, 329, 205, 329, 205, 329, - 205, 329, 205, 329, 205, 329, 205, 329, 205, 329, - 205, 329, 205, 329, 205, 329, 205, 329, 205, 329, - 205, 329, 205, 329, 205, 329, 200, 284, 206, 282, - 207, 6, 0, 329, 0, 285, 205, 329, 0, 0, - 94, 199, 329, 205, 329, 205, 329, 205, 329, 205, - 329, 205, 329, 205, 329, 205, 329, 205, 329, 205, - 329, 205, 329, 205, 329, 205, 329, 205, 329, 205, - 329, 200, 287, 206, 285, 207, 6, 0, 329, 0, - 288, 205, 329, 0, 0, 95, 199, 329, 205, 329, - 205, 329, 205, 329, 205, 329, 205, 329, 205, 329, - 205, 329, 205, 329, 205, 329, 205, 329, 205, 329, - 205, 329, 205, 329, 205, 329, 200, 290, 206, 288, - 207, 6, 0, 329, 0, 291, 205, 329, 0, 0, - 96, 199, 329, 205, 329, 205, 329, 205, 329, 205, - 329, 205, 329, 205, 329, 205, 329, 205, 329, 205, - 329, 205, 329, 205, 329, 205, 329, 205, 329, 205, - 329, 200, 293, 206, 291, 207, 6, 0, 343, 0, - 294, 205, 343, 0, 0, 97, 199, 329, 205, 329, - 205, 329, 200, 296, 206, 294, 207, 6, 0, 343, - 0, 297, 205, 343, 0, 0, 98, 199, 329, 205, - 329, 205, 329, 205, 329, 200, 299, 206, 297, 207, - 6, 0, 99, 206, 336, 207, 206, 336, 207, 6, - 0, 7, 0, 174, 0, 175, 0, 176, 0, 177, - 0, 195, 0, 196, 0, 4, 301, 329, 6, 0, - 4, 201, 329, 202, 301, 329, 6, 0, 4, 201, - 206, 339, 207, 202, 301, 337, 6, 0, 4, 201, - 202, 7, 337, 6, 0, 4, 302, 6, 0, 4, - 201, 329, 202, 302, 6, 0, 4, 203, 4, 7, - 343, 6, 0, 4, 201, 329, 202, 203, 4, 7, - 343, 6, 0, 4, 203, 4, 301, 329, 6, 0, - 4, 201, 329, 202, 203, 4, 301, 329, 6, 0, - 4, 203, 4, 302, 6, 0, 4, 201, 329, 202, - 203, 4, 302, 6, 0, 4, 203, 108, 203, 4, - 7, 340, 6, 0, 4, 201, 329, 202, 203, 108, - 203, 4, 7, 340, 6, 0, 4, 203, 109, 7, - 341, 6, 0, 4, 201, 329, 202, 203, 109, 7, - 341, 6, 0, 59, 199, 4, 200, 203, 4, 7, - 329, 6, 0, 59, 199, 4, 200, 203, 4, 7, - 343, 6, 0, 39, 199, 329, 200, 7, 331, 6, - 0, 55, 39, 199, 329, 200, 7, 337, 6, 0, - 71, 39, 337, 7, 206, 329, 205, 329, 205, 329, - 207, 6, 0, 46, 47, 337, 7, 329, 6, 0, - 42, 199, 329, 200, 7, 337, 6, 0, 44, 199, - 329, 200, 7, 337, 6, 0, 40, 199, 329, 200, - 7, 337, 6, 0, 40, 199, 329, 200, 7, 337, - 50, 331, 6, 0, 41, 199, 329, 200, 7, 337, - 6, 0, 41, 199, 329, 200, 7, 337, 50, 331, - 6, 0, 48, 199, 329, 200, 7, 206, 329, 205, - 329, 205, 5, 205, 5, 205, 5, 207, 6, 0, - 101, 199, 329, 200, 7, 337, 6, 0, 102, 199, - 329, 200, 7, 337, 6, 0, 103, 199, 329, 200, - 7, 337, 107, 337, 104, 329, 6, 0, 42, 66, - 199, 329, 200, 7, 337, 6, 0, 71, 42, 337, - 7, 206, 329, 205, 329, 205, 329, 207, 6, 0, - 55, 42, 199, 329, 200, 7, 337, 6, 0, 50, - 43, 199, 329, 200, 7, 337, 6, 0, 51, 43, - 199, 329, 200, 7, 337, 6, 0, 119, 43, 199, - 329, 200, 7, 206, 329, 205, 337, 207, 6, 0, - 52, 43, 206, 329, 207, 7, 199, 329, 205, 329, - 200, 337, 337, 6, 0, 52, 43, 199, 329, 200, - 7, 199, 329, 205, 329, 200, 337, 337, 6, 0, - 103, 43, 105, 106, 199, 329, 200, 7, 335, 107, - 206, 337, 205, 337, 207, 104, 206, 329, 205, 329, - 207, 6, 0, 103, 43, 199, 329, 200, 7, 335, - 107, 206, 337, 205, 337, 207, 104, 206, 329, 205, - 329, 207, 6, 0, 43, 66, 199, 329, 200, 7, - 337, 6, 0, 55, 43, 199, 329, 200, 7, 337, - 6, 0, 54, 45, 199, 329, 200, 7, 337, 6, - 0, 45, 199, 329, 200, 7, 337, 6, 0, 55, - 45, 199, 329, 200, 7, 337, 6, 0, 61, 331, - 206, 306, 207, 0, 60, 206, 331, 205, 331, 205, - 329, 207, 206, 306, 207, 0, 62, 331, 206, 306, - 207, 0, 63, 206, 331, 205, 329, 207, 206, 306, - 207, 0, 308, 0, 307, 0, 305, 0, 0, 307, - 304, 0, 307, 39, 206, 339, 207, 6, 0, 307, - 42, 206, 339, 207, 6, 0, 307, 43, 206, 339, - 207, 6, 0, 307, 45, 206, 339, 207, 6, 0, - 65, 206, 307, 207, 0, 65, 4, 201, 329, 202, - 6, 0, 68, 206, 307, 207, 0, 68, 4, 201, - 329, 202, 6, 0, 68, 4, 6, 0, 108, 340, - 206, 307, 207, 0, 120, 343, 6, 0, 121, 343, - 6, 0, 120, 206, 307, 207, 0, 121, 206, 307, - 207, 0, 4, 343, 6, 0, 4, 4, 201, 329, - 202, 343, 6, 0, 4, 329, 6, 0, 59, 199, - 4, 200, 203, 4, 6, 0, 100, 4, 6, 0, - 115, 6, 0, 37, 6, 0, 37, 206, 329, 205, - 329, 205, 329, 205, 329, 205, 329, 205, 329, 207, - 6, 0, 38, 6, 0, 110, 199, 329, 8, 329, - 200, 0, 110, 199, 329, 8, 329, 8, 329, 200, - 0, 110, 4, 111, 206, 329, 8, 329, 207, 0, - 110, 4, 111, 206, 329, 8, 329, 8, 329, 207, - 0, 112, 0, 118, 4, 0, 116, 0, 117, 4, - 6, 0, 113, 199, 329, 200, 0, 114, 0, 64, - 39, 206, 329, 205, 331, 207, 6, 0, 64, 39, - 206, 329, 205, 331, 205, 331, 205, 329, 207, 6, - 0, 64, 39, 206, 329, 205, 331, 205, 331, 205, - 331, 205, 329, 207, 6, 0, 0, 64, 39, 206, - 329, 205, 331, 207, 315, 206, 324, 207, 6, 0, - 0, 64, 39, 206, 329, 205, 331, 205, 331, 205, - 329, 207, 316, 206, 324, 207, 6, 0, 0, 64, - 39, 206, 329, 205, 331, 205, 331, 205, 331, 205, - 329, 207, 317, 206, 324, 207, 6, 0, 64, 42, - 206, 329, 205, 331, 207, 6, 0, 64, 42, 206, - 329, 205, 331, 205, 331, 205, 329, 207, 6, 0, - 64, 42, 206, 329, 205, 331, 205, 331, 205, 331, - 205, 329, 207, 6, 0, 0, 64, 42, 206, 329, - 205, 331, 207, 318, 206, 324, 207, 6, 0, 0, - 64, 42, 206, 329, 205, 331, 205, 331, 205, 329, - 207, 319, 206, 324, 207, 6, 0, 0, 64, 42, - 206, 329, 205, 331, 205, 331, 205, 331, 205, 329, - 207, 320, 206, 324, 207, 6, 0, 64, 43, 206, - 329, 205, 331, 207, 6, 0, 64, 43, 206, 329, - 205, 331, 205, 331, 205, 329, 207, 6, 0, 64, - 43, 206, 329, 205, 331, 205, 331, 205, 331, 205, - 329, 207, 6, 0, 0, 64, 43, 206, 329, 205, - 331, 207, 321, 206, 324, 207, 6, 0, 0, 64, - 43, 206, 329, 205, 331, 205, 331, 205, 329, 207, - 322, 206, 324, 207, 6, 0, 0, 64, 43, 206, - 329, 205, 331, 205, 331, 205, 331, 205, 329, 207, - 323, 206, 324, 207, 6, 0, 325, 0, 324, 325, - 0, 72, 206, 337, 205, 337, 205, 337, 207, 6, - 0, 72, 206, 337, 205, 337, 207, 6, 0, 67, - 6, 0, 53, 42, 337, 7, 329, 6, 0, 53, - 42, 337, 7, 329, 56, 58, 329, 6, 0, 53, - 42, 337, 7, 329, 56, 57, 329, 6, 0, 53, - 43, 206, 329, 207, 7, 337, 6, 0, 49, 43, - 206, 329, 207, 7, 337, 6, 0, 53, 45, 206, - 329, 207, 7, 337, 6, 0, 67, 43, 337, 7, - 329, 6, 0, 67, 43, 337, 6, 0, 69, 6, - 0, 70, 6, 0, 125, 0, 126, 0, 127, 0, - 128, 0, 129, 0, 330, 0, 199, 329, 200, 0, - 189, 329, 0, 188, 329, 0, 194, 329, 0, 329, - 189, 329, 0, 329, 188, 329, 0, 329, 190, 329, - 0, 329, 191, 329, 0, 329, 192, 329, 0, 329, - 198, 329, 0, 329, 184, 329, 0, 329, 186, 329, - 0, 329, 185, 329, 0, 329, 187, 329, 0, 329, - 181, 329, 0, 329, 182, 329, 0, 329, 180, 329, - 0, 329, 179, 329, 0, 329, 178, 329, 8, 329, - 0, 12, 199, 329, 200, 0, 13, 199, 329, 200, - 0, 14, 199, 329, 200, 0, 15, 199, 329, 200, - 0, 16, 199, 329, 200, 0, 17, 199, 329, 200, - 0, 18, 199, 329, 200, 0, 19, 199, 329, 200, - 0, 20, 199, 329, 200, 0, 22, 199, 329, 200, - 0, 23, 199, 329, 205, 329, 200, 0, 24, 199, - 329, 200, 0, 25, 199, 329, 200, 0, 26, 199, - 329, 200, 0, 27, 199, 329, 200, 0, 28, 199, - 329, 200, 0, 29, 199, 329, 200, 0, 30, 199, - 329, 205, 329, 200, 0, 31, 199, 329, 205, 329, - 200, 0, 32, 199, 329, 205, 329, 200, 0, 21, - 199, 329, 200, 0, 12, 201, 329, 202, 0, 13, - 201, 329, 202, 0, 14, 201, 329, 202, 0, 15, - 201, 329, 202, 0, 16, 201, 329, 202, 0, 17, - 201, 329, 202, 0, 18, 201, 329, 202, 0, 19, - 201, 329, 202, 0, 20, 201, 329, 202, 0, 22, - 201, 329, 202, 0, 23, 201, 329, 205, 329, 202, - 0, 24, 201, 329, 202, 0, 25, 201, 329, 202, - 0, 26, 201, 329, 202, 0, 27, 201, 329, 202, - 0, 28, 201, 329, 202, 0, 29, 201, 329, 202, - 0, 30, 201, 329, 205, 329, 202, 0, 31, 201, - 329, 205, 329, 202, 0, 32, 201, 329, 205, 329, - 202, 0, 21, 201, 329, 202, 0, 3, 0, 9, - 0, 10, 0, 11, 0, 4, 0, 4, 201, 329, - 202, 0, 204, 4, 201, 202, 0, 4, 302, 0, - 4, 201, 329, 202, 302, 0, 4, 203, 4, 0, - 4, 201, 329, 202, 203, 4, 0, 4, 203, 4, - 302, 0, 4, 201, 329, 202, 203, 4, 302, 0, - 332, 0, 189, 331, 0, 188, 331, 0, 331, 189, - 331, 0, 331, 188, 331, 0, 206, 329, 205, 329, - 205, 329, 205, 329, 205, 329, 207, 0, 206, 329, - 205, 329, 205, 329, 205, 329, 207, 0, 206, 329, - 205, 329, 205, 329, 207, 0, 199, 329, 205, 329, - 205, 329, 200, 0, 0, 199, 334, 200, 0, 5, - 0, 334, 205, 5, 0, 0, 206, 336, 207, 0, - 199, 336, 200, 0, 337, 0, 336, 205, 337, 0, - 329, 0, 338, 0, 206, 339, 207, 0, 189, 206, - 339, 207, 0, 329, 8, 329, 0, 329, 8, 329, - 8, 329, 0, 39, 206, 329, 207, 0, 305, 0, - 308, 0, 314, 0, 4, 201, 202, 0, 189, 4, - 201, 202, 0, 4, 201, 206, 339, 207, 202, 0, - 189, 4, 201, 206, 339, 207, 202, 0, 329, 0, - 338, 0, 339, 205, 329, 0, 339, 205, 338, 0, - 206, 329, 205, 329, 205, 329, 205, 329, 207, 0, - 206, 329, 205, 329, 205, 329, 207, 0, 4, 0, - 4, 203, 108, 203, 4, 0, 206, 342, 207, 0, - 4, 201, 329, 202, 203, 109, 0, 340, 0, 342, - 205, 340, 0, 5, 0, 35, 199, 343, 205, 343, - 200, 0, 36, 199, 343, 200, 0, 34, 199, 343, - 200, 0, 34, 199, 343, 205, 339, 200, 0, 34, - 199, 4, 203, 4, 200, 0, 34, 199, 4, 201, - 329, 202, 203, 4, 200, 0 +#if YYDEBUG +/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in + YYRHS. */ +static const unsigned short yyprhs[] = +{ + 0, 0, 3, 5, 7, 9, 12, 14, 17, 18, + 21, 23, 45, 47, 48, 51, 53, 55, 57, 60, + 63, 66, 69, 72, 80, 86, 104, 114, 138, 170, + 186, 198, 210, 226, 236, 250, 260, 272, 286, 296, + 306, 318, 328, 340, 350, 362, 376, 390, 402, 416, + 434, 444, 456, 468, 482, 494, 504, 505, 508, 510, + 512, 514, 516, 518, 520, 522, 524, 526, 528, 530, + 532, 534, 536, 542, 550, 557, 566, 567, 570, 573, + 576, 579, 582, 585, 588, 591, 594, 597, 600, 603, + 606, 609, 612, 615, 618, 621, 624, 627, 630, 633, + 636, 639, 642, 645, 648, 650, 654, 655, 669, 671, + 675, 676, 690, 692, 696, 697, 711, 713, 717, 718, + 738, 740, 744, 745, 765, 767, 771, 772, 792, 794, + 798, 799, 825, 827, 831, 832, 858, 860, 864, 865, + 891, 893, 897, 898, 930, 932, 936, 937, 969, 971, + 975, 976, 1008, 1010, 1014, 1015, 1047, 1049, 1053, 1054, + 1086, 1088, 1092, 1093, 1125, 1127, 1131, 1132, 1188, 1190, + 1194, 1195, 1251, 1253, 1257, 1258, 1314, 1316, 1320, 1321, + 1365, 1367, 1371, 1372, 1416, 1418, 1422, 1423, 1467, 1469, + 1473, 1474, 1512, 1514, 1518, 1519, 1557, 1559, 1563, 1564, + 1602, 1604, 1608, 1609, 1623, 1625, 1629, 1630, 1646, 1655, + 1657, 1659, 1661, 1663, 1665, 1667, 1669, 1674, 1682, 1692, + 1699, 1703, 1710, 1717, 1727, 1734, 1744, 1750, 1759, 1768, + 1780, 1787, 1797, 1807, 1817, 1825, 1834, 1847, 1854, 1862, + 1870, 1878, 1888, 1896, 1906, 1924, 1932, 1940, 1952, 1961, + 1974, 1983, 1992, 2001, 2014, 2029, 2044, 2067, 2088, 2097, + 2106, 2115, 2123, 2132, 2138, 2150, 2156, 2166, 2168, 2170, + 2172, 2173, 2176, 2183, 2190, 2197, 2204, 2209, 2216, 2221, + 2228, 2232, 2238, 2242, 2246, 2251, 2256, 2260, 2268, 2272, + 2280, 2284, 2287, 2290, 2306, 2309, 2316, 2325, 2334, 2345, + 2347, 2350, 2352, 2356, 2361, 2363, 2372, 2385, 2400, 2401, + 2414, 2415, 2432, 2433, 2452, 2461, 2474, 2489, 2490, 2503, + 2504, 2521, 2522, 2541, 2550, 2563, 2578, 2579, 2592, 2593, + 2610, 2611, 2630, 2632, 2635, 2645, 2653, 2656, 2663, 2673, + 2683, 2692, 2701, 2710, 2717, 2722, 2725, 2728, 2730, 2732, + 2734, 2736, 2738, 2740, 2744, 2747, 2750, 2753, 2757, 2761, + 2765, 2769, 2773, 2777, 2781, 2785, 2789, 2793, 2797, 2801, + 2805, 2809, 2815, 2820, 2825, 2830, 2835, 2840, 2845, 2850, + 2855, 2860, 2865, 2872, 2877, 2882, 2887, 2892, 2897, 2902, + 2909, 2916, 2923, 2928, 2933, 2938, 2943, 2948, 2953, 2958, + 2963, 2968, 2973, 2978, 2985, 2990, 2995, 3000, 3005, 3010, + 3015, 3022, 3029, 3036, 3041, 3043, 3045, 3047, 3049, 3051, + 3056, 3061, 3064, 3070, 3074, 3081, 3086, 3094, 3096, 3099, + 3102, 3106, 3110, 3122, 3132, 3140, 3148, 3149, 3153, 3155, + 3159, 3160, 3164, 3168, 3170, 3174, 3176, 3178, 3182, 3187, + 3191, 3197, 3202, 3204, 3206, 3208, 3212, 3217, 3224, 3232, + 3234, 3236, 3240, 3244, 3254, 3262, 3264, 3270, 3274, 3281, + 3283, 3287, 3289, 3296, 3301, 3306, 3313, 3320 }; -#endif +/* YYRHS -- A `-1'-separated list of the rules' RHS. */ +static const short yyrhs[] = +{ + 209, 0, -1, 213, -1, 211, -1, 218, -1, 1, + 6, -1, 3, -1, 189, 3, -1, -1, 211, 212, + -1, 165, -1, 168, 169, 210, 210, 210, 170, 171, + 167, 210, 210, 210, 167, 210, 210, 210, 167, 210, + 210, 210, 172, 173, -1, 166, -1, -1, 213, 214, + -1, 215, -1, 217, -1, 216, -1, 140, 6, -1, + 141, 6, -1, 143, 6, -1, 142, 6, -1, 144, + 6, -1, 145, 199, 334, 205, 5, 200, 6, -1, + 146, 199, 334, 200, 6, -1, 147, 199, 5, 205, + 5, 205, 334, 205, 334, 205, 5, 205, 5, 205, + 5, 200, 6, -1, 3, 7, 124, 199, 5, 205, + 332, 200, 6, -1, 3, 7, 123, 199, 5, 205, + 330, 205, 338, 205, 329, 205, 329, 205, 329, 205, + 338, 205, 338, 205, 329, 200, 6, -1, 3, 7, + 122, 199, 5, 205, 330, 205, 330, 205, 336, 205, + 329, 205, 329, 205, 329, 205, 329, 205, 338, 205, + 338, 205, 338, 205, 338, 205, 329, 200, 6, -1, + 3, 7, 130, 199, 5, 205, 3, 205, 3, 205, + 3, 205, 329, 200, 6, -1, 3, 7, 134, 199, + 5, 205, 3, 205, 329, 200, 6, -1, 3, 7, + 151, 199, 5, 205, 3, 205, 329, 200, 6, -1, + 3, 7, 132, 199, 5, 205, 190, 205, 190, 205, + 330, 205, 329, 200, 6, -1, 3, 7, 135, 199, + 5, 205, 338, 200, 6, -1, 3, 7, 136, 199, + 5, 205, 338, 205, 3, 205, 329, 200, 6, -1, + 3, 7, 131, 199, 5, 205, 3, 200, 6, -1, + 3, 7, 137, 199, 5, 205, 3, 205, 330, 200, + 6, -1, 3, 7, 139, 199, 5, 205, 3, 205, + 3, 205, 3, 200, 6, -1, 3, 7, 138, 199, + 5, 205, 332, 200, 6, -1, 3, 7, 133, 199, + 5, 205, 3, 200, 6, -1, 3, 7, 42, 199, + 5, 205, 3, 205, 3, 200, 6, -1, 3, 7, + 149, 199, 5, 205, 338, 200, 6, -1, 3, 7, + 150, 199, 5, 205, 338, 205, 3, 200, 6, -1, + 3, 7, 148, 199, 5, 205, 3, 200, 6, -1, + 3, 7, 152, 199, 5, 205, 3, 205, 330, 200, + 6, -1, 3, 7, 153, 199, 5, 205, 3, 205, + 330, 205, 330, 200, 6, -1, 3, 7, 160, 199, + 5, 205, 3, 205, 330, 205, 330, 200, 6, -1, + 3, 7, 154, 199, 5, 205, 3, 205, 330, 200, + 6, -1, 3, 7, 164, 199, 5, 205, 3, 205, + 330, 205, 330, 200, 6, -1, 3, 7, 155, 199, + 5, 205, 3, 205, 338, 205, 338, 205, 329, 205, + 329, 200, 6, -1, 3, 7, 156, 199, 5, 205, + 338, 200, 6, -1, 3, 7, 157, 199, 158, 205, + 329, 205, 3, 200, 6, -1, 3, 7, 159, 199, + 5, 205, 338, 205, 329, 200, 6, -1, 3, 7, + 161, 199, 5, 205, 5, 205, 3, 205, 3, 200, + 6, -1, 3, 7, 162, 199, 5, 205, 5, 205, + 3, 200, 6, -1, 3, 7, 163, 199, 3, 205, + 3, 200, 6, -1, -1, 218, 219, -1, 221, -1, + 220, -1, 304, -1, 305, -1, 306, -1, 309, -1, + 310, -1, 311, -1, 312, -1, 315, -1, 327, -1, + 328, -1, 314, -1, 313, -1, 33, 199, 5, 200, + 6, -1, 33, 199, 5, 205, 340, 200, 6, -1, + 4, 5, 206, 222, 207, 6, -1, 4, 5, 4, + 332, 206, 222, 207, 6, -1, -1, 222, 224, -1, + 222, 227, -1, 222, 230, -1, 222, 233, -1, 222, + 236, -1, 222, 239, -1, 222, 242, -1, 222, 245, + -1, 222, 248, -1, 222, 251, -1, 222, 254, -1, + 222, 257, -1, 222, 260, -1, 222, 263, -1, 222, + 266, -1, 222, 269, -1, 222, 272, -1, 222, 275, + -1, 222, 278, -1, 222, 281, -1, 222, 284, -1, + 222, 287, -1, 222, 290, -1, 222, 293, -1, 222, + 296, -1, 222, 299, -1, 222, 301, -1, 330, -1, + 223, 205, 330, -1, -1, 73, 199, 330, 205, 330, + 205, 330, 200, 225, 206, 223, 207, 6, -1, 330, + -1, 226, 205, 330, -1, -1, 74, 199, 330, 205, + 330, 205, 330, 200, 228, 206, 226, 207, 6, -1, + 330, -1, 229, 205, 330, -1, -1, 75, 199, 330, + 205, 330, 205, 330, 200, 231, 206, 229, 207, 6, + -1, 330, -1, 232, 205, 330, -1, -1, 76, 199, + 330, 205, 330, 205, 330, 205, 330, 205, 330, 205, + 330, 200, 234, 206, 232, 207, 6, -1, 330, -1, + 235, 205, 330, -1, -1, 77, 199, 330, 205, 330, + 205, 330, 205, 330, 205, 330, 205, 330, 200, 237, + 206, 235, 207, 6, -1, 330, -1, 238, 205, 330, + -1, -1, 78, 199, 330, 205, 330, 205, 330, 205, + 330, 205, 330, 205, 330, 200, 240, 206, 238, 207, + 6, -1, 330, -1, 241, 205, 330, -1, -1, 79, + 199, 330, 205, 330, 205, 330, 205, 330, 205, 330, + 205, 330, 205, 330, 205, 330, 205, 330, 200, 243, + 206, 241, 207, 6, -1, 330, -1, 244, 205, 330, + -1, -1, 80, 199, 330, 205, 330, 205, 330, 205, + 330, 205, 330, 205, 330, 205, 330, 205, 330, 205, + 330, 200, 246, 206, 244, 207, 6, -1, 330, -1, + 247, 205, 330, -1, -1, 81, 199, 330, 205, 330, + 205, 330, 205, 330, 205, 330, 205, 330, 205, 330, + 205, 330, 205, 330, 200, 249, 206, 247, 207, 6, + -1, 330, -1, 250, 205, 330, -1, -1, 82, 199, + 330, 205, 330, 205, 330, 205, 330, 205, 330, 205, + 330, 205, 330, 205, 330, 205, 330, 205, 330, 205, + 330, 205, 330, 200, 252, 206, 250, 207, 6, -1, + 330, -1, 253, 205, 330, -1, -1, 83, 199, 330, + 205, 330, 205, 330, 205, 330, 205, 330, 205, 330, + 205, 330, 205, 330, 205, 330, 205, 330, 205, 330, + 205, 330, 200, 255, 206, 253, 207, 6, -1, 330, + -1, 256, 205, 330, -1, -1, 84, 199, 330, 205, + 330, 205, 330, 205, 330, 205, 330, 205, 330, 205, + 330, 205, 330, 205, 330, 205, 330, 205, 330, 205, + 330, 200, 258, 206, 256, 207, 6, -1, 330, -1, + 259, 205, 330, -1, -1, 85, 199, 330, 205, 330, + 205, 330, 205, 330, 205, 330, 205, 330, 205, 330, + 205, 330, 205, 330, 205, 330, 205, 330, 205, 330, + 200, 261, 206, 259, 207, 6, -1, 330, -1, 262, + 205, 330, -1, -1, 86, 199, 330, 205, 330, 205, + 330, 205, 330, 205, 330, 205, 330, 205, 330, 205, + 330, 205, 330, 205, 330, 205, 330, 205, 330, 200, + 264, 206, 262, 207, 6, -1, 330, -1, 265, 205, + 330, -1, -1, 87, 199, 330, 205, 330, 205, 330, + 205, 330, 205, 330, 205, 330, 205, 330, 205, 330, + 205, 330, 205, 330, 205, 330, 205, 330, 200, 267, + 206, 265, 207, 6, -1, 330, -1, 268, 205, 330, + -1, -1, 88, 199, 330, 205, 330, 205, 330, 205, + 330, 205, 330, 205, 330, 205, 330, 205, 330, 205, + 330, 205, 330, 205, 330, 205, 330, 205, 330, 205, + 330, 205, 330, 205, 330, 205, 330, 205, 330, 205, + 330, 205, 330, 205, 330, 205, 330, 205, 330, 205, + 330, 200, 270, 206, 268, 207, 6, -1, 330, -1, + 271, 205, 330, -1, -1, 89, 199, 330, 205, 330, + 205, 330, 205, 330, 205, 330, 205, 330, 205, 330, + 205, 330, 205, 330, 205, 330, 205, 330, 205, 330, + 205, 330, 205, 330, 205, 330, 205, 330, 205, 330, + 205, 330, 205, 330, 205, 330, 205, 330, 205, 330, + 205, 330, 205, 330, 200, 273, 206, 271, 207, 6, + -1, 330, -1, 274, 205, 330, -1, -1, 90, 199, + 330, 205, 330, 205, 330, 205, 330, 205, 330, 205, + 330, 205, 330, 205, 330, 205, 330, 205, 330, 205, + 330, 205, 330, 205, 330, 205, 330, 205, 330, 205, + 330, 205, 330, 205, 330, 205, 330, 205, 330, 205, + 330, 205, 330, 205, 330, 205, 330, 200, 276, 206, + 274, 207, 6, -1, 330, -1, 277, 205, 330, -1, + -1, 91, 199, 330, 205, 330, 205, 330, 205, 330, + 205, 330, 205, 330, 205, 330, 205, 330, 205, 330, + 205, 330, 205, 330, 205, 330, 205, 330, 205, 330, + 205, 330, 205, 330, 205, 330, 205, 330, 200, 279, + 206, 277, 207, 6, -1, 330, -1, 280, 205, 330, + -1, -1, 92, 199, 330, 205, 330, 205, 330, 205, + 330, 205, 330, 205, 330, 205, 330, 205, 330, 205, + 330, 205, 330, 205, 330, 205, 330, 205, 330, 205, + 330, 205, 330, 205, 330, 205, 330, 205, 330, 200, + 282, 206, 280, 207, 6, -1, 330, -1, 283, 205, + 330, -1, -1, 93, 199, 330, 205, 330, 205, 330, + 205, 330, 205, 330, 205, 330, 205, 330, 205, 330, + 205, 330, 205, 330, 205, 330, 205, 330, 205, 330, + 205, 330, 205, 330, 205, 330, 205, 330, 205, 330, + 200, 285, 206, 283, 207, 6, -1, 330, -1, 286, + 205, 330, -1, -1, 94, 199, 330, 205, 330, 205, + 330, 205, 330, 205, 330, 205, 330, 205, 330, 205, + 330, 205, 330, 205, 330, 205, 330, 205, 330, 205, + 330, 205, 330, 205, 330, 200, 288, 206, 286, 207, + 6, -1, 330, -1, 289, 205, 330, -1, -1, 95, + 199, 330, 205, 330, 205, 330, 205, 330, 205, 330, + 205, 330, 205, 330, 205, 330, 205, 330, 205, 330, + 205, 330, 205, 330, 205, 330, 205, 330, 205, 330, + 200, 291, 206, 289, 207, 6, -1, 330, -1, 292, + 205, 330, -1, -1, 96, 199, 330, 205, 330, 205, + 330, 205, 330, 205, 330, 205, 330, 205, 330, 205, + 330, 205, 330, 205, 330, 205, 330, 205, 330, 205, + 330, 205, 330, 205, 330, 200, 294, 206, 292, 207, + 6, -1, 344, -1, 295, 205, 344, -1, -1, 97, + 199, 330, 205, 330, 205, 330, 200, 297, 206, 295, + 207, 6, -1, 344, -1, 298, 205, 344, -1, -1, + 98, 199, 330, 205, 330, 205, 330, 205, 330, 200, + 300, 206, 298, 207, 6, -1, 99, 206, 337, 207, + 206, 337, 207, 6, -1, 7, -1, 177, -1, 176, + -1, 175, -1, 174, -1, 197, -1, 196, -1, 4, + 302, 330, 6, -1, 4, 201, 330, 202, 302, 330, + 6, -1, 4, 201, 206, 340, 207, 202, 302, 338, + 6, -1, 4, 201, 202, 7, 338, 6, -1, 4, + 303, 6, -1, 4, 201, 330, 202, 303, 6, -1, + 4, 203, 4, 7, 344, 6, -1, 4, 201, 330, + 202, 203, 4, 7, 344, 6, -1, 4, 203, 4, + 302, 330, 6, -1, 4, 201, 330, 202, 203, 4, + 302, 330, 6, -1, 4, 203, 4, 303, 6, -1, + 4, 201, 330, 202, 203, 4, 303, 6, -1, 4, + 203, 108, 203, 4, 7, 341, 6, -1, 4, 201, + 330, 202, 203, 108, 203, 4, 7, 341, 6, -1, + 4, 203, 109, 7, 342, 6, -1, 4, 201, 330, + 202, 203, 109, 7, 342, 6, -1, 59, 199, 4, + 200, 203, 4, 7, 330, 6, -1, 59, 199, 4, + 200, 203, 4, 7, 344, 6, -1, 39, 199, 330, + 200, 7, 332, 6, -1, 55, 39, 199, 330, 200, + 7, 338, 6, -1, 71, 39, 338, 7, 206, 330, + 205, 330, 205, 330, 207, 6, -1, 46, 47, 338, + 7, 330, 6, -1, 42, 199, 330, 200, 7, 338, + 6, -1, 44, 199, 330, 200, 7, 338, 6, -1, + 40, 199, 330, 200, 7, 338, 6, -1, 40, 199, + 330, 200, 7, 338, 50, 332, 6, -1, 41, 199, + 330, 200, 7, 338, 6, -1, 41, 199, 330, 200, + 7, 338, 50, 332, 6, -1, 48, 199, 330, 200, + 7, 206, 330, 205, 330, 205, 5, 205, 5, 205, + 5, 207, 6, -1, 101, 199, 330, 200, 7, 338, + 6, -1, 102, 199, 330, 200, 7, 338, 6, -1, + 103, 199, 330, 200, 7, 338, 107, 338, 104, 330, + 6, -1, 42, 66, 199, 330, 200, 7, 338, 6, + -1, 71, 42, 338, 7, 206, 330, 205, 330, 205, + 330, 207, 6, -1, 55, 42, 199, 330, 200, 7, + 338, 6, -1, 50, 43, 199, 330, 200, 7, 338, + 6, -1, 51, 43, 199, 330, 200, 7, 338, 6, + -1, 119, 43, 199, 330, 200, 7, 206, 330, 205, + 338, 207, 6, -1, 52, 43, 206, 330, 207, 7, + 199, 330, 205, 330, 200, 338, 338, 6, -1, 52, + 43, 199, 330, 200, 7, 199, 330, 205, 330, 200, + 338, 338, 6, -1, 103, 43, 105, 106, 199, 330, + 200, 7, 336, 107, 206, 338, 205, 338, 207, 104, + 206, 330, 205, 330, 207, 6, -1, 103, 43, 199, + 330, 200, 7, 336, 107, 206, 338, 205, 338, 207, + 104, 206, 330, 205, 330, 207, 6, -1, 43, 66, + 199, 330, 200, 7, 338, 6, -1, 55, 43, 199, + 330, 200, 7, 338, 6, -1, 54, 45, 199, 330, + 200, 7, 338, 6, -1, 45, 199, 330, 200, 7, + 338, 6, -1, 55, 45, 199, 330, 200, 7, 338, + 6, -1, 61, 332, 206, 307, 207, -1, 60, 206, + 332, 205, 332, 205, 330, 207, 206, 307, 207, -1, + 62, 332, 206, 307, 207, -1, 63, 206, 332, 205, + 330, 207, 206, 307, 207, -1, 309, -1, 308, -1, + 306, -1, -1, 308, 305, -1, 308, 39, 206, 340, + 207, 6, -1, 308, 42, 206, 340, 207, 6, -1, + 308, 43, 206, 340, 207, 6, -1, 308, 45, 206, + 340, 207, 6, -1, 65, 206, 308, 207, -1, 65, + 4, 201, 330, 202, 6, -1, 68, 206, 308, 207, + -1, 68, 4, 201, 330, 202, 6, -1, 68, 4, + 6, -1, 108, 341, 206, 308, 207, -1, 120, 344, + 6, -1, 121, 344, 6, -1, 120, 206, 308, 207, + -1, 121, 206, 308, 207, -1, 4, 344, 6, -1, + 4, 4, 201, 330, 202, 344, 6, -1, 4, 330, + 6, -1, 59, 199, 4, 200, 203, 4, 6, -1, + 100, 4, 6, -1, 115, 6, -1, 37, 6, -1, + 37, 206, 330, 205, 330, 205, 330, 205, 330, 205, + 330, 205, 330, 207, 6, -1, 38, 6, -1, 110, + 199, 330, 8, 330, 200, -1, 110, 199, 330, 8, + 330, 8, 330, 200, -1, 110, 4, 111, 206, 330, + 8, 330, 207, -1, 110, 4, 111, 206, 330, 8, + 330, 8, 330, 207, -1, 112, -1, 118, 4, -1, + 116, -1, 117, 4, 6, -1, 113, 199, 330, 200, + -1, 114, -1, 64, 39, 206, 330, 205, 332, 207, + 6, -1, 64, 39, 206, 330, 205, 332, 205, 332, + 205, 330, 207, 6, -1, 64, 39, 206, 330, 205, + 332, 205, 332, 205, 332, 205, 330, 207, 6, -1, + -1, 64, 39, 206, 330, 205, 332, 207, 316, 206, + 325, 207, 6, -1, -1, 64, 39, 206, 330, 205, + 332, 205, 332, 205, 330, 207, 317, 206, 325, 207, + 6, -1, -1, 64, 39, 206, 330, 205, 332, 205, + 332, 205, 332, 205, 330, 207, 318, 206, 325, 207, + 6, -1, 64, 42, 206, 330, 205, 332, 207, 6, + -1, 64, 42, 206, 330, 205, 332, 205, 332, 205, + 330, 207, 6, -1, 64, 42, 206, 330, 205, 332, + 205, 332, 205, 332, 205, 330, 207, 6, -1, -1, + 64, 42, 206, 330, 205, 332, 207, 319, 206, 325, + 207, 6, -1, -1, 64, 42, 206, 330, 205, 332, + 205, 332, 205, 330, 207, 320, 206, 325, 207, 6, + -1, -1, 64, 42, 206, 330, 205, 332, 205, 332, + 205, 332, 205, 330, 207, 321, 206, 325, 207, 6, + -1, 64, 43, 206, 330, 205, 332, 207, 6, -1, + 64, 43, 206, 330, 205, 332, 205, 332, 205, 330, + 207, 6, -1, 64, 43, 206, 330, 205, 332, 205, + 332, 205, 332, 205, 330, 207, 6, -1, -1, 64, + 43, 206, 330, 205, 332, 207, 322, 206, 325, 207, + 6, -1, -1, 64, 43, 206, 330, 205, 332, 205, + 332, 205, 330, 207, 323, 206, 325, 207, 6, -1, + -1, 64, 43, 206, 330, 205, 332, 205, 332, 205, + 332, 205, 330, 207, 324, 206, 325, 207, 6, -1, + 326, -1, 325, 326, -1, 72, 206, 338, 205, 338, + 205, 338, 207, 6, -1, 72, 206, 338, 205, 338, + 207, 6, -1, 67, 6, -1, 53, 42, 338, 7, + 330, 6, -1, 53, 42, 338, 7, 330, 56, 58, + 330, 6, -1, 53, 42, 338, 7, 330, 56, 57, + 330, 6, -1, 53, 43, 206, 330, 207, 7, 338, + 6, -1, 49, 43, 206, 330, 207, 7, 338, 6, + -1, 53, 45, 206, 330, 207, 7, 338, 6, -1, + 67, 43, 338, 7, 330, 6, -1, 67, 43, 338, + 6, -1, 69, 6, -1, 70, 6, -1, 125, -1, + 126, -1, 127, -1, 128, -1, 129, -1, 331, -1, + 199, 330, 200, -1, 189, 330, -1, 188, 330, -1, + 194, 330, -1, 330, 189, 330, -1, 330, 188, 330, + -1, 330, 190, 330, -1, 330, 191, 330, -1, 330, + 192, 330, -1, 330, 198, 330, -1, 330, 184, 330, + -1, 330, 185, 330, -1, 330, 187, 330, -1, 330, + 186, 330, -1, 330, 183, 330, -1, 330, 182, 330, + -1, 330, 180, 330, -1, 330, 179, 330, -1, 330, + 178, 330, 8, 330, -1, 12, 199, 330, 200, -1, + 13, 199, 330, 200, -1, 14, 199, 330, 200, -1, + 15, 199, 330, 200, -1, 16, 199, 330, 200, -1, + 17, 199, 330, 200, -1, 18, 199, 330, 200, -1, + 19, 199, 330, 200, -1, 20, 199, 330, 200, -1, + 22, 199, 330, 200, -1, 23, 199, 330, 205, 330, + 200, -1, 24, 199, 330, 200, -1, 25, 199, 330, + 200, -1, 26, 199, 330, 200, -1, 27, 199, 330, + 200, -1, 28, 199, 330, 200, -1, 29, 199, 330, + 200, -1, 30, 199, 330, 205, 330, 200, -1, 31, + 199, 330, 205, 330, 200, -1, 32, 199, 330, 205, + 330, 200, -1, 21, 199, 330, 200, -1, 12, 201, + 330, 202, -1, 13, 201, 330, 202, -1, 14, 201, + 330, 202, -1, 15, 201, 330, 202, -1, 16, 201, + 330, 202, -1, 17, 201, 330, 202, -1, 18, 201, + 330, 202, -1, 19, 201, 330, 202, -1, 20, 201, + 330, 202, -1, 22, 201, 330, 202, -1, 23, 201, + 330, 205, 330, 202, -1, 24, 201, 330, 202, -1, + 25, 201, 330, 202, -1, 26, 201, 330, 202, -1, + 27, 201, 330, 202, -1, 28, 201, 330, 202, -1, + 29, 201, 330, 202, -1, 30, 201, 330, 205, 330, + 202, -1, 31, 201, 330, 205, 330, 202, -1, 32, + 201, 330, 205, 330, 202, -1, 21, 201, 330, 202, + -1, 3, -1, 9, -1, 10, -1, 11, -1, 4, + -1, 4, 201, 330, 202, -1, 204, 4, 201, 202, + -1, 4, 303, -1, 4, 201, 330, 202, 303, -1, + 4, 203, 4, -1, 4, 201, 330, 202, 203, 4, + -1, 4, 203, 4, 303, -1, 4, 201, 330, 202, + 203, 4, 303, -1, 333, -1, 189, 332, -1, 188, + 332, -1, 332, 189, 332, -1, 332, 188, 332, -1, + 206, 330, 205, 330, 205, 330, 205, 330, 205, 330, + 207, -1, 206, 330, 205, 330, 205, 330, 205, 330, + 207, -1, 206, 330, 205, 330, 205, 330, 207, -1, + 199, 330, 205, 330, 205, 330, 200, -1, -1, 199, + 335, 200, -1, 5, -1, 335, 205, 5, -1, -1, + 206, 337, 207, -1, 199, 337, 200, -1, 338, -1, + 337, 205, 338, -1, 330, -1, 339, -1, 206, 340, + 207, -1, 189, 206, 340, 207, -1, 330, 8, 330, + -1, 330, 8, 330, 8, 330, -1, 39, 206, 330, + 207, -1, 306, -1, 309, -1, 315, -1, 4, 201, + 202, -1, 189, 4, 201, 202, -1, 4, 201, 206, + 340, 207, 202, -1, 189, 4, 201, 206, 340, 207, + 202, -1, 330, -1, 339, -1, 340, 205, 330, -1, + 340, 205, 339, -1, 206, 330, 205, 330, 205, 330, + 205, 330, 207, -1, 206, 330, 205, 330, 205, 330, + 207, -1, 4, -1, 4, 203, 108, 203, 4, -1, + 206, 343, 207, -1, 4, 201, 330, 202, 203, 109, + -1, 341, -1, 343, 205, 341, -1, 5, -1, 35, + 199, 344, 205, 344, 200, -1, 36, 199, 344, 200, + -1, 34, 199, 344, 200, -1, 34, 199, 344, 205, + 340, 200, -1, 34, 199, 4, 203, 4, 200, -1, + 34, 199, 4, 201, 330, 202, 203, 4, 200, -1 +}; -#if YYDEBUG != 0 -static const short yyrline[] = { 0, - 167, 169, 170, 171, 176, 178, 181, 183, 186, 194, - 208, 225, 227, 230, 232, 233, 236, 242, 247, 248, - 249, 252, 256, 259, 265, 270, 276, 284, 289, 293, - 299, 304, 308, 313, 317, 320, 325, 329, 333, 337, - 342, 346, 349, 353, 357, 361, 365, 369, 373, 376, - 380, 383, 387, 390, 397, 399, 402, 404, 405, 406, - 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, - 419, 424, 440, 446, 453, 461, 462, 463, 464, 465, - 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, - 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, - 486, 487, 490, 493, 497, 503, 509, 512, 516, 523, - 530, 533, 537, 544, 551, 554, 558, 567, 574, 577, - 581, 590, 597, 600, 604, 613, 620, 623, 627, 640, - 647, 650, 654, 667, 674, 677, 681, 694, 701, 704, - 708, 722, 729, 732, 736, 750, 757, 760, 764, 778, - 785, 788, 792, 806, 813, 816, 820, 834, 841, 844, - 848, 862, 869, 872, 876, 900, 907, 910, 914, 938, - 945, 948, 952, 976, 983, 986, 990, 1009, 1016, 1019, - 1023, 1042, 1049, 1052, 1056, 1075, 1082, 1085, 1089, 1107, - 1114, 1117, 1121, 1139, 1146, 1149, 1153, 1171, 1178, 1184, - 1191, 1199, 1205, 1211, 1218, 1226, 1232, 1242, 1244, 1245, - 1246, 1247, 1250, 1252, 1255, 1287, 1323, 1372, 1388, 1398, - 1416, 1429, 1445, 1470, 1496, 1509, 1525, 1538, 1554, 1573, - 1595, 1604, 1618, 1638, 1654, 1673, 1692, 1710, 1728, 1746, - 1772, 1790, 1816, 1835, 1859, 1883, 1909, 1926, 1944, 1963, - 1982, 2021, 2046, 2068, 2084, 2103, 2122, 2138, 2157, 2174, - 2191, 2211, 2217, 2222, 2227, 2234, 2236, 2237, 2240, 2245, - 2249, 2265, 2281, 2297, 2317, 2331, 2341, 2351, 2361, 2370, - 2384, 2392, 2397, 2408, 2421, 2465, 2479, 2494, 2503, 2513, - 2517, 2521, 2525, 2536, 2552, 2566, 2591, 2616, 2643, 2649, - 2654, 2659, 2663, 2671, 2690, 2706, 2722, 2727, 2743, 2748, - 2764, 2769, 2787, 2810, 2833, 2856, 2861, 2884, 2889, 2912, - 2917, 2943, 2966, 2989, 3012, 3017, 3040, 3046, 3069, 3075, - 3100, 3104, 3109, 3136, 3160, 3168, 3187, 3205, 3223, 3250, - 3276, 3302, 3316, 3334, 3339, 3348, 3350, 3351, 3352, 3353, - 3356, 3358, 3359, 3360, 3361, 3362, 3363, 3364, 3365, 3372, - 3373, 3374, 3375, 3376, 3377, 3378, 3379, 3380, 3381, 3382, - 3383, 3384, 3385, 3386, 3387, 3388, 3389, 3390, 3391, 3392, - 3393, 3394, 3395, 3396, 3397, 3398, 3399, 3400, 3401, 3402, - 3403, 3405, 3406, 3407, 3408, 3409, 3410, 3411, 3412, 3413, - 3414, 3415, 3416, 3417, 3418, 3419, 3420, 3421, 3422, 3423, - 3424, 3425, 3430, 3435, 3436, 3437, 3441, 3453, 3472, 3485, - 3497, 3519, 3536, 3553, 3570, 3589, 3594, 3598, 3602, 3606, - 3612, 3617, 3621, 3625, 3631, 3635, 3640, 3644, 3649, 3653, - 3657, 3663, 3669, 3676, 3682, 3686, 3690, 3701, 3708, 3719, - 3739, 3749, 3759, 3771, 3787, 3805, 3828, 3855, 3861, 3865, - 3869, 3881, 3886, 3898, 3904, 3924, 3929, 3942, 3948, 3954, - 3959, 3967, 3981, 3985, 4004, 4020 +/* YYRLINE[YYN] -- source line where rule number YYN was defined. */ +static const unsigned short yyrline[] = +{ + 0, 168, 168, 169, 170, 171, 177, 178, 181, 183, + 187, 194, 208, 225, 227, 231, 232, 233, 237, 242, + 247, 248, 249, 253, 256, 259, 266, 270, 276, 284, + 289, 293, 299, 304, 308, 313, 317, 320, 325, 329, + 333, 337, 342, 346, 349, 353, 357, 361, 365, 369, + 373, 376, 380, 383, 387, 390, 397, 399, 403, 404, + 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, + 415, 416, 420, 424, 441, 446, 455, 461, 462, 463, + 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, + 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, + 484, 485, 486, 487, 491, 493, 499, 498, 510, 512, + 518, 517, 531, 533, 539, 538, 552, 554, 561, 559, + 575, 577, 584, 582, 598, 600, 607, 605, 621, 623, + 631, 628, 648, 650, 658, 655, 675, 677, 685, 682, + 702, 704, 713, 709, 730, 732, 741, 737, 758, 760, + 769, 765, 786, 788, 797, 793, 814, 816, 825, 821, + 842, 844, 853, 849, 870, 872, 885, 877, 908, 910, + 923, 915, 946, 948, 961, 953, 984, 986, 997, 991, + 1017, 1019, 1030, 1024, 1050, 1052, 1063, 1057, 1083, 1085, + 1095, 1090, 1115, 1117, 1127, 1122, 1147, 1149, 1159, 1154, + 1179, 1184, 1193, 1192, 1206, 1211, 1220, 1219, 1233, 1243, + 1244, 1245, 1246, 1247, 1251, 1252, 1259, 1287, 1323, 1372, + 1388, 1398, 1416, 1429, 1445, 1470, 1496, 1509, 1525, 1538, + 1554, 1573, 1595, 1604, 1622, 1638, 1654, 1673, 1692, 1710, + 1728, 1746, 1772, 1790, 1816, 1835, 1859, 1883, 1909, 1926, + 1944, 1963, 1982, 2021, 2046, 2068, 2084, 2103, 2122, 2138, + 2157, 2174, 2191, 2212, 2217, 2222, 2227, 2235, 2236, 2237, + 2242, 2245, 2249, 2265, 2281, 2297, 2318, 2331, 2342, 2351, + 2361, 2371, 2385, 2392, 2397, 2408, 2422, 2465, 2479, 2494, + 2503, 2513, 2517, 2521, 2525, 2538, 2552, 2566, 2591, 2616, + 2643, 2649, 2654, 2659, 2663, 2674, 2690, 2706, 2723, 2722, + 2744, 2743, 2765, 2764, 2787, 2810, 2833, 2857, 2856, 2885, + 2884, 2913, 2912, 2943, 2966, 2989, 3013, 3012, 3041, 3040, + 3070, 3069, 3101, 3104, 3110, 3136, 3160, 3169, 3187, 3205, + 3223, 3250, 3276, 3302, 3316, 3335, 3339, 3349, 3350, 3351, + 3352, 3353, 3357, 3358, 3359, 3360, 3361, 3362, 3363, 3364, + 3365, 3372, 3373, 3374, 3375, 3376, 3377, 3378, 3379, 3380, + 3381, 3382, 3383, 3384, 3385, 3386, 3387, 3388, 3389, 3390, + 3391, 3392, 3393, 3394, 3395, 3396, 3397, 3398, 3399, 3400, + 3401, 3402, 3403, 3405, 3406, 3407, 3408, 3409, 3410, 3411, + 3412, 3413, 3414, 3415, 3416, 3417, 3418, 3419, 3420, 3421, + 3422, 3423, 3424, 3425, 3434, 3435, 3436, 3437, 3441, 3453, + 3472, 3485, 3497, 3519, 3536, 3553, 3570, 3590, 3594, 3598, + 3602, 3606, 3613, 3617, 3621, 3625, 3633, 3635, 3641, 3644, + 3651, 3653, 3657, 3664, 3669, 3677, 3682, 3686, 3690, 3702, + 3708, 3719, 3739, 3749, 3759, 3771, 3787, 3805, 3828, 3856, + 3861, 3865, 3869, 3882, 3886, 3898, 3904, 3925, 3929, 3943, + 3948, 3955, 3959, 3967, 3981, 3985, 4004, 4020 }; #endif - -#if YYDEBUG != 0 || defined (YYERROR_VERBOSE) - -static const char * const yytname[] = { "$","error","$undefined.","tDOUBLE", -"tSTRING","tBIGSTR","tEND","tAFFECT","tDOTS","tPi","tMPI_Rank","tMPI_Size","tExp", -"tLog","tLog10","tSqrt","tSin","tAsin","tCos","tAcos","tTan","tRand","tAtan", -"tAtan2","tSinh","tCosh","tTanh","tFabs","tFloor","tCeil","tFmod","tModulo", -"tHypot","tPrintf","tSprintf","tStrCat","tStrPrefix","tBoundingBox","tDraw", -"tPoint","tCircle","tEllipse","tLine","tSurface","tSpline","tVolume","tCharacteristic", -"tLength","tParametric","tElliptic","tPlane","tRuled","tTriangulation","tTransfinite", -"tComplex","tPhysical","tUsing","tBump","tProgression","tPlugin","tRotate","tTranslate", -"tSymmetry","tDilate","tExtrude","tDuplicata","tLoop","tRecombine","tDelete", -"tCoherence","tIntersect","tAttractor","tLayers","tScalarPoint","tVectorPoint", -"tTensorPoint","tScalarLine","tVectorLine","tTensorLine","tScalarTriangle","tVectorTriangle", -"tTensorTriangle","tScalarQuadrangle","tVectorQuadrangle","tTensorQuadrangle", -"tScalarTetrahedron","tVectorTetrahedron","tTensorTetrahedron","tScalarHexahedron", -"tVectorHexahedron","tTensorHexahedron","tScalarPrism","tVectorPrism","tTensorPrism", -"tScalarPyramid","tVectorPyramid","tTensorPyramid","tText2D","tText3D","tInterpolationScheme", -"tCombine","tBSpline","tBezier","tNurbs","tOrder","tWith","tBounds","tKnots", -"tColor","tColorTable","tFor","tIn","tEndFor","tIf","tEndIf","tExit","tReturn", -"tCall","tFunction","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","tHEADER","tFILE_DESCRIPTION","tFILE_SCHEMA","tFILE_NAME", -"tMANIFOLD_SOLID_BREP","tCLOSED_SHELL","tADVANCED_BREP_SHAPE_REPRESENTATION", -"tFACE_BOUND","tCYLINDRICAL_SURFACE","tCONICAL_SURFACE","tCIRCLE","tTRIMMED_CURVE", -"tGEOMETRIC_SET","tCOMPOSITE_CURVE_SEGMENT","tCONTINUOUS","tCOMPOSITE_CURVE", -"tTOROIDAL_SURFACE","tPRODUCT_DEFINITION","tPRODUCT_DEFINITION_SHAPE","tSHAPE_DEFINITION_REPRESENTATION", -"tELLIPSE","tSolid","tEndSolid","tVertex","tFacet","tNormal","tOuter","tLoopSTL", -"tEndLoop","tEndFacet","tAFFECTPLUS","tAFFECTMINUS","tAFFECTTIMES","tAFFECTDIVIDE", -"'?'","tOR","tAND","tEQUAL","tNOTEQUAL","tAPPROXEQUAL","'<'","tLESSOREQUAL", -"'>'","tGREATEROREQUAL","'+'","'-'","'*'","'/'","'%'","tCROSSPRODUCT","'!'", -"tPLUSPLUS","tMINUSMINUS","UNARYPREC","'^'","'('","')'","'['","']'","'.'","'#'", -"','","'{'","'}'","All","SignedDouble","StlFormatItems","StlFormatItem","StepFormatItems", -"StepFormatItem","StepSpecial","StepHeaderItem","StepDataItem","GeoFormatItems", -"GeoFormatItem","Printf","View","Views","ScalarPointValues","ScalarPoint","@1", -"VectorPointValues","VectorPoint","@2","TensorPointValues","TensorPoint","@3", -"ScalarLineValues","ScalarLine","@4","VectorLineValues","VectorLine","@5","TensorLineValues", -"TensorLine","@6","ScalarTriangleValues","ScalarTriangle","@7","VectorTriangleValues", -"VectorTriangle","@8","TensorTriangleValues","TensorTriangle","@9","ScalarQuadrangleValues", -"ScalarQuadrangle","@10","VectorQuadrangleValues","VectorQuadrangle","@11","TensorQuadrangleValues", -"TensorQuadrangle","@12","ScalarTetrahedronValues","ScalarTetrahedron","@13", -"VectorTetrahedronValues","VectorTetrahedron","@14","TensorTetrahedronValues", -"TensorTetrahedron","@15","ScalarHexahedronValues","ScalarHexahedron","@16", -"VectorHexahedronValues","VectorHexahedron","@17","TensorHexahedronValues","TensorHexahedron", -"@18","ScalarPrismValues","ScalarPrism","@19","VectorPrismValues","VectorPrism", -"@20","TensorPrismValues","TensorPrism","@21","ScalarPyramidValues","ScalarPyramid", -"@22","VectorPyramidValues","VectorPyramid","@23","TensorPyramidValues","TensorPyramid", -"@24","Text2DValues","Text2D","@25","Text3DValues","Text3D","@26","InterpolationMatrix", -"NumericAffectation","NumericIncrement","Affectation","Shape","Transform","MultipleShape", -"ListOfShapes","Duplicata","Delete","Colorify","Visibility","Command","Loop", -"Extrude","@27","@28","@29","@30","@31","@32","@33","@34","@35","ExtrudeParameters", -"ExtrudeParameter","Transfinite","Coherence","BoolExpr","FExpr","FExpr_Single", -"VExpr","VExpr_Single","ListOfStrings","RecursiveListOfStrings","ListOfListOfDouble", -"RecursiveListOfListOfDouble","ListOfDouble","FExpr_Multi","RecursiveListOfDouble", -"ColorExpr","ListOfColor","RecursiveListOfColor","StringExpr", NULL +#if YYDEBUG || YYERROR_VERBOSE +/* YYTNME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. + First, the terminals, then, starting at YYNTOKENS, nonterminals. */ +static const char *const yytname[] = +{ + "$end", "error", "$undefined", "tDOUBLE", "tSTRING", "tBIGSTR", "tEND", + "tAFFECT", "tDOTS", "tPi", "tMPI_Rank", "tMPI_Size", "tExp", "tLog", + "tLog10", "tSqrt", "tSin", "tAsin", "tCos", "tAcos", "tTan", "tRand", + "tAtan", "tAtan2", "tSinh", "tCosh", "tTanh", "tFabs", "tFloor", "tCeil", + "tFmod", "tModulo", "tHypot", "tPrintf", "tSprintf", "tStrCat", + "tStrPrefix", "tBoundingBox", "tDraw", "tPoint", "tCircle", "tEllipse", + "tLine", "tSurface", "tSpline", "tVolume", "tCharacteristic", "tLength", + "tParametric", "tElliptic", "tPlane", "tRuled", "tTriangulation", + "tTransfinite", "tComplex", "tPhysical", "tUsing", "tBump", + "tProgression", "tPlugin", "tRotate", "tTranslate", "tSymmetry", + "tDilate", "tExtrude", "tDuplicata", "tLoop", "tRecombine", "tDelete", + "tCoherence", "tIntersect", "tAttractor", "tLayers", "tScalarPoint", + "tVectorPoint", "tTensorPoint", "tScalarLine", "tVectorLine", + "tTensorLine", "tScalarTriangle", "tVectorTriangle", "tTensorTriangle", + "tScalarQuadrangle", "tVectorQuadrangle", "tTensorQuadrangle", + "tScalarTetrahedron", "tVectorTetrahedron", "tTensorTetrahedron", + "tScalarHexahedron", "tVectorHexahedron", "tTensorHexahedron", + "tScalarPrism", "tVectorPrism", "tTensorPrism", "tScalarPyramid", + "tVectorPyramid", "tTensorPyramid", "tText2D", "tText3D", + "tInterpolationScheme", "tCombine", "tBSpline", "tBezier", "tNurbs", + "tOrder", "tWith", "tBounds", "tKnots", "tColor", "tColorTable", "tFor", + "tIn", "tEndFor", "tIf", "tEndIf", "tExit", "tReturn", "tCall", + "tFunction", "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", "tHEADER", "tFILE_DESCRIPTION", "tFILE_SCHEMA", "tFILE_NAME", + "tMANIFOLD_SOLID_BREP", "tCLOSED_SHELL", + "tADVANCED_BREP_SHAPE_REPRESENTATION", "tFACE_BOUND", + "tCYLINDRICAL_SURFACE", "tCONICAL_SURFACE", "tCIRCLE", "tTRIMMED_CURVE", + "tGEOMETRIC_SET", "tCOMPOSITE_CURVE_SEGMENT", "tCONTINUOUS", + "tCOMPOSITE_CURVE", "tTOROIDAL_SURFACE", "tPRODUCT_DEFINITION", + "tPRODUCT_DEFINITION_SHAPE", "tSHAPE_DEFINITION_REPRESENTATION", + "tELLIPSE", "tSolid", "tEndSolid", "tVertex", "tFacet", "tNormal", + "tOuter", "tLoopSTL", "tEndLoop", "tEndFacet", "tAFFECTDIVIDE", + "tAFFECTTIMES", "tAFFECTMINUS", "tAFFECTPLUS", "'?'", "tOR", "tAND", + "tAPPROXEQUAL", "tNOTEQUAL", "tEQUAL", "'<'", "'>'", "tGREATEROREQUAL", + "tLESSOREQUAL", "'+'", "'-'", "'*'", "'/'", "'%'", "tCROSSPRODUCT", + "'!'", "UNARYPREC", "tMINUSMINUS", "tPLUSPLUS", "'^'", "'('", "')'", + "'['", "']'", "'.'", "'#'", "','", "'{'", "'}'", "$accept", "All", + "SignedDouble", "StlFormatItems", "StlFormatItem", "StepFormatItems", + "StepFormatItem", "StepSpecial", "StepHeaderItem", "StepDataItem", + "GeoFormatItems", "GeoFormatItem", "Printf", "View", "Views", + "ScalarPointValues", "ScalarPoint", "@1", "VectorPointValues", + "VectorPoint", "@2", "TensorPointValues", "TensorPoint", "@3", + "ScalarLineValues", "ScalarLine", "@4", "VectorLineValues", "VectorLine", + "@5", "TensorLineValues", "TensorLine", "@6", "ScalarTriangleValues", + "ScalarTriangle", "@7", "VectorTriangleValues", "VectorTriangle", "@8", + "TensorTriangleValues", "TensorTriangle", "@9", "ScalarQuadrangleValues", + "ScalarQuadrangle", "@10", "VectorQuadrangleValues", "VectorQuadrangle", + "@11", "TensorQuadrangleValues", "TensorQuadrangle", "@12", + "ScalarTetrahedronValues", "ScalarTetrahedron", "@13", + "VectorTetrahedronValues", "VectorTetrahedron", "@14", + "TensorTetrahedronValues", "TensorTetrahedron", "@15", + "ScalarHexahedronValues", "ScalarHexahedron", "@16", + "VectorHexahedronValues", "VectorHexahedron", "@17", + "TensorHexahedronValues", "TensorHexahedron", "@18", "ScalarPrismValues", + "ScalarPrism", "@19", "VectorPrismValues", "VectorPrism", "@20", + "TensorPrismValues", "TensorPrism", "@21", "ScalarPyramidValues", + "ScalarPyramid", "@22", "VectorPyramidValues", "VectorPyramid", "@23", + "TensorPyramidValues", "TensorPyramid", "@24", "Text2DValues", "Text2D", + "@25", "Text3DValues", "Text3D", "@26", "InterpolationMatrix", + "NumericAffectation", "NumericIncrement", "Affectation", "Shape", + "Transform", "MultipleShape", "ListOfShapes", "Duplicata", "Delete", + "Colorify", "Visibility", "Command", "Loop", "Extrude", "@27", "@28", + "@29", "@30", "@31", "@32", "@33", "@34", "@35", "ExtrudeParameters", + "ExtrudeParameter", "Transfinite", "Coherence", "BoolExpr", "FExpr", + "FExpr_Single", "VExpr", "VExpr_Single", "ListOfStrings", + "RecursiveListOfStrings", "ListOfListOfDouble", + "RecursiveListOfListOfDouble", "ListOfDouble", "FExpr_Multi", + "RecursiveListOfDouble", "ColorExpr", "ListOfColor", + "RecursiveListOfColor", "StringExpr", 0 }; #endif -static const short yyr1[] = { 0, - 208, 208, 208, 208, 209, 209, 210, 210, 211, 211, - 211, 212, 212, 213, 213, 213, 214, 214, 214, 214, - 214, 215, 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, 216, 216, 216, 217, 217, 218, 218, 218, 218, - 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, - 219, 219, 220, 220, 221, 221, 221, 221, 221, 221, - 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, - 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, - 221, 221, 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, 299, 298, 300, 301, 301, 301, - 301, 301, 302, 302, 303, 303, 303, 303, 303, 303, - 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, - 303, 303, 304, 304, 304, 304, 304, 304, 304, 304, - 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, - 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, - 304, 305, 305, 305, 305, 306, 306, 306, 307, 307, - 307, 307, 307, 307, 308, 308, 309, 309, 309, 310, - 311, 311, 311, 311, 312, 312, 312, 312, 312, 312, - 312, 312, 312, 313, 313, 313, 313, 313, 313, 313, - 313, 313, 313, 314, 314, 314, 315, 314, 316, 314, - 317, 314, 314, 314, 314, 318, 314, 319, 314, 320, - 314, 314, 314, 314, 321, 314, 322, 314, 323, 314, - 324, 324, 325, 325, 325, 326, 326, 326, 326, 326, - 326, 326, 326, 327, 327, 328, 328, 328, 328, 328, - 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, - 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, - 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, - 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, - 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, - 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, - 329, 329, 330, 330, 330, 330, 330, 330, 330, 330, - 330, 330, 330, 330, 330, 331, 331, 331, 331, 331, - 332, 332, 332, 332, 333, 333, 334, 334, 335, 335, - 335, 336, 336, 337, 337, 337, 337, 338, 338, 338, - 338, 338, 338, 338, 338, 338, 338, 339, 339, 339, - 339, 340, 340, 340, 340, 341, 341, 342, 342, 343, - 343, 343, 343, 343, 343, 343 +# ifdef YYPRINT +/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to + token YYLEX-NUM. */ +static const unsigned short yytoknum[] = +{ + 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, + 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, + 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, + 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, + 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, + 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, + 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, + 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, + 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, + 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, + 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, + 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, + 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, + 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, + 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, + 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, + 425, 426, 427, 428, 429, 430, 431, 432, 63, 433, + 434, 435, 436, 437, 60, 62, 438, 439, 43, 45, + 42, 47, 37, 440, 33, 441, 442, 443, 94, 40, + 41, 91, 93, 46, 35, 44, 123, 125 }; - -static const short yyr2[] = { 0, - 1, 1, 1, 2, 1, 2, 0, 2, 1, 21, - 1, 0, 2, 1, 1, 1, 2, 2, 2, 2, - 2, 7, 5, 17, 9, 23, 31, 15, 11, 11, - 15, 9, 13, 9, 11, 13, 9, 9, 11, 9, - 11, 9, 11, 13, 13, 11, 13, 17, 9, 11, - 11, 13, 11, 9, 0, 2, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 5, 7, 6, 8, 0, 2, 2, 2, 2, 2, - 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, 8, 1, 1, 1, - 1, 1, 1, 1, 4, 7, 9, 6, 3, 6, - 6, 9, 6, 9, 5, 8, 8, 11, 6, 9, - 9, 9, 7, 8, 12, 6, 7, 7, 7, 9, - 7, 9, 17, 7, 7, 11, 8, 12, 8, 8, - 8, 12, 14, 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, 15, 2, 6, 8, 8, 10, 1, 2, 1, - 3, 4, 1, 8, 12, 14, 0, 12, 0, 16, - 0, 18, 8, 12, 14, 0, 12, 0, 16, 0, - 18, 8, 12, 14, 0, 12, 0, 16, 0, 18, - 1, 2, 9, 7, 2, 6, 9, 9, 8, 8, - 8, 6, 4, 2, 2, 1, 1, 1, 1, 1, - 1, 3, 2, 2, 2, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 5, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 6, 4, 4, 4, 4, 4, 4, 6, 6, 6, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 6, 4, 4, 4, 4, 4, 4, 6, 6, - 6, 4, 1, 1, 1, 1, 1, 4, 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 +# endif + +/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ +static const unsigned short yyr1[] = +{ + 0, 208, 209, 209, 209, 209, 210, 210, 211, 211, + 212, 212, 212, 213, 213, 214, 214, 214, 215, 215, + 215, 215, 215, 216, 216, 216, 217, 217, 217, 217, + 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, + 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, + 217, 217, 217, 217, 217, 217, 218, 218, 219, 219, + 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, + 219, 219, 220, 220, 221, 221, 222, 222, 222, 222, + 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, + 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, + 222, 222, 222, 222, 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, 297, 296, 298, 298, 300, 299, 301, 302, + 302, 302, 302, 302, 303, 303, 304, 304, 304, 304, + 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, + 304, 304, 304, 304, 305, 305, 305, 305, 305, 305, + 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, + 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, + 305, 305, 305, 306, 306, 306, 306, 307, 307, 307, + 308, 308, 308, 308, 308, 308, 309, 309, 310, 310, + 310, 311, 312, 312, 312, 312, 313, 313, 313, 313, + 313, 313, 313, 313, 313, 314, 314, 314, 314, 314, + 314, 314, 314, 314, 314, 315, 315, 315, 316, 315, + 317, 315, 318, 315, 315, 315, 315, 319, 315, 320, + 315, 321, 315, 315, 315, 315, 322, 315, 323, 315, + 324, 315, 325, 325, 326, 326, 326, 327, 327, 327, + 327, 327, 327, 327, 327, 328, 328, 329, 329, 329, + 329, 329, 330, 330, 330, 330, 330, 330, 330, 330, + 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, + 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, + 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, + 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, + 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, + 330, 330, 330, 330, 331, 331, 331, 331, 331, 331, + 331, 331, 331, 331, 331, 331, 331, 332, 332, 332, + 332, 332, 333, 333, 333, 333, 334, 334, 335, 335, + 336, 336, 336, 337, 337, 338, 338, 338, 338, 339, + 339, 339, 339, 339, 339, 339, 339, 339, 339, 340, + 340, 340, 340, 341, 341, 341, 341, 342, 342, 343, + 343, 344, 344, 344, 344, 344, 344, 344 }; -static const short yydefact[] = { 0, - 0, 2, 1, 3, 4, 9, 11, 0, 8, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 13, 14, - 16, 15, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 298, 0, 303, 0, 300, 0, 0, 0, 0, 0, - 56, 58, 57, 59, 60, 61, 62, 63, 64, 65, - 70, 69, 66, 67, 68, 0, 0, 17, 18, 20, - 19, 21, 435, 435, 0, 413, 417, 470, 208, 414, - 415, 416, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 209, 210, 211, 212, - 0, 0, 0, 213, 214, 0, 0, 0, 0, 0, - 0, 0, 351, 0, 0, 291, 0, 293, 0, 0, - 0, 0, 0, 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, 0, 0, - 0, 0, 0, 0, 269, 0, 0, 269, 344, 345, - 0, 0, 0, 0, 0, 0, 0, 464, 0, 0, - 0, 0, 0, 290, 0, 299, 0, 470, 269, 0, - 269, 0, 5, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 420, 0, 75, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 417, - 354, 353, 355, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 219, 287, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 285, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 417, 0, 0, 0, 451, 452, 453, 444, 0, 445, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 428, 427, 0, 0, - 0, 0, 269, 269, 0, 0, 0, 0, 0, 0, - 0, 279, 0, 0, 0, 0, 289, 0, 0, 0, - 0, 0, 0, 0, 269, 0, 0, 0, 301, 0, - 0, 281, 0, 282, 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, - 0, 0, 0, 0, 0, 0, 437, 0, 0, 0, - 0, 0, 422, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 352, 0, 0, 458, 459, 0, 0, 208, - 0, 0, 0, 0, 0, 215, 0, 369, 368, 366, - 367, 362, 364, 363, 365, 357, 356, 358, 359, 360, - 361, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 417, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 430, 429, 268, - 0, 267, 266, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 275, 270, 343, 0, 0, 277, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 302, 0, 283, 284, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 436, 0, 0, 23, - 0, 418, 424, 75, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 76, 77, 78, 79, 80, 81, 82, 83, - 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, - 94, 95, 96, 97, 98, 99, 100, 101, 102, 371, - 392, 372, 393, 373, 394, 374, 395, 375, 396, 376, - 397, 377, 398, 378, 399, 379, 400, 391, 412, 380, - 401, 0, 0, 382, 403, 383, 404, 384, 405, 385, - 406, 386, 407, 387, 408, 0, 0, 0, 0, 0, - 0, 0, 0, 473, 0, 0, 472, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 225, 0, 0, 0, - 0, 419, 0, 71, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 454, 0, 0, 0, 0, 446, - 448, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 262, 264, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 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, 0, 0, 0, 0, 0, 0, 438, 0, 435, - 0, 421, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 418, 218, 460, 461, 0, 0, - 0, 0, 0, 220, 221, 223, 0, 0, 468, 0, - 229, 370, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 450, 455, 0, 447, 0, 236, 0, - 0, 0, 0, 0, 0, 336, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 276, 0, 0, 0, 0, 342, 278, 0, - 0, 0, 0, 0, 439, 0, 465, 0, 0, 0, - 294, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 346, 347, 348, 349, - 350, 0, 0, 0, 0, 0, 0, 0, 22, 0, - 423, 286, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 442, 381, 402, 388, 409, 389, 410, 390, 411, 0, - 475, 474, 471, 0, 208, 0, 0, 0, 0, 216, - 0, 0, 0, 466, 72, 0, 233, 239, 0, 241, - 0, 0, 237, 0, 238, 260, 0, 0, 449, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 288, 0, 0, 0, 0, 269, - 0, 307, 0, 316, 0, 325, 0, 0, 0, 0, - 0, 0, 244, 245, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 435, 425, 74, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 226, - 0, 0, 227, 0, 469, 0, 0, 0, 247, 257, - 456, 0, 0, 340, 250, 251, 0, 0, 0, 0, - 339, 341, 259, 234, 249, 258, 261, 0, 0, 0, - 434, 0, 433, 0, 0, 304, 0, 0, 313, 0, - 0, 322, 0, 271, 272, 273, 274, 0, 0, 439, - 0, 0, 0, 0, 0, 463, 0, 296, 295, 0, - 0, 0, 0, 0, 25, 0, 34, 0, 38, 0, - 32, 0, 0, 37, 0, 42, 40, 0, 0, 0, - 0, 0, 0, 49, 0, 0, 0, 0, 0, 54, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 443, 0, - 0, 217, 222, 224, 0, 230, 0, 0, 240, 242, - 457, 0, 0, 0, 338, 337, 231, 232, 269, 0, - 265, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 441, 440, 0, 0, 0, 0, 0, 0, 0, 439, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 476, 0, 467, - 0, 0, 0, 0, 0, 0, 432, 0, 0, 0, - 0, 0, 0, 0, 0, 331, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 462, 297, 0, - 0, 39, 0, 0, 0, 0, 29, 0, 35, 0, - 41, 30, 43, 0, 46, 0, 50, 51, 0, 0, - 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 228, 0, 0, 0, 0, 263, 0, 0, 309, 0, - 335, 0, 0, 332, 318, 0, 0, 327, 0, 0, - 0, 0, 0, 0, 246, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 105, - 109, 113, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 201, 0, 207, 0, 0, 0, 0, - 431, 305, 0, 0, 0, 308, 314, 0, 0, 317, - 323, 0, 0, 326, 235, 248, 0, 0, 252, 0, - 0, 0, 0, 0, 33, 36, 44, 0, 45, 52, - 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 311, 0, 0, 320, 0, 329, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 254, 253, 0, 306, - 0, 0, 0, 315, 0, 0, 324, 0, 0, 0, - 0, 0, 0, 28, 31, 0, 0, 0, 103, 0, - 107, 0, 111, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 199, 0, 292, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 310, 0, 0, 334, 319, - 0, 328, 0, 0, 0, 0, 0, 0, 48, 24, - 104, 106, 108, 110, 112, 114, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 200, 202, 0, - 203, 243, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 117, 121, 125, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 312, 333, 321, 330, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 204, 206, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 256, 10, 0, 0, 0, 115, 0, - 119, 0, 123, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, - 26, 116, 118, 120, 122, 124, 126, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 129, 133, 137, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 127, 0, 131, 0, 135, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 128, 130, 132, - 134, 136, 138, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 141, - 145, 149, 153, 157, 161, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 27, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 139, 0, 143, 0, - 147, 0, 151, 0, 155, 0, 159, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 140, 142, 144, - 146, 148, 150, 152, 154, 156, 158, 160, 162, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 189, 193, 197, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 187, 0, 191, 0, 195, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 188, 190, 192, 194, 196, - 198, 0, 0, 0, 177, 181, 185, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 175, 0, 179, 0, 183, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 176, 178, 180, 182, 184, 186, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 165, 169, 173, 0, 0, 0, - 0, 0, 0, 0, 163, 0, 167, 0, 171, 0, - 0, 0, 0, 0, 0, 164, 166, 168, 170, 172, - 174, 0, 0, 0 +/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ +static const unsigned char yyr2[] = +{ + 0, 2, 1, 1, 1, 2, 1, 2, 0, 2, + 1, 21, 1, 0, 2, 1, 1, 1, 2, 2, + 2, 2, 2, 7, 5, 17, 9, 23, 31, 15, + 11, 11, 15, 9, 13, 9, 11, 13, 9, 9, + 11, 9, 11, 9, 11, 13, 13, 11, 13, 17, + 9, 11, 11, 13, 11, 9, 0, 2, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 5, 7, 6, 8, 0, 2, 2, 2, + 2, 2, 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, 8, 1, + 1, 1, 1, 1, 1, 1, 4, 7, 9, 6, + 3, 6, 6, 9, 6, 9, 5, 8, 8, 11, + 6, 9, 9, 9, 7, 8, 12, 6, 7, 7, + 7, 9, 7, 9, 17, 7, 7, 11, 8, 12, + 8, 8, 8, 12, 14, 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, 15, 2, 6, 8, 8, 10, 1, + 2, 1, 3, 4, 1, 8, 12, 14, 0, 12, + 0, 16, 0, 18, 8, 12, 14, 0, 12, 0, + 16, 0, 18, 8, 12, 14, 0, 12, 0, 16, + 0, 18, 1, 2, 9, 7, 2, 6, 9, 9, + 8, 8, 8, 6, 4, 2, 2, 1, 1, 1, + 1, 1, 1, 3, 2, 2, 2, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 5, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 6, 4, 4, 4, 4, 4, 4, 6, + 6, 6, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 6, 4, 4, 4, 4, 4, 4, + 6, 6, 6, 4, 1, 1, 1, 1, 1, 4, + 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 yydefgoto[] = { 2362, - 215, 2, 9, 3, 19, 20, 21, 22, 4, 71, - 72, 73, 445, 1678, 663, 1583, 1680, 664, 1584, 1682, - 665, 1585, 1898, 666, 1844, 1900, 667, 1845, 1902, 668, - 1846, 2034, 669, 1996, 2036, 670, 1997, 2038, 671, 1998, - 2146, 672, 2116, 2148, 673, 2117, 2150, 674, 2118, 2152, - 675, 2119, 2154, 676, 2120, 2156, 677, 2121, 2344, 678, - 2338, 2346, 679, 2339, 2348, 680, 2340, 2293, 681, 2281, - 2295, 682, 2282, 2297, 683, 2283, 2242, 684, 2224, 2244, - 685, 2225, 2246, 686, 2226, 1705, 687, 1607, 1800, 688, - 1707, 689, 140, 252, 74, 575, 345, 561, 562, 346, - 78, 79, 80, 81, 82, 347, 1227, 1553, 1661, 1230, - 1558, 1665, 1233, 1562, 1668, 1415, 1416, 84, 85, 1002, - 348, 143, 367, 178, 247, 438, 1118, 1040, 1041, 350, - 498, 200, 751, 910, 144 +/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state + STATE-NUM when YYTABLE doesn't specify something else to do. Zero + means the default is an error. */ +static const unsigned short yydefact[] = +{ + 0, 0, 0, 3, 2, 4, 5, 1, 10, 12, + 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 14, 15, 17, 16, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 299, 0, 304, 0, 301, 0, 0, + 0, 0, 0, 57, 59, 58, 60, 61, 62, 63, + 64, 65, 66, 71, 70, 67, 68, 69, 0, 0, + 18, 19, 21, 20, 22, 436, 436, 0, 414, 418, + 471, 209, 415, 416, 417, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 213, + 212, 211, 210, 0, 0, 0, 215, 214, 0, 0, + 0, 0, 0, 0, 0, 352, 0, 0, 292, 0, + 294, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 270, 0, 0, + 270, 345, 346, 0, 0, 0, 0, 0, 0, 0, + 465, 0, 0, 0, 0, 0, 291, 0, 300, 0, + 471, 270, 0, 270, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 421, 0, 76, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 418, 355, 354, 356, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 220, 288, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 286, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 418, 0, 0, 0, 452, 453, 454, + 445, 0, 446, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 429, + 428, 0, 0, 0, 0, 270, 270, 0, 0, 0, + 0, 0, 0, 0, 280, 0, 0, 0, 0, 290, + 0, 0, 0, 0, 0, 0, 0, 270, 0, 0, + 0, 302, 0, 0, 282, 0, 283, 7, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 438, + 0, 0, 0, 0, 0, 423, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 353, 0, 0, 459, 460, + 0, 0, 209, 0, 0, 0, 0, 0, 216, 0, + 370, 369, 368, 367, 363, 364, 366, 365, 358, 357, + 359, 360, 361, 362, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 418, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 431, 430, 269, 0, 268, 267, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 276, 271, 344, 0, + 0, 278, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 303, 0, 284, 285, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 437, + 0, 0, 24, 0, 419, 425, 76, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 77, 78, 79, 80, 81, + 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, + 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, + 102, 103, 372, 393, 373, 394, 374, 395, 375, 396, + 376, 397, 377, 398, 378, 399, 379, 400, 380, 401, + 392, 413, 381, 402, 0, 0, 383, 404, 384, 405, + 385, 406, 386, 407, 387, 408, 388, 409, 0, 0, + 0, 0, 0, 0, 0, 0, 474, 0, 0, 473, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 226, + 0, 0, 0, 0, 420, 0, 72, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 455, 0, 0, + 0, 0, 447, 449, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 263, 265, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 281, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 439, 0, 436, 0, 422, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 74, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 419, 219, 461, + 462, 0, 0, 0, 0, 0, 221, 222, 224, 0, + 0, 469, 0, 230, 371, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 451, 456, 0, 448, + 0, 237, 0, 0, 0, 0, 0, 0, 337, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 277, 0, 0, 0, 0, + 343, 279, 0, 0, 0, 0, 0, 440, 0, 466, + 0, 0, 0, 295, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 347, + 348, 349, 350, 351, 0, 0, 0, 0, 0, 0, + 0, 23, 0, 424, 287, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 443, 382, 403, 389, 410, 390, 411, + 391, 412, 0, 476, 475, 472, 0, 209, 0, 0, + 0, 0, 217, 0, 0, 0, 467, 73, 0, 234, + 240, 0, 242, 0, 0, 238, 0, 239, 261, 0, + 0, 450, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 289, 0, 0, + 0, 0, 270, 0, 308, 0, 317, 0, 326, 0, + 0, 0, 0, 0, 0, 245, 246, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 436, 426, 75, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 227, 0, 0, 228, 0, 470, 0, 0, + 0, 248, 258, 457, 0, 0, 341, 251, 252, 0, + 0, 0, 0, 340, 342, 260, 235, 250, 259, 262, + 0, 0, 0, 435, 0, 434, 0, 0, 305, 0, + 0, 314, 0, 0, 323, 0, 272, 273, 274, 275, + 0, 0, 440, 0, 0, 0, 0, 0, 464, 0, + 297, 296, 0, 0, 0, 0, 0, 26, 0, 35, + 0, 39, 0, 33, 0, 0, 38, 0, 43, 41, + 0, 0, 0, 0, 0, 0, 50, 0, 0, 0, + 0, 0, 55, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 444, 0, 0, 218, 223, 225, 0, 231, 0, + 0, 241, 243, 458, 0, 0, 0, 339, 338, 232, + 233, 270, 0, 266, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 442, 441, 0, 0, 0, 0, 0, + 0, 0, 440, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 477, 0, 468, 0, 0, 0, 0, 0, 0, 433, + 0, 0, 0, 0, 0, 0, 0, 0, 332, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 463, 298, 0, 0, 40, 0, 0, 0, 0, 30, + 0, 36, 0, 42, 31, 44, 0, 47, 0, 51, + 52, 0, 0, 54, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 229, 0, 0, 0, 0, 264, 0, + 0, 310, 0, 336, 0, 0, 333, 319, 0, 0, + 328, 0, 0, 0, 0, 0, 0, 247, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 106, 110, 114, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 202, 0, 208, 0, + 0, 0, 0, 432, 306, 0, 0, 0, 309, 315, + 0, 0, 318, 324, 0, 0, 327, 236, 249, 0, + 0, 253, 0, 0, 0, 0, 0, 34, 37, 45, + 0, 46, 53, 48, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 312, 0, 0, 321, + 0, 330, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 206, 0, 0, 255, + 254, 0, 307, 0, 0, 0, 316, 0, 0, 325, + 0, 0, 0, 0, 0, 0, 29, 32, 0, 0, + 0, 104, 0, 108, 0, 112, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 200, 0, + 293, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 311, 0, + 0, 335, 320, 0, 329, 0, 0, 0, 0, 0, + 0, 49, 25, 105, 107, 109, 111, 113, 115, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 201, 203, 0, 204, 244, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 118, 122, 126, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 313, 334, 322, + 331, 0, 0, 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, 207, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 257, 11, 0, 0, + 0, 116, 0, 120, 0, 124, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 256, 0, 27, 117, 119, 121, 123, 125, 127, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 130, + 134, 138, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 128, 0, 132, + 0, 136, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 129, 131, 133, 135, 137, 139, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 142, 146, 150, 154, 158, 162, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 140, + 0, 144, 0, 148, 0, 152, 0, 156, 0, 160, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 141, 143, 145, 147, 149, 151, 153, 155, 157, 159, + 161, 163, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 190, 194, 198, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 188, 0, 192, 0, 196, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 189, 191, + 193, 195, 197, 199, 0, 0, 0, 178, 182, 186, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 176, 0, 180, 0, + 184, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 177, 179, 181, 183, 185, 187, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 166, 170, 174, + 0, 0, 0, 0, 0, 0, 0, 164, 0, 168, + 0, 172, 0, 0, 0, 0, 0, 0, 165, 167, + 169, 171, 173, 175 }; -static const short yypact[] = { 2859, - 32, 309, 51, 3276,-32768,-32768,-32768, -114,-32768, 67, - 91, 119, 125, 132, 136, -53, -24, -15,-32768,-32768, --32768,-32768, 2404, 90, 19, 152, 115, 126, 158, -34, - 256, 181, 189, 327, 200, 387, 391, 425, 430, 553, - 434, 657, 281, 293, 218, 218, 296, 466, 8, 445, - 10, 525, 526, 176, 531, 356, 362, -16, 11, 29, --32768, 367,-32768, 569,-32768, 565, 566, 554, 13, 17, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768, 18, 3048,-32768,-32768,-32768, --32768,-32768, 380, 380, 585,-32768, 311, 15,-32768,-32768, --32768,-32768, -140, -129, 77, 220, 361, 450, 468, 473, - 512, 517, 528, 533, 536, 539, 543, 547, 551, 552, - 555, 560, 563, 413, 414, 418,-32768,-32768,-32768,-32768, - 2691, 2691, 2691,-32768,-32768, 2691, 1216, 52, 671, 2691, - 682, 680,-32768, 691, 693,-32768, 2691,-32768, 2691, 2691, - 2691, 516, 2691, 520, 2691, 2691, 616, 2691, 504, 527, - 532, -33, 616, 535, 541, 556, 559, 573, 574, 575, - 759, 218, 218, 218, 2691, 2691, -122,-32768, -19, 218, - 577, 592, 593, 578,-32768, 616, 73,-32768,-32768,-32768, - 616, 616, 788, 2691, 2691, -62, 2691, 599, 2691, 597, - 669, 2691, 2691,-32768, 815,-32768, 628,-32768,-32768, 857, --32768, 877,-32768, 827, 18, 677, 681, 685, 702, 714, - 727, 728, 735, 745, 757, 769, 786, 795, 796, 802, - 814, 819, 835, 844, 845, 852, 872, 881, 883, 884, - 885, 886, 887, 888, 891, 977, 821, 823, 889, 2691, - 1087,-32768, 218,-32768, 2691, 2691, 2691, 2691, 2691, 2691, - 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, - 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, - 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, - 2691, 2691, 2691, 2691, 2691, 2691, 53, 41, 41, 324, - 894, 894, 894, 1707, 1086, 2442, 10604, 219, 892, 1089, - 896, 708,-32768,-32768, 2691, 2691, 2691, 2691, 2691, 2691, - 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691,-32768, - -89, 1347, 3038, 11304, 11327, 2691, 11350, 2691, 11373, 11396, - 415, 895, 2331, 2442,-32768,-32768,-32768, 1647, 1091,-32768, - 11419, 2691, 2691, 2691, 2691, 2691, 1097, 2691, 2691, 2691, - 2691, 2691, 2691, 2691, 905, -125,-32768,-32768, 2633, 3652, - 218, 218, 622, 622, -120, 2691, 2691, 2691, 2691, 2739, - 341,-32768, 2691, 2942, 1099, 1100,-32768, 11442, 11465, 1002, - 2691, 11488, 1001, 3674,-32768, 904, 1748, 11511,-32768, 2691, - 3008,-32768, 3032,-32768,-32768, 18, 1106, 1107, 1109, 1110, - 1111, 1112, 1113, 1114, 1118, 1119, 1120, 1121, 1123, 1124, - 1125, 1127, 1128, 1129, 1156, 1157, 1158, 1159, 1160, 1008, - 1162, 1163, 1164, 1165, 1168, 1169,-32768, -85, 1170, 1171, - 1173, 10629, 170, 156, 3167, 11534, 10654, 11557, 10679, 11580, - 10704, 11603, 10729, 11626, 10754, 11649, 10779, 11672, 10804, 11695, - 10829, 11718, 10854, 11741, 10879, 11764, 10904, 3696, 3718, 11787, - 10929, 11810, 10954, 11833, 10979, 11856, 11004, 11879, 11029, 11902, - 11054, 3740, 3762, 3784, 3806, 3828, 3850, 567, 86, 971, - 979, 2691,-32768, 616, 2744, 1647,-32768, 564, 175, 41, - 2691, 1175, 1178, 16, 986,-32768, 1838, 472, 396, 417, - 417, 503, 503, 503, 503, 338, 338, 894, 894, 894, - 894, 1192, 2442, 2691, 1193, 1194, 1195, 11925, 1197, 11948, - 1198, 1199, 1262, 2691, 470, 2442, 579, 2691, 2691, 1200, - 2431, 11971, 11994, 12017, 2830, 2691, 3173, 3220, 12040, 12063, - 12086, 12109, 12132, 1006, 218, 2691, 2691,-32768,-32768,-32768, - 1003, 2443,-32768, 1004, 2691, 3872, 3894, 3916, 11079, 120, - -43, -42, 191,-32768,-32768,-32768, 2691, 11104,-32768, 1007, - 1009, 1201, 1205, 1015, 12155, 1211, 1014, 2691, 3074, 2691, - 2691,-32768, 12178,-32768,-32768, 1051, 1018, 1044, 1050, 1062, - 1063, 1090, 1092, 1093, 1094, 1101, 1103, 1105, 1115, 1117, - 1122, 1130, 1131, 1132, 1134, 1135, 1136, 1137, 1139, 1140, - 1142, 1172, 1174, 1176, 1177, 1179,-32768, 1291, 1102,-32768, - 1188, 113,-32768,-32768, 1126, 1133, 1204, 1207, 1208, 1212, - 1213, 1214, 1215, 1217, 1218, 1220, 1222, 1224, 1225, 1226, - 1227, 1228, 1230, 1231, 1232, 1233, 1239, 1249, 1250, 1253, - 1098, 1306,-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, 2691, 2691,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768, 2691, 2691, 2691, 2691, 2691, - 2691, 2691, 1310,-32768, 2442, 41,-32768, 11129, 1311, 2442, - 1116, 69, 2691, 1313, 1318, 730,-32768, 1319, 1254, 11, - 1323,-32768, 2691,-32768, 123, 3938, 218, 616, 616, 1326, - 616, 1327, 616, 616,-32768, 2442, 3244, 1544, 582,-32768, - 1876, 751, 1203, 1367, 1368, 1369, 1447, 1450, 305, 1451, - 1452, 1456, 1458, 1462, 1463, 1464, 1468, -98, 3960, 3982, --32768,-32768, 3268, 218, 218, 218, 1469, 2442, 2442, 2442, - 2442, 785, 1471, 2691, 2691, 616, 616, 2691, 1467, 616, - 1474, 4004,-32768, 1945, 359, 1472, 1309, 1478, 2691, 2691, - 218, 1479, 1480, 1294, 1482, 1483, 616, 616, 1484, 218, - 1485, 1486, 616, 616, 1487, 1489, 1490, 1491, 1492, 616, - 596, 616, 1493, 1494, 1516, 1495, 1520,-32768, 1524, 380, - 1536,-32768, 1535, 3209, 2691, 2691, 2691, 2691, 2691, 2691, - 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, - 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, - 616,-32768, 12201, 11154, 12224, 11179, 12247, 11204, 12270, 11229, - 11254, 1297, 198, 1342, -41,-32768, 1647,-32768, 28, 397, - 1341, 1539, 818,-32768,-32768,-32768, 11, 2691,-32768, 583, --32768, 2499, 1543, 2691, 20, 33, 36, 616, 1545, 616, - 1571, 1572, 588,-32768,-32768, 2442,-32768, 2691,-32768, 2691, - 616, 616, 616, 1351, 1380,-32768, 384, 616, 616, 616, - 616, 616, 616, 616, 511, 2691, 2691, 2691, 1374, -48, - 203, 213,-32768, 601, 602, 606, 607,-32768,-32768, 4026, - 4048, 1575, 1576, 12293, 217, 1476,-32768, 2691, 2691, 2691, --32768, 1378, 1419, 1384, 4070, 4092, -66, 1386, 1394, 1390, - 1396, 1392, 1398, 1395, 1397, 282, 1399, 1401, 1403, 1400, - 1425, 1426, 1427, 1428, 1429, 1437,-32768,-32768,-32768,-32768, --32768, 1435, 1438, 1439, 1440, 1441, 1442, 1443,-32768, 1444, - 170,-32768, 1593, 4114, 4136, 4158, 4180, 4202, 4224, 4246, - 4268, 4290, 4312, 4334, 4356, 4378, 4400, 4422, 4444, 4466, - 4488, 4510, 4532, 4554, 4576, 4598, 4620, 4642, 4664, 611, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1448, --32768,-32768,-32768, 616, 41, 2691, 1641, 1646, 16,-32768, - 1648, 11279, 11,-32768,-32768, 4686,-32768,-32768, 218,-32768, - 218, 1652,-32768, 1653,-32768,-32768, 1459, 612, 2499, 4708, - 1654, 1658, 1659, 2691, 2691, 2691, 2691, 1660, 1661, 1662, - 1664, 1666, 1667, 1668,-32768, 2640, 3292, 12316, -86, 622, - 218, 1669, 218, 1670, 218, 1671, 1672, 1673, 1674, 1675, - 2691, 2691,-32768,-32768, 1645, 616, 616, 1546, 616, 1255, - 269, 12339, 2691, 18, 1679, 2691, 616, 1677, 1682, 1683, - 1498, 1684, 596, 1685, 1689, 2691, 1687, 1691, 1692, 1693, - 1694, 596, 2691, 2691, 2691, 616, 1695, 1697, 596, 2691, - 1700, 1702, 1701, 2691, 380,-32768,-32768, 2691, 2691, 2691, - 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, - 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, - 2691, 2691, 2691, 616, 1523, 1727, 1728, 1729, 868,-32768, - 1688, 1730,-32768, 1534,-32768, 2691, 22, 24,-32768,-32768, --32768, 1537, 2691,-32768,-32768,-32768, 4730, 4752, 1005, 1072, --32768,-32768,-32768,-32768,-32768,-32768,-32768, 1210, 1734, 1538, --32768, 2691,-32768, 1547, 1,-32768, 1549, 129,-32768, 1551, - 224,-32768, 1552,-32768,-32768,-32768,-32768, 4774, 4796, 217, - 228, 618, 1553, 1637, 2691,-32768, 2691,-32768,-32768, 4818, - 18, 1542, 4840, 1540,-32768, 1548,-32768, 1558,-32768, 1564, --32768, 1561, 12362,-32768, 1569,-32768,-32768, 1577, 1578, 12385, - 4862, 12408, 1570,-32768, 1579, 1580, 4884, 1581, 1582,-32768, - 4906, 1583, 4928, 4950, 4972, 4994, 5016, 5038, 5060, 5082, - 5104, 5126, 5148, 5170, 5192, 5214, 5236, 5258, 5280, 5302, - 5324, 5346, 5368, 5390, 5412, 5434, 5456, 5478,-32768, 616, - 1587,-32768,-32768,-32768, 11,-32768, 1642, 5500,-32768,-32768, --32768, 5522, 2691, 2691,-32768,-32768,-32768,-32768, 622, 2686, --32768, 2371, 114, 2371, 114, 2371, 114, 2691, 2691, 1676, --32768,-32768, 616, 2691, 3316, 3340, 616, 18, 1746, 217, - 596, 1773, 2691, 1775, 596, 1783, 1787, 1785, 1809, 1834, - 2691, 1835, 616, 1836, 1837, 2691, 1844, 1842, 2691, 1865, - 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, - 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, - 2691, 2691, 2691, 2691, 2691, 2691, 621,-32768, 1866,-32768, - 2691, 1868, 12431, 12454, 1696, 2691,-32768, 2371, 2371, 2691, - 3364, 238, 1869, 1665, -22,-32768, 3388, 247, -7, 3412, - 257, 72, 3436, 3460, 1725, 1736, 1632,-32768,-32768, 1735, - 1709,-32768, 1738, 1739, 1740, 5544,-32768, 1678,-32768, 1680, --32768,-32768,-32768, 12477,-32768, 1742,-32768,-32768, 12500, 1681, --32768, 12523, 1744, 12546, 12569, 12592, 5566, 5588, 5610, 5632, - 5654, 5676, 5698, 5720, 5742, 5764, 5786, 5808, 5830, 5852, - 5874, 5896, 5918, 5940, 5962, 5984, 6006, 12615, 6028, 1871, --32768, 6050, 1745, 616, 616,-32768, 3484, 2546, 1873, 2691, --32768, 616, 1884,-32768, 1894, 2691, 1895, 1946, 2691, 1948, - 1949, 1966, 616, 616,-32768, 1967, 18, 596, 596, 596, - 596, 1968, 1970, 1971, 596, 1972, 1973, 1974, 1877,-32768, --32768,-32768, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, - 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, - 2691, 2691, 2691,-32768, 2691,-32768, 2691, 1976, 616, 616, --32768,-32768, 1776, 3508, 1778,-32768,-32768, 1779, 3532,-32768, --32768, 1780, 3556,-32768,-32768,-32768, 1782, 1777,-32768, 18, - 1784, 1786, 1751, 1788,-32768,-32768,-32768, 1805,-32768,-32768, --32768, 1806, 1808, 1815, 1825, 6072, 6094, 6116, 6138, 6160, - 6182, 6204, 6226, 6248, 6270, 6292, 6314, 6336, 6358, 6380, - 6402, 6424, 6446, 6468, 6490, 6512, 1826, 12638, 3580, 1807, - 1984, 2009, 114, 2028, 616, 114, 2032, 114, 2053, 616, - 1770, 18, 596, 596, 2063, 2064, 596, 2066, 2691, 2691, - 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, - 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, - 2691, 2691, 41,-32768, 2067, 2070,-32768,-32768, 215,-32768, - 1870, 624, 291,-32768, 1872, 297,-32768, 1874, 1875, 1886, - 1905, 1888, 1889,-32768,-32768, 1879, 1881, 668, 2499, 674, - 2499, 697, 2499, 6534, 6556, 6578, 6600, 6622, 6644, 6666, - 6688, 6710, 6732, 6754, 6776, 6798, 6820, 6842, 6864, 6886, - 6908, 6930, 6952, 6974, 743,-32768, 1890,-32768, 1891, 2071, - 114, 616, 2089, 2091, 114, 2093, 114, 1996, 2691, 18, - 596, 616, 2095, 2096, 2691, 2097, 2691, 2098, 2691, 2099, - 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, - 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, - 2691, 41, 2100, 41, 2101,-32768, 314, 1921,-32768,-32768, - 315,-32768, 317, 1932, 6996, 18, 1934, 1935,-32768,-32768, - 2499,-32768, 2499,-32768, 2499,-32768, 12661, 12684, 12707, 7018, - 7040, 7062, 7084, 7106, 7128, 7150, 7172, 7194, 7216, 7238, - 7260, 7282, 7304, 7326, 7348, 7370, 7392,-32768,-32768, 746, --32768,-32768, 2135, 2136, 2139, 2141, 2691, 2691, 18, 596, - 616,-32768,-32768,-32768, 2691, 2691, 2691, 2691, 2691, 2691, - 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, - 2691, 2691, 41, 2143,-32768,-32768,-32768,-32768, 7414, 3604, - 1979, 1950, 1960, 1947, 1961, 1962, 7436, 7458, 7480, 7502, - 7524, 7546, 7568, 7590, 7612, 7634, 7656, 7678, 7700, 7722, - 7744, 7766, 7788, 7810,-32768,-32768, 2691, 2160, 1997, 616, - 596, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, - 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, - 2691, 2691, 3628,-32768,-32768, 1964, 1975, 747, 2499, 750, - 2499, 753, 2499, 7832, 7854, 7876, 7898, 7920, 7942, 7964, - 7986, 8008, 8030, 8052, 8074, 8096, 8118, 8140, 8162, 8184, - 8206, 2165, 616, 2167, 2691, 2168, 2691, 2171, 2691, 2172, - 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, - 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691,-32768, 1977, --32768, 2499,-32768, 2499,-32768, 2499,-32768, 12730, 12753, 12776, - 8228, 8250, 8272, 8294, 8316, 8338, 8360, 8382, 8404, 8426, - 8448, 8470, 8492, 8514, 8536, 616,-32768,-32768,-32768, 2691, - 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, - 2691, 2691, 2691, 2691, 1978, 1987, 1988, 1989, 8558, 8580, - 8602, 8624, 8646, 8668, 8690, 8712, 8734, 8756, 8778, 8800, - 8822, 8844, 8866, 616, 2691, 2691, 2691, 2691, 2691, 2691, - 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, - 2691, 2691, 1980, 754, 2499, 773, 2499, 774, 2499, 8888, - 8910, 8932, 8954, 8976, 8998, 9020, 9042, 9064, 9086, 9108, - 9130, 9152, 9174, 9196, 596, 2691, 2173, 2691, 2174, 2691, - 2175, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, - 2691, 2691, 2691, 2691, 2691, 2691, 1998, 2499,-32768, 2499, --32768, 2499,-32768, 12799, 12822, 12845, 12868, 12891, 12914, 9218, - 9240, 9262, 9284, 9306, 9328, 9350, 9372, 9394, 2178,-32768, --32768,-32768,-32768,-32768,-32768, 2691, 2691, 2691, 2691, 2691, - 2691, 2691, 2691, 2691,-32768, 1990, 1991, 1993, 1994, 1995, - 2007, 9416, 9438, 9460, 9482, 9504, 9526, 9548, 9570, 9592, - 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, - 2691, 2691, 2691, 2691, 2691, 783, 2499, 784, 2499, 807, - 2499, 812, 2499, 817, 2499, 820, 2499, 9614, 9636, 9658, - 9680, 9702, 9724, 9746, 9768, 9790, 2691, 2196, 2691, 2197, - 2691, 2208, 2691, 2209, 2691, 2210, 2691, 2211, 2691, 2691, - 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2499,-32768, 2499, --32768, 2499,-32768, 2499,-32768, 2499,-32768, 2499,-32768, 9812, - 9834, 9856, 9878, 9900, 9922, 12937, 12960, 12983, 2691, 2691, - 2691, 2691, 2691, 2691,-32768,-32768,-32768, 9944, 9966, 9988, - 10010, 10032, 10054, 2012, 2013, 2014, 2691, 2691, 2691, 2691, - 2691, 2691, 2691, 2691, 2691, 10076, 10098, 10120, 10142, 10164, - 10186, 824, 2499, 825, 2499, 830, 2499, 2691, 2691, 2691, - 2691, 2691, 2691, 2691, 2215, 2691, 2216, 2691, 2217, 10208, - 10230, 10252, 13006, 13029, 13052, 2499,-32768, 2499,-32768, 2499, --32768, 2691, 2691, 2691,-32768,-32768,-32768, 10274, 10296, 10318, - 2018, 2026, 2030, 2691, 2691, 2691, 2691, 2691, 2691, 10340, - 10362, 10384, 831, 2499, 834, 2499, 862, 2499, 2691, 2691, - 2691, 2691, 2228, 2691, 2231, 2691, 2232, 10406, 10428, 10450, - 2499,-32768, 2499,-32768, 2499,-32768, 2691, 2691, 2691, 10472, - 10494, 10516, 2691, 2691, 2691, 10538, 10560, 10582, 2691, 2691, - 2691, 13075, 13098, 13121,-32768,-32768,-32768, 2033, 2034, 2035, - 2691, 2691, 2691, 863, 2499, 870, 2499, 874, 2499, 2691, - 2236, 2691, 2237, 2691, 2238, 2499,-32768, 2499,-32768, 2499, --32768, 2245, 2246,-32768 +/* YYDEFGOTO[NTERM-NUM]. */ +static const short yydefgoto[] = +{ + -1, 2, 217, 3, 11, 4, 21, 22, 23, 24, + 5, 73, 74, 75, 447, 1680, 665, 1585, 1682, 666, + 1586, 1684, 667, 1587, 1900, 668, 1846, 1902, 669, 1847, + 1904, 670, 1848, 2036, 671, 1998, 2038, 672, 1999, 2040, + 673, 2000, 2148, 674, 2118, 2150, 675, 2119, 2152, 676, + 2120, 2154, 677, 2121, 2156, 678, 2122, 2158, 679, 2123, + 2346, 680, 2340, 2348, 681, 2341, 2350, 682, 2342, 2295, + 683, 2283, 2297, 684, 2284, 2299, 685, 2285, 2244, 686, + 2226, 2246, 687, 2227, 2248, 688, 2228, 1707, 689, 1609, + 1802, 690, 1709, 691, 142, 254, 76, 577, 347, 563, + 564, 348, 80, 81, 82, 83, 84, 349, 1229, 1555, + 1663, 1232, 1560, 1667, 1235, 1564, 1670, 1417, 1418, 86, + 87, 1004, 350, 145, 369, 180, 249, 440, 1120, 1042, + 1043, 352, 500, 202, 753, 912, 146 }; -static const short yypgoto[] = {-32768, - -79,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768, 1613,-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,-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, -300, -18,-32768, 2244, -1, -367, -175, 2, --32768,-32768,-32768,-32768,-32768, 2248,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768, -1306, -1378,-32768,-32768, -1071, - -23,-32768, -29,-32768, -90,-32768, -1200, -1035, 829, -177, - -335, -739, 1196,-32768, -68 +/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing + STATE-NUM. */ +#define YYPACT_NINF -1380 +static const short yypact[] = +{ + 2859, 68, 134, 242, 403, 3276, -1380, -1380, -1380, -1380, + 46, -1380, 139, 144, 160, 187, 212, 272, 88, 92, + 123, -1380, -1380, -1380, -1380, 2404, 135, 19, 302, 149, + 174, 186, -34, 348, 218, 222, 388, 223, 399, 402, + 419, 425, 432, 401, 493, 274, 275, -68, -68, 292, + 518, 8, 443, 10, 496, 503, 51, 495, 313, 322, + -16, 11, 29, -1380, 323, -1380, 521, -1380, 547, 551, + 494, 13, 17, -1380, -1380, -1380, -1380, -1380, -1380, -1380, + -1380, -1380, -1380, -1380, -1380, -1380, -1380, -1380, 18, 3048, + -1380, -1380, -1380, -1380, -1380, 342, 342, 561, -1380, 148, + 15, -1380, -1380, -1380, -1380, -41, -10, -2, 127, 198, + 229, 329, 370, 371, 389, 393, 412, 416, 450, 468, + 472, 483, 484, 492, 498, 512, 360, 363, 397, -1380, + -1380, -1380, -1380, 2691, 2691, 2691, -1380, -1380, 2691, 1216, + 40, 593, 2691, 664, 474, -1380, 668, 609, -1380, 2691, + -1380, 2691, 2691, 2691, 476, 2691, 502, 2691, 2691, 616, + 2691, 504, 515, 516, -122, 616, 513, 523, 519, 532, + 542, 548, 555, 614, -68, -68, -68, 2691, 2691, -66, + -1380, -47, -68, 552, 573, 574, 497, -1380, 616, 73, + -1380, -1380, -1380, 616, 616, 757, 2691, 2691, -62, 2691, + 570, 2691, 577, 673, 2691, 2691, -1380, 788, -1380, 596, + -1380, -1380, 792, -1380, 793, -1380, 799, 18, 604, 632, + 662, 674, 687, 688, 711, 723, 727, 732, 758, 786, + 790, 797, 812, 817, 818, 819, 820, 823, 824, 825, + 826, 828, 830, 831, 833, 835, 836, 837, 871, 738, + 838, 739, 2691, 1022, -1380, -68, -1380, 2691, 2691, 2691, + 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, + 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, + 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, + 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 62, + 65, 65, 328, 839, 839, 839, 1707, 1032, 2442, 1945, + 219, 840, 1034, 843, 680, -1380, -1380, 2691, 2691, 2691, + 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, + 2691, 2691, -1380, -120, 1347, 3038, 11923, 11946, 2691, 11969, + 2691, 11992, 12015, 491, 861, 2331, 2442, -1380, -1380, -1380, + 1210, 1042, -1380, 12038, 2691, 2691, 2691, 2691, 2691, 1061, + 2691, 2691, 2691, 2691, 2691, 2691, 2691, 869, 169, -1380, + -1380, 3748, 3772, -68, -68, 661, 661, 178, 2691, 2691, + 2691, 2691, 2739, 375, -1380, 2691, 2942, 1063, 1064, -1380, + 12061, 12084, 969, 2691, 12107, 982, 3796, -1380, 885, 1632, + 12130, -1380, 2691, 3008, -1380, 3032, -1380, -1380, 18, 1087, + 1089, 1090, 1091, 1092, 1093, 1094, 1096, 1099, 1101, 1102, + 1103, 1104, 1105, 1106, 1107, 1109, 1110, 1111, 1112, 1113, + 1114, 1118, 919, 1119, 1120, 1121, 1123, 1126, 1125, -1380, + -27, 1127, 1128, 1156, 11356, 9, -19, 3167, 12153, 11377, + 12176, 11398, 12199, 11419, 12222, 11440, 12245, 11461, 12268, 11482, + 12291, 11503, 12314, 11524, 12337, 11545, 12360, 11566, 12383, 11587, + 3820, 3844, 12406, 11608, 12429, 11629, 12452, 11650, 12475, 11671, + 12498, 11692, 12521, 11713, 3868, 3892, 3916, 3940, 3964, 3988, + 524, -23, 928, 962, 2691, -1380, 616, 2744, 1210, -1380, + 533, 195, 65, 2691, 1157, 1160, 16, 963, -1380, 1748, + 729, 418, 895, 895, 316, 316, 316, 316, -6, -6, + 839, 839, 839, 839, 1161, 2442, 2691, 1159, 1162, 1163, + 12544, 1164, 12567, 1167, 1168, 1262, 2691, 499, 2442, 537, + 2691, 2691, 1169, 2431, 12590, 12613, 12636, 2629, 2691, 3250, + 3280, 12659, 12682, 12705, 12728, 12751, 965, -68, 2691, 2691, + -1380, -1380, -1380, 970, 2443, -1380, 971, 2691, 4012, 4036, + 4060, 11734, -111, -42, -43, -95, -1380, -1380, -1380, 2691, + 11755, -1380, 973, 978, 1189, 1190, 999, 12774, 1193, 1018, + 2691, 3074, 2691, 2691, -1380, 12797, -1380, -1380, 1036, 997, + 1044, 1062, 1097, 1115, 1117, 1122, 1124, 1130, 1131, 1132, + 1134, 1135, 1136, 1137, 1139, 1140, 1142, 1170, 1171, 1172, + 1174, 1176, 1177, 1179, 1186, 1198, 1201, 1202, 1204, -1380, + 1263, 1095, -1380, 1206, 120, -1380, -1380, 1098, 1100, 1129, + 1133, 1175, 1213, 1214, 1215, 1217, 1218, 1220, 1222, 1224, + 1225, 1241, 1242, 1243, 1244, 1245, 1248, 1249, 1250, 1253, + 1254, 1255, 1256, 1108, 1290, -1380, -1380, -1380, -1380, -1380, + -1380, -1380, -1380, -1380, -1380, -1380, -1380, -1380, -1380, -1380, + -1380, -1380, -1380, -1380, -1380, -1380, -1380, -1380, -1380, -1380, + -1380, -1380, -1380, -1380, -1380, -1380, -1380, -1380, -1380, -1380, + -1380, -1380, -1380, -1380, -1380, -1380, -1380, -1380, -1380, -1380, + -1380, -1380, -1380, -1380, 2691, 2691, -1380, -1380, -1380, -1380, + -1380, -1380, -1380, -1380, -1380, -1380, -1380, -1380, 2691, 2691, + 2691, 2691, 2691, 2691, 2691, 1294, -1380, 2442, 65, -1380, + 11776, 1298, 2442, 1116, 53, 2691, 1300, 1302, 710, -1380, + 1303, 1257, 11, 1306, -1380, 2691, -1380, 76, 4084, -68, + 616, 616, 1310, 616, 1312, 616, 616, -1380, 2442, 3306, + 1544, 541, -1380, 1832, 750, 1240, 1317, 1318, 1319, 1326, + 1450, 305, 1452, 1453, 1455, 1456, 1458, 1462, 1463, 1467, + 199, 4108, 4132, -1380, -1380, 3332, -68, -68, -68, 1466, + 2442, 2442, 2442, 2442, 780, 1468, 2691, 2691, 616, 616, + 2691, 1470, 616, 1471, 4156, -1380, 1876, 395, 1472, 1307, + 1477, 2691, 2691, -68, 1478, 1479, 1293, 1481, 1482, 616, + 616, 1483, -68, 1484, 1485, 616, 616, 1486, 1487, 1489, + 1490, 1491, 616, 608, 616, 1492, 1493, 1494, 1518, 1520, + -1380, 1522, 342, 1536, -1380, 1535, 3209, 2691, 2691, 2691, + 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, + 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, + 2691, 2691, 2691, 616, -1380, 12820, 11797, 12843, 11818, 12866, + 11839, 12889, 11860, 11881, 1296, 85, 1297, 122, -1380, 1210, + -1380, 188, 343, 1339, 1537, 815, -1380, -1380, -1380, 11, + 2691, -1380, 545, -1380, 2499, 1540, 2691, 20, 33, 52, + 616, 1543, 616, 1545, 1571, 546, -1380, -1380, 2442, -1380, + 2691, -1380, 2691, 616, 616, 616, 1351, 1379, -1380, 58, + 616, 616, 616, 616, 616, 616, 616, 383, 2691, 2691, + 2691, 1373, -116, -113, -102, -1380, 550, 554, 557, 563, + -1380, -1380, 4180, 4204, 1574, 1575, 12912, -87, 1475, -1380, + 2691, 2691, 2691, -1380, 1377, 1417, 1381, 4228, 4252, -82, + 1384, 1391, 1389, 1395, 1392, 1396, 1393, 1394, 282, 1397, + 1400, 1401, 1398, 1399, 1425, 1426, 1427, 1428, 1405, -1380, + -1380, -1380, -1380, -1380, 1429, 1432, 1433, 1437, 1438, 1444, + 1440, -1380, 1441, 9, -1380, 1641, 4276, 4300, 4324, 4348, + 4372, 4396, 4420, 4444, 4468, 4492, 4516, 4540, 4564, 4588, + 4612, 4636, 4660, 4684, 4708, 4732, 4756, 4780, 4804, 4828, + 4852, 4876, 564, -1380, -1380, -1380, -1380, -1380, -1380, -1380, + -1380, -1380, 1445, -1380, -1380, -1380, 616, 65, 2691, 1643, + 1646, 16, -1380, 1645, 11902, 11, -1380, -1380, 4900, -1380, + -1380, -68, -1380, -68, 1647, -1380, 1648, -1380, -1380, 1457, + 567, 2499, 4924, 1649, 1652, 1654, 2691, 2691, 2691, 2691, + 1655, 1658, 1659, 1660, 1661, 1662, 1664, -1380, 2640, 3358, + 12935, 2686, 661, -68, 1666, -68, 1667, -68, 1668, 1669, + 1670, 1671, 1672, 2691, 2691, -1380, -1380, 1673, 616, 616, + 1572, 616, 3175, 269, 12958, 2691, 18, 1678, 2691, 616, + 1676, 1680, 1679, 1498, 1683, 608, 1684, 1688, 2691, 1686, + 1690, 1689, 1691, 1695, 608, 2691, 2691, 2691, 616, 1693, + 1697, 608, 2691, 1698, 1700, 1699, 2691, 342, -1380, -1380, + 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, + 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, + 2691, 2691, 2691, 2691, 2691, 2691, 616, 1446, 1703, 1723, + 1725, 868, -1380, 1687, 1728, -1380, 1532, -1380, 2691, 22, + 24, -1380, -1380, -1380, 1534, 2691, -1380, -1380, -1380, 4948, + 4972, 1003, 1025, -1380, -1380, -1380, -1380, -1380, -1380, -1380, + 1072, 1731, 1533, -1380, 2691, -1380, 1538, 213, -1380, 1546, + 224, -1380, 1547, 231, -1380, 1548, -1380, -1380, -1380, -1380, + 4996, 5020, -87, 109, 582, 1549, 1636, 2691, -1380, 2691, + -1380, -1380, 5044, 18, 1541, 5068, 1539, -1380, 1552, -1380, + 1553, -1380, 1542, -1380, 1554, 12981, -1380, 1558, -1380, -1380, + 1551, 1564, 13004, 5092, 13027, 1561, -1380, 1576, 1577, 5116, + 1569, 1578, -1380, 5140, 1570, 5164, 5188, 5212, 5236, 5260, + 5284, 5308, 5332, 5356, 5380, 5404, 5428, 5452, 5476, 5500, + 5524, 5548, 5572, 5596, 5620, 5644, 5668, 5692, 5716, 5740, + 5764, -1380, 616, 1579, -1380, -1380, -1380, 11, -1380, 1674, + 5788, -1380, -1380, -1380, 5812, 2691, 2691, -1380, -1380, -1380, + -1380, 661, 3220, -1380, 2371, 280, 2371, 280, 2371, 280, + 2691, 2691, 1675, -1380, -1380, 616, 2691, 3384, 3410, 616, + 18, 1774, -87, 608, 1778, 2691, 1780, 608, 1781, 1785, + 1783, 1784, 1807, 2691, 1819, 616, 1820, 1821, 2691, 1788, + 1822, 2691, 1824, 2691, 2691, 2691, 2691, 2691, 2691, 2691, + 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, + 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 583, + -1380, 1825, -1380, 2691, 1827, 13050, 13073, 1626, 2691, -1380, + 2371, 2371, 2691, 3436, 236, 1828, 1629, -32, -1380, 3462, + 238, -26, 3488, 245, -17, 3514, 3540, 1630, 1633, 1247, + -1380, -1380, 1634, 1681, -1380, 1637, 1638, 1640, 5836, -1380, + 1639, -1380, 1677, -1380, -1380, -1380, 13096, -1380, 1642, -1380, + -1380, 13119, 1682, -1380, 13142, 1665, 13165, 13188, 13211, 5860, + 5884, 5908, 5932, 5956, 5980, 6004, 6028, 6052, 6076, 6100, + 6124, 6148, 6172, 6196, 6220, 6244, 6268, 6292, 6316, 6340, + 13234, 6364, 1831, -1380, 6388, 1696, 616, 616, -1380, 3566, + 2546, 1840, 2691, -1380, 616, 1865, -1380, 1866, 2691, 1867, + 1868, 2691, 1869, 1870, 1872, 616, 616, -1380, 1873, 18, + 608, 608, 608, 608, 1874, 1875, 1882, 608, 1894, 1897, + 1923, 1936, -1380, -1380, -1380, 2691, 2691, 2691, 2691, 2691, + 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, + 2691, 2691, 2691, 2691, 2691, 2691, -1380, 2691, -1380, 2691, + 1937, 616, 616, -1380, -1380, 1737, 3592, 1739, -1380, -1380, + 1741, 3618, -1380, -1380, 1743, 3644, -1380, -1380, -1380, 1740, + 1744, -1380, 18, 1745, 1747, 1753, 1754, -1380, -1380, -1380, + 1750, -1380, -1380, -1380, 1767, 1768, 1770, 1771, 6412, 6436, + 6460, 6484, 6508, 6532, 6556, 6580, 6604, 6628, 6652, 6676, + 6700, 6724, 6748, 6772, 6796, 6820, 6844, 6868, 6892, 1772, + 13257, 3670, 1775, 1967, 1973, 280, 1975, 616, 280, 1976, + 280, 1977, 616, 1880, 18, 608, 608, 1979, 1980, 608, + 1982, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, + 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, + 2691, 2691, 2691, 2691, 2691, 65, -1380, 1983, 1985, -1380, + -1380, -13, -1380, 1782, 586, -11, -1380, 1823, -7, -1380, + 1826, 1818, 1830, 1859, 1786, 1829, -1380, -1380, 1838, 1857, + 601, 2499, 602, 2499, 606, 2499, 6916, 6940, 6964, 6988, + 7012, 7036, 7060, 7084, 7108, 7132, 7156, 7180, 7204, 7228, + 7252, 7276, 7300, 7324, 7348, 7372, 7396, 607, -1380, 1863, + -1380, 1864, 2021, 280, 616, 2022, 2025, 280, 2064, 280, + 1968, 2691, 18, 608, 616, 2067, 2069, 2691, 2070, 2691, + 2071, 2691, 2072, 2691, 2691, 2691, 2691, 2691, 2691, 2691, + 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, + 2691, 2691, 2691, 2691, 65, 2073, 65, 2074, -1380, -4, + 1885, -1380, -1380, -3, -1380, 72, 1887, 7420, 18, 1877, + 1889, -1380, -1380, 2499, -1380, 2499, -1380, 2499, -1380, 13280, + 13303, 13326, 7444, 7468, 7492, 7516, 7540, 7564, 7588, 7612, + 7636, 7660, 7684, 7708, 7732, 7756, 7780, 7804, 7828, 7852, + -1380, -1380, 611, -1380, -1380, 2075, 2089, 2090, 2091, 2691, + 2691, 18, 608, 616, -1380, -1380, -1380, 2691, 2691, 2691, + 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, + 2691, 2691, 2691, 2691, 2691, 65, 2092, -1380, -1380, -1380, + -1380, 7876, 3696, 1927, 1895, 1896, 1898, 1899, 1900, 7900, + 7924, 7948, 7972, 7996, 8020, 8044, 8068, 8092, 8116, 8140, + 8164, 8188, 8212, 8236, 8260, 8284, 8308, -1380, -1380, 2691, + 2096, 1930, 616, 608, 2691, 2691, 2691, 2691, 2691, 2691, + 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, + 2691, 2691, 2691, 2691, 2691, 3722, -1380, -1380, 1902, 1926, + 612, 2499, 618, 2499, 619, 2499, 8332, 8356, 8380, 8404, + 8428, 8452, 8476, 8500, 8524, 8548, 8572, 8596, 8620, 8644, + 8668, 8692, 8716, 8740, 2132, 616, 2133, 2691, 2134, 2691, + 2135, 2691, 2136, 2691, 2691, 2691, 2691, 2691, 2691, 2691, + 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, + 2691, -1380, 1940, -1380, 2499, -1380, 2499, -1380, 2499, -1380, + 13349, 13372, 13395, 8764, 8788, 8812, 8836, 8860, 8884, 8908, + 8932, 8956, 8980, 9004, 9028, 9052, 9076, 9100, 616, -1380, + -1380, -1380, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, + 2691, 2691, 2691, 2691, 2691, 2691, 2691, 1944, 1947, 1949, + 1959, 9124, 9148, 9172, 9196, 9220, 9244, 9268, 9292, 9316, + 9340, 9364, 9388, 9412, 9436, 9460, 616, 2691, 2691, 2691, + 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, + 2691, 2691, 2691, 2691, 2691, 1946, 622, 2499, 623, 2499, + 672, 2499, 9484, 9508, 9532, 9556, 9580, 9604, 9628, 9652, + 9676, 9700, 9724, 9748, 9772, 9796, 9820, 608, 2691, 2160, + 2691, 2161, 2691, 2162, 2691, 2691, 2691, 2691, 2691, 2691, + 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 1969, + 2499, -1380, 2499, -1380, 2499, -1380, 13418, 13441, 13464, 13487, + 13510, 13533, 9844, 9868, 9892, 9916, 9940, 9964, 9988, 10012, + 10036, 2164, -1380, -1380, -1380, -1380, -1380, -1380, 2691, 2691, + 2691, 2691, 2691, 2691, 2691, 2691, 2691, -1380, 1965, 1971, + 1972, 1974, 1978, 1987, 10060, 10084, 10108, 10132, 10156, 10180, + 10204, 10228, 10252, 2691, 2691, 2691, 2691, 2691, 2691, 2691, + 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 676, 2499, + 677, 2499, 699, 2499, 744, 2499, 745, 2499, 748, 2499, + 10276, 10300, 10324, 10348, 10372, 10396, 10420, 10444, 10468, 2691, + 2167, 2691, 2168, 2691, 2169, 2691, 2173, 2691, 2175, 2691, + 2176, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, + 2499, -1380, 2499, -1380, 2499, -1380, 2499, -1380, 2499, -1380, + 2499, -1380, 10492, 10516, 10540, 10564, 10588, 10612, 13556, 13579, + 13602, 2691, 2691, 2691, 2691, 2691, 2691, -1380, -1380, -1380, + 10636, 10660, 10684, 10708, 10732, 10756, 1988, 1989, 1990, 2691, + 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 10780, 10804, + 10828, 10852, 10876, 10900, 749, 2499, 768, 2499, 769, 2499, + 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2177, 2691, 2179, + 2691, 2191, 10924, 10948, 10972, 13625, 13648, 13671, 2499, -1380, + 2499, -1380, 2499, -1380, 2691, 2691, 2691, -1380, -1380, -1380, + 10996, 11020, 11044, 1992, 1993, 1994, 2691, 2691, 2691, 2691, + 2691, 2691, 11068, 11092, 11116, 772, 2499, 775, 2499, 776, + 2499, 2691, 2691, 2691, 2691, 2195, 2691, 2196, 2691, 2197, + 11140, 11164, 11188, 2499, -1380, 2499, -1380, 2499, -1380, 2691, + 2691, 2691, 11212, 11236, 11260, 2691, 2691, 2691, 11284, 11308, + 11332, 2691, 2691, 2691, 13694, 13717, 13740, -1380, -1380, -1380, + 2007, 2008, 2009, 2691, 2691, 2691, 783, 2499, 803, 2499, + 807, 2499, 2691, 2210, 2691, 2211, 2691, 2212, 2499, -1380, + 2499, -1380, 2499, -1380 }; - -#define YYLAST 13321 - - -static const short yytable[] = { 142, - 210, 212, 76, 248, 141, 77, 564, 501, 537, 380, - 909, 184, 384, 187, 198, 177, 179, 208, 253, 749, - 213, 208, 152, 154, 146, 1067, 196, 1319, 1419, 1320, - 1422, 152, 201, 401, 99, 403, 1494, 5, 1068, 1340, - 1494, 1070, 390, 1494, 1413, 208, 124, 125, 126, 1414, - 124, 125, 126, 10, 86, 308, 488, 208, 255, 1413, - 256, 1260, 371, 372, 1414, 371, 372, 371, 372, 257, - 1269, 258, 900, 87, 124, 125, 126, 1276, 382, 555, - 1241, 1242, 1069, 373, 565, 1071, 124, 125, 126, 371, - 372, 315, 316, 317, 318, 319, 88, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 946, 301, 302, 303, - 522, 329, 304, 307, 627, 523, 312, 208, 1222, 628, - 1223, 371, 372, 332, 89, 333, 334, 335, 497, 337, - 90, 339, 340, 1128, 351, 406, 391, 91, 1413, 371, - 372, 92, 366, 1414, 368, 93, 124, 125, 126, 1433, - 375, 369, 370, 134, 135, 153, 1101, 148, 1102, 309, - 310, 851, 799, 800, 153, 355, 497, 1061, 371, 372, - 388, 389, 356, 392, 94, 394, 901, 902, 397, 398, - 1413, 99, 197, 95, 1493, 1414, 374, 755, 371, 372, - 11, 12, 13, 14, 15, 16, 17, 18, 743, 1497, - 769, 127, 128, 129, 130, 1332, 214, 371, 372, 371, - 372, 371, 372, 185, 191, 188, 199, 192, 209, 589, - 254, 750, 211, 444, 147, 500, 442, 202, 489, 490, - 491, 446, 447, 448, 449, 450, 451, 452, 453, 454, - 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, - 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, - 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, - 485, 486, 487, 383, 1397, 259, 1247, 260, 1500, 1434, - 1494, 1413, 496, 1438, 1494, 734, 1414, 1494, 145, 502, - 735, 507, 508, 509, 510, 511, 512, 513, 514, 515, - 516, 517, 518, 519, 520, 521, 1659, 134, 135, 1663, - 936, 1666, 528, 149, 530, 851, 371, 372, 149, 302, - 496, 154, 913, 1195, 150, 798, 596, 740, 541, 542, - 543, 544, 545, 1334, 547, 548, 549, 550, 551, 552, - 553, 558, 559, 371, 372, 497, 576, 577, 127, 128, - 129, 130, 566, 567, 568, 569, 151, 1413, 497, 578, - 937, 634, 1414, 1413, 134, 135, 970, 585, 1414, 134, - 135, 560, 560, 157, 563, 563, 593, 742, 1494, 155, - 1413, 1413, 1494, 1413, 1494, 1414, 1414, 156, 1414, 156, - 371, 372, 127, 128, 129, 130, 801, 1052, 158, 893, - 371, 372, 740, 1055, 1757, 173, 174, 1103, 1761, 1104, - 1763, 371, 372, 134, 135, 1116, 175, 1105, 261, 1106, - 262, 1710, 1117, 176, 633, 371, 372, 1341, 1336, 159, - 923, 745, 1184, 160, 371, 372, 1571, 1572, 1573, 1574, - 1086, 1087, 1490, 1578, 371, 372, 315, 316, 317, 318, - 319, 1496, 320, 321, 322, 323, 324, 325, 326, 327, - 328, 1499, 954, 955, 956, 957, 329, 161, 738, 371, - 372, 302, 162, 6, 7, 1248, 8, 746, 166, 171, - 744, 1137, 315, 316, 317, 318, 319, 186, 320, 321, - 322, 323, 324, 325, 326, 327, 328, 1714, 172, 496, - 756, 180, 329, 1716, 181, 134, 135, 182, 183, 738, - 767, 250, 496, 251, 771, 772, 1095, 1096, 134, 135, - 1803, 1805, 779, 1806, 492, 788, 251, 326, 327, 328, - 189, 190, 789, 790, 193, 329, 315, 316, 317, 318, - 319, 793, 320, 321, 322, 323, 324, 325, 326, 327, - 328, 1672, 1673, 802, 194, 1676, 329, 497, 971, 263, - 195, 264, 898, 853, 812, 203, 814, 815, 205, 206, - 127, 128, 129, 130, 204, 1399, 318, 319, 246, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 497, 249, - 1078, 134, 135, 329, 163, 164, 207, 165, 1054, 1056, - 320, 321, 322, 323, 324, 325, 326, 327, 328, 134, - 135, 297, 298, 852, 329, 533, 299, 251, 96, 341, - 497, 497, 497, 497, 100, 101, 102, 103, 104, 105, - 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, - 116, 117, 118, 119, 120, 121, 122, 123, 265, 1767, - 266, 317, 318, 319, 342, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 134, 135, 267, 894, 268, 329, - 768, 269, 251, 270, 311, 44, 45, 46, 47, 48, - 49, 44, 45, 46, 47, 314, 49, 313, 883, 884, - 324, 325, 326, 327, 328, 167, 330, 331, 168, 169, - 329, 170, 885, 886, 887, 888, 889, 890, 891, 352, - 271, 496, 272, 506, 336, 273, 897, 274, 338, 903, - 997, 998, 999, 1000, 1001, 353, 275, 915, 276, 912, - 354, 277, 1224, 278, 279, 906, 280, 281, 1842, 282, - 358, 283, 496, 284, 738, 285, 359, 286, 497, 287, - 289, 288, 290, 291, 360, 292, 929, 361, 293, 1010, - 294, 295, 365, 296, 950, 951, 952, 732, 740, 733, - 741, 362, 363, 364, 496, 496, 496, 496, 379, 396, - 960, 961, 376, 740, 964, 770, 740, 1063, 927, 1064, - 958, 977, 740, 387, 1077, 975, 976, 377, 378, 1897, - 986, 393, 395, 131, 343, 740, 740, 1107, 1108, 133, - 740, 740, 1109, 1110, 136, 1184, 740, 1185, 1202, 139, - 399, 344, 1184, 1060, 1342, 1184, 400, 1480, 1712, 405, - 1713, 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, 315, 316, 317, - 318, 319, 402, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 1725, 1314, 1726, 407, 852, 329, 1727, 408, - 1728, 1057, 404, 409, 1062, 315, 316, 317, 318, 319, - 1066, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 410, 1729, 496, 1730, 1079, 329, 1080, 315, 316, 317, - 318, 319, 411, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 1097, 1098, 1099, 412, 413, 329, 315, 316, - 317, 318, 319, 414, 320, 321, 322, 323, 324, 325, - 326, 327, 328, 415, 1120, 1121, 1122, 1752, 329, 1753, - 1833, 1925, 1834, 1926, 1927, 416, 1928, 1929, 2056, 1930, - 2057, 1405, 315, 316, 317, 318, 319, 417, 320, 321, - 322, 323, 324, 325, 326, 327, 328, 2058, 2060, 2059, - 2061, 437, 329, 2077, 418, 349, 1188, 2167, 2169, 2168, - 2170, 357, 1156, 419, 420, 315, 316, 317, 318, 319, - 421, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 1325, 2171, 422, 2172, 381, 329, 2173, 423, 2174, 385, - 386, 2175, 440, 2176, 2177, 439, 2178, 1219, 2254, 2256, - 2255, 2257, 1189, 424, 2258, 2302, 2259, 2303, 2304, 1197, - 2305, 1198, 425, 426, 1251, 315, 316, 317, 318, 319, - 427, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 1207, 1208, 1209, 1210, 1282, 329, 2306, 2350, 2307, 2351, - 428, 1225, 1218, 1228, 2352, 1231, 2353, 1326, 2354, 429, - 2355, 430, 431, 432, 433, 434, 435, 1238, 1239, 436, - 443, 329, 494, 441, 503, 504, 505, 539, 560, 1250, - 534, 563, 1253, 546, 554, 580, 581, 584, 587, 590, - 597, 598, 1263, 599, 600, 601, 602, 603, 604, 1270, - 1271, 1272, 605, 606, 607, 608, 1277, 609, 610, 611, - 1281, 612, 613, 614, 1283, 1284, 1285, 1286, 1287, 1288, - 1289, 1290, 1291, 1292, 1293, 1294, 1295, 1296, 1297, 1298, - 1299, 1300, 1301, 1302, 1303, 1304, 1305, 1306, 1307, 1308, - 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, - 625, 1348, 1318, 626, 629, 736, 630, 631, 737, 1322, - 747, 748, 315, 316, 317, 318, 319, 752, 320, 321, - 322, 323, 324, 325, 326, 327, 328, 754, 1330, 757, - 758, 759, 329, 761, 763, 764, 773, 806, 787, 791, - 792, 807, 804, 808, 805, 1327, 811, 810, 96, 300, - 817, 1345, 818, 1346, 100, 101, 102, 103, 104, 105, - 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, - 116, 117, 118, 119, 120, 121, 122, 123, 819, 315, - 316, 317, 318, 319, 820, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 96, 300, 821, 822, 1431, 329, - 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, - 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 823, 848, 824, 825, 826, 1403, - 1404, 849, 1412, 881, 1418, 827, 1421, 828, 1411, 829, - 1417, 882, 1420, 892, 1423, 1424, 896, 899, 904, 830, - 1427, 831, 739, 905, 855, 907, 832, 560, 911, 1436, - 563, 856, 918, 920, 833, 834, 835, 1444, 836, 837, - 838, 839, 1449, 840, 841, 1452, 842, 1454, 1455, 1456, - 1457, 1458, 1459, 1460, 1461, 1462, 1463, 1464, 1465, 1466, - 1467, 1468, 1469, 1470, 1471, 1472, 1473, 1474, 1475, 1476, - 1477, 1478, 1479, 931, 932, 933, 843, 1482, 844, 368, - 845, 846, 1487, 847, 301, 302, 1488, 315, 316, 317, - 318, 319, 850, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 857, 131, 132, 858, 859, 329, 930, 133, - 860, 861, 862, 863, 136, 864, 865, 305, 866, 139, - 867, 306, 868, 869, 870, 871, 872, 1570, 873, 874, - 875, 876, 315, 316, 317, 318, 319, 877, 320, 321, - 322, 323, 324, 325, 326, 327, 328, 878, 879, 131, - 132, 880, 329, 934, 908, 133, 935, 938, 939, 1245, - 136, 1246, 940, 765, 941, 139, 1554, 766, 942, 943, - 944, 945, 1559, 965, 953, 1563, 959, 967, 972, 973, - 974, 978, 979, 980, 981, 982, 985, 987, 988, 991, - 1622, 992, 993, 994, 995, 1004, 1051, 1007, 1005, 1586, - 1587, 1588, 1589, 1590, 1591, 1592, 1593, 1594, 1595, 1596, - 1597, 1598, 1599, 1600, 1601, 1602, 1603, 1604, 1605, 1606, - 1006, 1608, 1008, 1609, 315, 316, 317, 318, 319, 1009, - 320, 321, 322, 323, 324, 325, 326, 327, 328, 1011, - 1012, 1053, 1671, 1058, 329, 1059, 96, 300, 1065, 1084, - 1073, 524, 100, 101, 102, 103, 104, 105, 106, 107, - 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, - 118, 119, 120, 121, 122, 123, 1075, 1076, 1085, 1100, - 1113, 1114, 1119, 1123, 1706, 1124, 916, 917, 1125, 919, - 1129, 921, 922, 1130, 1131, 1132, 1133, 1134, 1157, 1135, - 1139, 1136, 1140, 1138, 1141, 1679, 1681, 1683, 1684, 1685, - 1686, 1687, 1688, 1689, 1690, 1691, 1692, 1693, 1694, 1695, - 1696, 1697, 1698, 1699, 1700, 1701, 1702, 1703, 1704, 1142, - 1143, 1144, 1145, 1146, 962, 963, 1147, 1505, 966, 1148, - 1766, 1153, 1149, 1150, 1151, 1152, 1190, 1154, 1155, 1191, - 1186, 1240, 1243, 1193, 538, 983, 984, 1199, 1200, 1204, - 1201, 989, 990, 1205, 1206, 1211, 1212, 1213, 996, 1214, - 1003, 1215, 1216, 1217, 1226, 1229, 1232, 1234, 1235, 1236, - 1237, 1252, 1255, 1798, 1256, 1801, 1809, 1258, 1257, 1259, - 1261, 1262, 1264, 1265, 1315, 1765, 1268, 1266, 1267, 1275, - 1274, 1771, 1278, 1773, 1279, 1775, 1280, 1777, 1778, 1779, - 1780, 1781, 1782, 1783, 1784, 1785, 1786, 1787, 1788, 1789, - 1790, 1791, 1792, 1793, 1794, 1795, 1796, 1797, 1310, 1841, - 1311, 131, 132, 1312, 1313, 1316, 1317, 133, 1321, 1328, - 1344, 1349, 136, 1329, 1351, 925, 1072, 139, 1074, 926, - 1400, 1432, 1352, 1331, 1333, 591, 1335, 1337, 1343, 1081, - 1082, 1083, 1353, 1354, 1865, 1355, 1088, 1089, 1090, 1091, - 1092, 1093, 1094, 1357, 1363, 1435, 1358, 1359, 1364, 1365, - 1437, 1368, 1425, 1839, 1840, 1367, 1398, 1370, 1439, 1440, - 1441, 1847, 1848, 1849, 1850, 1851, 1852, 1853, 1854, 1855, - 1856, 1857, 1858, 1859, 1860, 1861, 1862, 1863, 1864, 315, - 316, 317, 318, 319, 1442, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 315, 316, 317, 318, 319, 329, - 320, 321, 322, 323, 324, 325, 326, 327, 328, 1443, - 1445, 1447, 1448, 1893, 329, 753, 1450, 1451, 1899, 1901, - 1903, 1904, 1905, 1906, 1907, 1908, 1909, 1910, 1911, 1912, - 1913, 1914, 1915, 1916, 1917, 1918, 1919, 1920, 1921, 1453, - 1492, 1481, 1483, 1670, 1491, 1507, 1546, 1512, 1552, 1513, - 1517, 1582, 1187, 928, 315, 316, 317, 318, 319, 1556, - 320, 321, 322, 323, 324, 325, 326, 327, 328, 1557, - 1560, 1952, 1486, 1954, 329, 1956, 493, 1958, 1959, 1960, - 1961, 1962, 1963, 1964, 1965, 1966, 1967, 1968, 1969, 1970, - 1971, 1972, 1973, 1974, 1975, 315, 316, 317, 318, 319, - 1503, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 1504, 1506, 1508, 1509, 1510, 329, 1515, 1244, 1519, 1548, - 1625, 1561, 969, 1564, 1565, 1254, 1999, 2000, 2001, 2002, - 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, - 2013, 1566, 1569, 1575, 1273, 1576, 1577, 1579, 1580, 1581, - 1610, 1613, 1615, 1621, 1616, 1618, 1620, 1626, 1623, 1657, - 1624, 2035, 2037, 2039, 2040, 2041, 2042, 2043, 2044, 2045, - 2046, 2047, 2048, 2049, 2050, 2051, 2052, 2053, 2054, 1627, - 1628, 1656, 1309, 1629, 1658, 315, 316, 317, 318, 319, - 1630, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 1631, 1653, 2078, 1660, 2080, 329, 2082, 1664, 2084, 2085, - 2086, 2087, 2088, 2089, 2090, 2091, 2092, 2093, 2094, 2095, - 2096, 2097, 2098, 315, 316, 317, 318, 319, 1667, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 1674, 1675, - 1677, 1720, 1708, 329, 1709, 1711, 1756, 1715, 1723, 1717, - 1724, 1718, 2122, 2123, 2124, 2125, 2126, 2127, 2128, 2129, - 2130, 1719, 1721, 1722, 1759, 1754, 1760, 1755, 1762, 1764, - 1769, 1770, 1772, 1774, 1776, 1799, 1802, 2147, 2149, 2151, - 2153, 2155, 2157, 2158, 2159, 2160, 2161, 2162, 2163, 2164, - 2165, 2166, 315, 316, 317, 318, 319, 1804, 320, 321, - 322, 323, 324, 325, 326, 327, 328, 1807, 1810, 1811, - 1835, 1836, 329, 2188, 1837, 2190, 1838, 2192, 1866, 2194, - 1869, 2196, 1872, 2198, 1870, 2200, 2201, 2202, 2203, 2204, - 2205, 2206, 2207, 2208, 1871, 1894, 1873, 1874, 1923, 1895, - 1949, 1426, 1951, 1953, 1924, 1430, 1955, 1957, 2079, 2081, - 2083, 1976, 2014, 2115, 2055, 2218, 2219, 2220, 2221, 2222, - 2223, 1446, 2015, 2016, 2017, 2131, 2132, 2099, 2133, 2134, - 2135, 2189, 2191, 2236, 2237, 2238, 2239, 2240, 2241, 2243, - 2245, 2247, 2136, 2193, 2195, 2197, 2199, 2233, 2234, 2235, - 2267, 2269, 2271, 2287, 2260, 2261, 2262, 2263, 2264, 2265, - 2266, 2288, 2268, 2312, 2270, 2289, 2314, 2316, 2341, 2342, - 2343, 2357, 2359, 2361, 2363, 2364, 854, 75, 2278, 2279, - 2280, 83, 0, 0, 1192, 0, 0, 0, 0, 0, - 2290, 2291, 2292, 2294, 2296, 2298, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2308, 2309, 2310, 2311, 0, - 2313, 0, 2315, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2320, 2321, 2322, 0, 0, 0, 2326, - 2327, 2328, 0, 0, 0, 2332, 2333, 2334, 0, 0, - 0, 0, 1549, 1550, 0, 0, 0, 2345, 2347, 2349, - 1555, 0, 0, 0, 0, 0, 2356, 0, 2358, 0, - 2360, 1567, 1568, 96, 535, 0, 0, 0, 0, 100, - 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, - 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 96, 300, 0, 0, 1611, 1612, 100, - 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, - 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 0, 0, 0, 96, 97, 98, 0, - 99, 0, 100, 101, 102, 103, 104, 105, 106, 107, - 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, - 118, 119, 120, 121, 122, 123, 0, 124, 125, 126, - 0, 0, 0, 1662, 96, 341, 0, 0, 1669, 0, - 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, - 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, - 342, 570, 28, 29, 571, 572, 32, 573, 34, 0, - 35, 0, 37, 38, 39, 0, 41, 42, 0, 0, - 0, 44, 45, 46, 47, 48, 49, 0, 0, 0, - 0, 0, 0, 54, 0, 0, 0, 0, 131, 132, - 0, 0, 0, 0, 133, 0, 0, 0, 0, 136, - 0, 0, 0, 0, 139, 0, 536, 0, 0, 0, - 1758, 0, 0, 56, 57, 58, 0, 0, 0, 0, - 1768, 0, 0, 0, 0, 0, 0, 0, 1408, 1409, - 0, 68, 0, 0, 133, 0, 0, 0, 0, 1410, - 0, 0, 0, 0, 139, 0, 176, 127, 128, 129, - 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 131, 132, 0, 0, 0, 0, 133, 134, 135, - 0, 0, 136, 0, 137, 0, 138, 139, 315, 316, - 317, 318, 319, 0, 320, 321, 322, 323, 324, 325, - 326, 327, 328, 0, 0, 0, 0, 0, 329, 131, - 495, 0, 0, 0, 0, 133, 0, 774, 0, 1843, - 136, 0, 96, 300, 208, 139, 0, 0, 100, 101, - 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, - 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 0, 124, 125, 126, 315, 316, 317, 318, - 319, 0, 320, 321, 322, 323, 324, 325, 326, 327, - 328, 0, 0, 96, 300, 0, 329, 0, 1896, 100, - 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, - 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 315, 316, 317, 318, 319, 0, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 493, 96, 535, 0, 0, - 556, 1950, 100, 101, 102, 103, 104, 105, 106, 107, - 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, - 118, 119, 120, 121, 122, 123, 0, 570, 28, 29, - 571, 572, 32, 573, 34, 0, 35, 0, 37, 38, - 39, 0, 41, 42, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1995, 0, 0, 0, 0, 54, - 315, 316, 317, 318, 319, 0, 320, 321, 322, 323, - 324, 325, 326, 327, 328, 0, 0, 131, 132, 0, - 329, 0, 0, 133, 0, 0, 0, 556, 136, 56, - 57, 58, 2033, 139, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 68, -7, 1, - 0, -12, -55, 315, 316, 317, 318, 319, 0, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 131, 132, - 0, 0, 0, 329, 133, 0, 0, 0, 0, 136, - 1406, -55, 1407, 0, 139, -55, -55, -55, -55, -55, - -55, -55, -55, -55, -55, 0, -55, -55, -55, -55, - -55, -55, -55, -55, 0, 0, 0, -55, -55, -55, - -55, -55, -55, -55, 0, -55, -55, -55, -55, -55, - 0, 131, 132, 0, 0, 0, 0, 133, 0, 0, - 0, 0, 136, 0, 0, 574, 0, 139, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -55, -55, - -55, -55, 0, 0, 0, 0, -55, 0, -55, 0, - -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, - 570, 28, 29, 571, 572, 32, 573, 34, 0, 35, - 0, 37, 38, 39, 0, 41, 42, 0, -12, -12, - -12, -12, -12, -12, -12, -12, 0, 315, 316, 317, - 318, 319, 54, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, -7, -7, 0, -7, 329, 0, 0, - 0, 0, 0, 0, 0, 0, 778, 0, 0, 0, - 0, 0, 56, 57, 58, 0, 570, 28, 29, 571, - 572, 32, 573, 34, 0, 35, 0, 37, 38, 39, - 68, 41, 42, 0, 0, 0, 0, 0, 0, 0, - 570, 28, 29, 571, 572, 32, 573, 34, 54, 35, - 0, 37, 38, 39, 0, 41, 42, 0, 0, 216, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 54, 0, 0, 0, 0, 0, 56, 57, - 58, 0, 570, 28, 29, 571, 572, 32, 573, 34, - 0, 35, 0, 37, 38, 39, 68, 41, 42, 0, - 0, 0, 56, 57, 58, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 54, 0, 0, 0, 579, 0, - 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 217, - 218, 219, 0, 0, 56, 57, 58, 220, 221, 222, - 223, 224, 225, 226, 227, 228, 229, 0, 0, 0, - 0, 0, 68, 0, 0, 230, 231, 232, 233, 234, - 235, 236, 237, 238, 239, 0, 240, 241, 242, 243, - 244, 245, 0, 0, 594, 315, 316, 317, 318, 319, - 0, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 525, 595, 635, - 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, - 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, - 656, 657, 658, 659, 660, 661, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, - 813, 635, 636, 637, 638, 639, 640, 641, 642, 643, - 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, - 654, 655, 656, 657, 658, 659, 660, 661, 24, 0, - 0, 0, 25, 26, 27, 28, 29, 30, 31, 32, - 33, 34, 0, 35, 36, 37, 38, 39, 40, 41, - 42, 0, 0, 0, 43, 44, 45, 46, 47, 48, - 49, 0, 50, 51, 52, 53, 54, 0, 0, 0, - 315, 316, 317, 318, 319, 0, 320, 321, 322, 323, - 324, 325, 326, 327, 328, 0, 0, 0, 0, 0, - 329, 0, 0, 662, 0, 55, 56, 57, 58, 780, - 0, 0, 0, 59, 0, 60, 0, 61, 62, 63, - 64, 65, 66, 67, 68, 69, 70, 315, 316, 317, - 318, 319, 0, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 1013, 0, 329, 0, 0, - 0, 315, 316, 317, 318, 319, 781, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 0, 0, 315, 316, 317, 318, 319, - 924, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 0, 0, 315, - 316, 317, 318, 319, 949, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 0, 0, 315, 316, 317, 318, 319, 1220, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 0, 0, 315, 316, 317, - 318, 319, 1428, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 0, - 0, 315, 316, 317, 318, 319, 1429, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 0, 0, 315, 316, 317, 318, 319, - 1489, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 0, 0, 315, - 316, 317, 318, 319, 1495, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 0, 0, 315, 316, 317, 318, 319, 1498, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 0, 0, 315, 316, 317, - 318, 319, 1501, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 0, - 0, 315, 316, 317, 318, 319, 1502, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 0, 0, 315, 316, 317, 318, 319, - 1551, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 0, 0, 315, - 316, 317, 318, 319, 1614, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 0, 0, 315, 316, 317, 318, 319, 1617, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 0, 0, 315, 316, 317, - 318, 319, 1619, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 0, - 0, 315, 316, 317, 318, 319, 1655, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 0, 0, 315, 316, 317, 318, 319, - 1868, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 0, 0, 315, - 316, 317, 318, 319, 1922, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 557, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 588, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 712, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 713, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 726, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 727, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 728, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 729, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 730, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 731, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 794, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 795, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 796, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 914, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 947, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 948, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 968, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 1111, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 1112, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 1126, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 1127, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 1158, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 1159, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 1160, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 1161, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 1162, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 1163, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 1164, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 1165, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 1166, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 1167, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 1168, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 1169, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 1170, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 1171, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 1172, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 1173, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 1174, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 1175, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 1176, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 1177, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 1178, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 1179, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 1180, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 1181, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 1182, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 1183, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 1196, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 1203, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 1323, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 1324, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 1338, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 1339, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 1347, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 1350, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 1361, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 1366, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 1369, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 1371, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 1372, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 1373, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 1374, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 1375, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 1376, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 1377, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 1378, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 1379, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 1380, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 1381, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 1382, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 1383, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 1384, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 1385, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 1386, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 1387, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 1388, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 1389, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 1390, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 1391, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 1392, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 1393, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 1394, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 1395, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 1396, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 1401, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 1402, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 1511, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 1523, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 1524, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 1525, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 1526, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 1527, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 1528, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 1529, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 1530, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 1531, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 1532, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 1533, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 1534, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 1535, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 1536, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 1537, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 1538, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 1539, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 1540, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 1541, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 1542, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 1543, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 1545, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 1547, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 1632, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 1633, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 1634, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 1635, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 1636, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 1637, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 1638, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 1639, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 1640, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 1641, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 1642, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 1643, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 1644, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 1645, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 1646, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 1647, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 1648, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 1649, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 1650, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 1651, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 1652, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 1731, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 1732, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 1733, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 1734, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 1735, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 1736, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 1737, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 1738, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 1739, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 1740, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 1741, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 1742, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 1743, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 1744, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 1745, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 1746, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 1747, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 1748, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 1749, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 1750, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 1751, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 1808, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 1815, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 1816, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 1817, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 1818, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 1819, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 1820, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 1821, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 1822, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 1823, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 1824, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 1825, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 1826, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 1827, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 1828, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 1829, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 1830, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 1831, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 1832, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 1867, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 1875, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 1876, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 1877, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 1878, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 1879, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 1880, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 1881, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 1882, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 1883, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 1884, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 1885, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 1886, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 1887, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 1888, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 1889, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 1890, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 1891, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 1892, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 1931, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 1932, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 1933, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 1934, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 1935, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 1936, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 1937, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 1938, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 1939, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 1940, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 1941, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 1942, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 1943, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 1944, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 1945, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 1946, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 1947, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 1948, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 1980, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 1981, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 1982, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 1983, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 1984, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 1985, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 1986, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 1987, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 1988, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 1989, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 1990, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 1991, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 1992, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 1993, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 1994, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 2018, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 2019, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 2020, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 2021, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 2022, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 2023, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 2024, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 2025, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 2026, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 2027, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 2028, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 2029, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 2030, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 2031, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 2032, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 2062, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 2063, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 2064, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 2065, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 2066, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 2067, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 2068, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 2069, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 2070, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 2071, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 2072, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 2073, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 2074, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 2075, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 2076, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 2106, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 2107, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 2108, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 2109, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 2110, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 2111, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 2112, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 2113, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 2114, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 2137, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 2138, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 2139, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 2140, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 2141, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 2142, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 2143, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 2144, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 2145, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 2179, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 2180, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 2181, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 2182, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 2183, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 2184, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 2185, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 2186, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 2187, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 2209, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 2210, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 2211, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 2212, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 2213, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 2214, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 2227, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 2228, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 2229, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 2230, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 2231, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 2232, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 2248, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 2249, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 2250, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 2251, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 2252, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 2253, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 2272, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 2273, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 2274, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 2284, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 2285, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 2286, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 2299, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 2300, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 2301, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 2317, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 2318, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 2319, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 2323, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 2324, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 2325, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 2329, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 2330, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 2331, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 0, 0, 499, 315, 316, 317, 318, - 319, 0, 320, 321, 322, 323, 324, 325, 326, 327, - 328, 0, 0, 0, 0, 0, 329, 0, 0, 0, - 632, 315, 316, 317, 318, 319, 0, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 0, 0, 691, 315, 316, 317, 318, - 319, 0, 320, 321, 322, 323, 324, 325, 326, 327, - 328, 0, 0, 0, 0, 0, 329, 0, 0, 0, - 693, 315, 316, 317, 318, 319, 0, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 0, 0, 695, 315, 316, 317, 318, - 319, 0, 320, 321, 322, 323, 324, 325, 326, 327, - 328, 0, 0, 0, 0, 0, 329, 0, 0, 0, - 697, 315, 316, 317, 318, 319, 0, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 0, 0, 699, 315, 316, 317, 318, - 319, 0, 320, 321, 322, 323, 324, 325, 326, 327, - 328, 0, 0, 0, 0, 0, 329, 0, 0, 0, - 701, 315, 316, 317, 318, 319, 0, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 0, 0, 703, 315, 316, 317, 318, - 319, 0, 320, 321, 322, 323, 324, 325, 326, 327, - 328, 0, 0, 0, 0, 0, 329, 0, 0, 0, - 705, 315, 316, 317, 318, 319, 0, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 0, 0, 707, 315, 316, 317, 318, - 319, 0, 320, 321, 322, 323, 324, 325, 326, 327, - 328, 0, 0, 0, 0, 0, 329, 0, 0, 0, - 709, 315, 316, 317, 318, 319, 0, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 0, 0, 711, 315, 316, 317, 318, - 319, 0, 320, 321, 322, 323, 324, 325, 326, 327, - 328, 0, 0, 0, 0, 0, 329, 0, 0, 0, - 715, 315, 316, 317, 318, 319, 0, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 0, 0, 717, 315, 316, 317, 318, - 319, 0, 320, 321, 322, 323, 324, 325, 326, 327, - 328, 0, 0, 0, 0, 0, 329, 0, 0, 0, - 719, 315, 316, 317, 318, 319, 0, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 0, 0, 721, 315, 316, 317, 318, - 319, 0, 320, 321, 322, 323, 324, 325, 326, 327, - 328, 0, 0, 0, 0, 0, 329, 0, 0, 0, - 723, 315, 316, 317, 318, 319, 0, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 0, 0, 725, 315, 316, 317, 318, - 319, 0, 320, 321, 322, 323, 324, 325, 326, 327, - 328, 0, 0, 0, 0, 0, 329, 0, 0, 0, - 797, 315, 316, 317, 318, 319, 0, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 0, 0, 803, 315, 316, 317, 318, - 319, 0, 320, 321, 322, 323, 324, 325, 326, 327, - 328, 0, 0, 0, 0, 0, 329, 0, 0, 0, - 895, 315, 316, 317, 318, 319, 0, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 0, 0, 1043, 315, 316, 317, 318, - 319, 0, 320, 321, 322, 323, 324, 325, 326, 327, - 328, 0, 0, 0, 0, 0, 329, 0, 0, 0, - 1045, 315, 316, 317, 318, 319, 0, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 0, 0, 1047, 315, 316, 317, 318, - 319, 0, 320, 321, 322, 323, 324, 325, 326, 327, - 328, 0, 0, 0, 0, 0, 329, 0, 0, 0, - 1049, 315, 316, 317, 318, 319, 0, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 0, 0, 1050, 315, 316, 317, 318, - 319, 0, 320, 321, 322, 323, 324, 325, 326, 327, - 328, 0, 0, 0, 0, 0, 329, 0, 0, 0, - 1194, 315, 316, 317, 318, 319, 0, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 526, 315, 316, 317, 318, 319, 0, - 320, 321, 322, 323, 324, 325, 326, 327, 328, 0, - 0, 0, 0, 0, 329, 0, 527, 315, 316, 317, - 318, 319, 0, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 529, - 315, 316, 317, 318, 319, 0, 320, 321, 322, 323, - 324, 325, 326, 327, 328, 0, 0, 0, 0, 0, - 329, 0, 531, 315, 316, 317, 318, 319, 0, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 532, 315, 316, 317, 318, - 319, 0, 320, 321, 322, 323, 324, 325, 326, 327, - 328, 0, 0, 0, 0, 0, 329, 0, 540, 315, - 316, 317, 318, 319, 0, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 582, 315, 316, 317, 318, 319, 0, 320, 321, - 322, 323, 324, 325, 326, 327, 328, 0, 0, 0, - 0, 0, 329, 0, 583, 315, 316, 317, 318, 319, - 0, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 586, 315, 316, - 317, 318, 319, 0, 320, 321, 322, 323, 324, 325, - 326, 327, 328, 0, 0, 0, 0, 0, 329, 0, - 592, 315, 316, 317, 318, 319, 0, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 690, 315, 316, 317, 318, 319, 0, - 320, 321, 322, 323, 324, 325, 326, 327, 328, 0, - 0, 0, 0, 0, 329, 0, 692, 315, 316, 317, - 318, 319, 0, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 694, - 315, 316, 317, 318, 319, 0, 320, 321, 322, 323, - 324, 325, 326, 327, 328, 0, 0, 0, 0, 0, - 329, 0, 696, 315, 316, 317, 318, 319, 0, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 698, 315, 316, 317, 318, - 319, 0, 320, 321, 322, 323, 324, 325, 326, 327, - 328, 0, 0, 0, 0, 0, 329, 0, 700, 315, - 316, 317, 318, 319, 0, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 702, 315, 316, 317, 318, 319, 0, 320, 321, - 322, 323, 324, 325, 326, 327, 328, 0, 0, 0, - 0, 0, 329, 0, 704, 315, 316, 317, 318, 319, - 0, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 706, 315, 316, - 317, 318, 319, 0, 320, 321, 322, 323, 324, 325, - 326, 327, 328, 0, 0, 0, 0, 0, 329, 0, - 708, 315, 316, 317, 318, 319, 0, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 710, 315, 316, 317, 318, 319, 0, - 320, 321, 322, 323, 324, 325, 326, 327, 328, 0, - 0, 0, 0, 0, 329, 0, 714, 315, 316, 317, - 318, 319, 0, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 716, - 315, 316, 317, 318, 319, 0, 320, 321, 322, 323, - 324, 325, 326, 327, 328, 0, 0, 0, 0, 0, - 329, 0, 718, 315, 316, 317, 318, 319, 0, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 720, 315, 316, 317, 318, - 319, 0, 320, 321, 322, 323, 324, 325, 326, 327, - 328, 0, 0, 0, 0, 0, 329, 0, 722, 315, - 316, 317, 318, 319, 0, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 724, 315, 316, 317, 318, 319, 0, 320, 321, - 322, 323, 324, 325, 326, 327, 328, 0, 0, 0, - 0, 0, 329, 0, 760, 315, 316, 317, 318, 319, - 0, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 762, 315, 316, - 317, 318, 319, 0, 320, 321, 322, 323, 324, 325, - 326, 327, 328, 0, 0, 0, 0, 0, 329, 0, - 775, 315, 316, 317, 318, 319, 0, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 776, 315, 316, 317, 318, 319, 0, - 320, 321, 322, 323, 324, 325, 326, 327, 328, 0, - 0, 0, 0, 0, 329, 0, 777, 315, 316, 317, - 318, 319, 0, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 782, - 315, 316, 317, 318, 319, 0, 320, 321, 322, 323, - 324, 325, 326, 327, 328, 0, 0, 0, 0, 0, - 329, 0, 783, 315, 316, 317, 318, 319, 0, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 784, 315, 316, 317, 318, - 319, 0, 320, 321, 322, 323, 324, 325, 326, 327, - 328, 0, 0, 0, 0, 0, 329, 0, 785, 315, - 316, 317, 318, 319, 0, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 786, 315, 316, 317, 318, 319, 0, 320, 321, - 322, 323, 324, 325, 326, 327, 328, 0, 0, 0, - 0, 0, 329, 0, 809, 315, 316, 317, 318, 319, - 0, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 816, 315, 316, - 317, 318, 319, 0, 320, 321, 322, 323, 324, 325, - 326, 327, 328, 0, 0, 0, 0, 0, 329, 0, - 1042, 315, 316, 317, 318, 319, 0, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 1044, 315, 316, 317, 318, 319, 0, - 320, 321, 322, 323, 324, 325, 326, 327, 328, 0, - 0, 0, 0, 0, 329, 0, 1046, 315, 316, 317, - 318, 319, 0, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 1048, - 315, 316, 317, 318, 319, 0, 320, 321, 322, 323, - 324, 325, 326, 327, 328, 0, 0, 0, 0, 0, - 329, 0, 1115, 315, 316, 317, 318, 319, 0, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 1221, 315, 316, 317, 318, - 319, 0, 320, 321, 322, 323, 324, 325, 326, 327, - 328, 0, 0, 0, 0, 0, 329, 0, 1249, 315, - 316, 317, 318, 319, 0, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 1356, 315, 316, 317, 318, 319, 0, 320, 321, - 322, 323, 324, 325, 326, 327, 328, 0, 0, 0, - 0, 0, 329, 0, 1360, 315, 316, 317, 318, 319, - 0, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 1362, 315, 316, - 317, 318, 319, 0, 320, 321, 322, 323, 324, 325, - 326, 327, 328, 0, 0, 0, 0, 0, 329, 0, - 1484, 315, 316, 317, 318, 319, 0, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 1485, 315, 316, 317, 318, 319, 0, - 320, 321, 322, 323, 324, 325, 326, 327, 328, 0, - 0, 0, 0, 0, 329, 0, 1514, 315, 316, 317, - 318, 319, 0, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 1516, - 315, 316, 317, 318, 319, 0, 320, 321, 322, 323, - 324, 325, 326, 327, 328, 0, 0, 0, 0, 0, - 329, 0, 1518, 315, 316, 317, 318, 319, 0, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 1520, 315, 316, 317, 318, - 319, 0, 320, 321, 322, 323, 324, 325, 326, 327, - 328, 0, 0, 0, 0, 0, 329, 0, 1521, 315, - 316, 317, 318, 319, 0, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 1522, 315, 316, 317, 318, 319, 0, 320, 321, - 322, 323, 324, 325, 326, 327, 328, 0, 0, 0, - 0, 0, 329, 0, 1544, 315, 316, 317, 318, 319, - 0, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 1654, 315, 316, - 317, 318, 319, 0, 320, 321, 322, 323, 324, 325, - 326, 327, 328, 0, 0, 0, 0, 0, 329, 0, - 1812, 315, 316, 317, 318, 319, 0, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 1813, 315, 316, 317, 318, 319, 0, - 320, 321, 322, 323, 324, 325, 326, 327, 328, 0, - 0, 0, 0, 0, 329, 0, 1814, 315, 316, 317, - 318, 319, 0, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 1977, - 315, 316, 317, 318, 319, 0, 320, 321, 322, 323, - 324, 325, 326, 327, 328, 0, 0, 0, 0, 0, - 329, 0, 1978, 315, 316, 317, 318, 319, 0, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 1979, 315, 316, 317, 318, - 319, 0, 320, 321, 322, 323, 324, 325, 326, 327, - 328, 0, 0, 0, 0, 0, 329, 0, 2100, 315, - 316, 317, 318, 319, 0, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 2101, 315, 316, 317, 318, 319, 0, 320, 321, - 322, 323, 324, 325, 326, 327, 328, 0, 0, 0, - 0, 0, 329, 0, 2102, 315, 316, 317, 318, 319, - 0, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 2103, 315, 316, - 317, 318, 319, 0, 320, 321, 322, 323, 324, 325, - 326, 327, 328, 0, 0, 0, 0, 0, 329, 0, - 2104, 315, 316, 317, 318, 319, 0, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 2105, 315, 316, 317, 318, 319, 0, - 320, 321, 322, 323, 324, 325, 326, 327, 328, 0, - 0, 0, 0, 0, 329, 0, 2215, 315, 316, 317, - 318, 319, 0, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 2216, - 315, 316, 317, 318, 319, 0, 320, 321, 322, 323, - 324, 325, 326, 327, 328, 0, 0, 0, 0, 0, - 329, 0, 2217, 315, 316, 317, 318, 319, 0, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 2275, 315, 316, 317, 318, - 319, 0, 320, 321, 322, 323, 324, 325, 326, 327, - 328, 0, 0, 0, 0, 0, 329, 0, 2276, 315, - 316, 317, 318, 319, 0, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 2277, 315, 316, 317, 318, 319, 0, 320, 321, - 322, 323, 324, 325, 326, 327, 328, 0, 0, 0, - 0, 0, 329, 0, 2335, 315, 316, 317, 318, 319, - 0, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 2336, 315, 316, - 317, 318, 319, 0, 320, 321, 322, 323, 324, 325, - 326, 327, 328, 0, 0, 0, 0, 0, 329, 0, - 2337 +/* YYPGOTO[NTERM-NUM]. */ +static const short yypgoto[] = +{ + -1380, -1380, -81, -1380, -1380, -1380, -1380, -1380, -1380, -1380, + -1380, -1380, -1380, -1380, 1583, -1380, -1380, -1380, -1380, -1380, + -1380, -1380, -1380, -1380, -1380, -1380, -1380, -1380, -1380, -1380, + -1380, -1380, -1380, -1380, -1380, -1380, -1380, -1380, -1380, -1380, + -1380, -1380, -1380, -1380, -1380, -1380, -1380, -1380, -1380, -1380, + -1380, -1380, -1380, -1380, -1380, -1380, -1380, -1380, -1380, -1380, + -1380, -1380, -1380, -1380, -1380, -1380, -1380, -1380, -1380, -1380, + -1380, -1380, -1380, -1380, -1380, -1380, -1380, -1380, -1380, -1380, + -1380, -1380, -1380, -1380, -1380, -1380, -1380, -1380, -1380, -1380, + -1380, -1380, -1380, -1380, -303, -22, -1380, 2215, 0, -370, + -177, 3, -1380, -1380, -1380, -1380, -1380, 2216, -1380, -1380, + -1380, -1380, -1380, -1380, -1380, -1380, -1380, -1308, -1379, -1380, + -1380, -1073, -25, -1380, -31, -1380, -92, -1380, -1205, -1037, + 827, -179, -337, -741, 1173, -1380, -70 }; -static const short yycheck[] = { 23, - 69, 70, 4, 94, 23, 4, 374, 308, 344, 185, - 750, 4, 188, 4, 4, 45, 46, 5, 4, 4, - 3, 5, 66, 66, 6, 6, 43, 6, 1335, 6, - 1337, 66, 4, 209, 7, 211, 1415, 6, 6, 1240, - 1419, 6, 105, 1422, 67, 5, 34, 35, 36, 72, - 34, 35, 36, 3, 169, 4, 4, 5, 199, 67, - 201, 1133, 188, 189, 72, 188, 189, 188, 189, 199, - 1142, 201, 4, 7, 34, 35, 36, 1149, 6, 205, - 1116, 1117, 50, 206, 205, 50, 34, 35, 36, 188, - 189, 178, 179, 180, 181, 182, 6, 184, 185, 186, - 187, 188, 189, 190, 191, 192, 205, 131, 132, 133, - 200, 198, 136, 137, 200, 205, 140, 5, 205, 205, - 207, 188, 189, 147, 6, 149, 150, 151, 306, 153, - 6, 155, 156, 200, 158, 215, 199, 6, 67, 188, - 189, 6, 172, 72, 174, 199, 34, 35, 36, 1350, - 180, 175, 176, 195, 196, 199, 205, 6, 207, 108, - 109, 203, 206, 206, 199, 199, 344, 907, 188, 189, - 194, 195, 206, 197, 199, 199, 108, 109, 202, 203, - 67, 7, 199, 199, 207, 72, 206, 523, 188, 189, - 140, 141, 142, 143, 144, 145, 146, 147, 499, 207, - 536, 174, 175, 176, 177, 205, 189, 188, 189, 188, - 189, 188, 189, 206, 39, 206, 206, 42, 206, 395, - 206, 206, 206, 253, 206, 7, 250, 199, 297, 298, - 299, 255, 256, 257, 258, 259, 260, 261, 262, 263, - 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, - 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, - 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, - 294, 295, 296, 201, 1310, 199, 8, 201, 207, 1351, - 1659, 67, 306, 1355, 1663, 200, 72, 1666, 199, 308, - 205, 315, 316, 317, 318, 319, 320, 321, 322, 323, - 324, 325, 326, 327, 328, 329, 1613, 195, 196, 1616, - 6, 1618, 336, 199, 338, 203, 188, 189, 199, 343, - 344, 66, 200, 1063, 199, 206, 406, 205, 352, 353, - 354, 355, 356, 205, 358, 359, 360, 361, 362, 363, - 364, 371, 372, 188, 189, 523, 6, 7, 174, 175, - 176, 177, 376, 377, 378, 379, 199, 67, 536, 383, - 56, 206, 72, 67, 195, 196, 8, 391, 72, 195, - 196, 373, 374, 47, 373, 374, 400, 203, 1757, 199, - 67, 67, 1761, 67, 1763, 72, 72, 199, 72, 199, - 188, 189, 174, 175, 176, 177, 206, 200, 199, 735, - 188, 189, 205, 7, 1711, 188, 189, 205, 1715, 207, - 1717, 188, 189, 195, 196, 199, 199, 205, 199, 207, - 201, 207, 206, 206, 443, 188, 189, 200, 205, 43, - 766, 500, 205, 43, 188, 189, 1508, 1509, 1510, 1511, - 57, 58, 205, 1515, 188, 189, 178, 179, 180, 181, - 182, 205, 184, 185, 186, 187, 188, 189, 190, 191, - 192, 205, 798, 799, 800, 801, 198, 43, 492, 188, - 189, 495, 43, 165, 166, 207, 168, 501, 45, 199, - 499, 200, 178, 179, 180, 181, 182, 43, 184, 185, - 186, 187, 188, 189, 190, 191, 192, 207, 206, 523, - 524, 206, 198, 207, 39, 195, 196, 42, 43, 533, - 534, 201, 536, 203, 538, 539, 6, 7, 195, 196, - 207, 207, 546, 207, 201, 555, 203, 190, 191, 192, - 6, 6, 556, 557, 4, 198, 178, 179, 180, 181, - 182, 565, 184, 185, 186, 187, 188, 189, 190, 191, - 192, 1623, 1624, 577, 199, 1627, 198, 735, 200, 199, - 199, 201, 740, 632, 588, 199, 590, 591, 4, 4, - 174, 175, 176, 177, 6, 1315, 181, 182, 199, 184, - 185, 186, 187, 188, 189, 190, 191, 192, 766, 5, - 926, 195, 196, 198, 42, 43, 43, 45, 899, 900, - 184, 185, 186, 187, 188, 189, 190, 191, 192, 195, - 196, 199, 199, 632, 198, 201, 199, 203, 3, 4, - 798, 799, 800, 801, 9, 10, 11, 12, 13, 14, - 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, - 25, 26, 27, 28, 29, 30, 31, 32, 199, 1721, - 201, 180, 181, 182, 39, 184, 185, 186, 187, 188, - 189, 190, 191, 192, 195, 196, 199, 736, 201, 198, - 201, 199, 203, 201, 4, 60, 61, 62, 63, 64, - 65, 60, 61, 62, 63, 6, 65, 6, 712, 713, - 188, 189, 190, 191, 192, 39, 6, 5, 42, 43, - 198, 45, 726, 727, 728, 729, 730, 731, 732, 206, - 199, 735, 201, 6, 199, 199, 740, 201, 199, 743, - 125, 126, 127, 128, 129, 199, 199, 757, 201, 753, - 199, 199, 1100, 201, 199, 6, 201, 199, 1810, 201, - 206, 199, 766, 201, 768, 199, 206, 201, 926, 199, - 199, 201, 201, 199, 199, 201, 6, 199, 199, 850, - 201, 199, 4, 201, 794, 795, 796, 201, 205, 203, - 207, 199, 199, 199, 798, 799, 800, 801, 201, 111, - 804, 805, 206, 205, 808, 207, 205, 205, 207, 207, - 6, 821, 205, 6, 207, 819, 820, 206, 206, 1871, - 830, 203, 206, 188, 189, 205, 205, 207, 207, 194, - 205, 205, 207, 207, 199, 205, 205, 207, 207, 204, - 6, 206, 205, 6, 207, 205, 199, 207, 205, 3, - 207, 855, 856, 857, 858, 859, 860, 861, 862, 863, - 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, - 874, 875, 876, 877, 878, 879, 880, 178, 179, 180, - 181, 182, 6, 184, 185, 186, 187, 188, 189, 190, - 191, 192, 205, 6, 207, 199, 895, 198, 205, 199, - 207, 900, 6, 199, 908, 178, 179, 180, 181, 182, - 914, 184, 185, 186, 187, 188, 189, 190, 191, 192, - 199, 205, 926, 207, 928, 198, 930, 178, 179, 180, - 181, 182, 199, 184, 185, 186, 187, 188, 189, 190, - 191, 192, 946, 947, 948, 199, 199, 198, 178, 179, - 180, 181, 182, 199, 184, 185, 186, 187, 188, 189, - 190, 191, 192, 199, 968, 969, 970, 205, 198, 207, - 205, 205, 207, 207, 205, 199, 207, 205, 205, 207, - 207, 1329, 178, 179, 180, 181, 182, 199, 184, 185, - 186, 187, 188, 189, 190, 191, 192, 205, 205, 207, - 207, 5, 198, 2055, 199, 157, 1055, 205, 205, 207, - 207, 163, 1011, 199, 199, 178, 179, 180, 181, 182, - 199, 184, 185, 186, 187, 188, 189, 190, 191, 192, - 6, 205, 199, 207, 186, 198, 205, 199, 207, 191, - 192, 205, 200, 207, 205, 205, 207, 1096, 205, 205, - 207, 207, 1056, 199, 205, 205, 207, 207, 205, 1069, - 207, 1071, 199, 199, 1124, 178, 179, 180, 181, 182, - 199, 184, 185, 186, 187, 188, 189, 190, 191, 192, - 1084, 1085, 1086, 1087, 1155, 198, 205, 205, 207, 207, - 199, 1101, 1096, 1103, 205, 1105, 207, 6, 205, 199, - 207, 199, 199, 199, 199, 199, 199, 1111, 1112, 199, - 4, 198, 7, 205, 203, 7, 201, 7, 1100, 1123, - 206, 1100, 1126, 7, 200, 7, 7, 106, 108, 206, - 5, 5, 1136, 5, 5, 5, 5, 5, 5, 1143, - 1144, 1145, 5, 5, 5, 5, 1150, 5, 5, 5, - 1154, 5, 5, 5, 1158, 1159, 1160, 1161, 1162, 1163, - 1164, 1165, 1166, 1167, 1168, 1169, 1170, 1171, 1172, 1173, - 1174, 1175, 1176, 1177, 1178, 1179, 1180, 1181, 1182, 1183, - 5, 5, 5, 5, 5, 158, 5, 5, 5, 5, - 3, 1251, 1196, 5, 5, 205, 6, 5, 200, 1203, - 6, 4, 178, 179, 180, 181, 182, 202, 184, 185, - 186, 187, 188, 189, 190, 191, 192, 6, 1222, 7, - 7, 7, 198, 7, 7, 7, 7, 7, 203, 207, - 207, 7, 206, 199, 206, 6, 203, 7, 3, 4, - 170, 1245, 205, 1247, 9, 10, 11, 12, 13, 14, - 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, - 25, 26, 27, 28, 29, 30, 31, 32, 205, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, 3, 4, 205, 205, 1348, 198, - 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, - 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, - 29, 30, 31, 32, 205, 5, 205, 205, 205, 1323, - 1324, 200, 1332, 206, 1334, 205, 1336, 205, 1332, 205, - 1334, 6, 1336, 4, 1338, 1339, 6, 202, 6, 205, - 1344, 205, 494, 6, 199, 7, 205, 1329, 6, 1353, - 1329, 199, 7, 7, 205, 205, 205, 1361, 205, 205, - 205, 205, 1366, 205, 205, 1369, 205, 1371, 1372, 1373, - 1374, 1375, 1376, 1377, 1378, 1379, 1380, 1381, 1382, 1383, - 1384, 1385, 1386, 1387, 1388, 1389, 1390, 1391, 1392, 1393, - 1394, 1395, 1396, 7, 7, 7, 205, 1401, 205, 1409, - 205, 205, 1406, 205, 1408, 1409, 1410, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, 199, 188, 189, 199, 199, 198, 206, 194, - 199, 199, 199, 199, 199, 199, 199, 202, 199, 204, - 199, 206, 199, 199, 199, 199, 199, 1507, 199, 199, - 199, 199, 178, 179, 180, 181, 182, 199, 184, 185, - 186, 187, 188, 189, 190, 191, 192, 199, 199, 188, - 189, 199, 198, 7, 201, 194, 7, 7, 7, 205, - 199, 207, 7, 202, 7, 204, 1490, 206, 7, 7, - 7, 4, 1496, 7, 6, 1499, 6, 4, 7, 171, - 3, 3, 3, 190, 3, 3, 3, 3, 3, 3, - 1570, 3, 3, 3, 3, 3, 200, 3, 5, 1523, - 1524, 1525, 1526, 1527, 1528, 1529, 1530, 1531, 1532, 1533, - 1534, 1535, 1536, 1537, 1538, 1539, 1540, 1541, 1542, 1543, - 5, 1545, 3, 1547, 178, 179, 180, 181, 182, 6, - 184, 185, 186, 187, 188, 189, 190, 191, 192, 4, - 6, 200, 1622, 203, 198, 7, 3, 4, 6, 199, - 6, 205, 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, 199, 206, - 6, 6, 107, 206, 1653, 167, 758, 759, 205, 761, - 205, 763, 764, 200, 205, 200, 205, 200, 6, 205, - 200, 205, 200, 205, 205, 1629, 1630, 1631, 1632, 1633, - 1634, 1635, 1636, 1637, 1638, 1639, 1640, 1641, 1642, 1643, - 1644, 1645, 1646, 1647, 1648, 1649, 1650, 1651, 1652, 205, - 205, 205, 205, 205, 806, 807, 200, 6, 810, 205, - 1720, 200, 205, 205, 205, 205, 6, 205, 205, 4, - 203, 7, 107, 6, 8, 827, 828, 6, 6, 6, - 202, 833, 834, 6, 6, 6, 6, 6, 840, 6, - 842, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 3, 6, 1752, 3, 1754, 1766, 190, 6, 6, - 6, 3, 6, 3, 7, 1719, 3, 6, 6, 3, - 6, 1725, 3, 1727, 3, 1729, 6, 1731, 1732, 1733, - 1734, 1735, 1736, 1737, 1738, 1739, 1740, 1741, 1742, 1743, - 1744, 1745, 1746, 1747, 1748, 1749, 1750, 1751, 206, 1809, - 4, 188, 189, 6, 6, 6, 203, 194, 202, 6, - 104, 200, 199, 206, 205, 202, 918, 204, 920, 206, - 109, 6, 205, 207, 206, 8, 206, 206, 206, 931, - 932, 933, 205, 200, 1833, 205, 938, 939, 940, 941, - 942, 943, 944, 205, 205, 3, 200, 200, 200, 200, - 6, 200, 107, 1807, 1808, 205, 200, 205, 6, 3, - 6, 1815, 1816, 1817, 1818, 1819, 1820, 1821, 1822, 1823, - 1824, 1825, 1826, 1827, 1828, 1829, 1830, 1831, 1832, 178, - 179, 180, 181, 182, 6, 184, 185, 186, 187, 188, - 189, 190, 191, 192, 178, 179, 180, 181, 182, 198, - 184, 185, 186, 187, 188, 189, 190, 191, 192, 6, - 6, 6, 6, 1867, 198, 8, 3, 6, 1872, 1873, - 1874, 1875, 1876, 1877, 1878, 1879, 1880, 1881, 1882, 1883, - 1884, 1885, 1886, 1887, 1888, 1889, 1890, 1891, 1892, 5, - 206, 6, 5, 104, 6, 167, 6, 200, 6, 200, - 200, 5, 1054, 8, 178, 179, 180, 181, 182, 6, - 184, 185, 186, 187, 188, 189, 190, 191, 192, 6, - 6, 1925, 207, 1927, 198, 1929, 200, 1931, 1932, 1933, - 1934, 1935, 1936, 1937, 1938, 1939, 1940, 1941, 1942, 1943, - 1944, 1945, 1946, 1947, 1948, 178, 179, 180, 181, 182, - 206, 184, 185, 186, 187, 188, 189, 190, 191, 192, - 205, 207, 205, 205, 205, 198, 205, 1119, 205, 205, - 200, 6, 8, 6, 6, 1127, 1980, 1981, 1982, 1983, - 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, - 1994, 6, 6, 6, 1146, 6, 6, 6, 6, 6, - 5, 206, 205, 207, 206, 206, 205, 200, 205, 6, - 205, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, - 2024, 2025, 2026, 2027, 2028, 2029, 2030, 2031, 2032, 205, - 205, 205, 1184, 206, 6, 178, 179, 180, 181, 182, - 206, 184, 185, 186, 187, 188, 189, 190, 191, 192, - 206, 206, 2056, 6, 2058, 198, 2060, 6, 2062, 2063, - 2064, 2065, 2066, 2067, 2068, 2069, 2070, 2071, 2072, 2073, - 2074, 2075, 2076, 178, 179, 180, 181, 182, 6, 184, - 185, 186, 187, 188, 189, 190, 191, 192, 6, 6, - 5, 167, 6, 198, 5, 206, 6, 206, 200, 206, - 200, 207, 2106, 2107, 2108, 2109, 2110, 2111, 2112, 2113, - 2114, 206, 205, 205, 6, 206, 6, 207, 6, 104, - 6, 6, 6, 6, 6, 6, 6, 2131, 2132, 2133, - 2134, 2135, 2136, 2137, 2138, 2139, 2140, 2141, 2142, 2143, - 2144, 2145, 178, 179, 180, 181, 182, 207, 184, 185, - 186, 187, 188, 189, 190, 191, 192, 206, 205, 205, - 6, 6, 198, 2167, 6, 2169, 6, 2171, 6, 2173, - 172, 2175, 206, 2177, 205, 2179, 2180, 2181, 2182, 2183, - 2184, 2185, 2186, 2187, 205, 6, 206, 206, 205, 173, - 6, 1343, 6, 6, 200, 1347, 6, 6, 6, 6, - 6, 205, 205, 6, 205, 2209, 2210, 2211, 2212, 2213, - 2214, 1363, 206, 206, 206, 206, 206, 200, 206, 206, - 206, 6, 6, 2227, 2228, 2229, 2230, 2231, 2232, 2233, - 2234, 2235, 206, 6, 6, 6, 6, 206, 206, 206, - 6, 6, 6, 206, 2248, 2249, 2250, 2251, 2252, 2253, - 2254, 206, 2256, 6, 2258, 206, 6, 6, 206, 206, - 206, 6, 6, 6, 0, 0, 634, 4, 2272, 2273, - 2274, 4, -1, -1, 1059, -1, -1, -1, -1, -1, - 2284, 2285, 2286, 2287, 2288, 2289, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 2299, 2300, 2301, 2302, -1, - 2304, -1, 2306, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 2317, 2318, 2319, -1, -1, -1, 2323, - 2324, 2325, -1, -1, -1, 2329, 2330, 2331, -1, -1, - -1, -1, 1484, 1485, -1, -1, -1, 2341, 2342, 2343, - 1492, -1, -1, -1, -1, -1, 2350, -1, 2352, -1, - 2354, 1503, 1504, 3, 4, -1, -1, -1, -1, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 3, 4, -1, -1, 1549, 1550, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, -1, -1, -1, 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, - -1, -1, -1, 1615, 3, 4, -1, -1, 1620, -1, - 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, - 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, - 29, 30, 31, 32, -1, -1, -1, -1, -1, -1, - 39, 39, 40, 41, 42, 43, 44, 45, 46, -1, - 48, -1, 50, 51, 52, -1, 54, 55, -1, -1, - -1, 60, 61, 62, 63, 64, 65, -1, -1, -1, - -1, -1, -1, 71, -1, -1, -1, -1, 188, 189, - -1, -1, -1, -1, 194, -1, -1, -1, -1, 199, - -1, -1, -1, -1, 204, -1, 206, -1, -1, -1, - 1712, -1, -1, 101, 102, 103, -1, -1, -1, -1, - 1722, -1, -1, -1, -1, -1, -1, -1, 188, 189, - -1, 119, -1, -1, 194, -1, -1, -1, -1, 199, - -1, -1, -1, -1, 204, -1, 206, 174, 175, 176, - 177, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 188, 189, -1, -1, -1, -1, 194, 195, 196, - -1, -1, 199, -1, 201, -1, 203, 204, 178, 179, - 180, 181, 182, -1, 184, 185, 186, 187, 188, 189, - 190, 191, 192, -1, -1, -1, -1, -1, 198, 188, - 189, -1, -1, -1, -1, 194, -1, 207, -1, 1811, - 199, -1, 3, 4, 5, 204, -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, 178, 179, 180, 181, - 182, -1, 184, 185, 186, 187, 188, 189, 190, 191, - 192, -1, -1, 3, 4, -1, 198, -1, 1870, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 178, 179, 180, 181, 182, -1, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 200, 3, 4, -1, -1, - 205, 1923, 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, 39, 40, 41, - 42, 43, 44, 45, 46, -1, 48, -1, 50, 51, - 52, -1, 54, 55, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 1976, -1, -1, -1, -1, 71, - 178, 179, 180, 181, 182, -1, 184, 185, 186, 187, - 188, 189, 190, 191, 192, -1, -1, 188, 189, -1, - 198, -1, -1, 194, -1, -1, -1, 205, 199, 101, - 102, 103, 2014, 204, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 119, 0, 1, - -1, 3, 4, 178, 179, 180, 181, 182, -1, 184, - 185, 186, 187, 188, 189, 190, 191, 192, 188, 189, - -1, -1, -1, 198, 194, -1, -1, -1, -1, 199, - 205, 33, 207, -1, 204, 37, 38, 39, 40, 41, - 42, 43, 44, 45, 46, -1, 48, 49, 50, 51, - 52, 53, 54, 55, -1, -1, -1, 59, 60, 61, - 62, 63, 64, 65, -1, 67, 68, 69, 70, 71, - -1, 188, 189, -1, -1, -1, -1, 194, -1, -1, - -1, -1, 199, -1, -1, 207, -1, 204, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 100, 101, - 102, 103, -1, -1, -1, -1, 108, -1, 110, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, - 39, 40, 41, 42, 43, 44, 45, 46, -1, 48, - -1, 50, 51, 52, -1, 54, 55, -1, 140, 141, - 142, 143, 144, 145, 146, 147, -1, 178, 179, 180, - 181, 182, 71, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, 165, 166, -1, 168, 198, -1, -1, - -1, -1, -1, -1, -1, -1, 207, -1, -1, -1, - -1, -1, 101, 102, 103, -1, 39, 40, 41, 42, - 43, 44, 45, 46, -1, 48, -1, 50, 51, 52, - 119, 54, 55, -1, -1, -1, -1, -1, -1, -1, - 39, 40, 41, 42, 43, 44, 45, 46, 71, 48, - -1, 50, 51, 52, -1, 54, 55, -1, -1, 42, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 71, -1, -1, -1, -1, -1, 101, 102, - 103, -1, 39, 40, 41, 42, 43, 44, 45, 46, - -1, 48, -1, 50, 51, 52, 119, 54, 55, -1, - -1, -1, 101, 102, 103, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 71, -1, -1, -1, 207, -1, - 119, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 122, - 123, 124, -1, -1, 101, 102, 103, 130, 131, 132, - 133, 134, 135, 136, 137, 138, 139, -1, -1, -1, - -1, -1, 119, -1, -1, 148, 149, 150, 151, 152, - 153, 154, 155, 156, 157, -1, 159, 160, 161, 162, - 163, 164, -1, -1, 207, 178, 179, 180, 181, 182, - -1, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 200, 207, 73, - 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, - 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, - 94, 95, 96, 97, 98, 99, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 4, - 207, 73, 74, 75, 76, 77, 78, 79, 80, 81, - 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, - 92, 93, 94, 95, 96, 97, 98, 99, 33, -1, - -1, -1, 37, 38, 39, 40, 41, 42, 43, 44, - 45, 46, -1, 48, 49, 50, 51, 52, 53, 54, - 55, -1, -1, -1, 59, 60, 61, 62, 63, 64, - 65, -1, 67, 68, 69, 70, 71, -1, -1, -1, - 178, 179, 180, 181, 182, -1, 184, 185, 186, 187, - 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, - 198, -1, -1, 207, -1, 100, 101, 102, 103, 207, - -1, -1, -1, 108, -1, 110, -1, 112, 113, 114, - 115, 116, 117, 118, 119, 120, 121, 178, 179, 180, - 181, 182, -1, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, 207, -1, 198, -1, -1, - -1, 178, 179, 180, 181, 182, 207, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, -1, -1, 178, 179, 180, 181, 182, - 207, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, -1, -1, 178, - 179, 180, 181, 182, 207, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, -1, -1, 178, 179, 180, 181, 182, 207, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, -1, -1, 178, 179, 180, - 181, 182, 207, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, -1, - -1, 178, 179, 180, 181, 182, 207, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, -1, -1, 178, 179, 180, 181, 182, - 207, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, -1, -1, 178, - 179, 180, 181, 182, 207, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, -1, -1, 178, 179, 180, 181, 182, 207, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, -1, -1, 178, 179, 180, - 181, 182, 207, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, -1, - -1, 178, 179, 180, 181, 182, 207, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, -1, -1, 178, 179, 180, 181, 182, - 207, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, -1, -1, 178, - 179, 180, 181, 182, 207, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, -1, -1, 178, 179, 180, 181, 182, 207, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, -1, -1, 178, 179, 180, - 181, 182, 207, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, -1, - -1, 178, 179, 180, 181, 182, 207, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, -1, -1, 178, 179, 180, 181, 182, - 207, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, -1, -1, 178, - 179, 180, 181, 182, 207, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, -1, -1, 202, 178, 179, 180, 181, - 182, -1, 184, 185, 186, 187, 188, 189, 190, 191, - 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, - 202, 178, 179, 180, 181, 182, -1, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, -1, -1, 202, 178, 179, 180, 181, - 182, -1, 184, 185, 186, 187, 188, 189, 190, 191, - 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, - 202, 178, 179, 180, 181, 182, -1, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, -1, -1, 202, 178, 179, 180, 181, - 182, -1, 184, 185, 186, 187, 188, 189, 190, 191, - 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, - 202, 178, 179, 180, 181, 182, -1, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, -1, -1, 202, 178, 179, 180, 181, - 182, -1, 184, 185, 186, 187, 188, 189, 190, 191, - 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, - 202, 178, 179, 180, 181, 182, -1, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, -1, -1, 202, 178, 179, 180, 181, - 182, -1, 184, 185, 186, 187, 188, 189, 190, 191, - 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, - 202, 178, 179, 180, 181, 182, -1, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, -1, -1, 202, 178, 179, 180, 181, - 182, -1, 184, 185, 186, 187, 188, 189, 190, 191, - 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, - 202, 178, 179, 180, 181, 182, -1, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, -1, -1, 202, 178, 179, 180, 181, - 182, -1, 184, 185, 186, 187, 188, 189, 190, 191, - 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, - 202, 178, 179, 180, 181, 182, -1, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, -1, -1, 202, 178, 179, 180, 181, - 182, -1, 184, 185, 186, 187, 188, 189, 190, 191, - 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, - 202, 178, 179, 180, 181, 182, -1, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, -1, -1, 202, 178, 179, 180, 181, - 182, -1, 184, 185, 186, 187, 188, 189, 190, 191, - 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, - 202, 178, 179, 180, 181, 182, -1, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, -1, -1, 202, 178, 179, 180, 181, - 182, -1, 184, 185, 186, 187, 188, 189, 190, 191, - 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, - 202, 178, 179, 180, 181, 182, -1, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, -1, -1, 202, 178, 179, 180, 181, - 182, -1, 184, 185, 186, 187, 188, 189, 190, 191, - 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, - 202, 178, 179, 180, 181, 182, -1, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, -1, -1, 202, 178, 179, 180, 181, - 182, -1, 184, 185, 186, 187, 188, 189, 190, 191, - 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, - 202, 178, 179, 180, 181, 182, -1, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, -1, -1, 202, 178, 179, 180, 181, - 182, -1, 184, 185, 186, 187, 188, 189, 190, 191, - 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, - 202, 178, 179, 180, 181, 182, -1, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, -1, -1, 202, 178, 179, 180, 181, - 182, -1, 184, 185, 186, 187, 188, 189, 190, 191, - 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, - 202, 178, 179, 180, 181, 182, -1, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 200, 178, 179, 180, 181, 182, -1, - 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, - -1, -1, -1, -1, 198, -1, 200, 178, 179, 180, - 181, 182, -1, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 200, - 178, 179, 180, 181, 182, -1, 184, 185, 186, 187, - 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, - 198, -1, 200, 178, 179, 180, 181, 182, -1, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 200, 178, 179, 180, 181, - 182, -1, 184, 185, 186, 187, 188, 189, 190, 191, - 192, -1, -1, -1, -1, -1, 198, -1, 200, 178, - 179, 180, 181, 182, -1, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 200, 178, 179, 180, 181, 182, -1, 184, 185, - 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, - -1, -1, 198, -1, 200, 178, 179, 180, 181, 182, - -1, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 200, 178, 179, - 180, 181, 182, -1, 184, 185, 186, 187, 188, 189, - 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, - 200, 178, 179, 180, 181, 182, -1, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 200, 178, 179, 180, 181, 182, -1, - 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, - -1, -1, -1, -1, 198, -1, 200, 178, 179, 180, - 181, 182, -1, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 200, - 178, 179, 180, 181, 182, -1, 184, 185, 186, 187, - 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, - 198, -1, 200, 178, 179, 180, 181, 182, -1, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 200, 178, 179, 180, 181, - 182, -1, 184, 185, 186, 187, 188, 189, 190, 191, - 192, -1, -1, -1, -1, -1, 198, -1, 200, 178, - 179, 180, 181, 182, -1, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 200, 178, 179, 180, 181, 182, -1, 184, 185, - 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, - -1, -1, 198, -1, 200, 178, 179, 180, 181, 182, - -1, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 200, 178, 179, - 180, 181, 182, -1, 184, 185, 186, 187, 188, 189, - 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, - 200, 178, 179, 180, 181, 182, -1, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 200, 178, 179, 180, 181, 182, -1, - 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, - -1, -1, -1, -1, 198, -1, 200, 178, 179, 180, - 181, 182, -1, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 200, - 178, 179, 180, 181, 182, -1, 184, 185, 186, 187, - 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, - 198, -1, 200, 178, 179, 180, 181, 182, -1, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 200, 178, 179, 180, 181, - 182, -1, 184, 185, 186, 187, 188, 189, 190, 191, - 192, -1, -1, -1, -1, -1, 198, -1, 200, 178, - 179, 180, 181, 182, -1, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 200, 178, 179, 180, 181, 182, -1, 184, 185, - 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, - -1, -1, 198, -1, 200, 178, 179, 180, 181, 182, - -1, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 200, 178, 179, - 180, 181, 182, -1, 184, 185, 186, 187, 188, 189, - 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, - 200, 178, 179, 180, 181, 182, -1, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 200, 178, 179, 180, 181, 182, -1, - 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, - -1, -1, -1, -1, 198, -1, 200, 178, 179, 180, - 181, 182, -1, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 200, - 178, 179, 180, 181, 182, -1, 184, 185, 186, 187, - 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, - 198, -1, 200, 178, 179, 180, 181, 182, -1, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 200, 178, 179, 180, 181, - 182, -1, 184, 185, 186, 187, 188, 189, 190, 191, - 192, -1, -1, -1, -1, -1, 198, -1, 200, 178, - 179, 180, 181, 182, -1, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 200, 178, 179, 180, 181, 182, -1, 184, 185, - 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, - -1, -1, 198, -1, 200, 178, 179, 180, 181, 182, - -1, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 200, 178, 179, - 180, 181, 182, -1, 184, 185, 186, 187, 188, 189, - 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, - 200, 178, 179, 180, 181, 182, -1, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 200, 178, 179, 180, 181, 182, -1, - 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, - -1, -1, -1, -1, 198, -1, 200, 178, 179, 180, - 181, 182, -1, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 200, - 178, 179, 180, 181, 182, -1, 184, 185, 186, 187, - 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, - 198, -1, 200, 178, 179, 180, 181, 182, -1, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 200, 178, 179, 180, 181, - 182, -1, 184, 185, 186, 187, 188, 189, 190, 191, - 192, -1, -1, -1, -1, -1, 198, -1, 200, 178, - 179, 180, 181, 182, -1, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 200, 178, 179, 180, 181, 182, -1, 184, 185, - 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, - -1, -1, 198, -1, 200, 178, 179, 180, 181, 182, - -1, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 200, 178, 179, - 180, 181, 182, -1, 184, 185, 186, 187, 188, 189, - 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, - 200, 178, 179, 180, 181, 182, -1, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 200, 178, 179, 180, 181, 182, -1, - 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, - -1, -1, -1, -1, 198, -1, 200, 178, 179, 180, - 181, 182, -1, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 200, - 178, 179, 180, 181, 182, -1, 184, 185, 186, 187, - 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, - 198, -1, 200, 178, 179, 180, 181, 182, -1, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 200, 178, 179, 180, 181, - 182, -1, 184, 185, 186, 187, 188, 189, 190, 191, - 192, -1, -1, -1, -1, -1, 198, -1, 200, 178, - 179, 180, 181, 182, -1, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 200, 178, 179, 180, 181, 182, -1, 184, 185, - 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, - -1, -1, 198, -1, 200, 178, 179, 180, 181, 182, - -1, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 200, 178, 179, - 180, 181, 182, -1, 184, 185, 186, 187, 188, 189, - 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, - 200, 178, 179, 180, 181, 182, -1, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 200, 178, 179, 180, 181, 182, -1, - 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, - -1, -1, -1, -1, 198, -1, 200, 178, 179, 180, - 181, 182, -1, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 200, - 178, 179, 180, 181, 182, -1, 184, 185, 186, 187, - 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, - 198, -1, 200, 178, 179, 180, 181, 182, -1, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 200, 178, 179, 180, 181, - 182, -1, 184, 185, 186, 187, 188, 189, 190, 191, - 192, -1, -1, -1, -1, -1, 198, -1, 200, 178, - 179, 180, 181, 182, -1, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 200, 178, 179, 180, 181, 182, -1, 184, 185, - 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, - -1, -1, 198, -1, 200, 178, 179, 180, 181, 182, - -1, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 200, 178, 179, - 180, 181, 182, -1, 184, 185, 186, 187, 188, 189, - 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, - 200, 178, 179, 180, 181, 182, -1, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 200, 178, 179, 180, 181, 182, -1, - 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, - -1, -1, -1, -1, 198, -1, 200, 178, 179, 180, - 181, 182, -1, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 200, - 178, 179, 180, 181, 182, -1, 184, 185, 186, 187, - 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, - 198, -1, 200, 178, 179, 180, 181, 182, -1, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 200, 178, 179, 180, 181, - 182, -1, 184, 185, 186, 187, 188, 189, 190, 191, - 192, -1, -1, -1, -1, -1, 198, -1, 200, 178, - 179, 180, 181, 182, -1, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 200, 178, 179, 180, 181, 182, -1, 184, 185, - 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, - -1, -1, 198, -1, 200, 178, 179, 180, 181, 182, - -1, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 200, 178, 179, - 180, 181, 182, -1, 184, 185, 186, 187, 188, 189, - 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, - 200 +/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If + positive, shift that token. If negative, reduce the rule which + number is the opposite. If zero, do what YYDEFACT says. + If YYTABLE_NINF, syntax error. */ +#define YYTABLE_NINF -57 +static const short yytable[] = +{ + 144, 212, 214, 143, 250, 78, 566, 503, 79, 539, + 382, 911, 186, 386, 189, 200, 179, 181, 210, 255, + 751, 215, 210, 156, 154, 148, 1069, 198, 1321, 1421, + 1322, 1424, 154, 203, 403, 1415, 405, 1342, 1496, 1070, + 1416, 1415, 1496, 392, 310, 1496, 1416, 126, 127, 128, + 1415, 126, 127, 128, 1415, 1416, 1415, 902, 1072, 1416, + 1415, 1416, 1262, 1415, 1415, 1416, 490, 210, 1416, 1416, + 210, 1271, 373, 374, 6, 373, 374, 357, 1278, 384, + 524, 1243, 1244, 1071, 358, 525, 373, 374, 151, 1103, + 193, 1104, 1105, 194, 1106, 800, 126, 127, 128, 126, + 127, 128, 1073, 1107, 158, 1108, 373, 374, 303, 304, + 305, 803, 1118, 306, 309, 1088, 1089, 314, 1130, 1119, + 175, 176, 373, 374, 334, 210, 335, 336, 337, 499, + 339, 177, 341, 342, 7, 353, 408, 393, 178, 1415, + 375, 373, 374, 368, 1416, 370, 89, 1435, 311, 312, + 90, 377, 371, 372, 126, 127, 128, 155, 257, 376, + 258, 903, 904, 802, 801, 155, 91, 499, 1063, 373, + 374, 390, 391, 629, 394, 1495, 396, 736, 630, 399, + 400, 1499, 737, 199, 328, 329, 330, 636, 757, 259, + 1502, 260, 331, 92, 1712, 101, 1716, 261, 745, 262, + 1718, 771, 101, 1805, 1807, 136, 137, 216, 373, 374, + 373, 374, 373, 374, 187, 88, 190, 201, 93, 211, + 591, 256, 752, 213, 446, 149, 502, 444, 204, 491, + 492, 493, 448, 449, 450, 451, 452, 453, 454, 455, + 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, + 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, + 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, + 486, 487, 488, 489, 385, 1399, 915, 1249, 94, 1808, + 1436, 742, 1496, 498, 1440, 1054, 1496, 95, 504, 1496, + 742, 96, 509, 510, 511, 512, 513, 514, 515, 516, + 517, 518, 519, 520, 521, 522, 523, 1661, 150, 1343, + 1665, 938, 1668, 530, 1186, 532, 136, 137, 136, 137, + 304, 498, 97, 853, 1197, 853, 263, 598, 264, 543, + 544, 545, 546, 547, 147, 549, 550, 551, 552, 553, + 554, 555, 560, 561, 136, 137, 499, 1415, 151, 252, + 1057, 253, 1416, 568, 569, 570, 571, 373, 374, 499, + 580, 939, 129, 130, 131, 132, 373, 374, 587, 129, + 130, 131, 132, 152, 557, 562, 562, 595, 565, 565, + 1496, 578, 579, 567, 1496, 153, 1496, 373, 374, 1097, + 1098, 136, 137, 129, 130, 131, 132, 265, 744, 266, + 895, 373, 374, 972, 948, 1759, 12, 8, 9, 1763, + 10, 1765, 373, 374, 156, 136, 137, 157, 1334, 373, + 374, 158, 160, 635, 373, 374, 373, 374, 267, 1336, + 268, 925, 747, 373, 374, 159, 1338, 1573, 1574, 1575, + 1576, 1492, 161, 1498, 1580, 162, 168, 317, 318, 319, + 1501, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 163, 956, 957, 958, 959, 331, 164, 740, + 373, 374, 304, 173, 165, 166, 1250, 167, 748, 746, + 316, 174, 1139, 317, 318, 319, 188, 320, 321, 322, + 323, 324, 325, 326, 327, 328, 329, 330, 182, 195, + 498, 758, 191, 331, 326, 327, 328, 329, 330, 192, + 740, 769, 196, 498, 331, 773, 774, 129, 130, 131, + 132, 197, 205, 781, 136, 137, 790, 206, 269, 494, + 270, 253, 169, 791, 792, 170, 171, 209, 172, 136, + 137, 248, 795, 13, 14, 15, 16, 17, 18, 19, + 20, 207, 1674, 1675, 804, 208, 1678, 183, 499, 299, + 184, 185, 300, 900, 855, 814, 251, 816, 817, 271, + 273, 272, 274, 317, 318, 319, 1401, 320, 321, 322, + 323, 324, 325, 326, 327, 328, 329, 330, 275, 499, + 276, 1080, 277, 331, 278, 973, 301, 313, 1056, 1058, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 279, 854, 280, 333, 281, 331, 282, 367, 98, + 343, 499, 499, 499, 499, 102, 103, 104, 105, 106, + 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, + 117, 118, 119, 120, 121, 122, 123, 124, 125, 283, + 1769, 284, 317, 318, 319, 344, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 285, 896, 286, + 315, 287, 331, 288, 332, 338, 46, 47, 48, 49, + 50, 51, 289, 291, 290, 292, 508, 136, 137, 885, + 886, 293, 535, 294, 253, 136, 137, 295, 381, 296, + 770, 340, 253, 887, 888, 889, 890, 891, 892, 893, + 354, 297, 498, 298, 355, 356, 908, 899, 362, 360, + 905, 46, 47, 48, 49, 734, 51, 735, 917, 361, + 914, 363, 1226, 999, 1000, 1001, 1002, 1003, 742, 1844, + 743, 364, 742, 498, 772, 740, 742, 365, 929, 499, + 1065, 742, 1066, 1079, 366, 742, 931, 1109, 378, 742, + 1012, 1110, 742, 389, 1111, 952, 953, 954, 742, 1186, + 1112, 1187, 742, 395, 1204, 498, 498, 498, 498, 379, + 380, 962, 963, 397, 398, 966, 960, 1186, 1186, 1344, + 1482, 1714, 979, 1715, 401, 402, 977, 978, 404, 406, + 1899, 988, 407, 409, 133, 345, 1727, 1729, 1728, 1730, + 135, 1731, 1754, 1732, 1755, 138, 1835, 1927, 1836, 1928, + 141, 1062, 346, 1929, 1931, 1930, 1932, 2058, 2060, 2059, + 2061, 410, 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, 317, 318, + 319, 411, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 412, 1316, 854, 439, 2062, 331, 2063, + 1059, 2169, 2171, 2170, 2172, 1064, 413, 414, 317, 318, + 319, 1068, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 498, 2173, 1081, 2174, 1082, 331, 319, + 415, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 416, 1099, 1100, 1101, 417, 331, 317, 318, + 319, 418, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 441, 443, 1122, 1123, 1124, 331, 2175, + 2177, 2176, 2178, 2179, 2256, 2180, 2257, 419, 317, 318, + 319, 1407, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 2258, 2260, 2259, 2261, 2304, 331, 2305, + 2306, 2308, 2307, 2309, 2079, 420, 351, 1190, 2352, 421, + 2353, 1158, 359, 317, 318, 319, 422, 320, 321, 322, + 323, 324, 325, 326, 327, 328, 329, 330, 2354, 1327, + 2355, 423, 2356, 331, 2357, 383, 424, 425, 426, 427, + 387, 388, 428, 429, 430, 431, 445, 432, 1221, 433, + 434, 1328, 435, 1191, 436, 437, 438, 331, 442, 496, + 1199, 506, 1200, 505, 507, 1253, 317, 318, 319, 541, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 1209, 1210, 1211, 1212, 1284, 331, 536, 548, 556, + 582, 583, 1227, 1220, 1230, 586, 1233, 622, 1329, 322, + 323, 324, 325, 326, 327, 328, 329, 330, 1240, 1241, + 589, 592, 599, 331, 600, 601, 602, 603, 604, 605, + 1252, 606, 562, 1255, 607, 565, 608, 609, 610, 611, + 612, 613, 614, 1265, 615, 616, 617, 618, 619, 620, + 1272, 1273, 1274, 621, 623, 624, 625, 1279, 626, 627, + 628, 1283, 631, 738, 632, 1285, 1286, 1287, 1288, 1289, + 1290, 1291, 1292, 1293, 1294, 1295, 1296, 1297, 1298, 1299, + 1300, 1301, 1302, 1303, 1304, 1305, 1306, 1307, 1308, 1309, + 1310, 633, 739, 749, 750, 754, 759, 756, 789, 760, + 761, 763, 1350, 1320, 765, 766, 775, 793, 794, 806, + 1324, 317, 318, 319, 807, 320, 321, 322, 323, 324, + 325, 326, 327, 328, 329, 330, 808, 809, 810, 1332, + 812, 331, 820, 317, 318, 319, 819, 320, 321, 322, + 323, 324, 325, 326, 327, 328, 329, 330, 540, 98, + 302, 813, 1347, 331, 1348, 102, 103, 104, 105, 106, + 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, + 117, 118, 119, 120, 121, 122, 123, 124, 125, 821, + 317, 318, 319, 1507, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 98, 302, 822, 850, 1433, + 331, 102, 103, 104, 105, 106, 107, 108, 109, 110, + 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, + 121, 122, 123, 124, 125, 851, 884, 857, 894, 858, + 1405, 1406, 823, 1414, 898, 1420, 906, 1423, 907, 1413, + 909, 1419, 913, 1422, 883, 1425, 1426, 920, 901, 922, + 824, 1429, 825, 741, 933, 934, 935, 826, 859, 827, + 1438, 562, 860, 936, 565, 828, 829, 830, 1446, 831, + 832, 833, 834, 1451, 835, 836, 1454, 837, 1456, 1457, + 1458, 1459, 1460, 1461, 1462, 1463, 1464, 1465, 1466, 1467, + 1468, 1469, 1470, 1471, 1472, 1473, 1474, 1475, 1476, 1477, + 1478, 1479, 1480, 1481, 861, 838, 839, 840, 1484, 841, + 370, 842, 843, 1489, 844, 303, 304, 1490, 317, 318, + 319, 845, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 846, 133, 134, 847, 848, 331, 849, + 135, 852, 862, 863, 864, 138, 865, 866, 307, 867, + 141, 868, 308, 869, 870, 317, 318, 319, 1572, 320, + 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, + 871, 872, 873, 874, 875, 331, 932, 876, 877, 878, + 133, 134, 879, 880, 881, 882, 135, 937, 910, 940, + 941, 138, 942, 943, 767, 944, 141, 1556, 768, 945, + 946, 947, 955, 1561, 961, 969, 1565, 967, 975, 974, + 976, 980, 981, 982, 983, 984, 987, 989, 990, 993, + 994, 1624, 995, 996, 997, 1006, 1053, 1055, 1007, 1008, + 1588, 1589, 1590, 1591, 1592, 1593, 1594, 1595, 1596, 1597, + 1598, 1599, 1600, 1601, 1602, 1603, 1604, 1605, 1606, 1607, + 1608, 1009, 1610, 1010, 1611, 317, 318, 319, 1011, 320, + 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, + 1013, 1014, 1060, 1673, 1061, 331, 1067, 98, 302, 1075, + 1086, 1077, 526, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + 119, 120, 121, 122, 123, 124, 125, 1078, 1087, 1102, + 1115, 1116, 1121, 1125, 1126, 1708, 1127, 918, 919, 1131, + 921, 1132, 923, 924, 1133, 1134, 1136, 1135, 1137, 1138, + 1141, 1142, 1140, 1143, 1144, 1149, 1681, 1683, 1685, 1686, + 1687, 1688, 1689, 1690, 1691, 1692, 1693, 1694, 1695, 1696, + 1697, 1698, 1699, 1700, 1701, 1702, 1703, 1704, 1705, 1706, + 1145, 1146, 1147, 1148, 1150, 964, 965, 1151, 1152, 968, + 593, 1768, 1153, 1154, 1155, 1156, 1157, 1159, 1188, 1192, + 1193, 1195, 1312, 1201, 1202, 1206, 985, 986, 1207, 1203, + 1208, 1213, 991, 992, 1214, 1215, 1216, 1217, 1218, 998, + 1219, 1005, 1228, 1231, 1234, 1236, 1237, 1238, 1239, 1245, + 1242, 1254, 1257, 1258, 1800, 1259, 1803, 1811, 1260, 1261, + 1263, 1264, 1266, 1267, 1317, 1268, 1767, 1269, 1270, 1276, + 1277, 1280, 1773, 1281, 1775, 1282, 1777, 1313, 1779, 1780, + 1781, 1782, 1783, 1784, 1785, 1786, 1787, 1788, 1789, 1790, + 1791, 1792, 1793, 1794, 1795, 1796, 1797, 1798, 1799, 1314, + 1843, 1315, 133, 134, 1318, 1319, 1323, 1330, 135, 1331, + 1346, 1351, 1356, 138, 1353, 1333, 927, 1074, 141, 1076, + 928, 1360, 1335, 1337, 1339, 1345, 755, 1354, 1355, 1357, + 1083, 1084, 1085, 1359, 1361, 1867, 1365, 1090, 1091, 1092, + 1093, 1094, 1095, 1096, 1369, 1372, 1366, 1367, 1370, 1400, + 1434, 1437, 1427, 1402, 1841, 1842, 1439, 1441, 1442, 1443, + 1444, 1452, 1849, 1850, 1851, 1852, 1853, 1854, 1855, 1856, + 1857, 1858, 1859, 1860, 1861, 1862, 1863, 1864, 1865, 1866, + 317, 318, 319, 1445, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 1447, 1449, 1450, 1453, 1455, + 331, 1483, 1485, 1488, 1493, 1494, 1505, 1548, 1506, 1514, + 930, 1508, 1510, 1511, 1895, 1512, 1554, 1517, 1509, 1901, + 1903, 1905, 1906, 1907, 1908, 1909, 1910, 1911, 1912, 1913, + 1914, 1915, 1916, 1917, 1918, 1919, 1920, 1921, 1922, 1923, + 1521, 1558, 1559, 1562, 1563, 1566, 1567, 1515, 1568, 1571, + 1577, 1578, 1519, 1189, 971, 317, 318, 319, 1579, 320, + 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, + 1581, 1550, 1954, 1582, 1956, 331, 1958, 495, 1960, 1961, + 1962, 1963, 1964, 1965, 1966, 1967, 1968, 1969, 1970, 1971, + 1972, 1973, 1974, 1975, 1976, 1977, 317, 318, 319, 1583, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 1584, 1612, 1615, 1617, 1622, 331, 1618, 1246, 1620, + 1625, 1623, 1626, 1627, 1628, 1629, 1256, 2001, 2002, 2003, + 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, + 2014, 2015, 1630, 1659, 1631, 1275, 1632, 1633, 1655, 1660, + 1658, 1662, 1666, 1669, 1672, 1676, 1677, 1679, 1713, 1710, + 1711, 1723, 2037, 2039, 2041, 2042, 2043, 2044, 2045, 2046, + 2047, 2048, 2049, 2050, 2051, 2052, 2053, 2054, 2055, 2056, + 317, 318, 319, 1311, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 1720, 1722, 1758, 1761, 1717, + 331, 1762, 1719, 2080, 1724, 2082, 1721, 2084, 1725, 2086, + 2087, 2088, 2089, 2090, 2091, 2092, 2093, 2094, 2095, 2096, + 2097, 2098, 2099, 2100, 317, 318, 319, 1726, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 1756, + 1764, 1757, 1766, 1771, 331, 1772, 1774, 1776, 1778, 1801, + 1804, 1837, 1812, 2124, 2125, 2126, 2127, 2128, 2129, 2130, + 2131, 2132, 1806, 1809, 1813, 1838, 1839, 1840, 1868, 1871, + 1872, 1873, 1896, 1897, 1874, 1875, 1876, 1925, 2149, 2151, + 2153, 2155, 2157, 2159, 2160, 2161, 2162, 2163, 2164, 2165, + 2166, 2167, 2168, 317, 318, 319, 1926, 320, 321, 322, + 323, 324, 325, 326, 327, 328, 329, 330, 1951, 1953, + 1955, 1957, 1959, 331, 2190, 1978, 2192, 501, 2194, 2016, + 2196, 2057, 2198, 2017, 2200, 2018, 2202, 2203, 2204, 2205, + 2206, 2207, 2208, 2209, 2210, 2019, 2081, 2083, 2085, 2101, + 2117, 2133, 1428, 2191, 2193, 2195, 1432, 2134, 2135, 2197, + 2136, 2199, 2201, 2269, 2137, 2271, 2220, 2221, 2222, 2223, + 2224, 2225, 1448, 2138, 2235, 2236, 2237, 2273, 2289, 2290, + 2291, 2314, 2316, 2318, 2238, 2239, 2240, 2241, 2242, 2243, + 2245, 2247, 2249, 2343, 2344, 2345, 2359, 2361, 2363, 856, + 77, 85, 0, 0, 0, 2262, 2263, 2264, 2265, 2266, + 2267, 2268, 0, 2270, 1194, 2272, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2280, + 2281, 2282, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2292, 2293, 2294, 2296, 2298, 2300, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2310, 2311, 2312, 2313, + 0, 2315, 0, 2317, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2322, 2323, 2324, 0, 0, 0, + 2328, 2329, 2330, 0, 0, 0, 2334, 2335, 2336, 0, + 0, 0, 0, 1551, 1552, 0, 0, 0, 2347, 2349, + 2351, 1557, 0, 0, 0, 0, 0, 2358, 0, 2360, + 0, 2362, 1569, 1570, 98, 537, 0, 0, 0, 0, + 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, + 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 125, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 98, 302, 0, 0, 1613, 1614, + 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, + 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 125, 0, 0, 0, 98, 99, 100, + 0, 101, 0, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + 119, 120, 121, 122, 123, 124, 125, 0, 126, 127, + 128, 0, 0, 0, 1664, 98, 343, 0, 0, 1671, + 0, 102, 103, 104, 105, 106, 107, 108, 109, 110, + 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, + 121, 122, 123, 124, 125, 0, 0, 0, 0, 0, + 0, 344, 572, 30, 31, 573, 574, 34, 575, 36, + 0, 37, 0, 39, 40, 41, 0, 43, 44, 0, + 0, 0, 46, 47, 48, 49, 50, 51, 0, 0, + 0, 0, 0, 0, 56, 0, 0, 0, 0, 133, + 134, 0, 0, 0, 0, 135, 0, 0, 0, 0, + 138, 0, 0, 0, 0, 141, 0, 538, 0, 0, + 0, 1760, 0, 0, 58, 59, 60, 0, 0, 0, + 0, 1770, 0, 0, 0, 0, 0, 0, 0, 1410, + 1411, 0, 70, 0, 0, 135, 0, 0, 0, 0, + 1412, 0, 0, 0, 0, 141, 0, 178, 129, 130, + 131, 132, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 133, 134, 0, 0, 0, 0, 135, 0, + 136, 137, 0, 138, 0, 139, 0, 140, 141, 317, + 318, 319, 0, 320, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 330, 0, 0, 0, 0, 0, 331, + 133, 497, 0, 0, 0, 0, 135, 0, 776, 0, + 1845, 138, 0, 98, 302, 210, 141, 0, 0, 102, + 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 0, 126, 127, 128, 317, 318, 319, + 0, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 0, 0, 98, 302, 0, 331, 0, 1898, + 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, + 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 125, 317, 318, 319, 0, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 495, 98, 537, 0, + 0, 558, 1952, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + 119, 120, 121, 122, 123, 124, 125, 0, 572, 30, + 31, 573, 574, 34, 575, 36, 0, 37, 0, 39, + 40, 41, 0, 43, 44, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1997, 0, 317, 318, 319, + 56, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 0, 0, 0, 0, 0, 331, 133, 134, + 0, 0, 0, 0, 135, 0, 780, 0, 0, 138, + 58, 59, 60, 2035, 141, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 70, -8, + 1, 0, -13, -56, 317, 318, 319, 0, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 133, + 134, 0, 0, 0, 331, 135, 0, 0, 0, 0, + 138, 1224, -56, 1225, 0, 141, -56, -56, -56, -56, + -56, -56, -56, -56, -56, -56, 0, -56, -56, -56, + -56, -56, -56, -56, -56, 0, 0, 0, -56, -56, + -56, -56, -56, -56, -56, 0, -56, -56, -56, -56, + -56, 0, 133, 134, 0, 0, 0, 0, 135, 0, + 0, 0, 0, 138, 0, 0, 576, 0, 141, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -56, + -56, -56, -56, 0, 0, 0, 0, -56, 0, -56, + 0, -56, -56, -56, -56, -56, -56, -56, -56, -56, + -56, 572, 30, 31, 573, 574, 34, 575, 36, 0, + 37, 0, 39, 40, 41, 0, 43, 44, 0, -13, + -13, -13, -13, -13, -13, -13, -13, 0, 0, 0, + 0, 0, 0, 56, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -8, -8, 0, -8, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 58, 59, 60, 0, 572, 30, 31, + 573, 574, 34, 575, 36, 0, 37, 0, 39, 40, + 41, 70, 43, 44, 0, 0, 0, 0, 0, 0, + 0, 572, 30, 31, 573, 574, 34, 575, 36, 56, + 37, 0, 39, 40, 41, 0, 43, 44, 0, 0, + 218, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 56, 0, 0, 0, 0, 0, 58, + 59, 60, 0, 572, 30, 31, 573, 574, 34, 575, + 36, 0, 37, 0, 39, 40, 41, 70, 43, 44, + 0, 0, 0, 58, 59, 60, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 56, 0, 0, 0, 581, + 0, 70, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 219, 220, 221, 0, 0, 58, 59, 60, 222, 223, + 224, 225, 226, 227, 228, 229, 230, 231, 0, 0, + 0, 0, 0, 70, 0, 0, 232, 233, 234, 235, + 236, 237, 238, 239, 240, 241, 0, 242, 243, 244, + 245, 246, 247, 0, 0, 596, 317, 318, 319, 0, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 527, 597, + 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, + 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, + 657, 658, 659, 660, 661, 662, 663, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 25, 815, 637, 638, 639, 640, 641, 642, 643, 644, + 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, + 655, 656, 657, 658, 659, 660, 661, 662, 663, 26, + 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, + 34, 35, 36, 0, 37, 38, 39, 40, 41, 42, + 43, 44, 0, 0, 0, 45, 46, 47, 48, 49, + 50, 51, 0, 52, 53, 54, 55, 56, 0, 0, + 0, 0, 0, 317, 318, 319, 0, 320, 321, 322, + 323, 324, 325, 326, 327, 328, 329, 330, 0, 0, + 0, 0, 0, 331, 664, 0, 57, 58, 59, 60, + 1247, 0, 1248, 0, 61, 0, 62, 0, 63, 64, + 65, 66, 67, 68, 69, 70, 71, 72, 317, 318, + 319, 0, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 1015, 0, 331, 0, + 0, 0, 0, 0, 0, 1408, 0, 1409, 317, 318, + 319, 0, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 0, 0, 0, 0, 0, 782, 317, 318, + 319, 0, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 0, 0, 317, 318, 319, 783, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 0, 0, + 317, 318, 319, 926, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 0, 0, 317, 318, 319, 951, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 0, 0, 317, 318, 319, 1222, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 0, 0, 317, 318, + 319, 1430, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 0, 0, 317, 318, 319, 1431, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 0, 0, + 317, 318, 319, 1491, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 0, 0, 317, 318, 319, 1497, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 0, 0, 317, 318, 319, 1500, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 0, 0, 317, 318, + 319, 1503, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 0, 0, 317, 318, 319, 1504, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 0, 0, + 317, 318, 319, 1553, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 0, 0, 317, 318, 319, 1616, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 0, 0, 317, 318, 319, 1619, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 0, 0, 317, 318, + 319, 1621, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 0, 0, 317, 318, 319, 1657, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 0, 0, + 317, 318, 319, 1870, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 0, 0, 317, 318, 319, 1924, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 558, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 559, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 590, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 714, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 715, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 728, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 729, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 730, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 731, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 732, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 733, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 796, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 797, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 798, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 916, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 949, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 950, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 970, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 1113, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 1114, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 1128, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 1129, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 1160, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 1161, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 1162, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 1163, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 1164, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 1165, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 1166, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 1167, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 1168, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 1169, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 1170, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 1171, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 1172, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 1173, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 1174, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 1175, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 1176, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 1177, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 1178, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 1179, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 1180, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 1181, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 1182, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 1183, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 1184, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 1185, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 1198, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 1205, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 1325, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 1326, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 1340, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 1341, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 1349, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 1352, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 1363, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 1368, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 1371, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 1373, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 1374, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 1375, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 1376, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 1377, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 1378, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 1379, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 1380, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 1381, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 1382, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 1383, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 1384, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 1385, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 1386, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 1387, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 1388, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 1389, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 1390, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 1391, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 1392, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 1393, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 1394, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 1395, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 1396, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 1397, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 1398, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 1403, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 1404, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 1513, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 1525, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 1526, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 1527, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 1528, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 1529, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 1530, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 1531, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 1532, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 1533, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 1534, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 1535, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 1536, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 1537, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 1538, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 1539, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 1540, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 1541, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 1542, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 1543, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 1544, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 1545, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 1547, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 1549, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 1634, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 1635, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 1636, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 1637, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 1638, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 1639, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 1640, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 1641, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 1642, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 1643, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 1644, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 1645, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 1646, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 1647, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 1648, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 1649, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 1650, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 1651, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 1652, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 1653, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 1654, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 1733, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 1734, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 1735, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 1736, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 1737, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 1738, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 1739, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 1740, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 1741, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 1742, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 1743, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 1744, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 1745, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 1746, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 1747, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 1748, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 1749, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 1750, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 1751, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 1752, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 1753, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 1810, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 1817, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 1818, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 1819, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 1820, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 1821, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 1822, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 1823, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 1824, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 1825, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 1826, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 1827, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 1828, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 1829, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 1830, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 1831, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 1832, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 1833, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 1834, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 1869, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 1877, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 1878, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 1879, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 1880, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 1881, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 1882, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 1883, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 1884, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 1885, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 1886, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 1887, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 1888, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 1889, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 1890, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 1891, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 1892, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 1893, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 1894, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 1933, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 1934, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 1935, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 1936, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 1937, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 1938, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 1939, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 1940, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 1941, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 1942, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 1943, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 1944, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 1945, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 1946, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 1947, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 1948, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 1949, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 1950, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 1982, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 1983, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 1984, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 1985, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 1986, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 1987, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 1988, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 1989, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 1990, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 1991, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 1992, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 1993, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 1994, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 1995, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 1996, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 2020, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 2021, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 2022, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 2023, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 2024, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 2025, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 2026, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 2027, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 2028, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 2029, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 2030, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 2031, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 2032, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 2033, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 2034, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 2064, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 2065, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 2066, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 2067, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 2068, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 2069, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 2070, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 2071, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 2072, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 2073, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 2074, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 2075, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 2076, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 2077, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 2078, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 2108, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 2109, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 2110, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 2111, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 2112, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 2113, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 2114, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 2115, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 2116, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 2139, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 2140, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 2141, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 2142, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 2143, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 2144, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 2145, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 2146, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 2147, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 2181, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 2182, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 2183, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 2184, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 2185, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 2186, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 2187, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 2188, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 2189, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 2211, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 2212, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 2213, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 2214, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 2215, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 2216, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 2229, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 2230, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 2231, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 2232, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 2233, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 2234, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 2250, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 2251, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 2252, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 2253, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 2254, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 2255, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 2274, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 2275, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 2276, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 2286, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 2287, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 2288, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 2301, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 2302, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 2303, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 2319, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 2320, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 2321, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 2325, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 2326, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 2327, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 2331, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 2332, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 2333, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 317, 318, 319, 634, 320, + 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, + 0, 0, 0, 0, 0, 331, 317, 318, 319, 693, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 317, 318, 319, + 695, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 0, 0, 0, 0, 0, 331, 317, 318, + 319, 697, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 317, + 318, 319, 699, 320, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 330, 0, 0, 0, 0, 0, 331, + 317, 318, 319, 701, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 317, 318, 319, 703, 320, 321, 322, 323, 324, + 325, 326, 327, 328, 329, 330, 0, 0, 0, 0, + 0, 331, 317, 318, 319, 705, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 317, 318, 319, 707, 320, 321, 322, + 323, 324, 325, 326, 327, 328, 329, 330, 0, 0, + 0, 0, 0, 331, 317, 318, 319, 709, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 317, 318, 319, 711, 320, + 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, + 0, 0, 0, 0, 0, 331, 317, 318, 319, 713, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 317, 318, 319, + 717, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 0, 0, 0, 0, 0, 331, 317, 318, + 319, 719, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 317, + 318, 319, 721, 320, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 330, 0, 0, 0, 0, 0, 331, + 317, 318, 319, 723, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 317, 318, 319, 725, 320, 321, 322, 323, 324, + 325, 326, 327, 328, 329, 330, 0, 0, 0, 0, + 0, 331, 317, 318, 319, 727, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 317, 318, 319, 799, 320, 321, 322, + 323, 324, 325, 326, 327, 328, 329, 330, 0, 0, + 0, 0, 0, 331, 317, 318, 319, 805, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 317, 318, 319, 897, 320, + 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, + 0, 0, 0, 0, 0, 331, 317, 318, 319, 1045, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 317, 318, 319, + 1047, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 0, 0, 0, 0, 0, 331, 317, 318, + 319, 1049, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 317, + 318, 319, 1051, 320, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 330, 0, 0, 0, 0, 0, 331, + 317, 318, 319, 1052, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 317, 318, 319, 1196, 320, 321, 322, 323, 324, + 325, 326, 327, 328, 329, 330, 0, 0, 0, 0, + 0, 331, 0, 528, 317, 318, 319, 0, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 529, 317, 318, 319, + 0, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 0, 0, 0, 0, 0, 331, 0, 531, + 317, 318, 319, 0, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 533, 317, 318, 319, 0, 320, 321, 322, + 323, 324, 325, 326, 327, 328, 329, 330, 0, 0, + 0, 0, 0, 331, 0, 534, 317, 318, 319, 0, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 542, 317, + 318, 319, 0, 320, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 330, 0, 0, 0, 0, 0, 331, + 0, 584, 317, 318, 319, 0, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 585, 317, 318, 319, 0, 320, + 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, + 0, 0, 0, 0, 0, 331, 0, 588, 317, 318, + 319, 0, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 594, 317, 318, 319, 0, 320, 321, 322, 323, 324, + 325, 326, 327, 328, 329, 330, 0, 0, 0, 0, + 0, 331, 0, 692, 317, 318, 319, 0, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 694, 317, 318, 319, + 0, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 0, 0, 0, 0, 0, 331, 0, 696, + 317, 318, 319, 0, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 698, 317, 318, 319, 0, 320, 321, 322, + 323, 324, 325, 326, 327, 328, 329, 330, 0, 0, + 0, 0, 0, 331, 0, 700, 317, 318, 319, 0, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 702, 317, + 318, 319, 0, 320, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 330, 0, 0, 0, 0, 0, 331, + 0, 704, 317, 318, 319, 0, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 706, 317, 318, 319, 0, 320, + 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, + 0, 0, 0, 0, 0, 331, 0, 708, 317, 318, + 319, 0, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 710, 317, 318, 319, 0, 320, 321, 322, 323, 324, + 325, 326, 327, 328, 329, 330, 0, 0, 0, 0, + 0, 331, 0, 712, 317, 318, 319, 0, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 716, 317, 318, 319, + 0, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 0, 0, 0, 0, 0, 331, 0, 718, + 317, 318, 319, 0, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 720, 317, 318, 319, 0, 320, 321, 322, + 323, 324, 325, 326, 327, 328, 329, 330, 0, 0, + 0, 0, 0, 331, 0, 722, 317, 318, 319, 0, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 724, 317, + 318, 319, 0, 320, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 330, 0, 0, 0, 0, 0, 331, + 0, 726, 317, 318, 319, 0, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 762, 317, 318, 319, 0, 320, + 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, + 0, 0, 0, 0, 0, 331, 0, 764, 317, 318, + 319, 0, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 777, 317, 318, 319, 0, 320, 321, 322, 323, 324, + 325, 326, 327, 328, 329, 330, 0, 0, 0, 0, + 0, 331, 0, 778, 317, 318, 319, 0, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 779, 317, 318, 319, + 0, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 0, 0, 0, 0, 0, 331, 0, 784, + 317, 318, 319, 0, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 785, 317, 318, 319, 0, 320, 321, 322, + 323, 324, 325, 326, 327, 328, 329, 330, 0, 0, + 0, 0, 0, 331, 0, 786, 317, 318, 319, 0, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 787, 317, + 318, 319, 0, 320, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 330, 0, 0, 0, 0, 0, 331, + 0, 788, 317, 318, 319, 0, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 811, 317, 318, 319, 0, 320, + 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, + 0, 0, 0, 0, 0, 331, 0, 818, 317, 318, + 319, 0, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 1044, 317, 318, 319, 0, 320, 321, 322, 323, 324, + 325, 326, 327, 328, 329, 330, 0, 0, 0, 0, + 0, 331, 0, 1046, 317, 318, 319, 0, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 1048, 317, 318, 319, + 0, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 0, 0, 0, 0, 0, 331, 0, 1050, + 317, 318, 319, 0, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 1117, 317, 318, 319, 0, 320, 321, 322, + 323, 324, 325, 326, 327, 328, 329, 330, 0, 0, + 0, 0, 0, 331, 0, 1223, 317, 318, 319, 0, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 1251, 317, + 318, 319, 0, 320, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 330, 0, 0, 0, 0, 0, 331, + 0, 1358, 317, 318, 319, 0, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 1362, 317, 318, 319, 0, 320, + 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, + 0, 0, 0, 0, 0, 331, 0, 1364, 317, 318, + 319, 0, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 1486, 317, 318, 319, 0, 320, 321, 322, 323, 324, + 325, 326, 327, 328, 329, 330, 0, 0, 0, 0, + 0, 331, 0, 1487, 317, 318, 319, 0, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 1516, 317, 318, 319, + 0, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 0, 0, 0, 0, 0, 331, 0, 1518, + 317, 318, 319, 0, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 1520, 317, 318, 319, 0, 320, 321, 322, + 323, 324, 325, 326, 327, 328, 329, 330, 0, 0, + 0, 0, 0, 331, 0, 1522, 317, 318, 319, 0, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 1523, 317, + 318, 319, 0, 320, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 330, 0, 0, 0, 0, 0, 331, + 0, 1524, 317, 318, 319, 0, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 1546, 317, 318, 319, 0, 320, + 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, + 0, 0, 0, 0, 0, 331, 0, 1656, 317, 318, + 319, 0, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 1814, 317, 318, 319, 0, 320, 321, 322, 323, 324, + 325, 326, 327, 328, 329, 330, 0, 0, 0, 0, + 0, 331, 0, 1815, 317, 318, 319, 0, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 1816, 317, 318, 319, + 0, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 0, 0, 0, 0, 0, 331, 0, 1979, + 317, 318, 319, 0, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 1980, 317, 318, 319, 0, 320, 321, 322, + 323, 324, 325, 326, 327, 328, 329, 330, 0, 0, + 0, 0, 0, 331, 0, 1981, 317, 318, 319, 0, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 2102, 317, + 318, 319, 0, 320, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 330, 0, 0, 0, 0, 0, 331, + 0, 2103, 317, 318, 319, 0, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 2104, 317, 318, 319, 0, 320, + 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, + 0, 0, 0, 0, 0, 331, 0, 2105, 317, 318, + 319, 0, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 2106, 317, 318, 319, 0, 320, 321, 322, 323, 324, + 325, 326, 327, 328, 329, 330, 0, 0, 0, 0, + 0, 331, 0, 2107, 317, 318, 319, 0, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 2217, 317, 318, 319, + 0, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 0, 0, 0, 0, 0, 331, 0, 2218, + 317, 318, 319, 0, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 2219, 317, 318, 319, 0, 320, 321, 322, + 323, 324, 325, 326, 327, 328, 329, 330, 0, 0, + 0, 0, 0, 331, 0, 2277, 317, 318, 319, 0, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 2278, 317, + 318, 319, 0, 320, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 330, 0, 0, 0, 0, 0, 331, + 0, 2279, 317, 318, 319, 0, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 2337, 317, 318, 319, 0, 320, + 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, + 0, 0, 0, 0, 0, 331, 0, 2338, 317, 318, + 319, 0, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 2339 }; -/* -*-C-*- Note some compilers choke on comments on `#line' lines. */ -#line 3 "/usr/share/bison.simple" -/* This file comes from bison-1.28. */ - -/* Skeleton output parser for bison, - Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) - any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. */ -/* As a special exception, when this file is copied by Bison into a - Bison output file, you may use that output file without restriction. - This special exception was added by the Free Software Foundation - in version 1.24 of Bison. */ +static const short yycheck[] = +{ + 25, 71, 72, 25, 96, 5, 376, 310, 5, 346, + 187, 752, 4, 190, 4, 4, 47, 48, 5, 4, + 4, 3, 5, 66, 66, 6, 6, 43, 6, 1337, + 6, 1339, 66, 4, 211, 67, 213, 1242, 1417, 6, + 72, 67, 1421, 105, 4, 1424, 72, 34, 35, 36, + 67, 34, 35, 36, 67, 72, 67, 4, 6, 72, + 67, 72, 1135, 67, 67, 72, 4, 5, 72, 72, + 5, 1144, 188, 189, 6, 188, 189, 199, 1151, 6, + 200, 1118, 1119, 50, 206, 205, 188, 189, 199, 205, + 39, 207, 205, 42, 207, 206, 34, 35, 36, 34, + 35, 36, 50, 205, 199, 207, 188, 189, 133, 134, + 135, 206, 199, 138, 139, 57, 58, 142, 200, 206, + 188, 189, 188, 189, 149, 5, 151, 152, 153, 308, + 155, 199, 157, 158, 0, 160, 217, 199, 206, 67, + 206, 188, 189, 174, 72, 176, 7, 1352, 108, 109, + 6, 182, 177, 178, 34, 35, 36, 199, 199, 206, + 201, 108, 109, 206, 206, 199, 6, 346, 909, 188, + 189, 196, 197, 200, 199, 207, 201, 200, 205, 204, + 205, 207, 205, 199, 190, 191, 192, 206, 525, 199, + 207, 201, 198, 6, 207, 7, 207, 199, 501, 201, + 207, 538, 7, 207, 207, 196, 197, 189, 188, 189, + 188, 189, 188, 189, 206, 169, 206, 206, 6, 206, + 397, 206, 206, 206, 255, 206, 7, 252, 199, 299, + 300, 301, 257, 258, 259, 260, 261, 262, 263, 264, + 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, + 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, + 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, + 295, 296, 297, 298, 201, 1312, 200, 8, 6, 207, + 1353, 205, 1661, 308, 1357, 200, 1665, 199, 310, 1668, + 205, 199, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 326, 327, 328, 329, 330, 331, 1615, 6, 200, + 1618, 6, 1620, 338, 205, 340, 196, 197, 196, 197, + 345, 346, 199, 203, 1065, 203, 199, 408, 201, 354, + 355, 356, 357, 358, 199, 360, 361, 362, 363, 364, + 365, 366, 373, 374, 196, 197, 525, 67, 199, 201, + 7, 203, 72, 378, 379, 380, 381, 188, 189, 538, + 385, 56, 174, 175, 176, 177, 188, 189, 393, 174, + 175, 176, 177, 199, 205, 375, 376, 402, 375, 376, + 1759, 6, 7, 205, 1763, 199, 1765, 188, 189, 6, + 7, 196, 197, 174, 175, 176, 177, 199, 203, 201, + 737, 188, 189, 8, 205, 1713, 3, 165, 166, 1717, + 168, 1719, 188, 189, 66, 196, 197, 199, 205, 188, + 189, 199, 199, 445, 188, 189, 188, 189, 199, 205, + 201, 768, 502, 188, 189, 47, 205, 1510, 1511, 1512, + 1513, 205, 43, 205, 1517, 43, 45, 178, 179, 180, + 205, 182, 183, 184, 185, 186, 187, 188, 189, 190, + 191, 192, 43, 800, 801, 802, 803, 198, 43, 494, + 188, 189, 497, 199, 42, 43, 207, 45, 503, 501, + 6, 206, 200, 178, 179, 180, 43, 182, 183, 184, + 185, 186, 187, 188, 189, 190, 191, 192, 206, 4, + 525, 526, 6, 198, 188, 189, 190, 191, 192, 6, + 535, 536, 199, 538, 198, 540, 541, 174, 175, 176, + 177, 199, 199, 548, 196, 197, 557, 6, 199, 201, + 201, 203, 39, 558, 559, 42, 43, 43, 45, 196, + 197, 199, 567, 140, 141, 142, 143, 144, 145, 146, + 147, 4, 1625, 1626, 579, 4, 1629, 39, 737, 199, + 42, 43, 199, 742, 634, 590, 5, 592, 593, 199, + 199, 201, 201, 178, 179, 180, 1317, 182, 183, 184, + 185, 186, 187, 188, 189, 190, 191, 192, 199, 768, + 201, 928, 199, 198, 201, 200, 199, 4, 901, 902, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, 199, 634, 201, 5, 199, 198, 201, 4, 3, + 4, 800, 801, 802, 803, 9, 10, 11, 12, 13, + 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, + 24, 25, 26, 27, 28, 29, 30, 31, 32, 199, + 1723, 201, 178, 179, 180, 39, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, 199, 738, 201, + 6, 199, 198, 201, 6, 199, 60, 61, 62, 63, + 64, 65, 199, 199, 201, 201, 6, 196, 197, 714, + 715, 199, 201, 201, 203, 196, 197, 199, 201, 201, + 201, 199, 203, 728, 729, 730, 731, 732, 733, 734, + 206, 199, 737, 201, 199, 199, 6, 742, 199, 206, + 745, 60, 61, 62, 63, 201, 65, 203, 759, 206, + 755, 199, 1102, 125, 126, 127, 128, 129, 205, 1812, + 207, 199, 205, 768, 207, 770, 205, 199, 207, 928, + 205, 205, 207, 207, 199, 205, 6, 207, 206, 205, + 852, 207, 205, 6, 207, 796, 797, 798, 205, 205, + 207, 207, 205, 203, 207, 800, 801, 802, 803, 206, + 206, 806, 807, 206, 111, 810, 6, 205, 205, 207, + 207, 205, 823, 207, 6, 199, 821, 822, 6, 6, + 1873, 832, 3, 199, 188, 189, 205, 205, 207, 207, + 194, 205, 205, 207, 207, 199, 205, 205, 207, 207, + 204, 6, 206, 205, 205, 207, 207, 205, 205, 207, + 207, 199, 857, 858, 859, 860, 861, 862, 863, 864, + 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, + 875, 876, 877, 878, 879, 880, 881, 882, 178, 179, + 180, 199, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, 199, 6, 897, 5, 205, 198, 207, + 902, 205, 205, 207, 207, 910, 199, 199, 178, 179, + 180, 916, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, 928, 205, 930, 207, 932, 198, 180, + 199, 182, 183, 184, 185, 186, 187, 188, 189, 190, + 191, 192, 199, 948, 949, 950, 199, 198, 178, 179, + 180, 199, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, 205, 205, 970, 971, 972, 198, 205, + 205, 207, 207, 205, 205, 207, 207, 199, 178, 179, + 180, 1331, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, 205, 205, 207, 207, 205, 198, 207, + 205, 205, 207, 207, 2057, 199, 159, 1057, 205, 199, + 207, 1013, 165, 178, 179, 180, 199, 182, 183, 184, + 185, 186, 187, 188, 189, 190, 191, 192, 205, 6, + 207, 199, 205, 198, 207, 188, 199, 199, 199, 199, + 193, 194, 199, 199, 199, 199, 4, 199, 1098, 199, + 199, 6, 199, 1058, 199, 199, 199, 198, 200, 7, + 1071, 7, 1073, 203, 201, 1126, 178, 179, 180, 7, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, 1086, 1087, 1088, 1089, 1157, 198, 206, 7, 200, + 7, 7, 1103, 1098, 1105, 106, 1107, 158, 6, 184, + 185, 186, 187, 188, 189, 190, 191, 192, 1113, 1114, + 108, 206, 5, 198, 5, 5, 5, 5, 5, 5, + 1125, 5, 1102, 1128, 5, 1102, 5, 5, 5, 5, + 5, 5, 5, 1138, 5, 5, 5, 5, 5, 5, + 1145, 1146, 1147, 5, 5, 5, 5, 1152, 5, 3, + 5, 1156, 5, 205, 6, 1160, 1161, 1162, 1163, 1164, + 1165, 1166, 1167, 1168, 1169, 1170, 1171, 1172, 1173, 1174, + 1175, 1176, 1177, 1178, 1179, 1180, 1181, 1182, 1183, 1184, + 1185, 5, 200, 6, 4, 202, 7, 6, 203, 7, + 7, 7, 1253, 1198, 7, 7, 7, 207, 207, 206, + 1205, 178, 179, 180, 206, 182, 183, 184, 185, 186, + 187, 188, 189, 190, 191, 192, 7, 7, 199, 1224, + 7, 198, 205, 178, 179, 180, 170, 182, 183, 184, + 185, 186, 187, 188, 189, 190, 191, 192, 8, 3, + 4, 203, 1247, 198, 1249, 9, 10, 11, 12, 13, + 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, + 24, 25, 26, 27, 28, 29, 30, 31, 32, 205, + 178, 179, 180, 6, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, 3, 4, 205, 5, 1350, + 198, 9, 10, 11, 12, 13, 14, 15, 16, 17, + 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, + 28, 29, 30, 31, 32, 200, 6, 199, 4, 199, + 1325, 1326, 205, 1334, 6, 1336, 6, 1338, 6, 1334, + 7, 1336, 6, 1338, 206, 1340, 1341, 7, 202, 7, + 205, 1346, 205, 496, 7, 7, 7, 205, 199, 205, + 1355, 1331, 199, 7, 1331, 205, 205, 205, 1363, 205, + 205, 205, 205, 1368, 205, 205, 1371, 205, 1373, 1374, + 1375, 1376, 1377, 1378, 1379, 1380, 1381, 1382, 1383, 1384, + 1385, 1386, 1387, 1388, 1389, 1390, 1391, 1392, 1393, 1394, + 1395, 1396, 1397, 1398, 199, 205, 205, 205, 1403, 205, + 1411, 205, 205, 1408, 205, 1410, 1411, 1412, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, 205, 188, 189, 205, 205, 198, 205, + 194, 205, 199, 199, 199, 199, 199, 199, 202, 199, + 204, 199, 206, 199, 199, 178, 179, 180, 1509, 182, + 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, + 199, 199, 199, 199, 199, 198, 206, 199, 199, 199, + 188, 189, 199, 199, 199, 199, 194, 7, 201, 7, + 7, 199, 7, 7, 202, 7, 204, 1492, 206, 7, + 7, 4, 6, 1498, 6, 4, 1501, 7, 171, 7, + 3, 3, 3, 190, 3, 3, 3, 3, 3, 3, + 3, 1572, 3, 3, 3, 3, 200, 200, 5, 5, + 1525, 1526, 1527, 1528, 1529, 1530, 1531, 1532, 1533, 1534, + 1535, 1536, 1537, 1538, 1539, 1540, 1541, 1542, 1543, 1544, + 1545, 3, 1547, 3, 1549, 178, 179, 180, 6, 182, + 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, + 4, 6, 203, 1624, 7, 198, 6, 3, 4, 6, + 199, 6, 205, 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, 199, 206, + 6, 6, 107, 206, 167, 1655, 205, 760, 761, 205, + 763, 200, 765, 766, 205, 200, 200, 205, 205, 205, + 200, 200, 205, 205, 205, 200, 1631, 1632, 1633, 1634, + 1635, 1636, 1637, 1638, 1639, 1640, 1641, 1642, 1643, 1644, + 1645, 1646, 1647, 1648, 1649, 1650, 1651, 1652, 1653, 1654, + 205, 205, 205, 205, 205, 808, 809, 205, 205, 812, + 8, 1722, 205, 205, 200, 205, 205, 6, 203, 6, + 4, 6, 206, 6, 6, 6, 829, 830, 6, 202, + 6, 6, 835, 836, 6, 6, 6, 6, 6, 842, + 6, 844, 6, 6, 6, 6, 6, 6, 6, 107, + 7, 3, 6, 3, 1754, 6, 1756, 1768, 190, 6, + 6, 3, 6, 3, 7, 6, 1721, 6, 3, 6, + 3, 3, 1727, 3, 1729, 6, 1731, 4, 1733, 1734, + 1735, 1736, 1737, 1738, 1739, 1740, 1741, 1742, 1743, 1744, + 1745, 1746, 1747, 1748, 1749, 1750, 1751, 1752, 1753, 6, + 1811, 6, 188, 189, 6, 203, 202, 6, 194, 206, + 104, 200, 200, 199, 205, 207, 202, 920, 204, 922, + 206, 200, 206, 206, 206, 206, 8, 205, 205, 205, + 933, 934, 935, 205, 200, 1835, 205, 940, 941, 942, + 943, 944, 945, 946, 205, 205, 200, 200, 200, 200, + 6, 3, 107, 109, 1809, 1810, 6, 6, 3, 6, + 6, 3, 1817, 1818, 1819, 1820, 1821, 1822, 1823, 1824, + 1825, 1826, 1827, 1828, 1829, 1830, 1831, 1832, 1833, 1834, + 178, 179, 180, 6, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, 6, 6, 6, 6, 5, + 198, 6, 5, 207, 6, 206, 206, 6, 205, 200, + 8, 207, 205, 205, 1869, 205, 6, 205, 167, 1874, + 1875, 1876, 1877, 1878, 1879, 1880, 1881, 1882, 1883, 1884, + 1885, 1886, 1887, 1888, 1889, 1890, 1891, 1892, 1893, 1894, + 205, 6, 6, 6, 6, 6, 6, 200, 6, 6, + 6, 6, 200, 1056, 8, 178, 179, 180, 6, 182, + 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, + 6, 205, 1927, 6, 1929, 198, 1931, 200, 1933, 1934, + 1935, 1936, 1937, 1938, 1939, 1940, 1941, 1942, 1943, 1944, + 1945, 1946, 1947, 1948, 1949, 1950, 178, 179, 180, 6, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, 5, 5, 206, 205, 205, 198, 206, 1121, 206, + 205, 207, 205, 200, 200, 205, 1129, 1982, 1983, 1984, + 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, + 1995, 1996, 205, 6, 206, 1148, 206, 206, 206, 6, + 205, 6, 6, 6, 104, 6, 6, 5, 206, 6, + 5, 205, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, + 2025, 2026, 2027, 2028, 2029, 2030, 2031, 2032, 2033, 2034, + 178, 179, 180, 1186, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, 207, 167, 6, 6, 206, + 198, 6, 206, 2058, 205, 2060, 206, 2062, 200, 2064, + 2065, 2066, 2067, 2068, 2069, 2070, 2071, 2072, 2073, 2074, + 2075, 2076, 2077, 2078, 178, 179, 180, 200, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, 206, + 6, 207, 104, 6, 198, 6, 6, 6, 6, 6, + 6, 6, 205, 2108, 2109, 2110, 2111, 2112, 2113, 2114, + 2115, 2116, 207, 206, 205, 6, 6, 6, 6, 172, + 205, 205, 6, 173, 206, 206, 206, 205, 2133, 2134, + 2135, 2136, 2137, 2138, 2139, 2140, 2141, 2142, 2143, 2144, + 2145, 2146, 2147, 178, 179, 180, 200, 182, 183, 184, + 185, 186, 187, 188, 189, 190, 191, 192, 6, 6, + 6, 6, 6, 198, 2169, 205, 2171, 202, 2173, 205, + 2175, 205, 2177, 206, 2179, 206, 2181, 2182, 2183, 2184, + 2185, 2186, 2187, 2188, 2189, 206, 6, 6, 6, 200, + 6, 206, 1345, 6, 6, 6, 1349, 206, 206, 6, + 206, 6, 6, 6, 206, 6, 2211, 2212, 2213, 2214, + 2215, 2216, 1365, 206, 206, 206, 206, 6, 206, 206, + 206, 6, 6, 6, 2229, 2230, 2231, 2232, 2233, 2234, + 2235, 2236, 2237, 206, 206, 206, 6, 6, 6, 636, + 5, 5, -1, -1, -1, 2250, 2251, 2252, 2253, 2254, + 2255, 2256, -1, 2258, 1061, 2260, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 2274, + 2275, 2276, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 2286, 2287, 2288, 2289, 2290, 2291, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 2301, 2302, 2303, 2304, + -1, 2306, -1, 2308, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 2319, 2320, 2321, -1, -1, -1, + 2325, 2326, 2327, -1, -1, -1, 2331, 2332, 2333, -1, + -1, -1, -1, 1486, 1487, -1, -1, -1, 2343, 2344, + 2345, 1494, -1, -1, -1, -1, -1, 2352, -1, 2354, + -1, 2356, 1505, 1506, 3, 4, -1, -1, -1, -1, + 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, + 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 3, 4, -1, -1, 1551, 1552, + 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, + 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, -1, -1, -1, 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, -1, -1, -1, 1617, 3, 4, -1, -1, 1622, + -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, + 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, + 28, 29, 30, 31, 32, -1, -1, -1, -1, -1, + -1, 39, 39, 40, 41, 42, 43, 44, 45, 46, + -1, 48, -1, 50, 51, 52, -1, 54, 55, -1, + -1, -1, 60, 61, 62, 63, 64, 65, -1, -1, + -1, -1, -1, -1, 71, -1, -1, -1, -1, 188, + 189, -1, -1, -1, -1, 194, -1, -1, -1, -1, + 199, -1, -1, -1, -1, 204, -1, 206, -1, -1, + -1, 1714, -1, -1, 101, 102, 103, -1, -1, -1, + -1, 1724, -1, -1, -1, -1, -1, -1, -1, 188, + 189, -1, 119, -1, -1, 194, -1, -1, -1, -1, + 199, -1, -1, -1, -1, 204, -1, 206, 174, 175, + 176, 177, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 188, 189, -1, -1, -1, -1, 194, -1, + 196, 197, -1, 199, -1, 201, -1, 203, 204, 178, + 179, 180, -1, 182, 183, 184, 185, 186, 187, 188, + 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, + 188, 189, -1, -1, -1, -1, 194, -1, 207, -1, + 1813, 199, -1, 3, 4, 5, 204, -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, 178, 179, 180, + -1, 182, 183, 184, 185, 186, 187, 188, 189, 190, + 191, 192, -1, -1, 3, 4, -1, 198, -1, 1872, + 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, + 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 178, 179, 180, -1, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, 200, 3, 4, -1, + -1, 205, 1925, 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, 39, 40, + 41, 42, 43, 44, 45, 46, -1, 48, -1, 50, + 51, 52, -1, 54, 55, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 1978, -1, 178, 179, 180, + 71, 182, 183, 184, 185, 186, 187, 188, 189, 190, + 191, 192, -1, -1, -1, -1, -1, 198, 188, 189, + -1, -1, -1, -1, 194, -1, 207, -1, -1, 199, + 101, 102, 103, 2016, 204, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 119, 0, + 1, -1, 3, 4, 178, 179, 180, -1, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, 188, + 189, -1, -1, -1, 198, 194, -1, -1, -1, -1, + 199, 205, 33, 207, -1, 204, 37, 38, 39, 40, + 41, 42, 43, 44, 45, 46, -1, 48, 49, 50, + 51, 52, 53, 54, 55, -1, -1, -1, 59, 60, + 61, 62, 63, 64, 65, -1, 67, 68, 69, 70, + 71, -1, 188, 189, -1, -1, -1, -1, 194, -1, + -1, -1, -1, 199, -1, -1, 207, -1, 204, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, + 101, 102, 103, -1, -1, -1, -1, 108, -1, 110, + -1, 112, 113, 114, 115, 116, 117, 118, 119, 120, + 121, 39, 40, 41, 42, 43, 44, 45, 46, -1, + 48, -1, 50, 51, 52, -1, 54, 55, -1, 140, + 141, 142, 143, 144, 145, 146, 147, -1, -1, -1, + -1, -1, -1, 71, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 165, 166, -1, 168, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 101, 102, 103, -1, 39, 40, 41, + 42, 43, 44, 45, 46, -1, 48, -1, 50, 51, + 52, 119, 54, 55, -1, -1, -1, -1, -1, -1, + -1, 39, 40, 41, 42, 43, 44, 45, 46, 71, + 48, -1, 50, 51, 52, -1, 54, 55, -1, -1, + 42, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 71, -1, -1, -1, -1, -1, 101, + 102, 103, -1, 39, 40, 41, 42, 43, 44, 45, + 46, -1, 48, -1, 50, 51, 52, 119, 54, 55, + -1, -1, -1, 101, 102, 103, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 71, -1, -1, -1, 207, + -1, 119, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 122, 123, 124, -1, -1, 101, 102, 103, 130, 131, + 132, 133, 134, 135, 136, 137, 138, 139, -1, -1, + -1, -1, -1, 119, -1, -1, 148, 149, 150, 151, + 152, 153, 154, 155, 156, 157, -1, 159, 160, 161, + 162, 163, 164, -1, -1, 207, 178, 179, 180, -1, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, 200, 207, + 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, + 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, + 93, 94, 95, 96, 97, 98, 99, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 4, 207, 73, 74, 75, 76, 77, 78, 79, 80, + 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, + 91, 92, 93, 94, 95, 96, 97, 98, 99, 33, + -1, -1, -1, 37, 38, 39, 40, 41, 42, 43, + 44, 45, 46, -1, 48, 49, 50, 51, 52, 53, + 54, 55, -1, -1, -1, 59, 60, 61, 62, 63, + 64, 65, -1, 67, 68, 69, 70, 71, -1, -1, + -1, -1, -1, 178, 179, 180, -1, 182, 183, 184, + 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, + -1, -1, -1, 198, 207, -1, 100, 101, 102, 103, + 205, -1, 207, -1, 108, -1, 110, -1, 112, 113, + 114, 115, 116, 117, 118, 119, 120, 121, 178, 179, + 180, -1, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, 207, -1, 198, -1, + -1, -1, -1, -1, -1, 205, -1, 207, 178, 179, + 180, -1, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, -1, -1, -1, -1, -1, 207, 178, 179, + 180, -1, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, -1, -1, 178, 179, 180, 207, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, -1, -1, + 178, 179, 180, 207, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, -1, -1, 178, 179, 180, 207, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + -1, -1, 178, 179, 180, 207, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, -1, -1, 178, 179, + 180, 207, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, -1, -1, 178, 179, 180, 207, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, -1, -1, + 178, 179, 180, 207, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, -1, -1, 178, 179, 180, 207, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + -1, -1, 178, 179, 180, 207, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, -1, -1, 178, 179, + 180, 207, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, -1, -1, 178, 179, 180, 207, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, -1, -1, + 178, 179, 180, 207, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, -1, -1, 178, 179, 180, 207, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + -1, -1, 178, 179, 180, 207, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, -1, -1, 178, 179, + 180, 207, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, -1, -1, 178, 179, 180, 207, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, -1, -1, + 178, 179, 180, 207, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, -1, -1, 178, 179, 180, 207, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, 178, 179, 180, 202, 182, + 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, + -1, -1, -1, -1, -1, 198, 178, 179, 180, 202, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, 178, 179, 180, + 202, 182, 183, 184, 185, 186, 187, 188, 189, 190, + 191, 192, -1, -1, -1, -1, -1, 198, 178, 179, + 180, 202, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, 178, + 179, 180, 202, 182, 183, 184, 185, 186, 187, 188, + 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, + 178, 179, 180, 202, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, 178, 179, 180, 202, 182, 183, 184, 185, 186, + 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, + -1, 198, 178, 179, 180, 202, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, 178, 179, 180, 202, 182, 183, 184, + 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, + -1, -1, -1, 198, 178, 179, 180, 202, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, 178, 179, 180, 202, 182, + 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, + -1, -1, -1, -1, -1, 198, 178, 179, 180, 202, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, 178, 179, 180, + 202, 182, 183, 184, 185, 186, 187, 188, 189, 190, + 191, 192, -1, -1, -1, -1, -1, 198, 178, 179, + 180, 202, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, 178, + 179, 180, 202, 182, 183, 184, 185, 186, 187, 188, + 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, + 178, 179, 180, 202, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, 178, 179, 180, 202, 182, 183, 184, 185, 186, + 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, + -1, 198, 178, 179, 180, 202, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, 178, 179, 180, 202, 182, 183, 184, + 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, + -1, -1, -1, 198, 178, 179, 180, 202, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, 178, 179, 180, 202, 182, + 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, + -1, -1, -1, -1, -1, 198, 178, 179, 180, 202, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, 178, 179, 180, + 202, 182, 183, 184, 185, 186, 187, 188, 189, 190, + 191, 192, -1, -1, -1, -1, -1, 198, 178, 179, + 180, 202, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, 178, + 179, 180, 202, 182, 183, 184, 185, 186, 187, 188, + 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, + 178, 179, 180, 202, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, 178, 179, 180, 202, 182, 183, 184, 185, 186, + 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, + -1, 198, -1, 200, 178, 179, 180, -1, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, 200, 178, 179, 180, + -1, 182, 183, 184, 185, 186, 187, 188, 189, 190, + 191, 192, -1, -1, -1, -1, -1, 198, -1, 200, + 178, 179, 180, -1, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, 200, 178, 179, 180, -1, 182, 183, 184, + 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, + -1, -1, -1, 198, -1, 200, 178, 179, 180, -1, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, 200, 178, + 179, 180, -1, 182, 183, 184, 185, 186, 187, 188, + 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, + -1, 200, 178, 179, 180, -1, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, 200, 178, 179, 180, -1, 182, + 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, + -1, -1, -1, -1, -1, 198, -1, 200, 178, 179, + 180, -1, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + 200, 178, 179, 180, -1, 182, 183, 184, 185, 186, + 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, + -1, 198, -1, 200, 178, 179, 180, -1, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, 200, 178, 179, 180, + -1, 182, 183, 184, 185, 186, 187, 188, 189, 190, + 191, 192, -1, -1, -1, -1, -1, 198, -1, 200, + 178, 179, 180, -1, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, 200, 178, 179, 180, -1, 182, 183, 184, + 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, + -1, -1, -1, 198, -1, 200, 178, 179, 180, -1, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, 200, 178, + 179, 180, -1, 182, 183, 184, 185, 186, 187, 188, + 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, + -1, 200, 178, 179, 180, -1, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, 200, 178, 179, 180, -1, 182, + 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, + -1, -1, -1, -1, -1, 198, -1, 200, 178, 179, + 180, -1, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + 200, 178, 179, 180, -1, 182, 183, 184, 185, 186, + 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, + -1, 198, -1, 200, 178, 179, 180, -1, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, 200, 178, 179, 180, + -1, 182, 183, 184, 185, 186, 187, 188, 189, 190, + 191, 192, -1, -1, -1, -1, -1, 198, -1, 200, + 178, 179, 180, -1, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, 200, 178, 179, 180, -1, 182, 183, 184, + 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, + -1, -1, -1, 198, -1, 200, 178, 179, 180, -1, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, 200, 178, + 179, 180, -1, 182, 183, 184, 185, 186, 187, 188, + 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, + -1, 200, 178, 179, 180, -1, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, 200, 178, 179, 180, -1, 182, + 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, + -1, -1, -1, -1, -1, 198, -1, 200, 178, 179, + 180, -1, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + 200, 178, 179, 180, -1, 182, 183, 184, 185, 186, + 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, + -1, 198, -1, 200, 178, 179, 180, -1, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, 200, 178, 179, 180, + -1, 182, 183, 184, 185, 186, 187, 188, 189, 190, + 191, 192, -1, -1, -1, -1, -1, 198, -1, 200, + 178, 179, 180, -1, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, 200, 178, 179, 180, -1, 182, 183, 184, + 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, + -1, -1, -1, 198, -1, 200, 178, 179, 180, -1, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, 200, 178, + 179, 180, -1, 182, 183, 184, 185, 186, 187, 188, + 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, + -1, 200, 178, 179, 180, -1, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, 200, 178, 179, 180, -1, 182, + 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, + -1, -1, -1, -1, -1, 198, -1, 200, 178, 179, + 180, -1, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + 200, 178, 179, 180, -1, 182, 183, 184, 185, 186, + 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, + -1, 198, -1, 200, 178, 179, 180, -1, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, 200, 178, 179, 180, + -1, 182, 183, 184, 185, 186, 187, 188, 189, 190, + 191, 192, -1, -1, -1, -1, -1, 198, -1, 200, + 178, 179, 180, -1, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, 200, 178, 179, 180, -1, 182, 183, 184, + 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, + -1, -1, -1, 198, -1, 200, 178, 179, 180, -1, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, 200, 178, + 179, 180, -1, 182, 183, 184, 185, 186, 187, 188, + 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, + -1, 200, 178, 179, 180, -1, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, 200, 178, 179, 180, -1, 182, + 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, + -1, -1, -1, -1, -1, 198, -1, 200, 178, 179, + 180, -1, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + 200, 178, 179, 180, -1, 182, 183, 184, 185, 186, + 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, + -1, 198, -1, 200, 178, 179, 180, -1, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, 200, 178, 179, 180, + -1, 182, 183, 184, 185, 186, 187, 188, 189, 190, + 191, 192, -1, -1, -1, -1, -1, 198, -1, 200, + 178, 179, 180, -1, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, 200, 178, 179, 180, -1, 182, 183, 184, + 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, + -1, -1, -1, 198, -1, 200, 178, 179, 180, -1, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, 200, 178, + 179, 180, -1, 182, 183, 184, 185, 186, 187, 188, + 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, + -1, 200, 178, 179, 180, -1, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, 200, 178, 179, 180, -1, 182, + 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, + -1, -1, -1, -1, -1, 198, -1, 200, 178, 179, + 180, -1, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + 200, 178, 179, 180, -1, 182, 183, 184, 185, 186, + 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, + -1, 198, -1, 200, 178, 179, 180, -1, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, 200, 178, 179, 180, + -1, 182, 183, 184, 185, 186, 187, 188, 189, 190, + 191, 192, -1, -1, -1, -1, -1, 198, -1, 200, + 178, 179, 180, -1, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, 200, 178, 179, 180, -1, 182, 183, 184, + 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, + -1, -1, -1, 198, -1, 200, 178, 179, 180, -1, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, 200, 178, + 179, 180, -1, 182, 183, 184, 185, 186, 187, 188, + 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, + -1, 200, 178, 179, 180, -1, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, 200, 178, 179, 180, -1, 182, + 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, + -1, -1, -1, -1, -1, 198, -1, 200, 178, 179, + 180, -1, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + 200, 178, 179, 180, -1, 182, 183, 184, 185, 186, + 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, + -1, 198, -1, 200, 178, 179, 180, -1, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, 200, 178, 179, 180, + -1, 182, 183, 184, 185, 186, 187, 188, 189, 190, + 191, 192, -1, -1, -1, -1, -1, 198, -1, 200, + 178, 179, 180, -1, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, 200, 178, 179, 180, -1, 182, 183, 184, + 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, + -1, -1, -1, 198, -1, 200, 178, 179, 180, -1, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, 200, 178, + 179, 180, -1, 182, 183, 184, 185, 186, 187, 188, + 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, + -1, 200, 178, 179, 180, -1, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, 200, 178, 179, 180, -1, 182, + 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, + -1, -1, -1, -1, -1, 198, -1, 200, 178, 179, + 180, -1, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + 200 +}; -/* This is the parser code that is written into each bison parser - when the %semantic_parser declaration is not specified in the grammar. - It was written by Richard Stallman by simplifying the hairy parser - used when %semantic_parser is specified. */ +/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing + symbol of state STATE-NUM. */ +static const unsigned short yystos[] = +{ + 0, 1, 209, 211, 213, 218, 6, 0, 165, 166, + 168, 212, 3, 140, 141, 142, 143, 144, 145, 146, + 147, 214, 215, 216, 217, 4, 33, 37, 38, 39, + 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, + 51, 52, 53, 54, 55, 59, 60, 61, 62, 63, + 64, 65, 67, 68, 69, 70, 71, 100, 101, 102, + 103, 108, 110, 112, 113, 114, 115, 116, 117, 118, + 119, 120, 121, 219, 220, 221, 304, 305, 306, 309, + 310, 311, 312, 313, 314, 315, 327, 328, 169, 7, + 6, 6, 6, 6, 6, 199, 199, 199, 3, 4, + 5, 7, 9, 10, 11, 12, 13, 14, 15, 16, + 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, + 27, 28, 29, 30, 31, 32, 34, 35, 36, 174, + 175, 176, 177, 188, 189, 194, 196, 197, 199, 201, + 203, 204, 302, 303, 330, 331, 344, 199, 6, 206, + 6, 199, 199, 199, 66, 199, 66, 199, 199, 47, + 199, 43, 43, 43, 43, 42, 43, 45, 45, 39, + 42, 43, 45, 199, 206, 188, 189, 199, 206, 332, + 333, 332, 206, 39, 42, 43, 4, 206, 43, 4, + 206, 6, 6, 39, 42, 4, 199, 199, 43, 199, + 4, 206, 341, 4, 199, 199, 6, 4, 4, 43, + 5, 206, 344, 206, 344, 3, 189, 210, 42, 122, + 123, 124, 130, 131, 132, 133, 134, 135, 136, 137, + 138, 139, 148, 149, 150, 151, 152, 153, 154, 155, + 156, 157, 159, 160, 161, 162, 163, 164, 199, 334, + 334, 5, 201, 203, 303, 4, 206, 199, 201, 199, + 201, 199, 201, 199, 201, 199, 201, 199, 201, 199, + 201, 199, 201, 199, 201, 199, 201, 199, 201, 199, + 201, 199, 201, 199, 201, 199, 201, 199, 201, 199, + 201, 199, 201, 199, 201, 199, 201, 199, 201, 199, + 199, 199, 4, 330, 330, 330, 330, 202, 206, 330, + 4, 108, 109, 4, 330, 6, 6, 178, 179, 180, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, 198, 6, 5, 330, 330, 330, 330, 199, 330, + 199, 330, 330, 4, 39, 189, 206, 306, 309, 315, + 330, 338, 339, 330, 206, 199, 199, 199, 206, 338, + 206, 206, 199, 199, 199, 199, 199, 4, 332, 332, + 332, 330, 330, 188, 189, 206, 206, 332, 206, 206, + 206, 201, 308, 338, 6, 201, 308, 338, 338, 6, + 330, 330, 105, 199, 330, 203, 330, 206, 111, 330, + 330, 6, 199, 308, 6, 308, 6, 3, 210, 199, + 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, + 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, + 199, 199, 199, 199, 199, 199, 199, 199, 199, 5, + 335, 205, 200, 205, 330, 4, 332, 222, 330, 330, + 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, + 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, + 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, + 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, + 4, 344, 344, 344, 201, 200, 7, 189, 330, 339, + 340, 202, 7, 302, 303, 203, 7, 201, 6, 330, + 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, + 330, 330, 330, 330, 200, 205, 205, 200, 200, 200, + 330, 200, 330, 200, 200, 201, 206, 4, 206, 340, + 8, 7, 200, 330, 330, 330, 330, 330, 7, 330, + 330, 330, 330, 330, 330, 330, 200, 205, 205, 205, + 332, 332, 306, 307, 308, 309, 307, 205, 330, 330, + 330, 330, 39, 42, 43, 45, 207, 305, 6, 7, + 330, 207, 7, 7, 200, 200, 106, 330, 200, 108, + 205, 308, 206, 8, 200, 330, 207, 207, 210, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 158, 5, 5, 5, 5, 3, 5, 200, + 205, 5, 6, 5, 202, 303, 206, 73, 74, 75, + 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, + 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, + 96, 97, 98, 99, 207, 224, 227, 230, 233, 236, + 239, 242, 245, 248, 251, 254, 257, 260, 263, 266, + 269, 272, 275, 278, 281, 284, 287, 290, 293, 296, + 299, 301, 200, 202, 200, 202, 200, 202, 200, 202, + 200, 202, 200, 202, 200, 202, 200, 202, 200, 202, + 200, 202, 200, 202, 205, 205, 200, 202, 200, 202, + 200, 202, 200, 202, 200, 202, 200, 202, 205, 205, + 205, 205, 205, 205, 201, 203, 200, 205, 205, 200, + 330, 338, 205, 207, 203, 302, 303, 344, 330, 6, + 4, 4, 206, 342, 202, 8, 6, 340, 330, 7, + 7, 7, 200, 7, 200, 7, 7, 202, 206, 330, + 201, 340, 207, 330, 330, 7, 207, 200, 200, 200, + 207, 330, 207, 207, 200, 200, 200, 200, 200, 203, + 332, 330, 330, 207, 207, 330, 205, 205, 205, 202, + 206, 206, 206, 206, 330, 202, 206, 206, 7, 7, + 199, 200, 7, 203, 330, 207, 330, 330, 200, 170, + 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, + 5, 200, 205, 203, 303, 344, 222, 199, 199, 199, + 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, + 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, + 199, 199, 199, 206, 6, 330, 330, 330, 330, 330, + 330, 330, 330, 330, 4, 340, 344, 202, 6, 330, + 339, 202, 4, 108, 109, 330, 6, 6, 6, 7, + 201, 341, 343, 6, 330, 200, 205, 332, 338, 338, + 7, 338, 7, 338, 338, 340, 207, 202, 206, 207, + 8, 6, 206, 7, 7, 7, 7, 7, 6, 56, + 7, 7, 7, 7, 7, 7, 7, 4, 205, 205, + 205, 207, 332, 332, 332, 6, 340, 340, 340, 340, + 6, 6, 330, 330, 338, 338, 330, 7, 338, 4, + 205, 8, 8, 200, 7, 171, 3, 330, 330, 332, + 3, 3, 190, 3, 3, 338, 338, 3, 332, 3, + 3, 338, 338, 3, 3, 3, 3, 3, 338, 125, + 126, 127, 128, 129, 329, 338, 3, 5, 5, 3, + 3, 6, 334, 4, 6, 207, 330, 330, 330, 330, + 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, + 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, + 330, 330, 337, 338, 200, 202, 200, 202, 200, 202, + 200, 202, 202, 200, 200, 200, 302, 7, 302, 303, + 203, 7, 6, 341, 330, 205, 207, 6, 330, 6, + 6, 50, 6, 50, 338, 6, 338, 6, 6, 207, + 340, 330, 330, 338, 338, 338, 199, 199, 57, 58, + 338, 338, 338, 338, 338, 338, 338, 6, 7, 330, + 330, 330, 206, 205, 207, 205, 207, 205, 207, 207, + 207, 207, 207, 205, 205, 6, 6, 200, 199, 206, + 336, 107, 330, 330, 330, 206, 167, 205, 205, 205, + 200, 205, 200, 205, 200, 205, 200, 205, 205, 200, + 205, 200, 200, 205, 205, 205, 205, 205, 205, 200, + 205, 205, 205, 205, 205, 200, 205, 205, 303, 6, + 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, 207, 203, 338, + 344, 330, 6, 4, 342, 6, 202, 341, 205, 332, + 332, 6, 6, 202, 207, 205, 6, 6, 6, 330, + 330, 330, 330, 6, 6, 6, 6, 6, 6, 6, + 330, 344, 207, 200, 205, 207, 307, 332, 6, 316, + 332, 6, 319, 332, 6, 322, 6, 6, 6, 6, + 330, 330, 7, 337, 337, 107, 338, 205, 207, 8, + 207, 200, 330, 210, 3, 330, 338, 6, 3, 6, + 190, 6, 329, 6, 3, 330, 6, 3, 6, 6, + 3, 329, 330, 330, 330, 338, 6, 3, 329, 330, + 3, 3, 6, 330, 334, 330, 330, 330, 330, 330, + 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, + 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, + 330, 338, 206, 4, 6, 6, 6, 7, 6, 203, + 330, 6, 6, 202, 330, 205, 205, 6, 6, 6, + 6, 206, 330, 207, 205, 206, 205, 206, 205, 206, + 205, 205, 336, 200, 207, 206, 104, 330, 330, 205, + 210, 200, 205, 205, 205, 205, 200, 205, 200, 205, + 200, 200, 200, 205, 200, 205, 200, 200, 205, 205, + 200, 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, 337, + 200, 341, 109, 205, 205, 330, 330, 307, 205, 207, + 188, 189, 199, 330, 332, 67, 72, 325, 326, 330, + 332, 325, 330, 332, 325, 330, 330, 107, 338, 330, + 207, 207, 338, 210, 6, 336, 329, 3, 330, 6, + 329, 6, 3, 6, 6, 6, 330, 6, 338, 6, + 6, 330, 3, 6, 330, 5, 330, 330, 330, 330, + 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, + 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, + 330, 330, 207, 6, 330, 5, 200, 200, 207, 330, + 330, 207, 205, 6, 206, 207, 326, 207, 205, 207, + 207, 205, 207, 207, 207, 206, 205, 6, 207, 167, + 205, 205, 205, 205, 200, 200, 200, 205, 200, 200, + 200, 205, 200, 200, 200, 205, 205, 205, 205, 205, + 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, + 205, 205, 205, 205, 205, 205, 200, 205, 6, 205, + 205, 338, 338, 207, 6, 317, 330, 338, 6, 6, + 320, 330, 6, 6, 323, 330, 6, 6, 6, 338, + 338, 6, 210, 329, 329, 329, 329, 6, 6, 6, + 329, 6, 6, 6, 5, 225, 228, 231, 330, 330, + 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, + 330, 330, 330, 330, 330, 330, 330, 330, 330, 297, + 330, 330, 5, 338, 338, 206, 207, 205, 206, 207, + 206, 207, 205, 207, 210, 205, 205, 200, 200, 205, + 205, 206, 206, 206, 205, 205, 205, 205, 205, 205, + 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, + 205, 205, 205, 205, 205, 206, 200, 207, 205, 6, + 6, 325, 6, 318, 338, 325, 6, 321, 325, 6, + 324, 338, 104, 210, 329, 329, 6, 6, 329, 5, + 223, 330, 226, 330, 229, 330, 330, 330, 330, 330, + 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, + 330, 330, 330, 330, 330, 330, 330, 295, 344, 300, + 6, 5, 207, 206, 205, 207, 207, 206, 207, 206, + 207, 206, 167, 205, 205, 200, 200, 205, 207, 205, + 207, 205, 207, 205, 205, 205, 205, 205, 205, 205, + 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, + 205, 205, 205, 205, 205, 207, 206, 207, 6, 325, + 338, 6, 6, 325, 6, 325, 104, 330, 210, 329, + 338, 6, 6, 330, 6, 330, 6, 330, 6, 330, + 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, + 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, + 344, 6, 298, 344, 6, 207, 207, 207, 207, 206, + 205, 210, 205, 205, 200, 200, 200, 205, 205, 205, + 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, + 205, 205, 205, 205, 205, 205, 207, 6, 6, 6, + 6, 330, 330, 210, 329, 338, 234, 237, 240, 330, + 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, + 330, 330, 330, 330, 330, 330, 330, 344, 6, 205, + 207, 172, 205, 205, 206, 206, 206, 205, 205, 205, + 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, + 205, 205, 205, 205, 205, 330, 6, 173, 338, 329, + 232, 330, 235, 330, 238, 330, 330, 330, 330, 330, + 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, + 330, 330, 330, 330, 207, 205, 200, 205, 207, 205, + 207, 205, 207, 205, 205, 205, 205, 205, 205, 205, + 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, + 205, 6, 338, 6, 330, 6, 330, 6, 330, 6, + 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, + 330, 330, 330, 330, 330, 330, 330, 330, 205, 200, + 200, 200, 205, 205, 205, 205, 205, 205, 205, 205, + 205, 205, 205, 205, 205, 205, 205, 338, 243, 246, + 249, 330, 330, 330, 330, 330, 330, 330, 330, 330, + 330, 330, 330, 330, 330, 330, 205, 206, 206, 206, + 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, + 205, 205, 205, 205, 205, 338, 241, 330, 244, 330, + 247, 330, 330, 330, 330, 330, 330, 330, 330, 330, + 330, 330, 330, 330, 330, 330, 330, 205, 205, 207, + 205, 207, 205, 207, 205, 205, 205, 205, 205, 205, + 205, 205, 205, 205, 205, 205, 205, 205, 205, 329, + 330, 6, 330, 6, 330, 6, 330, 330, 330, 330, + 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, + 330, 200, 200, 200, 200, 200, 200, 200, 205, 205, + 205, 205, 205, 205, 205, 205, 205, 6, 252, 255, + 258, 261, 264, 267, 330, 330, 330, 330, 330, 330, + 330, 330, 330, 206, 206, 206, 206, 206, 206, 205, + 205, 205, 205, 205, 205, 205, 205, 205, 250, 330, + 253, 330, 256, 330, 259, 330, 262, 330, 265, 330, + 330, 330, 330, 330, 330, 330, 330, 330, 330, 205, + 207, 205, 207, 205, 207, 205, 207, 205, 207, 205, + 207, 205, 205, 205, 205, 205, 205, 205, 205, 205, + 330, 6, 330, 6, 330, 6, 330, 6, 330, 6, + 330, 6, 330, 330, 330, 330, 330, 330, 330, 330, + 330, 205, 205, 205, 205, 205, 205, 200, 200, 200, + 330, 330, 330, 330, 330, 330, 288, 291, 294, 205, + 205, 205, 205, 205, 205, 206, 206, 206, 330, 330, + 330, 330, 330, 330, 286, 330, 289, 330, 292, 330, + 205, 205, 205, 205, 205, 205, 205, 207, 205, 207, + 205, 207, 330, 330, 330, 330, 330, 330, 330, 6, + 330, 6, 330, 6, 205, 205, 205, 200, 200, 200, + 330, 330, 330, 279, 282, 285, 205, 205, 205, 206, + 206, 206, 330, 330, 330, 277, 330, 280, 330, 283, + 330, 205, 205, 205, 205, 207, 205, 207, 205, 207, + 330, 330, 330, 330, 6, 330, 6, 330, 6, 205, + 205, 205, 330, 330, 330, 205, 205, 205, 330, 330, + 330, 205, 205, 205, 330, 330, 330, 200, 200, 200, + 270, 273, 276, 206, 206, 206, 268, 330, 271, 330, + 274, 330, 205, 207, 205, 207, 205, 207, 330, 6, + 330, 6, 330, 6 +}; -#ifndef YYSTACK_USE_ALLOCA -#ifdef alloca -#define YYSTACK_USE_ALLOCA -#else /* alloca not defined */ -#ifdef __GNUC__ -#define YYSTACK_USE_ALLOCA -#define alloca __builtin_alloca -#else /* not GNU C. */ -#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi) || (defined (__sun) && defined (__i386)) -#define YYSTACK_USE_ALLOCA -#include <alloca.h> -#else /* not sparc */ -/* We think this test detects Watcom and Microsoft C. */ -/* This used to test MSDOS, but that is a bad idea - since that symbol is in the user namespace. */ -#if (defined (_MSDOS) || defined (_MSDOS_)) && !defined (__TURBOC__) -#if 0 /* No need for malloc.h, which pollutes the namespace; - instead, just don't use alloca. */ -#include <malloc.h> +#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__) +# define YYSIZE_T __SIZE_TYPE__ #endif -#else /* not MSDOS, or __TURBOC__ */ -#if defined(_AIX) -/* I don't know what this was needed for, but it pollutes the namespace. - So I turned it off. rms, 2 May 1997. */ -/* #include <malloc.h> */ - #pragma alloca -#define YYSTACK_USE_ALLOCA -#else /* not MSDOS, or __TURBOC__, or _AIX */ -#if 0 -#ifdef __hpux /* haible@ilog.fr says this works for HPUX 9.05 and up, - and on HPUX 10. Eventually we can turn this on. */ -#define YYSTACK_USE_ALLOCA -#define alloca __builtin_alloca -#endif /* __hpux */ +#if ! defined (YYSIZE_T) && defined (size_t) +# define YYSIZE_T size_t #endif -#endif /* not _AIX */ -#endif /* not MSDOS, or __TURBOC__ */ -#endif /* not sparc */ -#endif /* not GNU C */ -#endif /* alloca not defined */ -#endif /* YYSTACK_USE_ALLOCA not defined */ - -#ifdef YYSTACK_USE_ALLOCA -#define YYSTACK_ALLOC alloca -#else -#define YYSTACK_ALLOC malloc +#if ! defined (YYSIZE_T) +# if defined (__STDC__) || defined (__cplusplus) +# include <stddef.h> /* INFRINGES ON USER NAME SPACE */ +# define YYSIZE_T size_t +# endif +#endif +#if ! defined (YYSIZE_T) +# define YYSIZE_T unsigned int #endif - -/* Note: there must be only one dollar sign in this file. - It is replaced by the list of actions, each action - as one case of the switch. */ #define yyerrok (yyerrstatus = 0) #define yyclearin (yychar = YYEMPTY) -#define YYEMPTY -2 +#define YYEMPTY (-2) #define YYEOF 0 + #define YYACCEPT goto yyacceptlab -#define YYABORT goto yyabortlab -#define YYERROR goto yyerrlab1 -/* Like YYERROR except do call yyerror. - This remains here temporarily to ease the - transition to the new meaning of YYERROR, for GCC. +#define YYABORT goto yyabortlab +#define YYERROR goto yyerrorlab + + +/* Like YYERROR except do call yyerror. This remains here temporarily + to ease the transition to the new meaning of YYERROR, for GCC. Once GCC version 2 has supplanted version 1, this can go. */ + #define YYFAIL goto yyerrlab + #define YYRECOVERING() (!!yyerrstatus) -#define YYBACKUP(token, value) \ + +#define YYBACKUP(Token, Value) \ do \ if (yychar == YYEMPTY && yylen == 1) \ - { yychar = (token), yylval = (value); \ - yychar1 = YYTRANSLATE (yychar); \ + { \ + yychar = (Token); \ + yylval = (Value); \ + yytoken = YYTRANSLATE (yychar); \ YYPOPSTACK; \ goto yybackup; \ } \ else \ - { yyerror ("syntax error: cannot back up"); YYERROR; } \ + { \ + yyerror ("syntax error: cannot back up");\ + YYERROR; \ + } \ while (0) #define YYTERROR 1 #define YYERRCODE 256 -#ifndef YYPURE -#define YYLEX yylex() -#endif +/* YYLLOC_DEFAULT -- Compute the default location (before the actions + are run). */ -#ifdef YYPURE -#ifdef YYLSP_NEEDED -#ifdef YYLEX_PARAM -#define YYLEX yylex(&yylval, &yylloc, YYLEX_PARAM) -#else -#define YYLEX yylex(&yylval, &yylloc) +#ifndef YYLLOC_DEFAULT +# define YYLLOC_DEFAULT(Current, Rhs, N) \ + ((Current).first_line = (Rhs)[1].first_line, \ + (Current).first_column = (Rhs)[1].first_column, \ + (Current).last_line = (Rhs)[N].last_line, \ + (Current).last_column = (Rhs)[N].last_column) #endif -#else /* not YYLSP_NEEDED */ + +/* YYLEX -- calling `yylex' with the right arguments. */ + #ifdef YYLEX_PARAM -#define YYLEX yylex(&yylval, YYLEX_PARAM) +# define YYLEX yylex (YYLEX_PARAM) #else -#define YYLEX yylex(&yylval) -#endif -#endif /* not YYLSP_NEEDED */ +# define YYLEX yylex () #endif -/* If nonreentrant, generate the variables here */ - -#ifndef YYPURE +/* Enable debugging if requested. */ +#if YYDEBUG + +# ifndef YYFPRINTF +# include <stdio.h> /* INFRINGES ON USER NAME SPACE */ +# define YYFPRINTF fprintf +# endif + +# define YYDPRINTF(Args) \ +do { \ + if (yydebug) \ + YYFPRINTF Args; \ +} while (0) + +# define YYDSYMPRINT(Args) \ +do { \ + if (yydebug) \ + yysymprint Args; \ +} while (0) + +# define YYDSYMPRINTF(Title, Token, Value, Location) \ +do { \ + if (yydebug) \ + { \ + YYFPRINTF (stderr, "%s ", Title); \ + yysymprint (stderr, \ + Token, Value); \ + YYFPRINTF (stderr, "\n"); \ + } \ +} while (0) -int yychar; /* the lookahead symbol */ -YYSTYPE yylval; /* the semantic value of the */ - /* lookahead symbol */ +/*------------------------------------------------------------------. +| yy_stack_print -- Print the state stack from its BOTTOM up to its | +| TOP (included). | +`------------------------------------------------------------------*/ -#ifdef YYLSP_NEEDED -YYLTYPE yylloc; /* location data for the lookahead */ - /* symbol */ +#if defined (__STDC__) || defined (__cplusplus) +static void +yy_stack_print (short *bottom, short *top) +#else +static void +yy_stack_print (bottom, top) + short *bottom; + short *top; #endif +{ + YYFPRINTF (stderr, "Stack now"); + for (/* Nothing. */; bottom <= top; ++bottom) + YYFPRINTF (stderr, " %d", *bottom); + YYFPRINTF (stderr, "\n"); +} -int yynerrs; /* number of parse errors so far */ -#endif /* not YYPURE */ +# define YY_STACK_PRINT(Bottom, Top) \ +do { \ + if (yydebug) \ + yy_stack_print ((Bottom), (Top)); \ +} while (0) -#if YYDEBUG != 0 -int yydebug; /* nonzero means print parse trace */ -/* Since this is uninitialized, it does not stop multiple parsers - from coexisting. */ -#endif -/* YYINITDEPTH indicates the initial size of the parser's stacks */ +/*------------------------------------------------. +| Report that the YYRULE is going to be reduced. | +`------------------------------------------------*/ + +#if defined (__STDC__) || defined (__cplusplus) +static void +yy_reduce_print (int yyrule) +#else +static void +yy_reduce_print (yyrule) + int yyrule; +#endif +{ + int yyi; + unsigned int yylno = yyrline[yyrule]; + YYFPRINTF (stderr, "Reducing stack by rule %d (line %u), ", + yyrule - 1, yylno); + /* Print the symbols being reduced, and their result. */ + for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++) + YYFPRINTF (stderr, "%s ", yytname [yyrhs[yyi]]); + YYFPRINTF (stderr, "-> %s\n", yytname [yyr1[yyrule]]); +} +# define YY_REDUCE_PRINT(Rule) \ +do { \ + if (yydebug) \ + yy_reduce_print (Rule); \ +} while (0) + +/* Nonzero means print parse trace. It is left uninitialized so that + multiple parsers can coexist. */ +int yydebug; +#else /* !YYDEBUG */ +# define YYDPRINTF(Args) +# define YYDSYMPRINT(Args) +# define YYDSYMPRINTF(Title, Token, Value, Location) +# define YY_STACK_PRINT(Bottom, Top) +# define YY_REDUCE_PRINT(Rule) +#endif /* !YYDEBUG */ + + +/* YYINITDEPTH -- initial size of the parser's stacks. */ #ifndef YYINITDEPTH -#define YYINITDEPTH 200 +# define YYINITDEPTH 200 #endif -/* YYMAXDEPTH is the maximum size the stacks can grow to - (effective only if the built-in stack extension method is used). */ +/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only + if the built-in stack extension method is used). -#if YYMAXDEPTH == 0 -#undef YYMAXDEPTH + Do not make this value too large; the results are undefined if + SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH) + evaluated with infinite-precision integer arithmetic. */ + +#if defined (YYMAXDEPTH) && YYMAXDEPTH == 0 +# undef YYMAXDEPTH #endif #ifndef YYMAXDEPTH -#define YYMAXDEPTH 10000 +# define YYMAXDEPTH 10000 #endif + -/* Define __yy_memcpy. Note that the size argument - should be passed with type unsigned int, because that is what the non-GCC - definitions require. With GCC, __builtin_memcpy takes an arg - of type size_t, but it can handle unsigned int. */ - -#if __GNUC__ > 1 /* GNU C and GNU C++ define this. */ -#define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT) -#else /* not GNU C or C++ */ -#ifndef __cplusplus - -/* This is the most reliable way to avoid incompatibilities - in available built-in functions on various systems. */ -static void -__yy_memcpy (to, from, count) - char *to; - char *from; - unsigned int count; + +#if YYERROR_VERBOSE + +# ifndef yystrlen +# if defined (__GLIBC__) && defined (_STRING_H) +# define yystrlen strlen +# else +/* Return the length of YYSTR. */ +static YYSIZE_T +# if defined (__STDC__) || defined (__cplusplus) +yystrlen (const char *yystr) +# else +yystrlen (yystr) + const char *yystr; +# endif { - register char *f = from; - register char *t = to; - register int i = count; + register const char *yys = yystr; + + while (*yys++ != '\0') + continue; - while (i-- > 0) - *t++ = *f++; + return yys - yystr - 1; +} +# endif +# endif + +# ifndef yystpcpy +# if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE) +# define yystpcpy stpcpy +# else +/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in + YYDEST. */ +static char * +# if defined (__STDC__) || defined (__cplusplus) +yystpcpy (char *yydest, const char *yysrc) +# else +yystpcpy (yydest, yysrc) + char *yydest; + const char *yysrc; +# endif +{ + register char *yyd = yydest; + register const char *yys = yysrc; + + while ((*yyd++ = *yys++) != '\0') + continue; + + return yyd - 1; } +# endif +# endif -#else /* __cplusplus */ +#endif /* !YYERROR_VERBOSE */ -/* This is the most reliable way to avoid incompatibilities - in available built-in functions on various systems. */ + + +#if YYDEBUG +/*--------------------------------. +| Print this symbol on YYOUTPUT. | +`--------------------------------*/ + +#if defined (__STDC__) || defined (__cplusplus) static void -__yy_memcpy (char *to, char *from, unsigned int count) +yysymprint (FILE *yyoutput, int yytype, YYSTYPE *yyvaluep) +#else +static void +yysymprint (yyoutput, yytype, yyvaluep) + FILE *yyoutput; + int yytype; + YYSTYPE *yyvaluep; +#endif { - register char *t = to; - register char *f = from; - register int i = count; + /* Pacify ``unused variable'' warnings. */ + (void) yyvaluep; - while (i-- > 0) - *t++ = *f++; + if (yytype < YYNTOKENS) + { + YYFPRINTF (yyoutput, "token %s (", yytname[yytype]); +# ifdef YYPRINT + YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); +# endif + } + else + YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]); + + switch (yytype) + { + default: + break; + } + YYFPRINTF (yyoutput, ")"); } +#endif /* ! YYDEBUG */ +/*-----------------------------------------------. +| Release the memory associated to this symbol. | +`-----------------------------------------------*/ + +#if defined (__STDC__) || defined (__cplusplus) +static void +yydestruct (int yytype, YYSTYPE *yyvaluep) +#else +static void +yydestruct (yytype, yyvaluep) + int yytype; + YYSTYPE *yyvaluep; #endif -#endif +{ + /* Pacify ``unused variable'' warnings. */ + (void) yyvaluep; + + switch (yytype) + { + + default: + break; + } +} -#line 217 "/usr/share/bison.simple" -/* The user can define YYPARSE_PARAM as the name of an argument to be passed - into yyparse. The argument should have type void *. - It should actually point to an object. - Grammar actions can access the variable by casting it - to the proper pointer type. */ +/* Prevent warnings from -Wmissing-prototypes. */ #ifdef YYPARSE_PARAM -#ifdef __cplusplus -#define YYPARSE_PARAM_ARG void *YYPARSE_PARAM -#define YYPARSE_PARAM_DECL -#else /* not __cplusplus */ -#define YYPARSE_PARAM_ARG YYPARSE_PARAM -#define YYPARSE_PARAM_DECL void *YYPARSE_PARAM; -#endif /* not __cplusplus */ -#else /* not YYPARSE_PARAM */ -#define YYPARSE_PARAM_ARG -#define YYPARSE_PARAM_DECL -#endif /* not YYPARSE_PARAM */ - -/* Prevent warning if -Wstrict-prototypes. */ -#ifdef __GNUC__ -#ifdef YYPARSE_PARAM -int yyparse (void *); -#else +# if defined (__STDC__) || defined (__cplusplus) +int yyparse (void *YYPARSE_PARAM); +# else +int yyparse (); +# endif +#else /* ! YYPARSE_PARAM */ +#if defined (__STDC__) || defined (__cplusplus) int yyparse (void); +#else +int yyparse (); #endif -#endif +#endif /* ! YYPARSE_PARAM */ + + + +/* The lookahead symbol. */ +int yychar; + +/* The semantic value of the lookahead symbol. */ +YYSTYPE yylval; + +/* Number of syntax errors so far. */ +int yynerrs; + + +/*----------. +| yyparse. | +`----------*/ + +#ifdef YYPARSE_PARAM +# if defined (__STDC__) || defined (__cplusplus) +int yyparse (void *YYPARSE_PARAM) +# else +int yyparse (YYPARSE_PARAM) + void *YYPARSE_PARAM; +# endif +#else /* ! YYPARSE_PARAM */ +#if defined (__STDC__) || defined (__cplusplus) int -yyparse(YYPARSE_PARAM_ARG) - YYPARSE_PARAM_DECL +yyparse (void) +#else +int +yyparse () + +#endif +#endif { + register int yystate; register int yyn; + int yyresult; + /* Number of tokens to shift before error messages enabled. */ + int yyerrstatus; + /* Lookahead token as an internal (translated) token number. */ + int yytoken = 0; + + /* Three stacks and their tools: + `yyss': related to states, + `yyvs': related to semantic values, + `yyls': related to locations. + + Refer to the stacks thru separate pointers, to allow yyoverflow + to reallocate them elsewhere. */ + + /* The state stack. */ + short yyssa[YYINITDEPTH]; + short *yyss = yyssa; register short *yyssp; - register YYSTYPE *yyvsp; - int yyerrstatus; /* number of tokens to shift before error messages enabled */ - int yychar1 = 0; /* lookahead token as an internal (translated) token number */ - short yyssa[YYINITDEPTH]; /* the state stack */ - YYSTYPE yyvsa[YYINITDEPTH]; /* the semantic value stack */ + /* The semantic value stack. */ + YYSTYPE yyvsa[YYINITDEPTH]; + YYSTYPE *yyvs = yyvsa; + register YYSTYPE *yyvsp; - short *yyss = yyssa; /* refer to the stacks thru separate pointers */ - YYSTYPE *yyvs = yyvsa; /* to allow yyoverflow to reallocate them elsewhere */ -#ifdef YYLSP_NEEDED - YYLTYPE yylsa[YYINITDEPTH]; /* the location stack */ - YYLTYPE *yyls = yylsa; - YYLTYPE *yylsp; -#define YYPOPSTACK (yyvsp--, yyssp--, yylsp--) -#else #define YYPOPSTACK (yyvsp--, yyssp--) -#endif - int yystacksize = YYINITDEPTH; - int yyfree_stacks = 0; + YYSIZE_T yystacksize = YYINITDEPTH; -#ifdef YYPURE - int yychar; - YYSTYPE yylval; - int yynerrs; -#ifdef YYLSP_NEEDED - YYLTYPE yylloc; -#endif -#endif + /* The variables used to return semantic value and location from the + action routines. */ + YYSTYPE yyval; - YYSTYPE yyval; /* the variable used to return */ - /* semantic values from the action */ - /* routines */ + /* When reducing, the number of symbols on the RHS of the reduced + rule. */ int yylen; -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Starting parse\n"); -#endif + YYDPRINTF ((stderr, "Starting parse\n")); yystate = 0; yyerrstatus = 0; @@ -4444,110 +5379,96 @@ yyparse(YYPARSE_PARAM_ARG) so that they stay on the same level as the state stack. The wasted elements are never initialized. */ - yyssp = yyss - 1; + yyssp = yyss; yyvsp = yyvs; -#ifdef YYLSP_NEEDED - yylsp = yyls; -#endif -/* Push a new state, which is found in yystate . */ -/* In all cases, when you get here, the value and location stacks - have just been pushed. so pushing a state here evens the stacks. */ -yynewstate: + goto yysetstate; - *++yyssp = yystate; +/*------------------------------------------------------------. +| yynewstate -- Push a new state, which is found in yystate. | +`------------------------------------------------------------*/ + yynewstate: + /* In all cases, when you get here, the value and location stacks + have just been pushed. so pushing a state here evens the stacks. + */ + yyssp++; - if (yyssp >= yyss + yystacksize - 1) - { - /* Give user a chance to reallocate the stack */ - /* Use copies of these so that the &'s don't force the real ones into memory. */ - YYSTYPE *yyvs1 = yyvs; - short *yyss1 = yyss; -#ifdef YYLSP_NEEDED - YYLTYPE *yyls1 = yyls; -#endif + yysetstate: + *yyssp = yystate; + if (yyss + yystacksize - 1 <= yyssp) + { /* Get the current used size of the three stacks, in elements. */ - int size = yyssp - yyss + 1; + YYSIZE_T yysize = yyssp - yyss + 1; #ifdef yyoverflow - /* Each stack pointer address is followed by the size of - the data in use in that stack, in bytes. */ -#ifdef YYLSP_NEEDED - /* This used to be a conditional around just the two extra args, - but that might be undefined if yyoverflow is a macro. */ - yyoverflow("parser stack overflow", - &yyss1, size * sizeof (*yyssp), - &yyvs1, size * sizeof (*yyvsp), - &yyls1, size * sizeof (*yylsp), - &yystacksize); -#else - yyoverflow("parser stack overflow", - &yyss1, size * sizeof (*yyssp), - &yyvs1, size * sizeof (*yyvsp), - &yystacksize); -#endif + { + /* Give user a chance to reallocate the stack. Use copies of + these so that the &'s don't force the real ones into + memory. */ + YYSTYPE *yyvs1 = yyvs; + short *yyss1 = yyss; - yyss = yyss1; yyvs = yyvs1; -#ifdef YYLSP_NEEDED - yyls = yyls1; -#endif + + /* Each stack pointer address is followed by the size of the + data in use in that stack, in bytes. This used to be a + conditional around just the two extra args, but that might + be undefined if yyoverflow is a macro. */ + yyoverflow ("parser stack overflow", + &yyss1, yysize * sizeof (*yyssp), + &yyvs1, yysize * sizeof (*yyvsp), + + &yystacksize); + + yyss = yyss1; + yyvs = yyvs1; + } #else /* no yyoverflow */ +# ifndef YYSTACK_RELOCATE + goto yyoverflowlab; +# else /* Extend the stack our own way. */ - if (yystacksize >= YYMAXDEPTH) - { - yyerror("parser stack overflow"); - if (yyfree_stacks) - { - free (yyss); - free (yyvs); -#ifdef YYLSP_NEEDED - free (yyls); -#endif - } - return 2; - } + if (YYMAXDEPTH <= yystacksize) + goto yyoverflowlab; yystacksize *= 2; - if (yystacksize > YYMAXDEPTH) + if (YYMAXDEPTH < yystacksize) yystacksize = YYMAXDEPTH; -#ifndef YYSTACK_USE_ALLOCA - yyfree_stacks = 1; -#endif - yyss = (short *) YYSTACK_ALLOC (yystacksize * sizeof (*yyssp)); - __yy_memcpy ((char *)yyss, (char *)yyss1, - size * (unsigned int) sizeof (*yyssp)); - yyvs = (YYSTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yyvsp)); - __yy_memcpy ((char *)yyvs, (char *)yyvs1, - size * (unsigned int) sizeof (*yyvsp)); -#ifdef YYLSP_NEEDED - yyls = (YYLTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yylsp)); - __yy_memcpy ((char *)yyls, (char *)yyls1, - size * (unsigned int) sizeof (*yylsp)); -#endif + + { + short *yyss1 = yyss; + union yyalloc *yyptr = + (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); + if (! yyptr) + goto yyoverflowlab; + YYSTACK_RELOCATE (yyss); + YYSTACK_RELOCATE (yyvs); + +# undef YYSTACK_RELOCATE + if (yyss1 != yyssa) + YYSTACK_FREE (yyss1); + } +# endif #endif /* no yyoverflow */ - yyssp = yyss + size - 1; - yyvsp = yyvs + size - 1; -#ifdef YYLSP_NEEDED - yylsp = yyls + size - 1; -#endif + yyssp = yyss + yysize - 1; + yyvsp = yyvs + yysize - 1; -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Stack size increased to %d\n", yystacksize); -#endif - if (yyssp >= yyss + yystacksize - 1) + YYDPRINTF ((stderr, "Stack size increased to %lu\n", + (unsigned long int) yystacksize)); + + if (yyss + yystacksize - 1 <= yyssp) YYABORT; } -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Entering state %d\n", yystate); -#endif + YYDPRINTF ((stderr, "Entering state %d\n", yystate)); goto yybackup; - yybackup: + +/*-----------. +| yybackup. | +`-----------*/ +yybackup: /* Do appropriate processing given the current state. */ /* Read a lookahead token if we need one and don't already have one. */ @@ -4556,165 +5477,134 @@ yynewstate: /* First try to decide what to do without reference to lookahead token. */ yyn = yypact[yystate]; - if (yyn == YYFLAG) + if (yyn == YYPACT_NINF) goto yydefault; /* Not known => get a lookahead token if don't already have one. */ - /* yychar is either YYEMPTY or YYEOF - or a valid token in external form. */ - + /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */ if (yychar == YYEMPTY) { -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Reading a token: "); -#endif + YYDPRINTF ((stderr, "Reading a token: ")); yychar = YYLEX; } - /* Convert token to internal form (in yychar1) for indexing tables with */ - - if (yychar <= 0) /* This means end of input. */ + if (yychar <= YYEOF) { - yychar1 = 0; - yychar = YYEOF; /* Don't call YYLEX any more */ - -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Now at end of input.\n"); -#endif + yychar = yytoken = YYEOF; + YYDPRINTF ((stderr, "Now at end of input.\n")); } else { - yychar1 = YYTRANSLATE(yychar); - -#if YYDEBUG != 0 - if (yydebug) - { - fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]); - /* Give the individual parser a way to print the precise meaning - of a token, for further debugging info. */ -#ifdef YYPRINT - YYPRINT (stderr, yychar, yylval); -#endif - fprintf (stderr, ")\n"); - } -#endif + yytoken = YYTRANSLATE (yychar); + YYDSYMPRINTF ("Next token is", yytoken, &yylval, &yylloc); } - yyn += yychar1; - if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1) + /* If the proper action on seeing token YYTOKEN is to reduce or to + detect an error, take that action. */ + yyn += yytoken; + if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken) goto yydefault; - yyn = yytable[yyn]; - - /* yyn is what to do for this token type in this state. - Negative => reduce, -yyn is rule number. - Positive => shift, yyn is new state. - New state is final state => don't bother to shift, - just return success. - 0, or most negative number => error. */ - - if (yyn < 0) + if (yyn <= 0) { - if (yyn == YYFLAG) + if (yyn == 0 || yyn == YYTABLE_NINF) goto yyerrlab; yyn = -yyn; goto yyreduce; } - else if (yyn == 0) - goto yyerrlab; if (yyn == YYFINAL) YYACCEPT; /* Shift the lookahead token. */ - -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]); -#endif + YYDPRINTF ((stderr, "Shifting token %s, ", yytname[yytoken])); /* Discard the token being shifted unless it is eof. */ if (yychar != YYEOF) yychar = YYEMPTY; *++yyvsp = yylval; -#ifdef YYLSP_NEEDED - *++yylsp = yylloc; -#endif - /* count tokens shifted since error; after three, turn off error status. */ - if (yyerrstatus) yyerrstatus--; + + /* Count tokens shifted since error; after three, turn off error + status. */ + if (yyerrstatus) + yyerrstatus--; yystate = yyn; goto yynewstate; -/* Do the default action for the current state. */ -yydefault: +/*-----------------------------------------------------------. +| yydefault -- do the default action for the current state. | +`-----------------------------------------------------------*/ +yydefault: yyn = yydefact[yystate]; if (yyn == 0) goto yyerrlab; + goto yyreduce; -/* Do a reduction. yyn is the number of a rule to reduce with. */ + +/*-----------------------------. +| yyreduce -- Do a reduction. | +`-----------------------------*/ yyreduce: + /* yyn is the number of a rule to reduce with. */ yylen = yyr2[yyn]; - if (yylen > 0) - yyval = yyvsp[1-yylen]; /* implement default value of the action */ -#if YYDEBUG != 0 - if (yydebug) - { - int i; + /* If YYLEN is nonzero, implement the default value of the action: + `$$ = $1'. - fprintf (stderr, "Reducing via rule %d (line %d), ", - yyn, yyrline[yyn]); + Otherwise, the following line sets YYVAL to garbage. + This behavior is undocumented and Bison + users should not rely upon it. Assigning to YYVAL + unconditionally makes the parser a bit smaller, and it avoids a + GCC warning that YYVAL may be used uninitialized. */ + yyval = yyvsp[1-yylen]; - /* Print the symbols being reduced, and their result. */ - for (i = yyprhs[yyn]; yyrhs[i] > 0; i++) - fprintf (stderr, "%s ", yytname[yyrhs[i]]); - fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]); - } -#endif - - switch (yyn) { - -case 4: + YY_REDUCE_PRINT (yyn); + switch (yyn) + { + case 5: #line 171 "Gmsh.y" -{ yyerrok; return 1; ; - break;} -case 5: + { yyerrok; return 1; ;} + break; + + case 6: #line 177 "Gmsh.y" -{ yyval.d = yyvsp[0].d; ; - break;} -case 6: + { yyval.d = yyvsp[0].d; ;} + break; + + case 7: #line 178 "Gmsh.y" -{ yyval.d = -yyvsp[0].d; ; - break;} -case 9: + { yyval.d = -yyvsp[0].d; ;} + break; + + case 10: #line 188 "Gmsh.y" -{ + { yymsg(INFO, "Reading STL solid"); STL_Surf = Create_Surface(NEWSURFACE(), MSH_SURF_STL); STL_Surf->STL = new STL_Data; return 1; - ; - break;} -case 10: + ;} + break; + + case 11: #line 202 "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, yyvsp[-4].d, yyvsp[-3].d, yyvsp[-2].d, CTX.geom.stl_create_elementary); return 1; - ; - break;} -case 11: + ;} + break; + + case 12: #line 209 "Gmsh.y" -{ + { if(CTX.geom.stl_create_elementary){ STL_Surf->STL->ReplaceDuplicate(); if(CTX.geom.stl_create_physical) @@ -4725,288 +5615,342 @@ case 11: } yymsg(INFO, "Read STL solid"); return 1; - ; - break;} -case 14: + ;} + break; + + case 15: #line 231 "Gmsh.y" -{ return 1; ; - break;} -case 15: + { return 1; ;} + break; + + case 16: #line 232 "Gmsh.y" -{ return 1; ; - break;} -case 16: + { return 1; ;} + break; + + case 17: #line 233 "Gmsh.y" -{ return 1; ; - break;} -case 17: + { return 1; ;} + break; + + case 18: #line 238 "Gmsh.y" -{ + { yymsg(INFO, "Reading Step Iso-10303-21 data"); Create_Step_Solid_BRep(); - ; - break;} -case 18: + ;} + break; + + case 19: #line 243 "Gmsh.y" -{ + { Resolve_BREP (); yymsg(INFO, "Read Step Iso-10303-21 data"); - ; - break;} -case 22: + ;} + break; + + case 23: #line 254 "Gmsh.y" -{ - ; - break;} -case 23: + { + ;} + break; + + case 24: #line 257 "Gmsh.y" -{ - ; - break;} -case 24: + { + ;} + break; + + case 25: #line 261 "Gmsh.y" -{ - ; - break;} -case 25: + { + ;} + break; + + case 26: #line 267 "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 26: + ;} + break; + + case 27: #line 273 "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 27: + ;} + break; + + case 28: #line 280 "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 28: + ;} + break; + + case 29: #line 286 "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 29: + ;} + break; + + case 30: #line 290 "Gmsh.y" -{ + { Add_Face_Outer_Bound((int)yyvsp[-10].d, yyvsp[-6].c, (int)yyvsp[-4].d, yyvsp[-2].i, 1); - ; - break;} -case 30: + ;} + break; + + case 31: #line 294 "Gmsh.y" -{ + { // check the norm! Face_Bound : hole outside surface! yymsg(INFO, "Found a face bound"); Add_Face_Outer_Bound((int)yyvsp[-10].d, yyvsp[-6].c, (int)yyvsp[-4].d, yyvsp[-2].i, 0); - ; - break;} -case 31: + ;} + break; + + case 32: #line 301 "Gmsh.y" -{ + { Add_Oriented_Edge((int)yyvsp[-14].d, yyvsp[-10].c, (int)yyvsp[-4].d, yyvsp[-2].i); - ; - break;} -case 32: + ;} + break; + + case 33: #line 305 "Gmsh.y" -{ + { Add_Edge_Loop((int)yyvsp[-8].d, yyvsp[-4].c, yyvsp[-2].l); - ; - break;} -case 33: + ;} + break; + + case 34: #line 310 "Gmsh.y" -{ + { Add_Advanced_Face((int)yyvsp[-12].d, yyvsp[-8].c, yyvsp[-6].l, (int)yyvsp[-4].d, yyvsp[-2].i); - ; - break;} -case 34: + ;} + break; + + case 35: #line 314 "Gmsh.y" -{ + { Add_Vertex_Point((int)yyvsp[-8].d, yyvsp[-4].c, (int)yyvsp[-2].d); - ; - break;} -case 35: + ;} + break; + + case 36: #line 318 "Gmsh.y" -{ - ; - break;} -case 36: + { + ;} + break; + + case 37: #line 322 "Gmsh.y" -{ + { Add_Axis2_Placement3D ((int)yyvsp[-12].d, (int)yyvsp[-4].d, (int)yyvsp[-2].d, (int)yyvsp[-6].d); - ; - break;} -case 37: + ;} + break; + + case 38: #line 326 "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 38: + ;} + break; + + case 39: #line 330 "Gmsh.y" -{ + { Add_Plane((int)yyvsp[-8].d, yyvsp[-4].c, (int)yyvsp[-2].d); - ; - break;} -case 39: + ;} + break; + + case 40: #line 334 "Gmsh.y" -{ + { Add_Line ((int)yyvsp[-10].d, yyvsp[-6].c , (int) yyvsp[-4].d, (int)yyvsp[-2].d); - ; - break;} -case 40: + ;} + break; + + case 41: #line 338 "Gmsh.y" -{ + { yymsg(INFO, "Found a closed shell"); Add_Closed_Shell((int)yyvsp[-8].d, yyvsp[-4].c , yyvsp[-2].l); - ; - break;} -case 41: + ;} + break; + + case 42: #line 344 "Gmsh.y" -{ - ; - break;} -case 42: + { + ;} + break; + + case 43: #line 347 "Gmsh.y" -{ - ; - break;} -case 43: + { + ;} + break; + + case 44: #line 350 "Gmsh.y" -{ + { Add_Cylinder ((int)yyvsp[-10].d, yyvsp[-6].c , (int)yyvsp[-4].d, yyvsp[-2].d); - ; - break;} -case 44: + ;} + break; + + case 45: #line 354 "Gmsh.y" -{ + { Add_Cone ((int)yyvsp[-12].d, yyvsp[-8].c , (int)yyvsp[-6].d, yyvsp[-4].d, yyvsp[-2].d); - ; - break;} -case 45: + ;} + break; + + case 46: #line 358 "Gmsh.y" -{ + { Add_Torus ((int)yyvsp[-12].d, yyvsp[-8].c , (int)yyvsp[-6].d, yyvsp[-4].d, yyvsp[-2].d); - ; - break;} -case 46: + ;} + break; + + case 47: #line 362 "Gmsh.y" -{ + { Add_Circle((int) yyvsp[-10].d, yyvsp[-6].c, (int) yyvsp[-4].d, yyvsp[-2].d); - ; - break;} -case 47: + ;} + break; + + case 48: #line 366 "Gmsh.y" -{ + { Add_Ellipse((int) yyvsp[-12].d, yyvsp[-8].c, (int) yyvsp[-6].d, yyvsp[-4].d, yyvsp[-2].d); - ; - break;} -case 48: + ;} + break; + + case 49: #line 371 "Gmsh.y" -{ - ; - break;} -case 49: + { + ;} + break; + + case 50: #line 374 "Gmsh.y" -{ - ; - break;} -case 50: + { + ;} + break; + + case 51: #line 378 "Gmsh.y" -{ - ; - break;} -case 51: + { + ;} + break; + + case 52: #line 381 "Gmsh.y" -{ - ; - break;} -case 52: + { + ;} + break; + + case 53: #line 385 "Gmsh.y" -{ - ; - break;} -case 53: + { + ;} + break; + + case 54: #line 388 "Gmsh.y" -{ - ; - break;} -case 54: + { + ;} + break; + + case 55: #line 391 "Gmsh.y" -{ - ; - break;} -case 57: + { + ;} + break; + + case 58: #line 403 "Gmsh.y" -{ return 1; ; - break;} -case 58: + { return 1; ;} + break; + + case 59: #line 404 "Gmsh.y" -{ return 1; ; - break;} -case 59: + { return 1; ;} + break; + + case 60: #line 405 "Gmsh.y" -{ return 1; ; - break;} -case 60: + { return 1; ;} + break; + + case 61: #line 406 "Gmsh.y" -{ return 1; ; - break;} -case 61: + { return 1; ;} + break; + + case 62: #line 407 "Gmsh.y" -{ List_Delete(yyvsp[0].l); return 1; ; - break;} -case 62: + { List_Delete(yyvsp[0].l); return 1; ;} + break; + + case 63: #line 408 "Gmsh.y" -{ List_Delete(yyvsp[0].l); return 1; ; - break;} -case 63: + { List_Delete(yyvsp[0].l); return 1; ;} + break; + + case 64: #line 409 "Gmsh.y" -{ return 1; ; - break;} -case 64: + { return 1; ;} + break; + + case 65: #line 410 "Gmsh.y" -{ return 1; ; - break;} -case 65: + { return 1; ;} + break; + + case 66: #line 411 "Gmsh.y" -{ return 1; ; - break;} -case 66: + { return 1; ;} + break; + + case 67: #line 412 "Gmsh.y" -{ List_Delete(yyvsp[0].l); return 1; ; - break;} -case 67: + { List_Delete(yyvsp[0].l); return 1; ;} + break; + + case 68: #line 413 "Gmsh.y" -{ return 1; ; - break;} -case 68: + { return 1; ;} + break; + + case 69: #line 414 "Gmsh.y" -{ return 1; ; - break;} -case 69: + { return 1; ;} + break; + + case 70: #line 415 "Gmsh.y" -{ return 1; ; - break;} -case 70: + { return 1; ;} + break; + + case 71: #line 416 "Gmsh.y" -{ return 1; ; - break;} -case 71: + { return 1; ;} + break; + + case 72: #line 421 "Gmsh.y" -{ + { Msg(DIRECT, yyvsp[-2].c); - ; - break;} -case 72: + ;} + break; + + case 73: #line 425 "Gmsh.y" -{ + { char tmpstring[1024]; int i = PrintListOfDouble(yyvsp[-4].c, yyvsp[-2].l, tmpstring); if(i < 0) @@ -5016,181 +5960,211 @@ case 72: else Msg(DIRECT, tmpstring); List_Delete(yyvsp[-2].l); - ; - break;} -case 73: + ;} + break; + + case 74: #line 442 "Gmsh.y" -{ + { if(!strcmp(yyvsp[-5].c, "View") && !CheckViewErrorFlags(View)) EndView(View, 1, yyname, yyvsp[-4].c); - ; - break;} -case 74: + ;} + break; + + case 75: #line 447 "Gmsh.y" -{ + { if(!strcmp(yyvsp[-7].c, "View") && !CheckViewErrorFlags(View)) EndView(View, 1, yyname, yyvsp[-6].c); - ; - break;} -case 75: + ;} + break; + + case 76: #line 455 "Gmsh.y" -{ + { View = BeginView(1); for(int i = 0; i < VIEW_NB_ELEMENT_TYPES; i++){ ViewErrorFlags[i] = 0; } - ; - break;} -case 103: + ;} + break; + + case 104: #line 492 "Gmsh.y" -{ List_Add(View->SP, &yyvsp[0].d); ; - break;} -case 104: + { List_Add(View->SP, &yyvsp[0].d); ;} + break; + + case 105: #line 494 "Gmsh.y" -{ List_Add(View->SP, &yyvsp[0].d); ; - break;} -case 105: + { List_Add(View->SP, &yyvsp[0].d); ;} + break; + + case 106: #line 499 "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 106: + ;} + break; + + case 107: #line 504 "Gmsh.y" -{ + { View->NbSP++; - ; - break;} -case 107: + ;} + break; + + case 108: #line 511 "Gmsh.y" -{ List_Add(View->VP, &yyvsp[0].d); ; - break;} -case 108: + { List_Add(View->VP, &yyvsp[0].d); ;} + break; + + case 109: #line 513 "Gmsh.y" -{ List_Add(View->VP, &yyvsp[0].d); ; - break;} -case 109: + { List_Add(View->VP, &yyvsp[0].d); ;} + break; + + case 110: #line 518 "Gmsh.y" -{ + { List_Add(View->VP, &yyvsp[-5].d); List_Add(View->VP, &yyvsp[-3].d); List_Add(View->VP, &yyvsp[-1].d); ntmp = List_Nbr(View->VP); - ; - break;} -case 110: + ;} + break; + + case 111: #line 524 "Gmsh.y" -{ + { if((List_Nbr(View->VP) - ntmp) % 3) ViewErrorFlags[1]++; View->NbVP++; - ; - break;} -case 111: + ;} + break; + + case 112: #line 532 "Gmsh.y" -{ List_Add(View->TP, &yyvsp[0].d); ; - break;} -case 112: + { List_Add(View->TP, &yyvsp[0].d); ;} + break; + + case 113: #line 534 "Gmsh.y" -{ List_Add(View->TP, &yyvsp[0].d); ; - break;} -case 113: + { List_Add(View->TP, &yyvsp[0].d); ;} + break; + + case 114: #line 539 "Gmsh.y" -{ + { List_Add(View->TP, &yyvsp[-5].d); List_Add(View->TP, &yyvsp[-3].d); List_Add(View->TP, &yyvsp[-1].d); ntmp = List_Nbr(View->TP); - ; - break;} -case 114: + ;} + break; + + case 115: #line 545 "Gmsh.y" -{ + { if((List_Nbr(View->TP) - ntmp) % 9) ViewErrorFlags[2]++; View->NbTP++; - ; - break;} -case 115: + ;} + break; + + case 116: #line 553 "Gmsh.y" -{ List_Add(View->SL, &yyvsp[0].d); ; - break;} -case 116: + { List_Add(View->SL, &yyvsp[0].d); ;} + break; + + case 117: #line 555 "Gmsh.y" -{ List_Add(View->SL, &yyvsp[0].d); ; - break;} -case 117: + { List_Add(View->SL, &yyvsp[0].d); ;} + break; + + case 118: #line 561 "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); ntmp = List_Nbr(View->SL); - ; - break;} -case 118: + ;} + break; + + case 119: #line 568 "Gmsh.y" -{ + { if((List_Nbr(View->SL) - ntmp) % 2) ViewErrorFlags[3]++; View->NbSL++; - ; - break;} -case 119: + ;} + break; + + case 120: #line 576 "Gmsh.y" -{ List_Add(View->VL, &yyvsp[0].d); ; - break;} -case 120: + { List_Add(View->VL, &yyvsp[0].d); ;} + break; + + case 121: #line 578 "Gmsh.y" -{ List_Add(View->VL, &yyvsp[0].d); ; - break;} -case 121: + { List_Add(View->VL, &yyvsp[0].d); ;} + break; + + case 122: #line 584 "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); ntmp = List_Nbr(View->VL); - ; - break;} -case 122: + ;} + break; + + case 123: #line 591 "Gmsh.y" -{ + { if((List_Nbr(View->VL) - ntmp) % 6) ViewErrorFlags[4]++; View->NbVL++; - ; - break;} -case 123: + ;} + break; + + case 124: #line 599 "Gmsh.y" -{ List_Add(View->TL, &yyvsp[0].d); ; - break;} -case 124: + { List_Add(View->TL, &yyvsp[0].d); ;} + break; + + case 125: #line 601 "Gmsh.y" -{ List_Add(View->TL, &yyvsp[0].d); ; - break;} -case 125: + { List_Add(View->TL, &yyvsp[0].d); ;} + break; + + case 126: #line 607 "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); ntmp = List_Nbr(View->TL); - ; - break;} -case 126: + ;} + break; + + case 127: #line 614 "Gmsh.y" -{ + { if((List_Nbr(View->TL) - ntmp) % 18) ViewErrorFlags[5]++; View->NbTL++; - ; - break;} -case 127: + ;} + break; + + case 128: #line 622 "Gmsh.y" -{ List_Add(View->ST, &yyvsp[0].d); ; - break;} -case 128: + { List_Add(View->ST, &yyvsp[0].d); ;} + break; + + case 129: #line 624 "Gmsh.y" -{ List_Add(View->ST, &yyvsp[0].d); ; - break;} -case 129: + { List_Add(View->ST, &yyvsp[0].d); ;} + break; + + case 130: #line 631 "Gmsh.y" -{ + { List_Add(View->ST, &yyvsp[-17].d); List_Add(View->ST, &yyvsp[-11].d); List_Add(View->ST, &yyvsp[-5].d); List_Add(View->ST, &yyvsp[-15].d); List_Add(View->ST, &yyvsp[-9].d); @@ -5198,26 +6172,30 @@ case 129: List_Add(View->ST, &yyvsp[-13].d); List_Add(View->ST, &yyvsp[-7].d); List_Add(View->ST, &yyvsp[-1].d); ntmp = List_Nbr(View->ST); - ; - break;} -case 130: + ;} + break; + + case 131: #line 641 "Gmsh.y" -{ + { if((List_Nbr(View->ST) - ntmp) % 3) ViewErrorFlags[6]++; View->NbST++; - ; - break;} -case 131: + ;} + break; + + case 132: #line 649 "Gmsh.y" -{ List_Add(View->VT, &yyvsp[0].d); ; - break;} -case 132: + { List_Add(View->VT, &yyvsp[0].d); ;} + break; + + case 133: #line 651 "Gmsh.y" -{ List_Add(View->VT, &yyvsp[0].d); ; - break;} -case 133: + { List_Add(View->VT, &yyvsp[0].d); ;} + break; + + case 134: #line 658 "Gmsh.y" -{ + { List_Add(View->VT, &yyvsp[-17].d); List_Add(View->VT, &yyvsp[-11].d); List_Add(View->VT, &yyvsp[-5].d); List_Add(View->VT, &yyvsp[-15].d); List_Add(View->VT, &yyvsp[-9].d); @@ -5225,26 +6203,30 @@ case 133: List_Add(View->VT, &yyvsp[-13].d); List_Add(View->VT, &yyvsp[-7].d); List_Add(View->VT, &yyvsp[-1].d); ntmp = List_Nbr(View->VT); - ; - break;} -case 134: + ;} + break; + + case 135: #line 668 "Gmsh.y" -{ + { if((List_Nbr(View->VT) - ntmp) % 9) ViewErrorFlags[7]++; View->NbVT++; - ; - break;} -case 135: + ;} + break; + + case 136: #line 676 "Gmsh.y" -{ List_Add(View->TT, &yyvsp[0].d); ; - break;} -case 136: + { List_Add(View->TT, &yyvsp[0].d); ;} + break; + + case 137: #line 678 "Gmsh.y" -{ List_Add(View->TT, &yyvsp[0].d); ; - break;} -case 137: + { List_Add(View->TT, &yyvsp[0].d); ;} + break; + + case 138: #line 685 "Gmsh.y" -{ + { List_Add(View->TT, &yyvsp[-17].d); List_Add(View->TT, &yyvsp[-11].d); List_Add(View->TT, &yyvsp[-5].d); List_Add(View->TT, &yyvsp[-15].d); List_Add(View->TT, &yyvsp[-9].d); @@ -5252,26 +6234,30 @@ case 137: List_Add(View->TT, &yyvsp[-13].d); List_Add(View->TT, &yyvsp[-7].d); List_Add(View->TT, &yyvsp[-1].d); ntmp = List_Nbr(View->TT); - ; - break;} -case 138: + ;} + break; + + case 139: #line 695 "Gmsh.y" -{ + { if((List_Nbr(View->TT) - ntmp) % 27) ViewErrorFlags[8]++; View->NbTT++; - ; - break;} -case 139: + ;} + break; + + case 140: #line 703 "Gmsh.y" -{ List_Add(View->SQ, &yyvsp[0].d); ; - break;} -case 140: + { List_Add(View->SQ, &yyvsp[0].d); ;} + break; + + case 141: #line 705 "Gmsh.y" -{ List_Add(View->SQ, &yyvsp[0].d); ; - break;} -case 141: + { List_Add(View->SQ, &yyvsp[0].d); ;} + break; + + case 142: #line 713 "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); List_Add(View->SQ, &yyvsp[-21].d); List_Add(View->SQ, &yyvsp[-15].d); @@ -5279,26 +6265,30 @@ case 141: List_Add(View->SQ, &yyvsp[-19].d); List_Add(View->SQ, &yyvsp[-13].d); List_Add(View->SQ, &yyvsp[-7].d); List_Add(View->SQ, &yyvsp[-1].d); ntmp = List_Nbr(View->SQ); - ; - break;} -case 142: + ;} + break; + + case 143: #line 723 "Gmsh.y" -{ + { if((List_Nbr(View->SQ) - ntmp) % 4) ViewErrorFlags[9]++; View->NbSQ++; - ; - break;} -case 143: + ;} + break; + + case 144: #line 731 "Gmsh.y" -{ List_Add(View->VQ, &yyvsp[0].d); ; - break;} -case 144: + { List_Add(View->VQ, &yyvsp[0].d); ;} + break; + + case 145: #line 733 "Gmsh.y" -{ List_Add(View->VQ, &yyvsp[0].d); ; - break;} -case 145: + { List_Add(View->VQ, &yyvsp[0].d); ;} + break; + + case 146: #line 741 "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); List_Add(View->VQ, &yyvsp[-21].d); List_Add(View->VQ, &yyvsp[-15].d); @@ -5306,26 +6296,30 @@ case 145: List_Add(View->VQ, &yyvsp[-19].d); List_Add(View->VQ, &yyvsp[-13].d); List_Add(View->VQ, &yyvsp[-7].d); List_Add(View->VQ, &yyvsp[-1].d); ntmp = List_Nbr(View->VQ); - ; - break;} -case 146: + ;} + break; + + case 147: #line 751 "Gmsh.y" -{ + { if((List_Nbr(View->VQ) - ntmp) % 12) ViewErrorFlags[10]++; View->NbVQ++; - ; - break;} -case 147: + ;} + break; + + case 148: #line 759 "Gmsh.y" -{ List_Add(View->TQ, &yyvsp[0].d); ; - break;} -case 148: + { List_Add(View->TQ, &yyvsp[0].d); ;} + break; + + case 149: #line 761 "Gmsh.y" -{ List_Add(View->TQ, &yyvsp[0].d); ; - break;} -case 149: + { List_Add(View->TQ, &yyvsp[0].d); ;} + break; + + case 150: #line 769 "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); List_Add(View->TQ, &yyvsp[-21].d); List_Add(View->TQ, &yyvsp[-15].d); @@ -5333,26 +6327,30 @@ case 149: List_Add(View->TQ, &yyvsp[-19].d); List_Add(View->TQ, &yyvsp[-13].d); List_Add(View->TQ, &yyvsp[-7].d); List_Add(View->TQ, &yyvsp[-1].d); ntmp = List_Nbr(View->TQ); - ; - break;} -case 150: + ;} + break; + + case 151: #line 779 "Gmsh.y" -{ + { if((List_Nbr(View->TQ) - ntmp) % 36) ViewErrorFlags[11]++; View->NbTQ++; - ; - break;} -case 151: + ;} + break; + + case 152: #line 787 "Gmsh.y" -{ List_Add(View->SS, &yyvsp[0].d); ; - break;} -case 152: + { List_Add(View->SS, &yyvsp[0].d); ;} + break; + + case 153: #line 789 "Gmsh.y" -{ List_Add(View->SS, &yyvsp[0].d); ; - break;} -case 153: + { List_Add(View->SS, &yyvsp[0].d); ;} + break; + + case 154: #line 797 "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); List_Add(View->SS, &yyvsp[-21].d); List_Add(View->SS, &yyvsp[-15].d); @@ -5360,26 +6358,30 @@ case 153: List_Add(View->SS, &yyvsp[-19].d); List_Add(View->SS, &yyvsp[-13].d); List_Add(View->SS, &yyvsp[-7].d); List_Add(View->SS, &yyvsp[-1].d); ntmp = List_Nbr(View->SS); - ; - break;} -case 154: + ;} + break; + + case 155: #line 807 "Gmsh.y" -{ + { if((List_Nbr(View->SS) - ntmp) % 4) ViewErrorFlags[12]++; View->NbSS++; - ; - break;} -case 155: + ;} + break; + + case 156: #line 815 "Gmsh.y" -{ List_Add(View->VS, &yyvsp[0].d); ; - break;} -case 156: + { List_Add(View->VS, &yyvsp[0].d); ;} + break; + + case 157: #line 817 "Gmsh.y" -{ List_Add(View->VS, &yyvsp[0].d); ; - break;} -case 157: + { List_Add(View->VS, &yyvsp[0].d); ;} + break; + + case 158: #line 825 "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); List_Add(View->VS, &yyvsp[-21].d); List_Add(View->VS, &yyvsp[-15].d); @@ -5387,26 +6389,30 @@ case 157: List_Add(View->VS, &yyvsp[-19].d); List_Add(View->VS, &yyvsp[-13].d); List_Add(View->VS, &yyvsp[-7].d); List_Add(View->VS, &yyvsp[-1].d); ntmp = List_Nbr(View->VS); - ; - break;} -case 158: + ;} + break; + + case 159: #line 835 "Gmsh.y" -{ + { if((List_Nbr(View->VS) - ntmp) % 12) ViewErrorFlags[13]++; View->NbVS++; - ; - break;} -case 159: + ;} + break; + + case 160: #line 843 "Gmsh.y" -{ List_Add(View->TS, &yyvsp[0].d); ; - break;} -case 160: + { List_Add(View->TS, &yyvsp[0].d); ;} + break; + + case 161: #line 845 "Gmsh.y" -{ List_Add(View->TS, &yyvsp[0].d); ; - break;} -case 161: + { List_Add(View->TS, &yyvsp[0].d); ;} + break; + + case 162: #line 853 "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); List_Add(View->TS, &yyvsp[-21].d); List_Add(View->TS, &yyvsp[-15].d); @@ -5414,26 +6420,30 @@ case 161: List_Add(View->TS, &yyvsp[-19].d); List_Add(View->TS, &yyvsp[-13].d); List_Add(View->TS, &yyvsp[-7].d); List_Add(View->TS, &yyvsp[-1].d); ntmp = List_Nbr(View->TS); - ; - break;} -case 162: + ;} + break; + + case 163: #line 863 "Gmsh.y" -{ + { if((List_Nbr(View->TS) - ntmp) % 36) ViewErrorFlags[14]++; View->NbTS++; - ; - break;} -case 163: + ;} + break; + + case 164: #line 871 "Gmsh.y" -{ List_Add(View->SH, &yyvsp[0].d); ; - break;} -case 164: + { List_Add(View->SH, &yyvsp[0].d); ;} + break; + + case 165: #line 873 "Gmsh.y" -{ List_Add(View->SH, &yyvsp[0].d); ; - break;} -case 165: + { List_Add(View->SH, &yyvsp[0].d); ;} + break; + + case 166: #line 885 "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); List_Add(View->SH, &yyvsp[-23].d); List_Add(View->SH, &yyvsp[-17].d); @@ -5447,26 +6457,30 @@ case 165: List_Add(View->SH, &yyvsp[-19].d); List_Add(View->SH, &yyvsp[-13].d); List_Add(View->SH, &yyvsp[-7].d); List_Add(View->SH, &yyvsp[-1].d); ntmp = List_Nbr(View->SH); - ; - break;} -case 166: + ;} + break; + + case 167: #line 901 "Gmsh.y" -{ + { if((List_Nbr(View->SH) - ntmp) % 8) ViewErrorFlags[15]++; View->NbSH++; - ; - break;} -case 167: + ;} + break; + + case 168: #line 909 "Gmsh.y" -{ List_Add(View->VH, &yyvsp[0].d); ; - break;} -case 168: + { List_Add(View->VH, &yyvsp[0].d); ;} + break; + + case 169: #line 911 "Gmsh.y" -{ List_Add(View->VH, &yyvsp[0].d); ; - break;} -case 169: + { List_Add(View->VH, &yyvsp[0].d); ;} + break; + + case 170: #line 923 "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); List_Add(View->VH, &yyvsp[-23].d); List_Add(View->VH, &yyvsp[-17].d); @@ -5480,26 +6494,30 @@ case 169: List_Add(View->VH, &yyvsp[-19].d); List_Add(View->VH, &yyvsp[-13].d); List_Add(View->VH, &yyvsp[-7].d); List_Add(View->VH, &yyvsp[-1].d); ntmp = List_Nbr(View->VH); - ; - break;} -case 170: + ;} + break; + + case 171: #line 939 "Gmsh.y" -{ + { if((List_Nbr(View->VH) - ntmp) % 24) ViewErrorFlags[16]++; View->NbVH++; - ; - break;} -case 171: + ;} + break; + + case 172: #line 947 "Gmsh.y" -{ List_Add(View->TH, &yyvsp[0].d); ; - break;} -case 172: + { List_Add(View->TH, &yyvsp[0].d); ;} + break; + + case 173: #line 949 "Gmsh.y" -{ List_Add(View->TH, &yyvsp[0].d); ; - break;} -case 173: + { List_Add(View->TH, &yyvsp[0].d); ;} + break; + + case 174: #line 961 "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); List_Add(View->TH, &yyvsp[-23].d); List_Add(View->TH, &yyvsp[-17].d); @@ -5513,26 +6531,30 @@ case 173: List_Add(View->TH, &yyvsp[-19].d); List_Add(View->TH, &yyvsp[-13].d); List_Add(View->TH, &yyvsp[-7].d); List_Add(View->TH, &yyvsp[-1].d); ntmp = List_Nbr(View->TH); - ; - break;} -case 174: + ;} + break; + + case 175: #line 977 "Gmsh.y" -{ + { if((List_Nbr(View->TH) - ntmp) % 72) ViewErrorFlags[17]++; View->NbTH++; - ; - break;} -case 175: + ;} + break; + + case 176: #line 985 "Gmsh.y" -{ List_Add(View->SI, &yyvsp[0].d); ; - break;} -case 176: + { List_Add(View->SI, &yyvsp[0].d); ;} + break; + + case 177: #line 987 "Gmsh.y" -{ List_Add(View->SI, &yyvsp[0].d); ; - break;} -case 177: + { List_Add(View->SI, &yyvsp[0].d); ;} + break; + + case 178: #line 997 "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); List_Add(View->SI, &yyvsp[-11].d); List_Add(View->SI, &yyvsp[-5].d); @@ -5543,26 +6565,30 @@ case 177: List_Add(View->SI, &yyvsp[-19].d); List_Add(View->SI, &yyvsp[-13].d); List_Add(View->SI, &yyvsp[-7].d); List_Add(View->SI, &yyvsp[-1].d); ntmp = List_Nbr(View->SI); - ; - break;} -case 178: + ;} + break; + + case 179: #line 1010 "Gmsh.y" -{ + { if((List_Nbr(View->SI) - ntmp) % 6) ViewErrorFlags[18]++; View->NbSI++; - ; - break;} -case 179: + ;} + break; + + case 180: #line 1018 "Gmsh.y" -{ List_Add(View->VI, &yyvsp[0].d); ; - break;} -case 180: + { List_Add(View->VI, &yyvsp[0].d); ;} + break; + + case 181: #line 1020 "Gmsh.y" -{ List_Add(View->VI, &yyvsp[0].d); ; - break;} -case 181: + { List_Add(View->VI, &yyvsp[0].d); ;} + break; + + case 182: #line 1030 "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); List_Add(View->VI, &yyvsp[-11].d); List_Add(View->VI, &yyvsp[-5].d); @@ -5573,26 +6599,30 @@ case 181: List_Add(View->VI, &yyvsp[-19].d); List_Add(View->VI, &yyvsp[-13].d); List_Add(View->VI, &yyvsp[-7].d); List_Add(View->VI, &yyvsp[-1].d); ntmp = List_Nbr(View->VI); - ; - break;} -case 182: + ;} + break; + + case 183: #line 1043 "Gmsh.y" -{ + { if((List_Nbr(View->VI) - ntmp) % 18) ViewErrorFlags[19]++; View->NbVI++; - ; - break;} -case 183: + ;} + break; + + case 184: #line 1051 "Gmsh.y" -{ List_Add(View->TI, &yyvsp[0].d); ; - break;} -case 184: + { List_Add(View->TI, &yyvsp[0].d); ;} + break; + + case 185: #line 1053 "Gmsh.y" -{ List_Add(View->TI, &yyvsp[0].d); ; - break;} -case 185: + { List_Add(View->TI, &yyvsp[0].d); ;} + break; + + case 186: #line 1063 "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); List_Add(View->TI, &yyvsp[-11].d); List_Add(View->TI, &yyvsp[-5].d); @@ -5603,26 +6633,30 @@ case 185: List_Add(View->TI, &yyvsp[-19].d); List_Add(View->TI, &yyvsp[-13].d); List_Add(View->TI, &yyvsp[-7].d); List_Add(View->TI, &yyvsp[-1].d); ntmp = List_Nbr(View->TI); - ; - break;} -case 186: + ;} + break; + + case 187: #line 1076 "Gmsh.y" -{ + { if((List_Nbr(View->TI) - ntmp) % 54) ViewErrorFlags[20]++; View->NbTI++; - ; - break;} -case 187: + ;} + break; + + case 188: #line 1084 "Gmsh.y" -{ List_Add(View->SY, &yyvsp[0].d); ; - break;} -case 188: + { List_Add(View->SY, &yyvsp[0].d); ;} + break; + + case 189: #line 1086 "Gmsh.y" -{ List_Add(View->SY, &yyvsp[0].d); ; - break;} -case 189: + { List_Add(View->SY, &yyvsp[0].d); ;} + break; + + case 190: #line 1095 "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); List_Add(View->SY, &yyvsp[-5].d); @@ -5633,26 +6667,30 @@ case 189: List_Add(View->SY, &yyvsp[-13].d); List_Add(View->SY, &yyvsp[-7].d); List_Add(View->SY, &yyvsp[-1].d); ntmp = List_Nbr(View->SY); - ; - break;} -case 190: + ;} + break; + + case 191: #line 1108 "Gmsh.y" -{ + { if((List_Nbr(View->SY) - ntmp) % 5) ViewErrorFlags[21]++; View->NbSY++; - ; - break;} -case 191: + ;} + break; + + case 192: #line 1116 "Gmsh.y" -{ List_Add(View->VY, &yyvsp[0].d); ; - break;} -case 192: + { List_Add(View->VY, &yyvsp[0].d); ;} + break; + + case 193: #line 1118 "Gmsh.y" -{ List_Add(View->VY, &yyvsp[0].d); ; - break;} -case 193: + { List_Add(View->VY, &yyvsp[0].d); ;} + break; + + case 194: #line 1127 "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); @@ -5663,26 +6701,30 @@ case 193: List_Add(View->VY, &yyvsp[-13].d); List_Add(View->VY, &yyvsp[-7].d); List_Add(View->VY, &yyvsp[-1].d); ntmp = List_Nbr(View->VY); - ; - break;} -case 194: + ;} + break; + + case 195: #line 1140 "Gmsh.y" -{ + { if((List_Nbr(View->VY) - ntmp) % 15) ViewErrorFlags[22]++; View->NbVY++; - ; - break;} -case 195: + ;} + break; + + case 196: #line 1148 "Gmsh.y" -{ List_Add(View->TY, &yyvsp[0].d); ; - break;} -case 196: + { List_Add(View->TY, &yyvsp[0].d); ;} + break; + + case 197: #line 1150 "Gmsh.y" -{ List_Add(View->TY, &yyvsp[0].d); ; - break;} -case 197: + { List_Add(View->TY, &yyvsp[0].d); ;} + break; + + case 198: #line 1159 "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); List_Add(View->TY, &yyvsp[-5].d); @@ -5693,110 +6735,128 @@ case 197: List_Add(View->TY, &yyvsp[-13].d); List_Add(View->TY, &yyvsp[-7].d); List_Add(View->TY, &yyvsp[-1].d); ntmp = List_Nbr(View->TY); - ; - break;} -case 198: + ;} + break; + + case 199: #line 1172 "Gmsh.y" -{ + { if((List_Nbr(View->TY) - ntmp) % 45) ViewErrorFlags[23]++; View->NbTY++; - ; - break;} -case 199: + ;} + break; + + case 200: #line 1180 "Gmsh.y" -{ + { for(int i = 0; i < (int)strlen(yyvsp[0].c)+1; i++) List_Add(View->T2C, &yyvsp[0].c[i]); Free(yyvsp[0].c); - ; - break;} -case 200: + ;} + break; + + case 201: #line 1185 "Gmsh.y" -{ + { for(int i = 0; i < (int)strlen(yyvsp[0].c)+1; i++) List_Add(View->T2C, &yyvsp[0].c[i]); Free(yyvsp[0].c); - ; - break;} -case 201: + ;} + break; + + case 202: #line 1193 "Gmsh.y" -{ + { List_Add(View->T2D, &yyvsp[-5].d); List_Add(View->T2D, &yyvsp[-3].d); List_Add(View->T2D, &yyvsp[-1].d); double d = List_Nbr(View->T2C); List_Add(View->T2D, &d); - ; - break;} -case 202: + ;} + break; + + case 203: #line 1200 "Gmsh.y" -{ + { View->NbT2++; - ; - break;} -case 203: + ;} + break; + + case 204: #line 1207 "Gmsh.y" -{ + { for(int i = 0; i < (int)strlen(yyvsp[0].c)+1; i++) List_Add(View->T3C, &yyvsp[0].c[i]); Free(yyvsp[0].c); - ; - break;} -case 204: + ;} + break; + + case 205: #line 1212 "Gmsh.y" -{ + { for(int i = 0; i < (int)strlen(yyvsp[0].c)+1; i++) List_Add(View->T3C, &yyvsp[0].c[i]); Free(yyvsp[0].c); - ; - break;} -case 205: + ;} + break; + + case 206: #line 1220 "Gmsh.y" -{ + { List_Add(View->T3D, &yyvsp[-7].d); List_Add(View->T3D, &yyvsp[-5].d); List_Add(View->T3D, &yyvsp[-3].d); List_Add(View->T3D, &yyvsp[-1].d); double d = List_Nbr(View->T3C); List_Add(View->T3D, &d); - ; - break;} -case 206: + ;} + break; + + case 207: #line 1227 "Gmsh.y" -{ + { View->NbT3++; - ; - break;} -case 207: + ;} + break; + + case 208: #line 1235 "Gmsh.y" -{ + { View->adaptive = new Adaptive_Post_View(View, yyvsp[-5].l, yyvsp[-2].l); - ; - break;} -case 208: + ;} + break; + + case 209: #line 1243 "Gmsh.y" -{ yyval.i = 0; ; - break;} -case 209: + { yyval.i = 0; ;} + break; + + case 210: #line 1244 "Gmsh.y" -{ yyval.i = 1; ; - break;} -case 210: + { yyval.i = 1; ;} + break; + + case 211: #line 1245 "Gmsh.y" -{ yyval.i = 2; ; - break;} -case 211: + { yyval.i = 2; ;} + break; + + case 212: #line 1246 "Gmsh.y" -{ yyval.i = 3; ; - break;} -case 212: + { yyval.i = 3; ;} + break; + + case 213: #line 1247 "Gmsh.y" -{ yyval.i = 4; ; - break;} -case 213: + { yyval.i = 4; ;} + break; + + case 214: #line 1251 "Gmsh.y" -{ yyval.i = 1; ; - break;} -case 214: + { yyval.i = 1; ;} + break; + + case 215: #line 1252 "Gmsh.y" -{ yyval.i = -1; ; - break;} -case 215: + { yyval.i = -1; ;} + break; + + case 216: #line 1260 "Gmsh.y" -{ + { Symbol TheSymbol; TheSymbol.Name = yyvsp[-3].c; Symbol *pSymbol; @@ -5822,11 +6882,12 @@ case 215: break; } } - ; - break;} -case 216: + ;} + break; + + case 217: #line 1288 "Gmsh.y" -{ + { Symbol TheSymbol; TheSymbol.Name = yyvsp[-6].c; Symbol *pSymbol; @@ -5860,11 +6921,12 @@ case 216: yymsg(GERROR, "Uninitialized variable '%s[%d]'", yyvsp[-6].c, (int)yyvsp[-4].d); } } - ; - break;} -case 217: + ;} + break; + + case 218: #line 1324 "Gmsh.y" -{ + { if(List_Nbr(yyvsp[-5].l) != List_Nbr(yyvsp[-1].l)) yymsg(GERROR, "Incompatible array dimensions in affectation"); else{ @@ -5911,11 +6973,12 @@ case 217: } List_Delete(yyvsp[-5].l); List_Delete(yyvsp[-1].l); - ; - break;} -case 218: + ;} + break; + + case 219: #line 1373 "Gmsh.y" -{ + { Symbol TheSymbol; TheSymbol.Name = yyvsp[-5].c; Symbol *pSymbol; @@ -5929,11 +6992,12 @@ case 218: List_Copy(yyvsp[-1].l, pSymbol->val); } List_Delete(yyvsp[-1].l); - ; - break;} -case 219: + ;} + break; + + case 220: #line 1389 "Gmsh.y" -{ + { Symbol TheSymbol; TheSymbol.Name = yyvsp[-2].c; Symbol *pSymbol; @@ -5941,11 +7005,12 @@ case 219: yymsg(GERROR, "Unknown variable '%s'", yyvsp[-2].c); else *(double*)List_Pointer_Fast(pSymbol->val, 0) += yyvsp[-1].i; - ; - break;} -case 220: + ;} + break; + + case 221: #line 1399 "Gmsh.y" -{ + { Symbol TheSymbol; TheSymbol.Name = yyvsp[-5].c; Symbol *pSymbol; @@ -5958,11 +7023,12 @@ case 220: else yymsg(GERROR, "Uninitialized variable '%s[%d]'", yyvsp[-5].c, (int)yyvsp[-3].d); } - ; - break;} -case 221: + ;} + break; + + case 222: #line 1417 "Gmsh.y" -{ + { char* (*pStrOpt)(int num, int action, char *value); StringXString *pStrCat; if(!(pStrCat = Get_StringOptionCategory(yyvsp[-5].c))) @@ -5973,11 +7039,12 @@ case 221: else pStrOpt(0, GMSH_SET|GMSH_GUI, yyvsp[-1].c); } - ; - break;} -case 222: + ;} + break; + + case 223: #line 1430 "Gmsh.y" -{ + { char* (*pStrOpt)(int num, int action, char *value); StringXString *pStrCat; if(!(pStrCat = Get_StringOptionCategory(yyvsp[-8].c))) @@ -5988,11 +7055,12 @@ case 222: else pStrOpt((int)yyvsp[-6].d, GMSH_SET|GMSH_GUI, yyvsp[-1].c); } - ; - break;} -case 223: + ;} + break; + + case 224: #line 1446 "Gmsh.y" -{ + { double (*pNumOpt)(int num, int action, double value); StringXNumber *pNumCat; if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-5].c))) @@ -6015,11 +7083,12 @@ case 223: pNumOpt(0, GMSH_SET|GMSH_GUI, d); } } - ; - break;} -case 224: + ;} + break; + + case 225: #line 1471 "Gmsh.y" -{ + { double (*pNumOpt)(int num, int action, double value); StringXNumber *pNumCat; if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-8].c))) @@ -6043,11 +7112,12 @@ case 224: pNumOpt((int)yyvsp[-6].d, GMSH_SET|GMSH_GUI, d); } } - ; - break;} -case 225: + ;} + break; + + case 226: #line 1497 "Gmsh.y" -{ + { double (*pNumOpt)(int num, int action, double value); StringXNumber *pNumCat; if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-4].c))) @@ -6058,11 +7128,12 @@ case 225: else pNumOpt(0, GMSH_SET|GMSH_GUI, pNumOpt(0, GMSH_GET, 0)+yyvsp[-1].i); } - ; - break;} -case 226: + ;} + break; + + case 227: #line 1510 "Gmsh.y" -{ + { double (*pNumOpt)(int num, int action, double value); StringXNumber *pNumCat; if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-7].c))) @@ -6073,11 +7144,12 @@ case 226: else pNumOpt((int)yyvsp[-5].d, GMSH_SET|GMSH_GUI, pNumOpt((int)yyvsp[-5].d, GMSH_GET, 0)+yyvsp[-1].i); } - ; - break;} -case 227: + ;} + break; + + case 228: #line 1526 "Gmsh.y" -{ + { unsigned int (*pColOpt)(int num, int action, unsigned int value); StringXColor *pColCat; if(!(pColCat = Get_ColorOptionCategory(yyvsp[-7].c))) @@ -6088,11 +7160,12 @@ case 227: else pColOpt(0, GMSH_SET|GMSH_GUI, yyvsp[-1].u); } - ; - break;} -case 228: + ;} + break; + + case 229: #line 1539 "Gmsh.y" -{ + { unsigned int (*pColOpt)(int num, int action, unsigned int value); StringXColor *pColCat; if(!(pColCat = Get_ColorOptionCategory(yyvsp[-10].c))) @@ -6103,11 +7176,12 @@ case 228: else pColOpt((int)yyvsp[-8].d, GMSH_SET|GMSH_GUI, yyvsp[-1].u); } - ; - break;} -case 229: + ;} + break; + + case 230: #line 1555 "Gmsh.y" -{ + { GmshColorTable *ct = Get_ColorTable(0); if(!ct) yymsg(GERROR, "View[%d] does not exist", 0); @@ -6124,11 +7198,12 @@ case 229: } } List_Delete(yyvsp[-1].l); - ; - break;} -case 230: + ;} + break; + + case 231: #line 1574 "Gmsh.y" -{ + { GmshColorTable *ct = Get_ColorTable((int)yyvsp[-6].d); if(!ct) yymsg(GERROR, "View[%d] does not exist", (int)yyvsp[-6].d); @@ -6145,33 +7220,36 @@ case 230: } } List_Delete(yyvsp[-1].l); - ; - break;} -case 231: + ;} + break; + + case 232: #line 1596 "Gmsh.y" -{ + { try { GMSH_PluginManager::instance()->setPluginOption(yyvsp[-6].c, yyvsp[-3].c, yyvsp[-1].d); } catch (...) { yymsg(GERROR, "Unknown option '%s' or plugin '%s'", yyvsp[-3].c, yyvsp[-6].c); } - ; - break;} -case 232: + ;} + break; + + case 233: #line 1605 "Gmsh.y" -{ + { try { GMSH_PluginManager::instance()->setPluginOption(yyvsp[-6].c, yyvsp[-3].c, yyvsp[-1].c); } catch (...) { yymsg(GERROR, "Unknown option '%s' or plugin '%s'", yyvsp[-3].c, yyvsp[-6].c); } - ; - break;} -case 233: + ;} + break; + + case 234: #line 1623 "Gmsh.y" -{ + { int num = (int)yyvsp[-4].d; if(FindPoint(num, THEM)){ yymsg(GERROR, "Point %d already exists", num); @@ -6185,11 +7263,12 @@ case 233: } yyval.s.Type = MSH_POINT; yyval.s.Num = num; - ; - break;} -case 234: + ;} + break; + + case 235: #line 1639 "Gmsh.y" -{ + { int num = (int)yyvsp[-4].d; if(FindPhysicalGroup(num, MSH_PHYSICAL_POINT, THEM)){ yymsg(GERROR, "Physical point %d already exists", num); @@ -6203,11 +7282,12 @@ case 234: List_Delete(yyvsp[-1].l); yyval.s.Type = MSH_PHYSICAL_POINT; yyval.s.Num = num; - ; - break;} -case 235: + ;} + break; + + case 236: #line 1655 "Gmsh.y" -{ + { for(int i = 0; i < List_Nbr(yyvsp[-9].l); i++){ double p; List_Read(yyvsp[-9].l, i, &p); @@ -6224,11 +7304,12 @@ case 235: // dummy values yyval.s.Type = 0; yyval.s.Num = 0; - ; - break;} -case 236: + ;} + break; + + case 237: #line 1674 "Gmsh.y" -{ + { for(int i = 0; i < List_Nbr(yyvsp[-3].l); i++){ double d; List_Read(yyvsp[-3].l, i, &d); @@ -6242,11 +7323,12 @@ case 236: // dummy values yyval.s.Type = 0; yyval.s.Num = 0; - ; - break;} -case 237: + ;} + break; + + case 238: #line 1693 "Gmsh.y" -{ + { int num = (int)yyvsp[-4].d; if(FindCurve(num, THEM)){ yymsg(GERROR, "Curve %d already exists", num); @@ -6262,11 +7344,12 @@ case 237: List_Delete(yyvsp[-1].l); yyval.s.Type = MSH_SEGM_LINE; yyval.s.Num = num; - ; - break;} -case 238: + ;} + break; + + case 239: #line 1711 "Gmsh.y" -{ + { int num = (int)yyvsp[-4].d; if(FindCurve(num, THEM)){ yymsg(GERROR, "Curve %d already exists", num); @@ -6282,11 +7365,12 @@ case 238: List_Delete(yyvsp[-1].l); yyval.s.Type = MSH_SEGM_SPLN; yyval.s.Num = num; - ; - break;} -case 239: + ;} + break; + + case 240: #line 1729 "Gmsh.y" -{ + { int num = (int)yyvsp[-4].d; if(FindCurve(num, THEM)){ yymsg(GERROR, "Curve %d already exists", num); @@ -6302,11 +7386,12 @@ case 239: List_Delete(yyvsp[-1].l); yyval.s.Type = MSH_SEGM_CIRC; yyval.s.Num = num; - ; - break;} -case 240: + ;} + break; + + case 241: #line 1747 "Gmsh.y" -{ + { int num = (int)yyvsp[-6].d; if(FindCurve(num, THEM)){ yymsg(GERROR, "Curve %d already exists", num); @@ -6330,11 +7415,12 @@ case 240: List_Delete(yyvsp[-3].l); yyval.s.Type = MSH_SEGM_CIRC; yyval.s.Num = num; - ; - break;} -case 241: + ;} + break; + + case 242: #line 1773 "Gmsh.y" -{ + { int num = (int)yyvsp[-4].d; if(FindCurve(num, THEM)){ yymsg(GERROR, "Curve %d already exists", num); @@ -6350,11 +7436,12 @@ case 241: List_Delete(yyvsp[-1].l); yyval.s.Type = MSH_SEGM_ELLI; yyval.s.Num = num; - ; - break;} -case 242: + ;} + break; + + case 243: #line 1791 "Gmsh.y" -{ + { int num = (int)yyvsp[-6].d; if(FindCurve(num, THEM)){ yymsg(GERROR, "Curve %d already exists", num); @@ -6378,11 +7465,12 @@ case 242: List_Delete(yyvsp[-3].l); yyval.s.Type = MSH_SEGM_ELLI; yyval.s.Num = num; - ; - break;} -case 243: + ;} + break; + + case 244: #line 1818 "Gmsh.y" -{ + { int num = (int)yyvsp[-14].d; if(FindCurve(num, THEM)){ yymsg(GERROR, "Curve %d already exists", num); @@ -6398,11 +7486,12 @@ case 243: } yyval.s.Type = MSH_SEGM_PARAMETRIC; yyval.s.Num = num; - ; - break;} -case 244: + ;} + break; + + case 245: #line 1836 "Gmsh.y" -{ + { int num = (int)yyvsp[-4].d; if(List_Nbr(yyvsp[-1].l) < 4){ yymsg(GERROR, "Too few control points for BSpline %d (%d < 4)", num, @@ -6424,11 +7513,12 @@ case 244: List_Delete(yyvsp[-1].l); yyval.s.Type = MSH_SEGM_BSPLN; yyval.s.Num = num; - ; - break;} -case 245: + ;} + break; + + case 246: #line 1860 "Gmsh.y" -{ + { int num = (int)yyvsp[-4].d; if(List_Nbr(yyvsp[-1].l) < 4){ yymsg(GERROR, "Too few control points for Bezier curve %d (%d < 4)", num, @@ -6450,11 +7540,12 @@ case 245: List_Delete(yyvsp[-1].l); yyval.s.Type = MSH_SEGM_BEZIER; yyval.s.Num = num; - ; - break;} -case 246: + ;} + break; + + case 247: #line 1884 "Gmsh.y" -{ + { int num = (int)yyvsp[-8].d; if(List_Nbr(yyvsp[-5].l) + (int)yyvsp[-1].d + 1 != List_Nbr(yyvsp[-3].l)){ yymsg(GERROR, "Wrong definition of Nurbs Curve %d: " @@ -6478,11 +7569,12 @@ case 246: List_Delete(yyvsp[-3].l); yyval.s.Type = MSH_SEGM_NURBS; yyval.s.Num = num; - ; - break;} -case 247: + ;} + break; + + case 248: #line 1910 "Gmsh.y" -{ + { int num = (int)yyvsp[-4].d; if(FindEdgeLoop(num, THEM)){ yymsg(GERROR, "Line loop %d already exists", num); @@ -6497,11 +7589,12 @@ case 247: List_Delete(yyvsp[-1].l); yyval.s.Type = MSH_SEGM_LOOP; yyval.s.Num = num; - ; - break;} -case 248: + ;} + break; + + case 249: #line 1927 "Gmsh.y" -{ + { for(int i = 0; i < List_Nbr(yyvsp[-9].l); i++){ double p; List_Read(yyvsp[-9].l, i, &p); @@ -6517,11 +7610,12 @@ case 248: // dummy values yyval.s.Type = 0; yyval.s.Num = 0; - ; - break;} -case 249: + ;} + break; + + case 250: #line 1945 "Gmsh.y" -{ + { int num = (int)yyvsp[-4].d; if(FindPhysicalGroup(num, MSH_PHYSICAL_LINE, THEM)){ yymsg(GERROR, "Physical line %d already exists", num); @@ -6535,11 +7629,12 @@ case 249: List_Delete(yyvsp[-1].l); yyval.s.Type = MSH_PHYSICAL_LINE; yyval.s.Num = num; - ; - break;} -case 250: + ;} + break; + + case 251: #line 1964 "Gmsh.y" -{ + { int num = (int)yyvsp[-4].d; if(FindSurface(num, THEM)){ yymsg(GERROR, "Surface %d already exists", num); @@ -6556,11 +7651,12 @@ case 250: List_Delete(yyvsp[-1].l); yyval.s.Type = MSH_SURF_PLAN; yyval.s.Num = num; - ; - break;} -case 251: + ;} + break; + + case 252: #line 1983 "Gmsh.y" -{ + { int num = (int)yyvsp[-4].d, type = 0; if(FindSurface(num, THEM)){ yymsg(GERROR, "Surface %d already exists", num); @@ -6597,11 +7693,12 @@ case 251: List_Delete(yyvsp[-1].l); yyval.s.Type = type; yyval.s.Num = num; - ; - break;} -case 252: + ;} + break; + + case 253: #line 2022 "Gmsh.y" -{ + { int num = (int)yyvsp[-8].d; Surface *support = FindSurface((int)yyvsp[-4].d, THEM); if(!support){ @@ -6624,11 +7721,12 @@ case 252: List_Delete(yyvsp[-2].l); yyval.s.Type = MSH_SURF_TRIMMED; yyval.s.Num = num; - ; - break;} -case 253: + ;} + break; + + case 254: #line 2048 "Gmsh.y" -{ + { int num = (int)yyvsp[-10].d, type = 0; Surface *s = FindSurface(num, THEM); if(!s) { @@ -6645,11 +7743,12 @@ case 253: //List_Delete($13); yyval.s.Type = type; yyval.s.Num = (int)yyvsp[-10].d; - ; - break;} -case 254: + ;} + break; + + case 255: #line 2070 "Gmsh.y" -{ + { int num = (int)yyvsp[-10].d, type = 0; Surface *s = FindSurface(num, THEM); if(!s) { @@ -6662,11 +7761,12 @@ case 254: } yyval.s.Type = type; yyval.s.Num = (int)yyvsp[-10].d; - ; - break;} -case 255: + ;} + break; + + case 256: #line 2087 "Gmsh.y" -{ + { int num = (int)yyvsp[-16].d; if(FindSurface(num, THEM)){ yymsg(GERROR, "Surface %d already exists", num); @@ -6681,11 +7781,12 @@ case 255: List_Delete(yyvsp[-8].l); yyval.s.Type = MSH_SURF_NURBS; yyval.s.Num = num; - ; - break;} -case 256: + ;} + break; + + case 257: #line 2106 "Gmsh.y" -{ + { int num = (int)yyvsp[-16].d; if(FindSurface(num, THEM)){ yymsg(GERROR, "Surface %d already exists", num); @@ -6700,11 +7801,12 @@ case 256: List_Delete(yyvsp[-8].l); yyval.s.Type = MSH_SURF_NURBS; yyval.s.Num = num; - ; - break;} -case 257: + ;} + break; + + case 258: #line 2123 "Gmsh.y" -{ + { int num = (int)yyvsp[-4].d; if(FindSurfaceLoop(num, THEM)){ yymsg(GERROR, "Surface loop %d already exists", num); @@ -6718,11 +7820,12 @@ case 257: List_Delete(yyvsp[-1].l); yyval.s.Type = MSH_SURF_LOOP; yyval.s.Num = num; - ; - break;} -case 258: + ;} + break; + + case 259: #line 2139 "Gmsh.y" -{ + { int num = (int)yyvsp[-4].d; if(FindPhysicalGroup(num, MSH_PHYSICAL_SURFACE, THEM)){ yymsg(GERROR, "Physical surface %d already exists", num); @@ -6736,11 +7839,12 @@ case 258: List_Delete(yyvsp[-1].l); yyval.s.Type = MSH_PHYSICAL_SURFACE; yyval.s.Num = num; - ; - break;} -case 259: + ;} + break; + + case 260: #line 2158 "Gmsh.y" -{ + { int num = (int)yyvsp[-4].d; if(FindVolume(num, THEM)){ yymsg(GERROR, "Volume %d already exists", num); @@ -6755,11 +7859,12 @@ case 259: List_Delete(yyvsp[-1].l); yyval.s.Type = MSH_VOLUME; yyval.s.Num = num; - ; - break;} -case 260: + ;} + break; + + case 261: #line 2175 "Gmsh.y" -{ + { int num = (int)yyvsp[-4].d; if(FindVolume(num, THEM)){ yymsg(GERROR, "Volume %d already exists", num); @@ -6774,11 +7879,12 @@ case 260: List_Delete(yyvsp[-1].l); yyval.s.Type = MSH_VOLUME; yyval.s.Num = num; - ; - break;} -case 261: + ;} + break; + + case 262: #line 2192 "Gmsh.y" -{ + { int num = (int)yyvsp[-4].d; if(FindPhysicalGroup(num, MSH_PHYSICAL_VOLUME, THEM)){ yymsg(GERROR, "Physical volume %d already exists", num); @@ -6792,63 +7898,73 @@ case 261: List_Delete(yyvsp[-1].l); yyval.s.Type = MSH_PHYSICAL_VOLUME; yyval.s.Num = num; - ; - break;} -case 262: + ;} + break; + + case 263: #line 2213 "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 263: + ;} + break; + + case 264: #line 2218 "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 264: + ;} + break; + + case 265: #line 2223 "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 265: + ;} + break; + + case 266: #line 2228 "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 266: + ;} + break; + + case 267: #line 2235 "Gmsh.y" -{ yyval.l = yyvsp[0].l; ; - break;} -case 267: + { yyval.l = yyvsp[0].l; ;} + break; + + case 268: #line 2236 "Gmsh.y" -{ yyval.l = yyvsp[0].l; ; - break;} -case 268: + { yyval.l = yyvsp[0].l; ;} + break; + + case 269: #line 2237 "Gmsh.y" -{ yyval.l = yyvsp[0].l; ; - break;} -case 269: + { yyval.l = yyvsp[0].l; ;} + break; + + case 270: #line 2242 "Gmsh.y" -{ + { yyval.l = List_Create(3, 3, sizeof(Shape)); - ; - break;} -case 270: + ;} + break; + + case 271: #line 2246 "Gmsh.y" -{ + { List_Add(yyval.l, &yyvsp[0].s); - ; - break;} -case 271: + ;} + break; + + case 272: #line 2250 "Gmsh.y" -{ + { for(int i = 0; i < List_Nbr(yyvsp[-2].l); i++){ double d; List_Read(yyvsp[-2].l, i, &d); @@ -6862,11 +7978,12 @@ case 271: List_Add(yyval.l, &TheShape); } } - ; - break;} -case 272: + ;} + break; + + case 273: #line 2266 "Gmsh.y" -{ + { for(int i = 0; i < List_Nbr(yyvsp[-2].l); i++){ double d; List_Read(yyvsp[-2].l, i, &d); @@ -6880,11 +7997,12 @@ case 272: List_Add(yyval.l, &TheShape); } } - ; - break;} -case 273: + ;} + break; + + case 274: #line 2282 "Gmsh.y" -{ + { for(int i = 0; i < List_Nbr(yyvsp[-2].l); i++){ double d; List_Read(yyvsp[-2].l, i, &d); @@ -6898,11 +8016,12 @@ case 273: List_Add(yyval.l, &TheShape); } } - ; - break;} -case 274: + ;} + break; + + case 275: #line 2298 "Gmsh.y" -{ + { for(int i = 0; i < List_Nbr(yyvsp[-2].l); i++){ double d; List_Read(yyvsp[-2].l, i, &d); @@ -6916,11 +8035,12 @@ case 274: List_Add(yyval.l, &TheShape); } } - ; - break;} -case 275: + ;} + break; + + case 276: #line 2319 "Gmsh.y" -{ + { yyval.l = List_Create(3, 3, sizeof(Shape)); for(int i = 0; i < List_Nbr(yyvsp[-1].l); i++){ Shape TheShape; @@ -6931,29 +8051,32 @@ case 275: List_Add(yyval.l, &TheShape); } List_Delete(yyvsp[-1].l); - ; - break;} -case 276: + ;} + break; + + case 277: #line 2332 "Gmsh.y" -{ + { if(!strcmp(yyvsp[-4].c, "View")) DuplicateView((int)yyvsp[-2].d, 0); yyval.l = NULL; - ; - break;} -case 277: + ;} + break; + + case 278: #line 2343 "Gmsh.y" -{ + { for(int i = 0; i < List_Nbr(yyvsp[-1].l); i++){ Shape TheShape; List_Read(yyvsp[-1].l, i, &TheShape); DeleteShape(TheShape.Type, TheShape.Num); } List_Delete(yyvsp[-1].l); - ; - break;} -case 278: + ;} + break; + + case 279: #line 2352 "Gmsh.y" -{ + { if(!strcmp(yyvsp[-4].c, "View")){ RemoveViewByIndex((int)yyvsp[-2].d); #if defined(HAVE_FLTK) @@ -6961,45 +8084,50 @@ case 278: UpdateViewsInGUI(); #endif } - ; - break;} -case 279: + ;} + break; + + case 280: #line 2362 "Gmsh.y" -{ + { if(!strcmp(yyvsp[-1].c, "Meshes") || !strcmp(yyvsp[-1].c, "All")) Init_Mesh(THEM); - ; - break;} -case 280: + ;} + break; + + case 281: #line 2372 "Gmsh.y" -{ + { for(int i = 0; i < List_Nbr(yyvsp[-1].l); i++){ Shape TheShape; List_Read(yyvsp[-1].l, i, &TheShape); ColorShape(TheShape.Type, TheShape.Num, yyvsp[-3].u); } List_Delete(yyvsp[-1].l); - ; - break;} -case 281: + ;} + break; + + case 282: #line 2386 "Gmsh.y" -{ + { int m = (CTX.visibility_mode == 2) ? VIS_MESH : ((CTX.visibility_mode == 1) ? VIS_GEOM : VIS_GEOM|VIS_MESH); for(int i = 2; i < 6; i++) SetVisibilityByNumber(yyvsp[-1].c, i, m); - ; - break;} -case 282: + ;} + break; + + case 283: #line 2393 "Gmsh.y" -{ + { for(int i = 2; i < 6; i++) SetVisibilityByNumber(yyvsp[-1].c, i, 0); - ; - break;} -case 283: + ;} + break; + + case 284: #line 2398 "Gmsh.y" -{ + { int m = (CTX.visibility_mode == 2) ? VIS_MESH : ((CTX.visibility_mode == 1) ? VIS_GEOM : VIS_GEOM|VIS_MESH); for(int i = 0; i < List_Nbr(yyvsp[-1].l); i++){ @@ -7008,22 +8136,24 @@ case 283: VisibilityShape(TheShape.Type, TheShape.Num, m); } List_Delete(yyvsp[-1].l); - ; - break;} -case 284: + ;} + break; + + case 285: #line 2409 "Gmsh.y" -{ + { for(int i = 0; i < List_Nbr(yyvsp[-1].l); i++){ Shape TheShape; List_Read(yyvsp[-1].l, i, &TheShape); VisibilityShape(TheShape.Type, TheShape.Num, 0); } List_Delete(yyvsp[-1].l); - ; - break;} -case 285: + ;} + break; + + case 286: #line 2423 "Gmsh.y" -{ + { if(!strcmp(yyvsp[-2].c, "Include")){ char tmpstring[1024]; FixRelativePath(yyvsp[-1].c, tmpstring); @@ -7064,27 +8194,29 @@ case 285: else{ yymsg(GERROR, "Unknown command '%s'", yyvsp[-2].c); } - ; - break;} -case 286: + ;} + break; + + case 287: #line 2466 "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); - if(v){ + Post_View **vv = (Post_View **)List_Pointer_Test(CTX.post.list, (int)yyvsp[-3].d); + if(vv){ char tmpstring[1024]; FixRelativePath(yyvsp[-1].c, tmpstring); - WriteView(v, tmpstring, CTX.post.file_format, 0); + WriteView(*vv, tmpstring, CTX.post.file_format, 0); } } else{ yymsg(GERROR, "Unknown command '%s'", yyvsp[-6].c); } - ; - break;} -case 287: + ;} + break; + + case 288: #line 2480 "Gmsh.y" -{ + { if(!strcmp(yyvsp[-2].c, "Sleep")){ long sleep_time = GetTime(); while(1){ @@ -7097,22 +8229,24 @@ case 287: else{ yymsg(GERROR, "Unknown command '%s'", yyvsp[-2].c); } - ; - break;} -case 288: + ;} + break; + + case 289: #line 2495 "Gmsh.y" -{ + { try { GMSH_PluginManager::instance()->action(yyvsp[-4].c, yyvsp[-1].c, 0); } catch(...) { yymsg(GERROR, "Unknown action '%s' or plugin '%s'", yyvsp[-1].c, yyvsp[-4].c); } - ; - break;} -case 289: + ;} + break; + + case 290: #line 2504 "Gmsh.y" -{ + { // for backward compatibility if(!strcmp(yyvsp[-1].c, "Views")) CombineViews(0, 1, CTX.post.combine_remove_orig); @@ -7120,38 +8254,43 @@ case 289: CombineViews(1, 2, CTX.post.combine_remove_orig); else yymsg(GERROR, "Unknown 'Combine' command"); - ; - break;} -case 290: + ;} + break; + + case 291: #line 2514 "Gmsh.y" -{ + { exit(0); - ; - break;} -case 291: + ;} + break; + + case 292: #line 2518 "Gmsh.y" -{ + { SetBoundingBox(); - ; - break;} -case 292: + ;} + break; + + case 293: #line 2522 "Gmsh.y" -{ + { SetBoundingBox(yyvsp[-12].d, yyvsp[-10].d, yyvsp[-8].d, yyvsp[-6].d, yyvsp[-4].d, yyvsp[-2].d); - ; - break;} -case 293: + ;} + break; + + case 294: #line 2526 "Gmsh.y" -{ + { #if defined(HAVE_FLTK) if(!CTX.batch) // we're in interactive mode Draw(); #endif - ; - break;} -case 294: + ;} + break; + + case 295: #line 2539 "Gmsh.y" -{ + { LoopControlVariablesTab[ImbricatedLoop][0] = yyvsp[-3].d; LoopControlVariablesTab[ImbricatedLoop][1] = yyvsp[-1].d; LoopControlVariablesTab[ImbricatedLoop][2] = 1.0; @@ -7163,11 +8302,12 @@ case 294: yymsg(GERROR, "Reached maximum number of imbricated loops"); ImbricatedLoop = MAX_RECUR_LOOPS-1; } - ; - break;} -case 295: + ;} + break; + + case 296: #line 2553 "Gmsh.y" -{ + { LoopControlVariablesTab[ImbricatedLoop][0] = yyvsp[-5].d; LoopControlVariablesTab[ImbricatedLoop][1] = yyvsp[-3].d; LoopControlVariablesTab[ImbricatedLoop][2] = yyvsp[-1].d; @@ -7179,11 +8319,12 @@ case 295: yymsg(GERROR, "Reached maximum number of imbricated loops"); ImbricatedLoop = MAX_RECUR_LOOPS-1; } - ; - break;} -case 296: + ;} + break; + + case 297: #line 2567 "Gmsh.y" -{ + { LoopControlVariablesTab[ImbricatedLoop][0] = yyvsp[-3].d; LoopControlVariablesTab[ImbricatedLoop][1] = yyvsp[-1].d; LoopControlVariablesTab[ImbricatedLoop][2] = 1.0; @@ -7206,11 +8347,12 @@ case 296: yymsg(GERROR, "Reached maximum number of imbricated loops"); ImbricatedLoop = MAX_RECUR_LOOPS-1; } - ; - break;} -case 297: + ;} + break; + + case 298: #line 2592 "Gmsh.y" -{ + { LoopControlVariablesTab[ImbricatedLoop][0] = yyvsp[-5].d; LoopControlVariablesTab[ImbricatedLoop][1] = yyvsp[-3].d; LoopControlVariablesTab[ImbricatedLoop][2] = yyvsp[-1].d; @@ -7233,11 +8375,12 @@ case 297: yymsg(GERROR, "Reached maximum number of imbricated loops"); ImbricatedLoop = MAX_RECUR_LOOPS-1; } - ; - break;} -case 298: + ;} + break; + + case 299: #line 2617 "Gmsh.y" -{ + { if(LoopControlVariablesTab[ImbricatedLoop-1][1] > LoopControlVariablesTab[ImbricatedLoop-1][0]){ LoopControlVariablesTab[ImbricatedLoop-1][0] += @@ -7262,44 +8405,50 @@ case 298: ImbricatedLoop = 0; } } - ; - break;} -case 299: + ;} + break; + + case 300: #line 2644 "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 300: + ;} + break; + + case 301: #line 2650 "Gmsh.y" -{ + { if(!FunctionManager::Instance()->leaveFunction(&yyin, yyname, yylineno)) yymsg(GERROR, "Error while exiting function"); - ; - break;} -case 301: + ;} + break; + + case 302: #line 2655 "Gmsh.y" -{ + { if(!FunctionManager::Instance()->enterFunction(yyvsp[-1].c, &yyin, yyname, yylineno)) yymsg(GERROR, "Unknown function %s", yyvsp[-1].c); - ; - break;} -case 302: + ;} + break; + + case 303: #line 2660 "Gmsh.y" -{ + { if(!yyvsp[-1].d) skip_until("If", "EndIf"); - ; - break;} -case 303: + ;} + break; + + case 304: #line 2664 "Gmsh.y" -{ - ; - break;} -case 304: + { + ;} + break; + + case 305: #line 2675 "Gmsh.y" -{ + { Curve *pc, *prc; Shape TheShape; TheShape.Num = Extrude_ProtudePoint(TRANSLATE, (int)yyvsp[-4].d, yyvsp[-2].v[0], yyvsp[-2].v[1], yyvsp[-2].v[2], @@ -7313,11 +8462,12 @@ case 304: TheShape.Type = pc->Typ; List_Add(yyval.l, &TheShape); } - ; - break;} -case 305: + ;} + break; + + case 306: #line 2691 "Gmsh.y" -{ + { Curve *pc, *prc; Shape TheShape; TheShape.Num = Extrude_ProtudePoint(ROTATE, (int)yyvsp[-8].d, 0., 0., 0., @@ -7331,11 +8481,12 @@ case 305: TheShape.Type = pc->Typ; List_Add(yyval.l, &TheShape); } - ; - break;} -case 306: + ;} + break; + + case 307: #line 2707 "Gmsh.y" -{ + { Curve *pc, *prc; Shape TheShape; TheShape.Num = Extrude_ProtudePoint(TRANSLATE_ROTATE, (int)yyvsp[-10].d, yyvsp[-8].v[0], yyvsp[-8].v[1], yyvsp[-8].v[2], @@ -7349,18 +8500,20 @@ case 306: TheShape.Type = pc->Typ; List_Add(yyval.l, &TheShape); } - ; - break;} -case 307: + ;} + break; + + case 308: #line 2723 "Gmsh.y" -{ + { extr.mesh.ExtrudeMesh = false; extr.mesh.Recombine = false; - ; - break;} -case 308: + ;} + break; + + case 309: #line 2728 "Gmsh.y" -{ + { Curve *pc, *prc; Shape TheShape; TheShape.Num = Extrude_ProtudePoint(TRANSLATE, (int)yyvsp[-8].d, yyvsp[-6].v[0], yyvsp[-6].v[1], yyvsp[-6].v[2], @@ -7374,18 +8527,20 @@ case 308: TheShape.Type = pc->Typ; List_Add(yyval.l, &TheShape); } - ; - break;} -case 309: + ;} + break; + + case 310: #line 2744 "Gmsh.y" -{ + { extr.mesh.ExtrudeMesh = false; extr.mesh.Recombine = false; - ; - break;} -case 310: + ;} + break; + + case 311: #line 2749 "Gmsh.y" -{ + { Curve *pc, *prc; Shape TheShape; TheShape.Num = Extrude_ProtudePoint(ROTATE, (int)yyvsp[-12].d, 0., 0., 0., @@ -7399,18 +8554,20 @@ case 310: TheShape.Type = pc->Typ; List_Add(yyval.l, &TheShape); } - ; - break;} -case 311: + ;} + break; + + case 312: #line 2765 "Gmsh.y" -{ + { extr.mesh.ExtrudeMesh = false; extr.mesh.Recombine = false; - ; - break;} -case 312: + ;} + break; + + case 313: #line 2770 "Gmsh.y" -{ + { Curve *pc, *prc; Shape TheShape; TheShape.Num = Extrude_ProtudePoint(TRANSLATE_ROTATE, (int)yyvsp[-14].d, yyvsp[-12].v[0], yyvsp[-12].v[1], yyvsp[-12].v[2], @@ -7424,11 +8581,12 @@ case 312: TheShape.Type = pc->Typ; List_Add(yyval.l, &TheShape); } - ; - break;} -case 313: + ;} + break; + + case 314: #line 2788 "Gmsh.y" -{ + { Surface *ps; Shape TheShape; TheShape.Num = Extrude_ProtudeCurve(TRANSLATE, (int)yyvsp[-4].d, yyvsp[-2].v[0], yyvsp[-2].v[1], yyvsp[-2].v[2], @@ -7449,11 +8607,12 @@ case 313: TheShape.Type = ps->Typ; List_Add(yyval.l, &TheShape); } - ; - break;} -case 314: + ;} + break; + + case 315: #line 2811 "Gmsh.y" -{ + { Surface *ps; Shape TheShape; TheShape.Num = Extrude_ProtudeCurve(ROTATE, (int)yyvsp[-8].d, 0., 0., 0., @@ -7474,11 +8633,12 @@ case 314: TheShape.Type = ps->Typ; List_Add(yyval.l, &TheShape); } - ; - break;} -case 315: + ;} + break; + + case 316: #line 2834 "Gmsh.y" -{ + { Surface *ps; Shape TheShape; TheShape.Num = Extrude_ProtudeCurve(TRANSLATE_ROTATE, (int)yyvsp[-10].d, yyvsp[-8].v[0], yyvsp[-8].v[1], yyvsp[-8].v[2], @@ -7499,18 +8659,20 @@ case 315: TheShape.Type = ps->Typ; List_Add(yyval.l, &TheShape); } - ; - break;} -case 316: + ;} + break; + + case 317: #line 2857 "Gmsh.y" -{ + { extr.mesh.ExtrudeMesh = false; extr.mesh.Recombine = false; - ; - break;} -case 317: + ;} + break; + + case 318: #line 2862 "Gmsh.y" -{ + { Surface *ps; Shape TheShape; TheShape.Num = Extrude_ProtudeCurve(TRANSLATE, (int)yyvsp[-8].d, yyvsp[-6].v[0], yyvsp[-6].v[1], yyvsp[-6].v[2], @@ -7531,18 +8693,20 @@ case 317: TheShape.Type = ps->Typ; List_Add(yyval.l, &TheShape); } - ; - break;} -case 318: + ;} + break; + + case 319: #line 2885 "Gmsh.y" -{ + { extr.mesh.ExtrudeMesh = false; extr.mesh.Recombine = false; - ; - break;} -case 319: + ;} + break; + + case 320: #line 2890 "Gmsh.y" -{ + { Surface *ps; Shape TheShape; TheShape.Num = Extrude_ProtudeCurve(ROTATE, (int)yyvsp[-12].d, 0., 0., 0., @@ -7563,18 +8727,20 @@ case 319: TheShape.Type = ps->Typ; List_Add(yyval.l, &TheShape); } - ; - break;} -case 320: + ;} + break; + + case 321: #line 2913 "Gmsh.y" -{ + { extr.mesh.ExtrudeMesh = false; extr.mesh.Recombine = false; - ; - break;} -case 321: + ;} + break; + + case 322: #line 2918 "Gmsh.y" -{ + { Surface *ps; Shape TheShape; TheShape.Num = Extrude_ProtudeCurve(TRANSLATE_ROTATE, (int)yyvsp[-14].d, yyvsp[-12].v[0], yyvsp[-12].v[1], yyvsp[-12].v[2], @@ -7595,11 +8761,12 @@ case 321: TheShape.Type = ps->Typ; List_Add(yyval.l, &TheShape); } - ; - break;} -case 322: + ;} + break; + + case 323: #line 2944 "Gmsh.y" -{ + { Volume *pv; Shape TheShape; TheShape.Num = Extrude_ProtudeSurface(TRANSLATE, (int)yyvsp[-4].d, yyvsp[-2].v[0], yyvsp[-2].v[1], yyvsp[-2].v[2], @@ -7620,11 +8787,12 @@ case 322: TheShape.Type = pv->Typ; List_Add(yyval.l, &TheShape); } - ; - break;} -case 323: + ;} + break; + + case 324: #line 2967 "Gmsh.y" -{ + { Volume *pv; Shape TheShape; TheShape.Num = Extrude_ProtudeSurface(ROTATE, (int)yyvsp[-8].d, 0., 0., 0., @@ -7645,11 +8813,12 @@ case 323: TheShape.Type = pv->Typ; List_Add(yyval.l, &TheShape); } - ; - break;} -case 324: + ;} + break; + + case 325: #line 2990 "Gmsh.y" -{ + { Volume *pv; Shape TheShape; TheShape.Num = Extrude_ProtudeSurface(TRANSLATE_ROTATE, (int)yyvsp[-10].d, yyvsp[-8].v[0], yyvsp[-8].v[1], yyvsp[-8].v[2], @@ -7670,18 +8839,20 @@ case 324: TheShape.Type = pv->Typ; List_Add(yyval.l, &TheShape); } - ; - break;} -case 325: + ;} + break; + + case 326: #line 3013 "Gmsh.y" -{ + { extr.mesh.ExtrudeMesh = false; extr.mesh.Recombine = false; - ; - break;} -case 326: + ;} + break; + + case 327: #line 3018 "Gmsh.y" -{ + { Volume *pv; Shape TheShape; TheShape.Num = Extrude_ProtudeSurface(TRANSLATE, (int)yyvsp[-8].d, yyvsp[-6].v[0], yyvsp[-6].v[1], yyvsp[-6].v[2], @@ -7702,18 +8873,20 @@ case 326: TheShape.Type = pv->Typ; List_Add(yyval.l, &TheShape); } - ; - break;} -case 327: + ;} + break; + + case 328: #line 3041 "Gmsh.y" -{ + { extr.mesh.ExtrudeMesh = false; extr.mesh.Recombine = false; - ; - break;} -case 328: + ;} + break; + + case 329: #line 3047 "Gmsh.y" -{ + { Volume *pv; Shape TheShape; TheShape.Num = Extrude_ProtudeSurface(ROTATE, (int)yyvsp[-12].d, 0., 0., 0., @@ -7734,18 +8907,20 @@ case 328: TheShape.Type = pv->Typ; List_Add(yyval.l, &TheShape); } - ; - break;} -case 329: + ;} + break; + + case 330: #line 3070 "Gmsh.y" -{ + { extr.mesh.ExtrudeMesh = false; extr.mesh.Recombine = false; - ; - break;} -case 330: + ;} + break; + + case 331: #line 3076 "Gmsh.y" -{ + { Volume *pv; Shape TheShape; TheShape.Num = Extrude_ProtudeSurface(TRANSLATE_ROTATE, (int)yyvsp[-14].d, yyvsp[-12].v[0], yyvsp[-12].v[1], yyvsp[-12].v[2], @@ -7766,21 +8941,24 @@ case 330: TheShape.Type = pv->Typ; List_Add(yyval.l, &TheShape); } - ; - break;} -case 331: + ;} + break; + + case 332: #line 3102 "Gmsh.y" -{ - ; - break;} -case 332: + { + ;} + break; + + case 333: #line 3105 "Gmsh.y" -{ - ; - break;} -case 333: + { + ;} + break; + + case 334: #line 3111 "Gmsh.y" -{ + { double d; extr.mesh.ExtrudeMesh = true; extr.mesh.NbLayer = List_Nbr(yyvsp[-6].l); @@ -7804,11 +8982,12 @@ case 333: List_Delete(yyvsp[-6].l); List_Delete(yyvsp[-4].l); List_Delete(yyvsp[-2].l); - ; - break;} -case 334: + ;} + break; + + case 335: #line 3137 "Gmsh.y" -{ + { double d; extr.mesh.ExtrudeMesh = true; extr.mesh.NbLayer = List_Nbr(yyvsp[-4].l); @@ -7830,17 +9009,19 @@ case 334: } List_Delete(yyvsp[-4].l); List_Delete(yyvsp[-2].l); - ; - break;} -case 335: + ;} + break; + + case 336: #line 3161 "Gmsh.y" -{ + { extr.mesh.Recombine = true; - ; - break;} -case 336: + ;} + break; + + case 337: #line 3170 "Gmsh.y" -{ + { for(int i = 0; i < List_Nbr(yyvsp[-3].l); i++){ double d; List_Read(yyvsp[-3].l, i, &d); @@ -7856,11 +9037,12 @@ case 336: } } List_Delete(yyvsp[-3].l); - ; - break;} -case 337: + ;} + break; + + case 338: #line 3188 "Gmsh.y" -{ + { for(int i = 0; i < List_Nbr(yyvsp[-6].l); i++){ double d; List_Read(yyvsp[-6].l, i, &d); @@ -7876,11 +9058,12 @@ case 337: } } List_Delete(yyvsp[-6].l); - ; - break;} -case 338: + ;} + break; + + case 339: #line 3206 "Gmsh.y" -{ + { for(int i = 0; i < List_Nbr(yyvsp[-6].l); i++){ double d; List_Read(yyvsp[-6].l, i, &d); @@ -7896,11 +9079,12 @@ case 338: } } List_Delete(yyvsp[-6].l); - ; - break;} -case 339: + ;} + break; + + case 340: #line 3224 "Gmsh.y" -{ + { Surface *s = FindSurface((int)yyvsp[-4].d, THEM); if(!s) yymsg(WARNING, "Unknown surface %d", (int)yyvsp[-4].d); @@ -7925,11 +9109,12 @@ case 339: } } List_Delete(yyvsp[-1].l); - ; - break;} -case 340: + ;} + break; + + case 341: #line 3251 "Gmsh.y" -{ + { Surface *s = FindSurface((int)yyvsp[-4].d, THEM); if(!s) yymsg(WARNING, "Unknown surface %d", (int)yyvsp[-4].d); @@ -7953,11 +9138,12 @@ case 340: } } List_Delete(yyvsp[-1].l); - ; - break;} -case 341: + ;} + break; + + case 342: #line 3277 "Gmsh.y" -{ + { Volume *v = FindVolume((int)yyvsp[-4].d, THEM); if(!v) yymsg(WARNING, "Unknown volume %d", (int)yyvsp[-4].d); @@ -7981,11 +9167,12 @@ case 341: } } List_Delete(yyvsp[-1].l); - ; - break;} -case 342: + ;} + break; + + case 343: #line 3303 "Gmsh.y" -{ + { for(int i = 0; i < List_Nbr(yyvsp[-3].l); i++){ double d; List_Read(yyvsp[-3].l, i, &d); @@ -7997,11 +9184,12 @@ case 342: } } List_Delete(yyvsp[-3].l); - ; - break;} -case 343: + ;} + break; + + case 344: #line 3317 "Gmsh.y" -{ + { for(int i = 0; i < List_Nbr(yyvsp[-1].l); i++){ double d; List_Read(yyvsp[-1].l, i, &d); @@ -8012,312 +9200,386 @@ case 343: } } List_Delete(yyvsp[-1].l); - ; - break;} -case 344: + ;} + break; + + case 345: #line 3336 "Gmsh.y" -{ + { ReplaceAllDuplicates(THEM); - ; - break;} -case 345: + ;} + break; + + case 346: #line 3340 "Gmsh.y" -{ + { IntersectAllSegmentsTogether(); - ; - break;} -case 346: + ;} + break; + + case 347: #line 3349 "Gmsh.y" -{yyval.i = 1;; - break;} -case 347: + {yyval.i = 1;;} + break; + + case 348: #line 3350 "Gmsh.y" -{yyval.i = 0;; - break;} -case 348: + {yyval.i = 0;;} + break; + + case 349: #line 3351 "Gmsh.y" -{yyval.i = -1;; - break;} -case 349: + {yyval.i = -1;;} + break; + + case 350: #line 3352 "Gmsh.y" -{yyval.i = -1;; - break;} -case 350: + {yyval.i = -1;;} + break; + + case 351: #line 3353 "Gmsh.y" -{yyval.i = -1;; - break;} -case 351: + {yyval.i = -1;;} + break; + + case 352: #line 3357 "Gmsh.y" -{ yyval.d = yyvsp[0].d; ; - break;} -case 352: + { yyval.d = yyvsp[0].d; ;} + break; + + case 353: #line 3358 "Gmsh.y" -{ yyval.d = yyvsp[-1].d; ; - break;} -case 353: + { yyval.d = yyvsp[-1].d; ;} + break; + + case 354: #line 3359 "Gmsh.y" -{ yyval.d = -yyvsp[0].d; ; - break;} -case 354: + { yyval.d = -yyvsp[0].d; ;} + break; + + case 355: #line 3360 "Gmsh.y" -{ yyval.d = yyvsp[0].d; ; - break;} -case 355: + { yyval.d = yyvsp[0].d; ;} + break; + + case 356: #line 3361 "Gmsh.y" -{ yyval.d = !yyvsp[0].d; ; - break;} -case 356: + { yyval.d = !yyvsp[0].d; ;} + break; + + case 357: #line 3362 "Gmsh.y" -{ yyval.d = yyvsp[-2].d - yyvsp[0].d; ; - break;} -case 357: + { yyval.d = yyvsp[-2].d - yyvsp[0].d; ;} + break; + + case 358: #line 3363 "Gmsh.y" -{ yyval.d = yyvsp[-2].d + yyvsp[0].d; ; - break;} -case 358: + { yyval.d = yyvsp[-2].d + yyvsp[0].d; ;} + break; + + case 359: #line 3364 "Gmsh.y" -{ yyval.d = yyvsp[-2].d * yyvsp[0].d; ; - break;} -case 359: + { yyval.d = yyvsp[-2].d * yyvsp[0].d; ;} + break; + + case 360: #line 3366 "Gmsh.y" -{ + { if(!yyvsp[0].d) yymsg(GERROR, "Division by zero in '%g / %g'", yyvsp[-2].d, yyvsp[0].d); else yyval.d = yyvsp[-2].d / yyvsp[0].d; - ; - break;} -case 360: + ;} + break; + + case 361: #line 3372 "Gmsh.y" -{ yyval.d = (int)yyvsp[-2].d % (int)yyvsp[0].d; ; - break;} -case 361: + { yyval.d = (int)yyvsp[-2].d % (int)yyvsp[0].d; ;} + break; + + case 362: #line 3373 "Gmsh.y" -{ yyval.d = pow(yyvsp[-2].d, yyvsp[0].d); ; - break;} -case 362: + { yyval.d = pow(yyvsp[-2].d, yyvsp[0].d); ;} + break; + + case 363: #line 3374 "Gmsh.y" -{ yyval.d = yyvsp[-2].d < yyvsp[0].d; ; - break;} -case 363: + { yyval.d = yyvsp[-2].d < yyvsp[0].d; ;} + break; + + case 364: #line 3375 "Gmsh.y" -{ yyval.d = yyvsp[-2].d > yyvsp[0].d; ; - break;} -case 364: + { yyval.d = yyvsp[-2].d > yyvsp[0].d; ;} + break; + + case 365: #line 3376 "Gmsh.y" -{ yyval.d = yyvsp[-2].d <= yyvsp[0].d; ; - break;} -case 365: + { yyval.d = yyvsp[-2].d <= yyvsp[0].d; ;} + break; + + case 366: #line 3377 "Gmsh.y" -{ yyval.d = yyvsp[-2].d >= yyvsp[0].d; ; - break;} -case 366: + { yyval.d = yyvsp[-2].d >= yyvsp[0].d; ;} + break; + + case 367: #line 3378 "Gmsh.y" -{ yyval.d = yyvsp[-2].d == yyvsp[0].d; ; - break;} -case 367: + { yyval.d = yyvsp[-2].d == yyvsp[0].d; ;} + break; + + case 368: #line 3379 "Gmsh.y" -{ yyval.d = yyvsp[-2].d != yyvsp[0].d; ; - break;} -case 368: + { yyval.d = yyvsp[-2].d != yyvsp[0].d; ;} + break; + + case 369: #line 3380 "Gmsh.y" -{ yyval.d = yyvsp[-2].d && yyvsp[0].d; ; - break;} -case 369: + { yyval.d = yyvsp[-2].d && yyvsp[0].d; ;} + break; + + case 370: #line 3381 "Gmsh.y" -{ yyval.d = yyvsp[-2].d || yyvsp[0].d; ; - break;} -case 370: + { yyval.d = yyvsp[-2].d || yyvsp[0].d; ;} + break; + + case 371: #line 3382 "Gmsh.y" -{ yyval.d = yyvsp[-4].d? yyvsp[-2].d : yyvsp[0].d; ; - break;} -case 371: + { yyval.d = yyvsp[-4].d? yyvsp[-2].d : yyvsp[0].d; ;} + break; + + case 372: #line 3383 "Gmsh.y" -{ yyval.d = exp(yyvsp[-1].d); ; - break;} -case 372: + { yyval.d = exp(yyvsp[-1].d); ;} + break; + + case 373: #line 3384 "Gmsh.y" -{ yyval.d = log(yyvsp[-1].d); ; - break;} -case 373: + { yyval.d = log(yyvsp[-1].d); ;} + break; + + case 374: #line 3385 "Gmsh.y" -{ yyval.d = log10(yyvsp[-1].d); ; - break;} -case 374: + { yyval.d = log10(yyvsp[-1].d); ;} + break; + + case 375: #line 3386 "Gmsh.y" -{ yyval.d = sqrt(yyvsp[-1].d); ; - break;} -case 375: + { yyval.d = sqrt(yyvsp[-1].d); ;} + break; + + case 376: #line 3387 "Gmsh.y" -{ yyval.d = sin(yyvsp[-1].d); ; - break;} -case 376: + { yyval.d = sin(yyvsp[-1].d); ;} + break; + + case 377: #line 3388 "Gmsh.y" -{ yyval.d = asin(yyvsp[-1].d); ; - break;} -case 377: + { yyval.d = asin(yyvsp[-1].d); ;} + break; + + case 378: #line 3389 "Gmsh.y" -{ yyval.d = cos(yyvsp[-1].d); ; - break;} -case 378: + { yyval.d = cos(yyvsp[-1].d); ;} + break; + + case 379: #line 3390 "Gmsh.y" -{ yyval.d = acos(yyvsp[-1].d); ; - break;} -case 379: + { yyval.d = acos(yyvsp[-1].d); ;} + break; + + case 380: #line 3391 "Gmsh.y" -{ yyval.d = tan(yyvsp[-1].d); ; - break;} -case 380: + { yyval.d = tan(yyvsp[-1].d); ;} + break; + + case 381: #line 3392 "Gmsh.y" -{ yyval.d = atan(yyvsp[-1].d); ; - break;} -case 381: + { yyval.d = atan(yyvsp[-1].d); ;} + break; + + case 382: #line 3393 "Gmsh.y" -{ yyval.d = atan2(yyvsp[-3].d, yyvsp[-1].d);; - break;} -case 382: + { yyval.d = atan2(yyvsp[-3].d, yyvsp[-1].d);;} + break; + + case 383: #line 3394 "Gmsh.y" -{ yyval.d = sinh(yyvsp[-1].d); ; - break;} -case 383: + { yyval.d = sinh(yyvsp[-1].d); ;} + break; + + case 384: #line 3395 "Gmsh.y" -{ yyval.d = cosh(yyvsp[-1].d); ; - break;} -case 384: + { yyval.d = cosh(yyvsp[-1].d); ;} + break; + + case 385: #line 3396 "Gmsh.y" -{ yyval.d = tanh(yyvsp[-1].d); ; - break;} -case 385: + { yyval.d = tanh(yyvsp[-1].d); ;} + break; + + case 386: #line 3397 "Gmsh.y" -{ yyval.d = fabs(yyvsp[-1].d); ; - break;} -case 386: + { yyval.d = fabs(yyvsp[-1].d); ;} + break; + + case 387: #line 3398 "Gmsh.y" -{ yyval.d = floor(yyvsp[-1].d); ; - break;} -case 387: + { yyval.d = floor(yyvsp[-1].d); ;} + break; + + case 388: #line 3399 "Gmsh.y" -{ yyval.d = ceil(yyvsp[-1].d); ; - break;} -case 388: + { yyval.d = ceil(yyvsp[-1].d); ;} + break; + + case 389: #line 3400 "Gmsh.y" -{ yyval.d = fmod(yyvsp[-3].d, yyvsp[-1].d); ; - break;} -case 389: + { yyval.d = fmod(yyvsp[-3].d, yyvsp[-1].d); ;} + break; + + case 390: #line 3401 "Gmsh.y" -{ yyval.d = fmod(yyvsp[-3].d, yyvsp[-1].d); ; - break;} -case 390: + { yyval.d = fmod(yyvsp[-3].d, yyvsp[-1].d); ;} + break; + + case 391: #line 3402 "Gmsh.y" -{ yyval.d = sqrt(yyvsp[-3].d*yyvsp[-3].d+yyvsp[-1].d*yyvsp[-1].d); ; - break;} -case 391: + { yyval.d = sqrt(yyvsp[-3].d*yyvsp[-3].d+yyvsp[-1].d*yyvsp[-1].d); ;} + break; + + case 392: #line 3403 "Gmsh.y" -{ yyval.d = yyvsp[-1].d*(double)rand()/(double)RAND_MAX; ; - break;} -case 392: + { yyval.d = yyvsp[-1].d*(double)rand()/(double)RAND_MAX; ;} + break; + + case 393: #line 3405 "Gmsh.y" -{ yyval.d = exp(yyvsp[-1].d); ; - break;} -case 393: + { yyval.d = exp(yyvsp[-1].d); ;} + break; + + case 394: #line 3406 "Gmsh.y" -{ yyval.d = log(yyvsp[-1].d); ; - break;} -case 394: + { yyval.d = log(yyvsp[-1].d); ;} + break; + + case 395: #line 3407 "Gmsh.y" -{ yyval.d = log10(yyvsp[-1].d); ; - break;} -case 395: + { yyval.d = log10(yyvsp[-1].d); ;} + break; + + case 396: #line 3408 "Gmsh.y" -{ yyval.d = sqrt(yyvsp[-1].d); ; - break;} -case 396: + { yyval.d = sqrt(yyvsp[-1].d); ;} + break; + + case 397: #line 3409 "Gmsh.y" -{ yyval.d = sin(yyvsp[-1].d); ; - break;} -case 397: + { yyval.d = sin(yyvsp[-1].d); ;} + break; + + case 398: #line 3410 "Gmsh.y" -{ yyval.d = asin(yyvsp[-1].d); ; - break;} -case 398: + { yyval.d = asin(yyvsp[-1].d); ;} + break; + + case 399: #line 3411 "Gmsh.y" -{ yyval.d = cos(yyvsp[-1].d); ; - break;} -case 399: + { yyval.d = cos(yyvsp[-1].d); ;} + break; + + case 400: #line 3412 "Gmsh.y" -{ yyval.d = acos(yyvsp[-1].d); ; - break;} -case 400: + { yyval.d = acos(yyvsp[-1].d); ;} + break; + + case 401: #line 3413 "Gmsh.y" -{ yyval.d = tan(yyvsp[-1].d); ; - break;} -case 401: + { yyval.d = tan(yyvsp[-1].d); ;} + break; + + case 402: #line 3414 "Gmsh.y" -{ yyval.d = atan(yyvsp[-1].d); ; - break;} -case 402: + { yyval.d = atan(yyvsp[-1].d); ;} + break; + + case 403: #line 3415 "Gmsh.y" -{ yyval.d = atan2(yyvsp[-3].d, yyvsp[-1].d);; - break;} -case 403: + { yyval.d = atan2(yyvsp[-3].d, yyvsp[-1].d);;} + break; + + case 404: #line 3416 "Gmsh.y" -{ yyval.d = sinh(yyvsp[-1].d); ; - break;} -case 404: + { yyval.d = sinh(yyvsp[-1].d); ;} + break; + + case 405: #line 3417 "Gmsh.y" -{ yyval.d = cosh(yyvsp[-1].d); ; - break;} -case 405: + { yyval.d = cosh(yyvsp[-1].d); ;} + break; + + case 406: #line 3418 "Gmsh.y" -{ yyval.d = tanh(yyvsp[-1].d); ; - break;} -case 406: + { yyval.d = tanh(yyvsp[-1].d); ;} + break; + + case 407: #line 3419 "Gmsh.y" -{ yyval.d = fabs(yyvsp[-1].d); ; - break;} -case 407: + { yyval.d = fabs(yyvsp[-1].d); ;} + break; + + case 408: #line 3420 "Gmsh.y" -{ yyval.d = floor(yyvsp[-1].d); ; - break;} -case 408: + { yyval.d = floor(yyvsp[-1].d); ;} + break; + + case 409: #line 3421 "Gmsh.y" -{ yyval.d = ceil(yyvsp[-1].d); ; - break;} -case 409: + { yyval.d = ceil(yyvsp[-1].d); ;} + break; + + case 410: #line 3422 "Gmsh.y" -{ yyval.d = fmod(yyvsp[-3].d, yyvsp[-1].d); ; - break;} -case 410: + { yyval.d = fmod(yyvsp[-3].d, yyvsp[-1].d); ;} + break; + + case 411: #line 3423 "Gmsh.y" -{ yyval.d = fmod(yyvsp[-3].d, yyvsp[-1].d); ; - break;} -case 411: + { yyval.d = fmod(yyvsp[-3].d, yyvsp[-1].d); ;} + break; + + case 412: #line 3424 "Gmsh.y" -{ yyval.d = sqrt(yyvsp[-3].d*yyvsp[-3].d+yyvsp[-1].d*yyvsp[-1].d); ; - break;} -case 412: + { yyval.d = sqrt(yyvsp[-3].d*yyvsp[-3].d+yyvsp[-1].d*yyvsp[-1].d); ;} + break; + + case 413: #line 3425 "Gmsh.y" -{ yyval.d = yyvsp[-1].d*(double)rand()/(double)RAND_MAX; ; - break;} -case 413: + { yyval.d = yyvsp[-1].d*(double)rand()/(double)RAND_MAX; ;} + break; + + case 414: #line 3434 "Gmsh.y" -{ yyval.d = yyvsp[0].d; ; - break;} -case 414: + { yyval.d = yyvsp[0].d; ;} + break; + + case 415: #line 3435 "Gmsh.y" -{ yyval.d = 3.141592653589793; ; - break;} -case 415: + { yyval.d = 3.141592653589793; ;} + break; + + case 416: #line 3436 "Gmsh.y" -{ yyval.d = ParUtil::Instance()->rank(); ; - break;} -case 416: + { yyval.d = ParUtil::Instance()->rank(); ;} + break; + + case 417: #line 3437 "Gmsh.y" -{ yyval.d = ParUtil::Instance()->size(); ; - break;} -case 417: + { yyval.d = ParUtil::Instance()->size(); ;} + break; + + case 418: #line 3442 "Gmsh.y" -{ + { Symbol TheSymbol; TheSymbol.Name = yyvsp[0].c; Symbol *pSymbol; @@ -8327,11 +9589,12 @@ case 417: } else yyval.d = *(double*)List_Pointer_Fast(pSymbol->val, 0); - ; - break;} -case 418: + ;} + break; + + case 419: #line 3454 "Gmsh.y" -{ + { Symbol TheSymbol; TheSymbol.Name = yyvsp[-3].c; Symbol *pSymbol; @@ -8348,11 +9611,12 @@ case 418: yyval.d = 0.; } } - ; - break;} -case 419: + ;} + break; + + case 420: #line 3473 "Gmsh.y" -{ + { Symbol TheSymbol; TheSymbol.Name = yyvsp[-2].c; Symbol *pSymbol; @@ -8363,11 +9627,12 @@ case 419: else{ yyval.d = List_Nbr(pSymbol->val); } - ; - break;} -case 420: + ;} + break; + + case 421: #line 3486 "Gmsh.y" -{ + { Symbol TheSymbol; TheSymbol.Name = yyvsp[-1].c; Symbol *pSymbol; @@ -8377,11 +9642,12 @@ case 420: } else yyval.d = (*(double*)List_Pointer_Fast(pSymbol->val, 0) += yyvsp[0].i); - ; - break;} -case 421: + ;} + break; + + case 422: #line 3498 "Gmsh.y" -{ + { Symbol TheSymbol; TheSymbol.Name = yyvsp[-4].c; Symbol *pSymbol; @@ -8398,11 +9664,12 @@ case 421: yyval.d = 0.; } } - ; - break;} -case 422: + ;} + break; + + case 423: #line 3520 "Gmsh.y" -{ + { double (*pNumOpt)(int num, int action, double value); StringXNumber *pNumCat; if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-2].c))){ @@ -8417,11 +9684,12 @@ case 422: else yyval.d = pNumOpt(0, GMSH_GET, 0); } - ; - break;} -case 423: + ;} + break; + + case 424: #line 3537 "Gmsh.y" -{ + { double (*pNumOpt)(int num, int action, double value); StringXNumber *pNumCat; if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-5].c))){ @@ -8436,11 +9704,12 @@ case 423: else yyval.d = pNumOpt((int)yyvsp[-3].d, GMSH_GET, 0); } - ; - break;} -case 424: + ;} + break; + + case 425: #line 3554 "Gmsh.y" -{ + { double (*pNumOpt)(int num, int action, double value); StringXNumber *pNumCat; if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-3].c))){ @@ -8455,11 +9724,12 @@ case 424: else yyval.d = pNumOpt(0, GMSH_SET|GMSH_GUI, pNumOpt(0, GMSH_GET, 0)+yyvsp[0].i); } - ; - break;} -case 425: + ;} + break; + + case 426: #line 3571 "Gmsh.y" -{ + { double (*pNumOpt)(int num, int action, double value); StringXNumber *pNumCat; if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-6].c))){ @@ -8474,153 +9744,177 @@ case 425: else yyval.d = pNumOpt((int)yyvsp[-4].d, GMSH_SET|GMSH_GUI, pNumOpt((int)yyvsp[-4].d, GMSH_GET, 0)+yyvsp[0].i); } - ; - break;} -case 426: + ;} + break; + + case 427: #line 3591 "Gmsh.y" -{ + { memcpy(yyval.v, yyvsp[0].v, 5*sizeof(double)); - ; - break;} -case 427: + ;} + break; + + case 428: #line 3595 "Gmsh.y" -{ + { for(int i = 0; i < 5; i++) yyval.v[i] = -yyvsp[0].v[i]; - ; - break;} -case 428: + ;} + break; + + case 429: #line 3599 "Gmsh.y" -{ + { for(int i = 0; i < 5; i++) yyval.v[i] = yyvsp[0].v[i]; - ; - break;} -case 429: + ;} + break; + + case 430: #line 3603 "Gmsh.y" -{ + { for(int i = 0; i < 5; i++) yyval.v[i] = yyvsp[-2].v[i] - yyvsp[0].v[i]; - ; - break;} -case 430: + ;} + break; + + case 431: #line 3607 "Gmsh.y" -{ + { for(int i = 0; i < 5; i++) yyval.v[i] = yyvsp[-2].v[i] + yyvsp[0].v[i]; - ; - break;} -case 431: + ;} + break; + + case 432: #line 3614 "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 432: + ;} + break; + + case 433: #line 3618 "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 433: + ;} + break; + + case 434: #line 3622 "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 434: + ;} + break; + + case 435: #line 3626 "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 435: + ;} + break; + + case 436: #line 3633 "Gmsh.y" -{ - ; - break;} -case 436: + { + ;} + break; + + case 437: #line 3636 "Gmsh.y" -{ - ; - break;} -case 437: + { + ;} + break; + + case 438: #line 3642 "Gmsh.y" -{ - ; - break;} -case 438: + { + ;} + break; + + case 439: #line 3645 "Gmsh.y" -{ - ; - break;} -case 439: + { + ;} + break; + + case 440: #line 3651 "Gmsh.y" -{ - ; - break;} -case 440: + { + ;} + break; + + case 441: #line 3654 "Gmsh.y" -{ + { yyval.l = yyvsp[-1].l; - ; - break;} -case 441: + ;} + break; + + case 442: #line 3658 "Gmsh.y" -{ + { yyval.l = yyvsp[-1].l; - ; - break;} -case 442: + ;} + break; + + case 443: #line 3665 "Gmsh.y" -{ + { yyval.l = List_Create(2, 1, sizeof(List_T*)); List_Add(yyval.l, &(yyvsp[0].l)); - ; - break;} -case 443: + ;} + break; + + case 444: #line 3670 "Gmsh.y" -{ + { List_Add(yyval.l, &(yyvsp[0].l)); - ; - break;} -case 444: + ;} + break; + + case 445: #line 3678 "Gmsh.y" -{ + { yyval.l = List_Create(2, 1, sizeof(double)); List_Add(yyval.l, &(yyvsp[0].d)); - ; - break;} -case 445: + ;} + break; + + case 446: #line 3683 "Gmsh.y" -{ + { yyval.l = yyvsp[0].l; - ; - break;} -case 446: + ;} + break; + + case 447: #line 3687 "Gmsh.y" -{ + { yyval.l = yyvsp[-1].l; - ; - break;} -case 447: + ;} + break; + + case 448: #line 3691 "Gmsh.y" -{ + { yyval.l = yyvsp[-1].l; double *pd; for(int i = 0; i < List_Nbr(yyval.l); i++){ pd = (double*)List_Pointer(yyval.l, i); (*pd) = - (*pd); } - ; - break;} -case 448: + ;} + break; + + case 449: #line 3703 "Gmsh.y" -{ + { yyval.l = List_Create(2, 1, sizeof(double)); for(double d = yyvsp[-2].d; (yyvsp[-2].d < yyvsp[0].d) ? (d <= yyvsp[0].d) : (d >= yyvsp[0].d); (yyvsp[-2].d < yyvsp[0].d) ? (d += 1.) : (d -= 1.)) List_Add(yyval.l, &d); - ; - break;} -case 449: + ;} + break; + + case 450: #line 3709 "Gmsh.y" -{ + { yyval.l = List_Create(2, 1, sizeof(double)); if(!yyvsp[0].d || (yyvsp[-4].d < yyvsp[-2].d && yyvsp[0].d < 0) || (yyvsp[-4].d > yyvsp[-2].d && yyvsp[0].d > 0)){ yymsg(GERROR, "Wrong increment in '%g:%g:%g'", yyvsp[-4].d, yyvsp[-2].d, yyvsp[0].d); @@ -8629,11 +9923,12 @@ case 449: else for(double d = yyvsp[-4].d; (yyvsp[0].d > 0) ? (d <= yyvsp[-2].d) : (d >= yyvsp[-2].d); d += yyvsp[0].d) List_Add(yyval.l, &d); - ; - break;} -case 450: + ;} + break; + + case 451: #line 3720 "Gmsh.y" -{ + { // Returns the coordinates of a point and fills a list with it. // This allows to ensure e.g. that relative point positions are // always conserved @@ -8651,11 +9946,12 @@ case 450: List_Add(yyval.l, &v->Pos.Y); List_Add(yyval.l, &v->Pos.Z); } - ; - break;} -case 451: + ;} + break; + + case 452: #line 3740 "Gmsh.y" -{ + { yyval.l = List_Create(List_Nbr(yyvsp[0].l), 1, sizeof(double)); for(int i = 0; i < List_Nbr(yyvsp[0].l); i++){ Shape *s = (Shape*) List_Pointer(yyvsp[0].l, i); @@ -8663,11 +9959,12 @@ case 451: List_Add(yyval.l, &d); } List_Delete(yyvsp[0].l); - ; - break;} -case 452: + ;} + break; + + case 453: #line 3750 "Gmsh.y" -{ + { yyval.l = List_Create(List_Nbr(yyvsp[0].l), 1, sizeof(double)); for(int i = 0; i < List_Nbr(yyvsp[0].l); i++){ Shape *s = (Shape*) List_Pointer(yyvsp[0].l, i); @@ -8675,11 +9972,12 @@ case 452: List_Add(yyval.l, &d); } List_Delete(yyvsp[0].l); - ; - break;} -case 453: + ;} + break; + + case 454: #line 3760 "Gmsh.y" -{ + { // FIXME: The syntax for this is ugly: we get double semi-colons // at the end of the line yyval.l = List_Create(List_Nbr(yyvsp[0].l), 1, sizeof(double)); @@ -8689,11 +9987,12 @@ case 453: List_Add(yyval.l, &d); } List_Delete(yyvsp[0].l); - ; - break;} -case 454: + ;} + break; + + case 455: #line 3772 "Gmsh.y" -{ + { yyval.l = List_Create(2, 1, sizeof(double)); Symbol TheSymbol; TheSymbol.Name = yyvsp[-2].c; @@ -8707,11 +10006,12 @@ case 454: for(int i = 0; i < List_Nbr(pSymbol->val); i++) List_Add(yyval.l, (double*)List_Pointer_Fast(pSymbol->val, i)); } - ; - break;} -case 455: + ;} + break; + + case 456: #line 3788 "Gmsh.y" -{ + { yyval.l = List_Create(2, 1, sizeof(double)); Symbol TheSymbol; TheSymbol.Name = yyvsp[-2].c; @@ -8727,11 +10027,12 @@ case 455: List_Add(yyval.l, &d); } } - ; - break;} -case 456: + ;} + break; + + case 457: #line 3806 "Gmsh.y" -{ + { yyval.l = List_Create(2, 1, sizeof(double)); Symbol TheSymbol; TheSymbol.Name = yyvsp[-5].c; @@ -8752,11 +10053,12 @@ case 456: } } List_Delete(yyvsp[-2].l); - ; - break;} -case 457: + ;} + break; + + case 458: #line 3829 "Gmsh.y" -{ + { yyval.l = List_Create(2, 1, sizeof(double)); Symbol TheSymbol; TheSymbol.Name = yyvsp[-5].c; @@ -8779,61 +10081,69 @@ case 457: } } List_Delete(yyvsp[-2].l); - ; - break;} -case 458: + ;} + break; + + case 459: #line 3857 "Gmsh.y" -{ + { yyval.l = List_Create(2, 1, sizeof(double)); List_Add(yyval.l, &(yyvsp[0].d)); - ; - break;} -case 459: + ;} + break; + + case 460: #line 3862 "Gmsh.y" -{ + { yyval.l = yyvsp[0].l; - ; - break;} -case 460: + ;} + break; + + case 461: #line 3866 "Gmsh.y" -{ + { List_Add(yyval.l, &(yyvsp[0].d)); - ; - break;} -case 461: + ;} + break; + + case 462: #line 3870 "Gmsh.y" -{ + { for(int i = 0; i < List_Nbr(yyvsp[0].l); i++){ double d; List_Read(yyvsp[0].l, i, &d); List_Add(yyval.l, &d); } List_Delete(yyvsp[0].l); - ; - break;} -case 462: + ;} + break; + + case 463: #line 3883 "Gmsh.y" -{ + { yyval.u = PACK_COLOR((int)yyvsp[-7].d, (int)yyvsp[-5].d, (int)yyvsp[-3].d, (int)yyvsp[-1].d); - ; - break;} -case 463: + ;} + break; + + case 464: #line 3887 "Gmsh.y" -{ + { yyval.u = PACK_COLOR((int)yyvsp[-5].d, (int)yyvsp[-3].d, (int)yyvsp[-1].d, 255); - ; - break;} -case 464: + ;} + break; + + case 465: #line 3899 "Gmsh.y" -{ + { int flag; yyval.u = Get_ColorForString(ColorString, -1, yyvsp[0].c, &flag); if(flag) yymsg(GERROR, "Unknown color '%s'", yyvsp[0].c); - ; - break;} -case 465: + ;} + break; + + case 466: #line 3905 "Gmsh.y" -{ + { unsigned int (*pColOpt)(int num, int action, unsigned int value); StringXColor *pColCat; if(!(pColCat = Get_ColorOptionCategory(yyvsp[-4].c))){ @@ -8849,17 +10159,19 @@ case 465: yyval.u = pColOpt(0, GMSH_GET, 0); } } - ; - break;} -case 466: + ;} + break; + + case 467: #line 3926 "Gmsh.y" -{ + { yyval.l = yyvsp[-1].l; - ; - break;} -case 467: + ;} + break; + + case 468: #line 3930 "Gmsh.y" -{ + { yyval.l = List_Create(256, 10, sizeof(unsigned int)); GmshColorTable *ct = Get_ColorTable((int)yyvsp[-3].d); if(!ct) @@ -8868,40 +10180,45 @@ case 467: for(int i = 0; i < ct->size; i++) List_Add(yyval.l, &ct->table[i]); } - ; - break;} -case 468: + ;} + break; + + case 469: #line 3944 "Gmsh.y" -{ + { yyval.l = List_Create(256, 10, sizeof(unsigned int)); List_Add(yyval.l, &(yyvsp[0].u)); - ; - break;} -case 469: + ;} + break; + + case 470: #line 3949 "Gmsh.y" -{ + { List_Add(yyval.l, &(yyvsp[0].u)); - ; - break;} -case 470: + ;} + break; + + case 471: #line 3956 "Gmsh.y" -{ + { yyval.c = yyvsp[0].c; - ; - break;} -case 471: + ;} + break; + + case 472: #line 3960 "Gmsh.y" -{ + { yyval.c = (char *)Malloc((strlen(yyvsp[-3].c)+strlen(yyvsp[-1].c)+1)*sizeof(char)); strcpy(yyval.c, yyvsp[-3].c); strcat(yyval.c, yyvsp[-1].c); Free(yyvsp[-3].c); Free(yyvsp[-1].c); - ; - break;} -case 472: + ;} + break; + + case 473: #line 3968 "Gmsh.y" -{ + { yyval.c = (char *)Malloc((strlen(yyvsp[-1].c)+1)*sizeof(char)); int i; for(i = strlen(yyvsp[-1].c)-1; i >= 0; i--){ @@ -8913,17 +10230,19 @@ case 472: } if(i <= 0) strcpy(yyval.c, yyvsp[-1].c); Free(yyvsp[-1].c); - ; - break;} -case 473: + ;} + break; + + case 474: #line 3982 "Gmsh.y" -{ + { yyval.c = yyvsp[-1].c; - ; - break;} -case 474: + ;} + break; + + case 475: #line 3986 "Gmsh.y" -{ + { char tmpstring[1024]; int i = PrintListOfDouble(yyvsp[-3].c, yyvsp[-1].l, tmpstring); if(i < 0){ @@ -8940,11 +10259,12 @@ case 474: Free(yyvsp[-3].c); } List_Delete(yyvsp[-1].l); - ; - break;} -case 475: + ;} + break; + + case 476: #line 4005 "Gmsh.y" -{ + { char* (*pStrOpt)(int num, int action, char *value); StringXString *pStrCat; if(!(pStrCat = Get_StringOptionCategory(yyvsp[-3].c))) @@ -8958,11 +10278,12 @@ case 475: strcpy(yyval.c, str); } } - ; - break;} -case 476: + ;} + break; + + case 477: #line 4021 "Gmsh.y" -{ + { char* (*pStrOpt)(int num, int action, char *value); StringXString *pStrCat; if(!(pStrCat = Get_StringOptionCategory(yyvsp[-6].c))) @@ -8976,230 +10297,238 @@ case 476: strcpy(yyval.c, str); } } - ; - break;} -} - /* the action file gets copied in in place of this dollarsign */ -#line 543 "/usr/share/bison.simple" + ;} + break; + + + } + +/* Line 1000 of yacc.c. */ +#line 10308 "Gmsh.tab.cpp" yyvsp -= yylen; yyssp -= yylen; -#ifdef YYLSP_NEEDED - yylsp -= yylen; -#endif -#if YYDEBUG != 0 - if (yydebug) - { - short *ssp1 = yyss - 1; - fprintf (stderr, "state stack now"); - while (ssp1 != yyssp) - fprintf (stderr, " %d", *++ssp1); - fprintf (stderr, "\n"); - } -#endif + + YY_STACK_PRINT (yyss, yyssp); *++yyvsp = yyval; -#ifdef YYLSP_NEEDED - yylsp++; - if (yylen == 0) - { - yylsp->first_line = yylloc.first_line; - yylsp->first_column = yylloc.first_column; - yylsp->last_line = (yylsp-1)->last_line; - yylsp->last_column = (yylsp-1)->last_column; - yylsp->text = 0; - } - else - { - yylsp->last_line = (yylsp+yylen-1)->last_line; - yylsp->last_column = (yylsp+yylen-1)->last_column; - } -#endif - /* Now "shift" the result of the reduction. - Determine what state that goes to, - based on the state we popped back to - and the rule number reduced by. */ + /* Now `shift' the result of the reduction. Determine what state + that goes to, based on the state we popped back to and the rule + number reduced by. */ yyn = yyr1[yyn]; - yystate = yypgoto[yyn - YYNTBASE] + *yyssp; - if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp) + yystate = yypgoto[yyn - YYNTOKENS] + *yyssp; + if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp) yystate = yytable[yystate]; else - yystate = yydefgoto[yyn - YYNTBASE]; + yystate = yydefgoto[yyn - YYNTOKENS]; goto yynewstate; -yyerrlab: /* here on detecting error */ - if (! yyerrstatus) - /* If not already recovering from an error, report this error. */ +/*------------------------------------. +| yyerrlab -- here on detecting error | +`------------------------------------*/ +yyerrlab: + /* If not already recovering from an error, report this error. */ + if (!yyerrstatus) { ++yynerrs; - -#ifdef YYERROR_VERBOSE +#if YYERROR_VERBOSE yyn = yypact[yystate]; - if (yyn > YYFLAG && yyn < YYLAST) + if (YYPACT_NINF < yyn && yyn < YYLAST) { - int size = 0; - char *msg; - int x, count; - - count = 0; - /* Start X at -yyn if nec to avoid negative indexes in yycheck. */ - for (x = (yyn < 0 ? -yyn : 0); - x < (sizeof(yytname) / sizeof(char *)); x++) - if (yycheck[x + yyn] == x) - size += strlen(yytname[x]) + 15, count++; - msg = (char *) malloc(size + 15); - if (msg != 0) + YYSIZE_T yysize = 0; + int yytype = YYTRANSLATE (yychar); + const char* yyprefix; + char *yymsg; + int yyx; + + /* Start YYX at -YYN if negative to avoid negative indexes in + YYCHECK. */ + int yyxbegin = yyn < 0 ? -yyn : 0; + + /* Stay within bounds of both yycheck and yytname. */ + int yychecklim = YYLAST - yyn; + int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; + int yycount = 0; + + yyprefix = ", expecting "; + for (yyx = yyxbegin; yyx < yyxend; ++yyx) + if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) + { + yysize += yystrlen (yyprefix) + yystrlen (yytname [yyx]); + yycount += 1; + if (yycount == 5) + { + yysize = 0; + break; + } + } + yysize += (sizeof ("syntax error, unexpected ") + + yystrlen (yytname[yytype])); + yymsg = (char *) YYSTACK_ALLOC (yysize); + if (yymsg != 0) { - strcpy(msg, "parse error"); + char *yyp = yystpcpy (yymsg, "syntax error, unexpected "); + yyp = yystpcpy (yyp, yytname[yytype]); - if (count < 5) + if (yycount < 5) { - count = 0; - for (x = (yyn < 0 ? -yyn : 0); - x < (sizeof(yytname) / sizeof(char *)); x++) - if (yycheck[x + yyn] == x) + yyprefix = ", expecting "; + for (yyx = yyxbegin; yyx < yyxend; ++yyx) + if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) { - strcat(msg, count == 0 ? ", expecting `" : " or `"); - strcat(msg, yytname[x]); - strcat(msg, "'"); - count++; + yyp = yystpcpy (yyp, yyprefix); + yyp = yystpcpy (yyp, yytname[yyx]); + yyprefix = " or "; } } - yyerror(msg); - free(msg); + yyerror (yymsg); + YYSTACK_FREE (yymsg); } else - yyerror ("parse error; also virtual memory exceeded"); + yyerror ("syntax error; also virtual memory exhausted"); } else #endif /* YYERROR_VERBOSE */ - yyerror("parse error"); + yyerror ("syntax error"); } - goto yyerrlab1; -yyerrlab1: /* here on error raised explicitly by an action */ + if (yyerrstatus == 3) { - /* if just tried and failed to reuse lookahead token after an error, discard it. */ - - /* return failure if at end of input */ - if (yychar == YYEOF) - YYABORT; - -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]); -#endif + /* If just tried and failed to reuse lookahead token after an + error, discard it. */ + + if (yychar <= YYEOF) + { + /* If at end of input, pop the error token, + then the rest of the stack, then return failure. */ + if (yychar == YYEOF) + for (;;) + { + YYPOPSTACK; + if (yyssp == yyss) + YYABORT; + YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp); + yydestruct (yystos[*yyssp], yyvsp); + } + } + else + { + YYDSYMPRINTF ("Error: discarding", yytoken, &yylval, &yylloc); + yydestruct (yytoken, &yylval); + yychar = YYEMPTY; - yychar = YYEMPTY; + } } - /* Else will try to reuse lookahead token - after shifting the error token. */ - - yyerrstatus = 3; /* Each real token shifted decrements this */ + /* Else will try to reuse lookahead token after shifting the error + token. */ + goto yyerrlab1; - goto yyerrhandle; -yyerrdefault: /* current state does not do anything special for the error token. */ +/*---------------------------------------------------. +| yyerrorlab -- error raised explicitly by YYERROR. | +`---------------------------------------------------*/ +yyerrorlab: -#if 0 - /* This is wrong; only states that explicitly want error tokens - should shift them. */ - yyn = yydefact[yystate]; /* If its default is to accept any token, ok. Otherwise pop it.*/ - if (yyn) goto yydefault; +#ifdef __GNUC__ + /* Pacify GCC when the user code never invokes YYERROR and the label + yyerrorlab therefore never appears in user code. */ + if (0) + goto yyerrorlab; #endif -yyerrpop: /* pop the current state because it cannot handle the error token */ - - if (yyssp == yyss) YYABORT; - yyvsp--; - yystate = *--yyssp; -#ifdef YYLSP_NEEDED - yylsp--; -#endif + yyvsp -= yylen; + yyssp -= yylen; + yystate = *yyssp; + goto yyerrlab1; -#if YYDEBUG != 0 - if (yydebug) - { - short *ssp1 = yyss - 1; - fprintf (stderr, "Error: state stack now"); - while (ssp1 != yyssp) - fprintf (stderr, " %d", *++ssp1); - fprintf (stderr, "\n"); - } -#endif -yyerrhandle: +/*-------------------------------------------------------------. +| yyerrlab1 -- common code for both syntax error and YYERROR. | +`-------------------------------------------------------------*/ +yyerrlab1: + yyerrstatus = 3; /* Each real token shifted decrements this. */ - yyn = yypact[yystate]; - if (yyn == YYFLAG) - goto yyerrdefault; + for (;;) + { + yyn = yypact[yystate]; + if (yyn != YYPACT_NINF) + { + yyn += YYTERROR; + if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) + { + yyn = yytable[yyn]; + if (0 < yyn) + break; + } + } - yyn += YYTERROR; - if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR) - goto yyerrdefault; + /* Pop the current state because it cannot handle the error token. */ + if (yyssp == yyss) + YYABORT; - yyn = yytable[yyn]; - if (yyn < 0) - { - if (yyn == YYFLAG) - goto yyerrpop; - yyn = -yyn; - goto yyreduce; + YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp); + yydestruct (yystos[yystate], yyvsp); + YYPOPSTACK; + yystate = *yyssp; + YY_STACK_PRINT (yyss, yyssp); } - else if (yyn == 0) - goto yyerrpop; if (yyn == YYFINAL) YYACCEPT; -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Shifting error token, "); -#endif + YYDPRINTF ((stderr, "Shifting error token, ")); *++yyvsp = yylval; -#ifdef YYLSP_NEEDED - *++yylsp = yylloc; -#endif + yystate = yyn; goto yynewstate; - yyacceptlab: - /* YYACCEPT comes here. */ - if (yyfree_stacks) - { - free (yyss); - free (yyvs); -#ifdef YYLSP_NEEDED - free (yyls); + +/*-------------------------------------. +| yyacceptlab -- YYACCEPT comes here. | +`-------------------------------------*/ +yyacceptlab: + yyresult = 0; + goto yyreturn; + +/*-----------------------------------. +| yyabortlab -- YYABORT comes here. | +`-----------------------------------*/ +yyabortlab: + yyresult = 1; + goto yyreturn; + +#ifndef yyoverflow +/*----------------------------------------------. +| yyoverflowlab -- parser overflow comes here. | +`----------------------------------------------*/ +yyoverflowlab: + yyerror ("parser stack overflow"); + yyresult = 2; + /* Fall through. */ #endif - } - return 0; - yyabortlab: - /* YYABORT comes here. */ - if (yyfree_stacks) - { - free (yyss); - free (yyvs); -#ifdef YYLSP_NEEDED - free (yyls); +yyreturn: +#ifndef yyoverflow + if (yyss != yyssa) + YYSTACK_FREE (yyss); #endif - } - return 1; + return yyresult; } + + #line 4038 "Gmsh.y" @@ -9294,3 +10623,4 @@ void yymsg(int type, char *fmt, ...){ if(type == GERROR) yyerrorstate++; } + diff --git a/Parser/Gmsh.tab.hpp b/Parser/Gmsh.tab.hpp index 329b660dd2c87d8fec3c476732cd59ee01d476b9..e8749a89361dea57af40778049b68131497ba2e3 100644 --- a/Parser/Gmsh.tab.hpp +++ b/Parser/Gmsh.tab.hpp @@ -1,4 +1,415 @@ -typedef union { +/* A Bison parser, made by GNU Bison 1.875c. */ + +/* Skeleton parser for Yacc-like parsing with Bison, + Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +/* As a special exception, when this file is copied by Bison into a + Bison output file, you may use that output file without restriction. + This special exception was added by the Free Software Foundation + in version 1.24 of Bison. */ + +/* Tokens. */ +#ifndef YYTOKENTYPE +# define YYTOKENTYPE + /* Put the tokens into the symbol table, so that GDB and other debuggers + know about them. */ + enum yytokentype { + tDOUBLE = 258, + tSTRING = 259, + tBIGSTR = 260, + tEND = 261, + tAFFECT = 262, + tDOTS = 263, + tPi = 264, + tMPI_Rank = 265, + tMPI_Size = 266, + tExp = 267, + tLog = 268, + tLog10 = 269, + tSqrt = 270, + tSin = 271, + tAsin = 272, + tCos = 273, + tAcos = 274, + tTan = 275, + tRand = 276, + tAtan = 277, + tAtan2 = 278, + tSinh = 279, + tCosh = 280, + tTanh = 281, + tFabs = 282, + tFloor = 283, + tCeil = 284, + tFmod = 285, + tModulo = 286, + tHypot = 287, + tPrintf = 288, + tSprintf = 289, + tStrCat = 290, + tStrPrefix = 291, + tBoundingBox = 292, + tDraw = 293, + tPoint = 294, + tCircle = 295, + tEllipse = 296, + tLine = 297, + tSurface = 298, + tSpline = 299, + tVolume = 300, + tCharacteristic = 301, + tLength = 302, + tParametric = 303, + tElliptic = 304, + tPlane = 305, + tRuled = 306, + tTriangulation = 307, + tTransfinite = 308, + tComplex = 309, + tPhysical = 310, + tUsing = 311, + tBump = 312, + tProgression = 313, + tPlugin = 314, + tRotate = 315, + tTranslate = 316, + tSymmetry = 317, + tDilate = 318, + tExtrude = 319, + tDuplicata = 320, + tLoop = 321, + tRecombine = 322, + tDelete = 323, + tCoherence = 324, + tIntersect = 325, + tAttractor = 326, + tLayers = 327, + tScalarPoint = 328, + tVectorPoint = 329, + tTensorPoint = 330, + tScalarLine = 331, + tVectorLine = 332, + tTensorLine = 333, + tScalarTriangle = 334, + tVectorTriangle = 335, + tTensorTriangle = 336, + tScalarQuadrangle = 337, + tVectorQuadrangle = 338, + tTensorQuadrangle = 339, + tScalarTetrahedron = 340, + tVectorTetrahedron = 341, + tTensorTetrahedron = 342, + tScalarHexahedron = 343, + tVectorHexahedron = 344, + tTensorHexahedron = 345, + tScalarPrism = 346, + tVectorPrism = 347, + tTensorPrism = 348, + tScalarPyramid = 349, + tVectorPyramid = 350, + tTensorPyramid = 351, + tText2D = 352, + tText3D = 353, + tInterpolationScheme = 354, + tCombine = 355, + tBSpline = 356, + tBezier = 357, + tNurbs = 358, + tOrder = 359, + tWith = 360, + tBounds = 361, + tKnots = 362, + tColor = 363, + tColorTable = 364, + tFor = 365, + tIn = 366, + tEndFor = 367, + tIf = 368, + tEndIf = 369, + tExit = 370, + tReturn = 371, + tCall = 372, + tFunction = 373, + tTrimmed = 374, + tShow = 375, + tHide = 376, + tB_SPLINE_SURFACE_WITH_KNOTS = 377, + tB_SPLINE_CURVE_WITH_KNOTS = 378, + tCARTESIAN_POINT = 379, + tTRUE = 380, + tFALSE = 381, + tUNSPECIFIED = 382, + tU = 383, + tV = 384, + tEDGE_CURVE = 385, + tVERTEX_POINT = 386, + tORIENTED_EDGE = 387, + tPLANE = 388, + tFACE_OUTER_BOUND = 389, + tEDGE_LOOP = 390, + tADVANCED_FACE = 391, + tVECTOR = 392, + tDIRECTION = 393, + tAXIS2_PLACEMENT_3D = 394, + tISO = 395, + tENDISO = 396, + tENDSEC = 397, + tDATA = 398, + tHEADER = 399, + tFILE_DESCRIPTION = 400, + tFILE_SCHEMA = 401, + tFILE_NAME = 402, + tMANIFOLD_SOLID_BREP = 403, + tCLOSED_SHELL = 404, + tADVANCED_BREP_SHAPE_REPRESENTATION = 405, + tFACE_BOUND = 406, + tCYLINDRICAL_SURFACE = 407, + tCONICAL_SURFACE = 408, + tCIRCLE = 409, + tTRIMMED_CURVE = 410, + tGEOMETRIC_SET = 411, + tCOMPOSITE_CURVE_SEGMENT = 412, + tCONTINUOUS = 413, + tCOMPOSITE_CURVE = 414, + tTOROIDAL_SURFACE = 415, + tPRODUCT_DEFINITION = 416, + tPRODUCT_DEFINITION_SHAPE = 417, + tSHAPE_DEFINITION_REPRESENTATION = 418, + tELLIPSE = 419, + tSolid = 420, + tEndSolid = 421, + tVertex = 422, + tFacet = 423, + tNormal = 424, + tOuter = 425, + tLoopSTL = 426, + tEndLoop = 427, + tEndFacet = 428, + tAFFECTDIVIDE = 429, + tAFFECTTIMES = 430, + tAFFECTMINUS = 431, + tAFFECTPLUS = 432, + tOR = 433, + tAND = 434, + tAPPROXEQUAL = 435, + tNOTEQUAL = 436, + tEQUAL = 437, + tGREATEROREQUAL = 438, + tLESSOREQUAL = 439, + tCROSSPRODUCT = 440, + UNARYPREC = 441, + tMINUSMINUS = 442, + tPLUSPLUS = 443 + }; +#endif +#define tDOUBLE 258 +#define tSTRING 259 +#define tBIGSTR 260 +#define tEND 261 +#define tAFFECT 262 +#define tDOTS 263 +#define tPi 264 +#define tMPI_Rank 265 +#define tMPI_Size 266 +#define tExp 267 +#define tLog 268 +#define tLog10 269 +#define tSqrt 270 +#define tSin 271 +#define tAsin 272 +#define tCos 273 +#define tAcos 274 +#define tTan 275 +#define tRand 276 +#define tAtan 277 +#define tAtan2 278 +#define tSinh 279 +#define tCosh 280 +#define tTanh 281 +#define tFabs 282 +#define tFloor 283 +#define tCeil 284 +#define tFmod 285 +#define tModulo 286 +#define tHypot 287 +#define tPrintf 288 +#define tSprintf 289 +#define tStrCat 290 +#define tStrPrefix 291 +#define tBoundingBox 292 +#define tDraw 293 +#define tPoint 294 +#define tCircle 295 +#define tEllipse 296 +#define tLine 297 +#define tSurface 298 +#define tSpline 299 +#define tVolume 300 +#define tCharacteristic 301 +#define tLength 302 +#define tParametric 303 +#define tElliptic 304 +#define tPlane 305 +#define tRuled 306 +#define tTriangulation 307 +#define tTransfinite 308 +#define tComplex 309 +#define tPhysical 310 +#define tUsing 311 +#define tBump 312 +#define tProgression 313 +#define tPlugin 314 +#define tRotate 315 +#define tTranslate 316 +#define tSymmetry 317 +#define tDilate 318 +#define tExtrude 319 +#define tDuplicata 320 +#define tLoop 321 +#define tRecombine 322 +#define tDelete 323 +#define tCoherence 324 +#define tIntersect 325 +#define tAttractor 326 +#define tLayers 327 +#define tScalarPoint 328 +#define tVectorPoint 329 +#define tTensorPoint 330 +#define tScalarLine 331 +#define tVectorLine 332 +#define tTensorLine 333 +#define tScalarTriangle 334 +#define tVectorTriangle 335 +#define tTensorTriangle 336 +#define tScalarQuadrangle 337 +#define tVectorQuadrangle 338 +#define tTensorQuadrangle 339 +#define tScalarTetrahedron 340 +#define tVectorTetrahedron 341 +#define tTensorTetrahedron 342 +#define tScalarHexahedron 343 +#define tVectorHexahedron 344 +#define tTensorHexahedron 345 +#define tScalarPrism 346 +#define tVectorPrism 347 +#define tTensorPrism 348 +#define tScalarPyramid 349 +#define tVectorPyramid 350 +#define tTensorPyramid 351 +#define tText2D 352 +#define tText3D 353 +#define tInterpolationScheme 354 +#define tCombine 355 +#define tBSpline 356 +#define tBezier 357 +#define tNurbs 358 +#define tOrder 359 +#define tWith 360 +#define tBounds 361 +#define tKnots 362 +#define tColor 363 +#define tColorTable 364 +#define tFor 365 +#define tIn 366 +#define tEndFor 367 +#define tIf 368 +#define tEndIf 369 +#define tExit 370 +#define tReturn 371 +#define tCall 372 +#define tFunction 373 +#define tTrimmed 374 +#define tShow 375 +#define tHide 376 +#define tB_SPLINE_SURFACE_WITH_KNOTS 377 +#define tB_SPLINE_CURVE_WITH_KNOTS 378 +#define tCARTESIAN_POINT 379 +#define tTRUE 380 +#define tFALSE 381 +#define tUNSPECIFIED 382 +#define tU 383 +#define tV 384 +#define tEDGE_CURVE 385 +#define tVERTEX_POINT 386 +#define tORIENTED_EDGE 387 +#define tPLANE 388 +#define tFACE_OUTER_BOUND 389 +#define tEDGE_LOOP 390 +#define tADVANCED_FACE 391 +#define tVECTOR 392 +#define tDIRECTION 393 +#define tAXIS2_PLACEMENT_3D 394 +#define tISO 395 +#define tENDISO 396 +#define tENDSEC 397 +#define tDATA 398 +#define tHEADER 399 +#define tFILE_DESCRIPTION 400 +#define tFILE_SCHEMA 401 +#define tFILE_NAME 402 +#define tMANIFOLD_SOLID_BREP 403 +#define tCLOSED_SHELL 404 +#define tADVANCED_BREP_SHAPE_REPRESENTATION 405 +#define tFACE_BOUND 406 +#define tCYLINDRICAL_SURFACE 407 +#define tCONICAL_SURFACE 408 +#define tCIRCLE 409 +#define tTRIMMED_CURVE 410 +#define tGEOMETRIC_SET 411 +#define tCOMPOSITE_CURVE_SEGMENT 412 +#define tCONTINUOUS 413 +#define tCOMPOSITE_CURVE 414 +#define tTOROIDAL_SURFACE 415 +#define tPRODUCT_DEFINITION 416 +#define tPRODUCT_DEFINITION_SHAPE 417 +#define tSHAPE_DEFINITION_REPRESENTATION 418 +#define tELLIPSE 419 +#define tSolid 420 +#define tEndSolid 421 +#define tVertex 422 +#define tFacet 423 +#define tNormal 424 +#define tOuter 425 +#define tLoopSTL 426 +#define tEndLoop 427 +#define tEndFacet 428 +#define tAFFECTDIVIDE 429 +#define tAFFECTTIMES 430 +#define tAFFECTMINUS 431 +#define tAFFECTPLUS 432 +#define tOR 433 +#define tAND 434 +#define tAPPROXEQUAL 435 +#define tNOTEQUAL 436 +#define tEQUAL 437 +#define tGREATEROREQUAL 438 +#define tLESSOREQUAL 439 +#define tCROSSPRODUCT 440 +#define UNARYPREC 441 +#define tMINUSMINUS 442 +#define tPLUSPLUS 443 + + + + +#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED) +#line 81 "Gmsh.y" +typedef union YYSTYPE { char *c; int i; unsigned int u; @@ -7,192 +418,14 @@ typedef union { Shape s; List_T *l; } YYSTYPE; -#define tDOUBLE 257 -#define tSTRING 258 -#define tBIGSTR 259 -#define tEND 260 -#define tAFFECT 261 -#define tDOTS 262 -#define tPi 263 -#define tMPI_Rank 264 -#define tMPI_Size 265 -#define tExp 266 -#define tLog 267 -#define tLog10 268 -#define tSqrt 269 -#define tSin 270 -#define tAsin 271 -#define tCos 272 -#define tAcos 273 -#define tTan 274 -#define tRand 275 -#define tAtan 276 -#define tAtan2 277 -#define tSinh 278 -#define tCosh 279 -#define tTanh 280 -#define tFabs 281 -#define tFloor 282 -#define tCeil 283 -#define tFmod 284 -#define tModulo 285 -#define tHypot 286 -#define tPrintf 287 -#define tSprintf 288 -#define tStrCat 289 -#define tStrPrefix 290 -#define tBoundingBox 291 -#define tDraw 292 -#define tPoint 293 -#define tCircle 294 -#define tEllipse 295 -#define tLine 296 -#define tSurface 297 -#define tSpline 298 -#define tVolume 299 -#define tCharacteristic 300 -#define tLength 301 -#define tParametric 302 -#define tElliptic 303 -#define tPlane 304 -#define tRuled 305 -#define tTriangulation 306 -#define tTransfinite 307 -#define tComplex 308 -#define tPhysical 309 -#define tUsing 310 -#define tBump 311 -#define tProgression 312 -#define tPlugin 313 -#define tRotate 314 -#define tTranslate 315 -#define tSymmetry 316 -#define tDilate 317 -#define tExtrude 318 -#define tDuplicata 319 -#define tLoop 320 -#define tRecombine 321 -#define tDelete 322 -#define tCoherence 323 -#define tIntersect 324 -#define tAttractor 325 -#define tLayers 326 -#define tScalarPoint 327 -#define tVectorPoint 328 -#define tTensorPoint 329 -#define tScalarLine 330 -#define tVectorLine 331 -#define tTensorLine 332 -#define tScalarTriangle 333 -#define tVectorTriangle 334 -#define tTensorTriangle 335 -#define tScalarQuadrangle 336 -#define tVectorQuadrangle 337 -#define tTensorQuadrangle 338 -#define tScalarTetrahedron 339 -#define tVectorTetrahedron 340 -#define tTensorTetrahedron 341 -#define tScalarHexahedron 342 -#define tVectorHexahedron 343 -#define tTensorHexahedron 344 -#define tScalarPrism 345 -#define tVectorPrism 346 -#define tTensorPrism 347 -#define tScalarPyramid 348 -#define tVectorPyramid 349 -#define tTensorPyramid 350 -#define tText2D 351 -#define tText3D 352 -#define tInterpolationScheme 353 -#define tCombine 354 -#define tBSpline 355 -#define tBezier 356 -#define tNurbs 357 -#define tOrder 358 -#define tWith 359 -#define tBounds 360 -#define tKnots 361 -#define tColor 362 -#define tColorTable 363 -#define tFor 364 -#define tIn 365 -#define tEndFor 366 -#define tIf 367 -#define tEndIf 368 -#define tExit 369 -#define tReturn 370 -#define tCall 371 -#define tFunction 372 -#define tTrimmed 373 -#define tShow 374 -#define tHide 375 -#define tB_SPLINE_SURFACE_WITH_KNOTS 376 -#define tB_SPLINE_CURVE_WITH_KNOTS 377 -#define tCARTESIAN_POINT 378 -#define tTRUE 379 -#define tFALSE 380 -#define tUNSPECIFIED 381 -#define tU 382 -#define tV 383 -#define tEDGE_CURVE 384 -#define tVERTEX_POINT 385 -#define tORIENTED_EDGE 386 -#define tPLANE 387 -#define tFACE_OUTER_BOUND 388 -#define tEDGE_LOOP 389 -#define tADVANCED_FACE 390 -#define tVECTOR 391 -#define tDIRECTION 392 -#define tAXIS2_PLACEMENT_3D 393 -#define tISO 394 -#define tENDISO 395 -#define tENDSEC 396 -#define tDATA 397 -#define tHEADER 398 -#define tFILE_DESCRIPTION 399 -#define tFILE_SCHEMA 400 -#define tFILE_NAME 401 -#define tMANIFOLD_SOLID_BREP 402 -#define tCLOSED_SHELL 403 -#define tADVANCED_BREP_SHAPE_REPRESENTATION 404 -#define tFACE_BOUND 405 -#define tCYLINDRICAL_SURFACE 406 -#define tCONICAL_SURFACE 407 -#define tCIRCLE 408 -#define tTRIMMED_CURVE 409 -#define tGEOMETRIC_SET 410 -#define tCOMPOSITE_CURVE_SEGMENT 411 -#define tCONTINUOUS 412 -#define tCOMPOSITE_CURVE 413 -#define tTOROIDAL_SURFACE 414 -#define tPRODUCT_DEFINITION 415 -#define tPRODUCT_DEFINITION_SHAPE 416 -#define tSHAPE_DEFINITION_REPRESENTATION 417 -#define tELLIPSE 418 -#define tSolid 419 -#define tEndSolid 420 -#define tVertex 421 -#define tFacet 422 -#define tNormal 423 -#define tOuter 424 -#define tLoopSTL 425 -#define tEndLoop 426 -#define tEndFacet 427 -#define tAFFECTPLUS 428 -#define tAFFECTMINUS 429 -#define tAFFECTTIMES 430 -#define tAFFECTDIVIDE 431 -#define tOR 432 -#define tAND 433 -#define tEQUAL 434 -#define tNOTEQUAL 435 -#define tAPPROXEQUAL 436 -#define tLESSOREQUAL 437 -#define tGREATEROREQUAL 438 -#define tCROSSPRODUCT 439 -#define tPLUSPLUS 440 -#define tMINUSMINUS 441 -#define UNARYPREC 442 - +/* Line 1275 of yacc.c. */ +#line 423 "Gmsh.tab.hpp" +# define yystype YYSTYPE /* obsolescent; will be withdrawn */ +# define YYSTYPE_IS_DECLARED 1 +# define YYSTYPE_IS_TRIVIAL 1 +#endif extern YYSTYPE yylval; + + + diff --git a/Parser/Gmsh.y b/Parser/Gmsh.y index 522eafa6c9589e125d21dbf2d540daca3ed94f03..aa9e346d68d6a21e90db803a44b155dbeaf76c7f 100644 --- a/Parser/Gmsh.y +++ b/Parser/Gmsh.y @@ -1,5 +1,5 @@ %{ -// $Id: Gmsh.y,v 1.184 2004-11-19 22:54:40 geuzaine Exp $ +// $Id: Gmsh.y,v 1.185 2004-11-25 02:10:39 geuzaine Exp $ // // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // @@ -2465,11 +2465,11 @@ Command : | tSTRING tSTRING '[' FExpr ']' StringExpr tEND { if(!strcmp($1, "Save") && !strcmp($2, "View")){ - Post_View *v = (Post_View *)List_Pointer_Test(CTX.post.list, (int)$4); - if(v){ + Post_View **vv = (Post_View **)List_Pointer_Test(CTX.post.list, (int)$4); + if(vv){ char tmpstring[1024]; FixRelativePath($6, tmpstring); - WriteView(v, tmpstring, CTX.post.file_format, 0); + WriteView(*vv, tmpstring, CTX.post.file_format, 0); } } else{ diff --git a/Parser/Gmsh.yy.cpp b/Parser/Gmsh.yy.cpp index 6445277a66333cfec7093cff640ae20bc3909ce5..d2fbf72142a2b577608cf60cf96e079edbf307ec 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.208 2004-11-19 22:54:40 geuzaine Exp $ + * $Header: /cvsroot/gmsh/Parser/Gmsh.yy.cpp,v 1.209 2004-11-25 02:10:39 geuzaine Exp $ */ #define FLEX_SCANNER @@ -10,6 +10,7 @@ #define YY_FLEX_MINOR_VERSION 5 #include <stdio.h> +#include <unistd.h> /* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */ @@ -23,7 +24,6 @@ #ifdef __cplusplus #include <stdlib.h> -#include <unistd.h> /* Use prototypes in function declarations. */ #define YY_USE_PROTOS @@ -1029,7 +1029,7 @@ char *yytext; #line 1 "Gmsh.l" #define INITIAL 0 #line 2 "Gmsh.l" -// $Id: Gmsh.yy.cpp,v 1.208 2004-11-19 22:54:40 geuzaine Exp $ +// $Id: Gmsh.yy.cpp,v 1.209 2004-11-25 02:10:39 geuzaine Exp $ // // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // @@ -1238,7 +1238,7 @@ YY_MALLOC_DECL YY_DECL { register yy_state_type yy_current_state; - register char *yy_cp, *yy_bp; + register char *yy_cp = NULL, *yy_bp = NULL; register int yy_act; #line 80 "Gmsh.l" @@ -2750,6 +2750,7 @@ register char *yy_bp; #endif /* ifndef YY_NO_UNPUT */ +#ifndef YY_NO_INPUT #ifdef __cplusplus static int yyinput() #else @@ -2821,7 +2822,7 @@ static int input() return c; } - +#endif /* YY_NO_INPUT */ #ifdef YY_USE_PROTOS void yyrestart( FILE *input_file ) @@ -2932,11 +2933,6 @@ YY_BUFFER_STATE b; } -#ifndef YY_ALWAYS_INTERACTIVE -#ifndef YY_NEVER_INTERACTIVE -extern int isatty YY_PROTO(( int )); -#endif -#endif #ifdef YY_USE_PROTOS void yy_init_buffer( YY_BUFFER_STATE b, FILE *file ) diff --git a/Parser/OpenFile.cpp b/Parser/OpenFile.cpp index e54db5de199a2a74ae2e9a6935e225624cb3b519..58d10763c700082c9601915252e28ff339643e07 100644 --- a/Parser/OpenFile.cpp +++ b/Parser/OpenFile.cpp @@ -1,4 +1,4 @@ -// $Id: OpenFile.cpp,v 1.65 2004-10-28 03:44:37 geuzaine Exp $ +// $Id: OpenFile.cpp,v 1.66 2004-11-25 02:10:40 geuzaine Exp $ // // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // @@ -94,10 +94,10 @@ void SetBoundingBox(void) else if(List_Nbr(CTX.post.list)) { // else, if we have views, use the max bb of all the views double bbox[6]; - Post_View *v = (Post_View *)List_Pointer(CTX.post.list, 0); + Post_View *v = *(Post_View **)List_Pointer(CTX.post.list, 0); for(int i = 0; i < 6; i++) bbox[i] = v->BBox[i]; for(int i = 1; i < List_Nbr(CTX.post.list); i++){ - v = (Post_View *)List_Pointer(CTX.post.list, i); + v = *(Post_View **)List_Pointer(CTX.post.list, i); if(v->BBox[0] < bbox[0]) bbox[0] = v->BBox[0]; if(v->BBox[1] > bbox[1]) bbox[1] = v->BBox[1]; if(v->BBox[2] < bbox[2]) bbox[2] = v->BBox[2]; diff --git a/Plugin/CutGrid.cpp b/Plugin/CutGrid.cpp index 062cad672b52f557070abc1171ef15d673509bec..11d856dc63b743e1a77d24fc2d6dfae3f21173be 100644 --- a/Plugin/CutGrid.cpp +++ b/Plugin/CutGrid.cpp @@ -1,4 +1,4 @@ -// $Id: CutGrid.cpp,v 1.8 2004-06-24 16:02:21 geuzaine Exp $ +// $Id: CutGrid.cpp,v 1.9 2004-11-25 02:10:40 geuzaine Exp $ // // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // @@ -222,7 +222,7 @@ Post_View *GMSH_CutGridPlugin::execute(Post_View * v) return v; } - Post_View *v1 = (Post_View*)List_Pointer(CTX.post.list, iView); + Post_View *v1 = *(Post_View **)List_Pointer(CTX.post.list, iView); return GenerateView(v1); } diff --git a/Plugin/CutMap.cpp b/Plugin/CutMap.cpp index c12b81bc4a70a141504190dd84d46496a6d5942d..e9ddd2121268b9adbf3a99f7b32b9e832cdd6cc0 100644 --- a/Plugin/CutMap.cpp +++ b/Plugin/CutMap.cpp @@ -1,4 +1,4 @@ -// $Id: CutMap.cpp,v 1.41 2004-11-09 16:27:53 remacle Exp $ +// $Id: CutMap.cpp,v 1.42 2004-11-25 02:10:40 geuzaine Exp $ // // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // @@ -52,10 +52,10 @@ double GMSH_CutMapPlugin::callbackA(int num, int action, double value) if(action > 0){ int iview = (int)CutMapOptions_Number[3].def; if(iview < 0) iview = num; - Post_View *v = (Post_View*)List_Pointer_Test(CTX.post.list, iview); - if(v){ - min = v->Min; - max = v->Max; + Post_View **vv = (Post_View **)List_Pointer_Test(CTX.post.list, iview); + if(vv){ + min = (*vv)->Min; + max = (*vv)->Max; } } switch(action){ // configure the input field @@ -131,7 +131,7 @@ Post_View *GMSH_CutMapPlugin::execute(Post_View * v) return v; } - Post_View *v1 = (Post_View*)List_Pointer(CTX.post.list, iView); + Post_View *v1 = *(Post_View **)List_Pointer(CTX.post.list, iView); return GMSH_LevelsetPlugin::execute(v1); } diff --git a/Plugin/CutParametric.cpp b/Plugin/CutParametric.cpp index 5ee0536d95d5e8636f0dc489ff86450993ff286d..7875f66f1635398056ba17b2e4259d168868f4c8 100644 --- a/Plugin/CutParametric.cpp +++ b/Plugin/CutParametric.cpp @@ -1,4 +1,4 @@ -// $Id: CutParametric.cpp,v 1.5 2004-11-13 22:52:46 geuzaine Exp $ +// $Id: CutParametric.cpp,v 1.6 2004-11-25 02:10:40 geuzaine Exp $ // // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // @@ -162,9 +162,10 @@ Post_View *GMSH_CutParametricPlugin::execute(Post_View * v) return v; } - Post_View *v2 = BeginView(1); - Post_View *v1 = (Post_View*)List_Pointer(CTX.post.list, iView); + Post_View *v1 = *(Post_View **)List_Pointer(CTX.post.list, iView); OctreePost o(v1); + + Post_View *v2 = BeginView(1); double *res0 = new double[v1->NbTimeStep]; double *res = new double[v1->NbTimeStep]; double x, y, z, x0, y0, z0; diff --git a/Plugin/CutPlane.cpp b/Plugin/CutPlane.cpp index dbb51afcacd5c2b81eaaeed20d5fcbf5343f4bfb..85318909322f4919ea1a1574c05ea1981ad3b407 100644 --- a/Plugin/CutPlane.cpp +++ b/Plugin/CutPlane.cpp @@ -1,4 +1,4 @@ -// $Id: CutPlane.cpp,v 1.37 2004-11-09 16:27:53 remacle Exp $ +// $Id: CutPlane.cpp,v 1.38 2004-11-25 02:10:40 geuzaine Exp $ // // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // @@ -59,10 +59,10 @@ void GMSH_CutPlanePlugin::draw() #if defined(HAVE_FLTK) int num = (int)CutPlaneOptions_Number[4].def; if(num < 0) num = iview; - Post_View *v = (Post_View*)List_Pointer_Test(CTX.post.list, num); - if(!v) return; - Draw_PlaneInBoundingBox(v->BBox[0], v->BBox[2], v->BBox[4], - v->BBox[1], v->BBox[3], v->BBox[5], + Post_View **vv = (Post_View **)List_Pointer_Test(CTX.post.list, num); + if(!vv) return; + Draw_PlaneInBoundingBox((*vv)->BBox[0], (*vv)->BBox[2], (*vv)->BBox[4], + (*vv)->BBox[1], (*vv)->BBox[3], (*vv)->BBox[5], CutPlaneOptions_Number[0].def, CutPlaneOptions_Number[1].def, CutPlaneOptions_Number[2].def, @@ -206,7 +206,7 @@ Post_View *GMSH_CutPlanePlugin::execute(Post_View * v) return v; } - Post_View *v1 = (Post_View*)List_Pointer(CTX.post.list, iView); + Post_View *v1 = *(Post_View **)List_Pointer(CTX.post.list, iView); return GMSH_LevelsetPlugin::execute(v1); } diff --git a/Plugin/CutSphere.cpp b/Plugin/CutSphere.cpp index e71694f1529692982ce8bc64dcf4a36306777ad7..8bebf96c6453070b3119b15c5872b3d3434f6d8b 100644 --- a/Plugin/CutSphere.cpp +++ b/Plugin/CutSphere.cpp @@ -1,4 +1,4 @@ -// $Id: CutSphere.cpp,v 1.35 2004-11-09 16:27:53 remacle Exp $ +// $Id: CutSphere.cpp,v 1.36 2004-11-25 02:10:40 geuzaine Exp $ // // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // @@ -209,7 +209,7 @@ Post_View *GMSH_CutSpherePlugin::execute(Post_View * v) return v; } - Post_View *v1 = (Post_View*)List_Pointer(CTX.post.list, iView); + Post_View *v1 = *(Post_View **)List_Pointer(CTX.post.list, iView); return GMSH_LevelsetPlugin::execute(v1); } diff --git a/Plugin/DecomposeInSimplex.cpp b/Plugin/DecomposeInSimplex.cpp index 234856d8a3ea6d5f5b1da320e6d1d20960fa1a43..9e8a98dea0497379866d8124c848ab8e7f69cdb9 100644 --- a/Plugin/DecomposeInSimplex.cpp +++ b/Plugin/DecomposeInSimplex.cpp @@ -1,4 +1,4 @@ -// $Id: DecomposeInSimplex.cpp,v 1.13 2004-07-14 22:42:27 geuzaine Exp $ +// $Id: DecomposeInSimplex.cpp,v 1.14 2004-11-25 02:10:40 geuzaine Exp $ // // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // @@ -132,7 +132,7 @@ Post_View *GMSH_DecomposeInSimplexPlugin::execute(Post_View * v) return v; } - Post_View *v1 = (Post_View*)List_Pointer(CTX.post.list, iView); + Post_View *v1 = *(Post_View **)List_Pointer(CTX.post.list, iView); // Bail out if the view is a duplicate or if other views duplicate it if(v1->DuplicateOf || v1->Links) { diff --git a/Plugin/DisplacementRaise.cpp b/Plugin/DisplacementRaise.cpp index 3700e5bf6e430d1f618b0230f44ab747cf814587..8d666d5641ba7c2c718b68f3f4cd94c62ebdb13f 100644 --- a/Plugin/DisplacementRaise.cpp +++ b/Plugin/DisplacementRaise.cpp @@ -1,4 +1,4 @@ -// $Id: DisplacementRaise.cpp,v 1.16 2004-07-05 15:20:06 geuzaine Exp $ +// $Id: DisplacementRaise.cpp,v 1.17 2004-11-25 02:10:40 geuzaine Exp $ // // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // @@ -194,8 +194,8 @@ Post_View *GMSH_DisplacementRaisePlugin::execute(Post_View * v) return v; } - Post_View *v1 = (Post_View*)List_Pointer(CTX.post.list, iView); - Post_View *v2 = (Post_View*)List_Pointer(CTX.post.list, dView); + Post_View *v1 = *(Post_View **)List_Pointer(CTX.post.list, iView); + Post_View *v2 = *(Post_View **)List_Pointer(CTX.post.list, dView); displacementRaise(v1, v2, factor, dTimeStep); diff --git a/Plugin/Evaluate.cpp b/Plugin/Evaluate.cpp index db0924d367496d51eada1d1468973ace709b5494..390e9e1db917f3eb9eb37eb7018b05732012a97d 100644 --- a/Plugin/Evaluate.cpp +++ b/Plugin/Evaluate.cpp @@ -1,4 +1,4 @@ -// $Id: Evaluate.cpp,v 1.7 2004-05-16 20:04:43 geuzaine Exp $ +// $Id: Evaluate.cpp,v 1.8 2004-11-25 02:10:40 geuzaine Exp $ // // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // @@ -200,7 +200,7 @@ Post_View *GMSH_EvaluatePlugin::execute(Post_View * v) return v; } - Post_View *v1 = (Post_View*)List_Pointer(CTX.post.list, iView); + Post_View *v1 = *(Post_View **)List_Pointer(CTX.post.list, iView); evaluate(v1, v1->SP, v1->NbSP, 1, 1, comp, timeStep, expr); evaluate(v1, v1->VP, v1->NbVP, 1, 3, comp, timeStep, expr); diff --git a/Plugin/Extract.cpp b/Plugin/Extract.cpp index 4ddcdc96a36f9b51e215b4a57edb17f76ae538f2..c7ec89db7faf40544980b27a3746720b0452518d 100644 --- a/Plugin/Extract.cpp +++ b/Plugin/Extract.cpp @@ -1,4 +1,4 @@ -// $Id: Extract.cpp,v 1.13 2004-10-27 05:51:10 geuzaine Exp $ +// $Id: Extract.cpp,v 1.14 2004-11-25 02:10:40 geuzaine Exp $ // // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // @@ -212,11 +212,9 @@ Post_View *GMSH_ExtractPlugin::execute(Post_View * v) return v; } + Post_View *v1 = *(Post_View **)List_Pointer(CTX.post.list, iView); Post_View *v2 = BeginView(1); - // get v1 after BeginView: this is ok even if post.list got reallocated - Post_View *v1 = (Post_View*)List_Pointer(CTX.post.list, iView); - // points extract(expr, v1->SP, v1->NbSP, v2->SP, &v2->NbSP, v2->VP, &v2->NbVP, v1->NbTimeStep, 1, 1); extract(expr, v1->VP, v1->NbVP, v2->SP, &v2->NbSP, v2->VP, &v2->NbVP, v1->NbTimeStep, 1, 3); diff --git a/Plugin/HarmonicToTime.cpp b/Plugin/HarmonicToTime.cpp index 98a4383ebd54e76d025a4baddf007fec66affb52..c7855622af5cb8e2f4eae8771deba00690f6181d 100644 --- a/Plugin/HarmonicToTime.cpp +++ b/Plugin/HarmonicToTime.cpp @@ -1,4 +1,4 @@ -// $Id: HarmonicToTime.cpp,v 1.2 2004-10-31 01:50:27 geuzaine Exp $ +// $Id: HarmonicToTime.cpp,v 1.3 2004-11-25 02:10:40 geuzaine Exp $ // // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // @@ -136,7 +136,7 @@ Post_View *GMSH_HarmonicToTimePlugin::execute(Post_View * v) return v; } - Post_View *v1 = (Post_View*)List_Pointer(CTX.post.list, iView); + Post_View *v1 = *(Post_View **)List_Pointer(CTX.post.list, iView); if(rIndex < 0 || rIndex >= v1->NbTimeStep || iIndex < 0 || iIndex >= v1->NbTimeStep){ Msg(GERROR, "Wrong real or imaginary part index"); @@ -144,8 +144,6 @@ Post_View *GMSH_HarmonicToTimePlugin::execute(Post_View * v) } Post_View *v2 = BeginView(1); - // get v1 again, in case BeginView induced a realloc of the view list - v1 = (Post_View*)List_Pointer(CTX.post.list, iView); h2t(v1->NbSP, v1->SP, &v2->NbSP, v2->SP, 1, 1, rIndex, iIndex, nSteps); h2t(v1->NbVP, v1->VP, &v2->NbVP, v2->VP, 1, 3, rIndex, iIndex, nSteps); diff --git a/Plugin/Integrate.cpp b/Plugin/Integrate.cpp index 155f77a6af66d5b644d80a13206e817081094879..4071f4d009db60fbd205ddb338623a4760768803 100644 --- a/Plugin/Integrate.cpp +++ b/Plugin/Integrate.cpp @@ -1,4 +1,4 @@ -// $Id: Integrate.cpp,v 1.3 2004-11-24 18:52:21 geuzaine Exp $ +// $Id: Integrate.cpp,v 1.4 2004-11-25 02:10:40 geuzaine Exp $ // // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // @@ -173,8 +173,8 @@ Post_View *GMSH_IntegratePlugin::execute(Post_View * v) return v; } + Post_View *v1 = *(Post_View **)List_Pointer(CTX.post.list, iView); Post_View *v2 = BeginView(1); - Post_View *v1 = (Post_View*)List_Pointer(CTX.post.list, iView); double x = (v1->BBox[0]+v1->BBox[1])/2.; double y = (v1->BBox[2]+v1->BBox[3])/2.; diff --git a/Plugin/Levelset.cpp b/Plugin/Levelset.cpp index f42911b5f5e1d8690b2207a90befd4868ea4ff35..f5d0f2ca0a061092387f440743b82b4169687f21 100644 --- a/Plugin/Levelset.cpp +++ b/Plugin/Levelset.cpp @@ -1,4 +1,4 @@ -// $Id: Levelset.cpp,v 1.17 2004-11-23 09:00:50 remacle Exp $ +// $Id: Levelset.cpp,v 1.18 2004-11-25 02:10:40 geuzaine Exp $ // // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // @@ -348,14 +348,15 @@ Post_View *GMSH_LevelsetPlugin::execute(Post_View * v) if(_valueView < 0) { w = v; } - else if(!(w = (Post_View *)List_Pointer_Test(CTX.post.list, _valueView))) { + else if(!List_Pointer_Test(CTX.post.list, _valueView)) { Msg(GERROR, "View[%d] does not exist: reverting to View[%d]", _valueView, v->Index); w = v; } + else{ + w = *(Post_View **)List_Pointer(CTX.post.list, _valueView); + } - // FIXME: this is not secure: if BeginView forces a post.list - // reallocation, w and v are wrong if(_valueIndependent) { out.push_back(BeginView(1)); } diff --git a/Plugin/Skin.cpp b/Plugin/Skin.cpp index a503c1ae1165ba732572fc4cf43ab570aba675be..598cb9754142e7dc177462d5bc864721635f5e78 100644 --- a/Plugin/Skin.cpp +++ b/Plugin/Skin.cpp @@ -1,4 +1,4 @@ -// $Id: Skin.cpp,v 1.28 2004-09-16 19:15:27 geuzaine Exp $ +// $Id: Skin.cpp,v 1.29 2004-11-25 02:10:40 geuzaine Exp $ // // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // @@ -181,8 +181,8 @@ Post_View *GMSH_SkinPlugin::execute(Post_View * v) return v; } + Post_View *v1 = *(Post_View **)List_Pointer(CTX.post.list, iView); Post_View *v2 = BeginView(1); - Post_View *v1 = (Post_View*)List_Pointer(CTX.post.list, iView); _nbTimeStep = v1->NbTimeStep; diff --git a/Plugin/Smooth.cpp b/Plugin/Smooth.cpp index f225c1d0c1e55486dce0a024f2c3f5aab6c8e400..b3da95cd10960b285233764a080dab82e395c40b 100644 --- a/Plugin/Smooth.cpp +++ b/Plugin/Smooth.cpp @@ -1,4 +1,4 @@ -// $Id: Smooth.cpp,v 1.19 2004-05-16 20:04:43 geuzaine Exp $ +// $Id: Smooth.cpp,v 1.20 2004-11-25 02:10:40 geuzaine Exp $ // // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // @@ -90,7 +90,7 @@ Post_View *GMSH_SmoothPlugin::execute(Post_View * v) return v; } - Post_View *v1 = (Post_View*)List_Pointer(CTX.post.list, iView); + Post_View *v1 = *(Post_View **)List_Pointer(CTX.post.list, iView); v1->smooth(); return v1; diff --git a/Plugin/SphericalRaise.cpp b/Plugin/SphericalRaise.cpp index 40f3675acf9ee311c5e0fe1dc8073a1d85df4431..bc558313a719519f9bfe02bbccaec0e47591173d 100644 --- a/Plugin/SphericalRaise.cpp +++ b/Plugin/SphericalRaise.cpp @@ -1,4 +1,4 @@ -// $Id: SphericalRaise.cpp,v 1.19 2004-07-21 18:18:23 geuzaine Exp $ +// $Id: SphericalRaise.cpp,v 1.20 2004-11-25 02:10:40 geuzaine Exp $ // // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // @@ -179,7 +179,7 @@ Post_View *GMSH_SphericalRaisePlugin::execute(Post_View * v) return v; } - Post_View *v1 = (Post_View*)List_Pointer(CTX.post.list, iView); + Post_View *v1 = *(Post_View **)List_Pointer(CTX.post.list, iView); sphericalRaise(v1, timeStep, center, raise); return v1; diff --git a/Plugin/StreamLines.cpp b/Plugin/StreamLines.cpp index 43916833007919585ab8c2154eb1439e680f6fcf..dba4c39dfb0d28175a79353cdd95f9154d80174c 100644 --- a/Plugin/StreamLines.cpp +++ b/Plugin/StreamLines.cpp @@ -1,4 +1,4 @@ -// $Id: StreamLines.cpp,v 1.12 2004-06-24 16:02:21 geuzaine Exp $ +// $Id: StreamLines.cpp,v 1.13 2004-11-25 02:10:40 geuzaine Exp $ // // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // @@ -143,8 +143,18 @@ Post_View * GMSH_StreamLinesPlugin::GenerateView(int iView, int dView) const double sizeElem = 0.033, val[3], *val2 = NULL; Post_View *View = BeginView(1); - Post_View *v1 = (Post_View*)List_Pointer_Test(CTX.post.list, iView); - Post_View *v2 = (Post_View*)List_Pointer_Test(CTX.post.list, dView); + + Post_View *v1; + if(List_Pointer_Test(CTX.post.list, iView)) + List_Read(CTX.post.list, iView, &v1); + else + v1 = NULL; + + Post_View *v2; + if(List_Pointer_Test(CTX.post.list, dView)) + List_Read(CTX.post.list, dView, &v2); + else + v2 = NULL; if(!v1) { Msg(GERROR, "View[%d] does not exist", iView); diff --git a/Plugin/Transform.cpp b/Plugin/Transform.cpp index b07fe91b19fcadd696a4229321f44cd316506416..99f682e9a32875a45d8fec2c9f76958ef8c25395 100644 --- a/Plugin/Transform.cpp +++ b/Plugin/Transform.cpp @@ -1,4 +1,4 @@ -// $Id: Transform.cpp,v 1.26 2004-11-15 18:15:52 geuzaine Exp $ +// $Id: Transform.cpp,v 1.27 2004-11-25 02:10:40 geuzaine Exp $ // // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // @@ -181,7 +181,7 @@ Post_View *GMSH_TransformPlugin::execute(Post_View * v) return v; } - Post_View *v1 = (Post_View*)List_Pointer(CTX.post.list, iView); + Post_View *v1 = *(Post_View **)List_Pointer(CTX.post.list, iView); for(int i = 0; i < 3; i++) { v1->BBox[2 * i] = VAL_INF; diff --git a/Plugin/Triangulate.cpp b/Plugin/Triangulate.cpp index d1771099dfc959b3fc9a405c863a00554507f037..b3f509cc5f0b3cfb6515a6673451637505f344d2 100644 --- a/Plugin/Triangulate.cpp +++ b/Plugin/Triangulate.cpp @@ -1,4 +1,4 @@ -// $Id: Triangulate.cpp,v 1.24 2004-07-05 15:20:06 geuzaine Exp $ +// $Id: Triangulate.cpp,v 1.25 2004-11-25 02:10:40 geuzaine Exp $ // // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // @@ -219,8 +219,8 @@ Post_View *GMSH_TriangulatePlugin::execute(Post_View * v) return v; } + Post_View *v1 = *(Post_View **)List_Pointer(CTX.post.list, iView); Post_View *v2 = BeginView(1); - Post_View *v1 = (Post_View*)List_Pointer(CTX.post.list, iView); Triangulate(v1->NbSP, v1->SP, &v2->NbST, v2->ST, v1->NbTimeStep, 1); Triangulate(v1->NbVP, v1->VP, &v2->NbVT, v2->VT, v1->NbTimeStep, 3); diff --git a/TODO b/TODO index 5ca56cb8d942dc1d4a2e2af0c98d1a3093134dbc..2e861be210db993fb63da11d4f5566fad5e780b6 100644 --- a/TODO +++ b/TODO @@ -1,11 +1,4 @@ -$Id: TODO,v 1.68 2004-11-24 22:46:53 geuzaine Exp $ - -******************************************************************** - -Convert the CTX.post.list to a list of pointers to views, so as to -avoid problems when the list is reallocated (Plugins/Levelset is the -last place where the problem is still present, but it would be simpler -to just manipule a list of pointers anyway) +$Id: TODO,v 1.69 2004-11-25 02:10:30 geuzaine Exp $ ********************************************************************