diff --git a/Geo/Geo.cpp b/Geo/Geo.cpp index a7d3e4a04a9ed866bcbd92b64882c29dd98b689f..db0d1c43f0432ef4e30903381aa907e5c913d230 100644 --- a/Geo/Geo.cpp +++ b/Geo/Geo.cpp @@ -1,4 +1,4 @@ -/* $Id: Geo.cpp,v 1.7 2000-12-01 13:38:53 geuzaine Exp $ */ +/* $Id: Geo.cpp,v 1.8 2000-12-09 15:21:17 geuzaine Exp $ */ #include "Gmsh.h" #include "Const.h" @@ -455,7 +455,6 @@ void extrude(int s, char *fich, char *what){ sprintf(text,"Extrude %s {%d, {%s,%s,%s}};",what,s,tx_text,ty_text,tz_text); add_infile(text,fich); - add_infile("Coherence;",fich); } void translate_seg(int add, int s, char *fich){ char text[BUFFSIZE]; @@ -467,7 +466,6 @@ void translate_seg(int add, int s, char *fich){ sprintf(text,"Translate {%s,%s,%s} {\n Line{%d};\n}", tx_text,ty_text,tz_text,s); add_infile(text,fich); - add_infile("Coherence;",fich); } @@ -481,7 +479,6 @@ void translate_surf(int add, int s, char *fich){ sprintf(text,"Translate {%s,%s,%s} {\n Surface{%d};\n}", tx_text,ty_text,tz_text,s); add_infile(text,fich); - add_infile("Coherence;",fich); } void translate_pt(int add, int s, char *fich){ @@ -494,7 +491,6 @@ void translate_pt(int add, int s, char *fich){ sprintf(text,"Translate {%s,%s,%s} {\n Point{%d};\n}", tx_text,ty_text,tz_text,s); add_infile(text,fich); - add_infile("Coherence;",fich); } void rotate(int add, int s, char *fich, char *quoi){ @@ -507,7 +503,6 @@ void rotate(int add, int s, char *fich, char *quoi){ sprintf(text,"Rotate { {%s,%s,%s},{%s,%s,%s},%s } {\n %s{%d};\n }", ax_text,ay_text,az_text,px_text,py_text,pz_text,angle_text, quoi,s); add_infile(text,fich); - add_infile("Coherence;",fich); } void dilate(int add, int s, char *fich, char *quoi){ @@ -520,7 +515,6 @@ void dilate(int add, int s, char *fich, char *quoi){ sprintf(text,"Dilate { {%s,%s,%s},%s } {\n %s{%d};\n }", dx_text,dy_text,dz_text,df_text, quoi,s); add_infile(text,fich); - add_infile("Coherence;",fich); } @@ -530,7 +524,6 @@ void protude(int s, char *fich, char *what){ sprintf(text,"Extrude %s {%d, {%s,%s,%s}, {%s,%s,%s}, %s};",what,s,ax_text,ay_text, az_text,px_text,py_text,pz_text,angle_text); add_infile(text,fich); - add_infile("Coherence;",fich); } diff --git a/Geo/Print_Geo.cpp b/Geo/Print_Geo.cpp index acb0da1f63ffff9e4d4d72f736be9e7eaefa81bb..56dd18959aa3dd8d592860a6f77dc670783336c7 100644 --- a/Geo/Print_Geo.cpp +++ b/Geo/Print_Geo.cpp @@ -1,4 +1,4 @@ -/* $Id: Print_Geo.cpp,v 1.8 2000-12-08 11:16:36 geuzaine Exp $ */ +/* $Id: Print_Geo.cpp,v 1.9 2000-12-09 15:21:17 geuzaine Exp $ */ #include "Gmsh.h" #include "Geo.h" @@ -119,6 +119,7 @@ void Print_Surface(void *a, void *b){ switch(s->Typ){ case MSH_SURF_REGL: + case MSH_SURF_TRIC: fprintf(FOUT,"Ruled Surface (%d) = {%d};\n",s->Num,NUMLOOP); break; case MSH_SURF_PLAN: @@ -160,6 +161,66 @@ void Print_Surface(void *a, void *b){ } } +void Print_Volume(void *a, void *b){ + Surface *s; + Volume *vol; + int i; + vol = *(Volume**)a; + + int NUMLOOP = vol->Num + 1000000; + + if(s->Typ != MSH_SURF_NURBS){ + fprintf(FOUT,"Surface Loop (%d) = ",NUMLOOP); + + for(i=0;i<List_Nbr(vol->Surfaces);i++){ + List_Read(vol->Surfaces,i,&s); + if(i) + fprintf(FOUT,", %d",s->Num); + else + fprintf(FOUT,"{%d",s->Num); + } + fprintf(FOUT,"};\n"); + } + + switch(vol->Typ){ + case MSH_VOLUME: + fprintf(FOUT,"Volume (%d) = {%d};\n",vol->Num,NUMLOOP); + break; + } +} + +void Print_PhysicalGroups(void *a, void *b){ + PhysicalGroup *pg ; + int i, j; + + pg = *(PhysicalGroup**)a; + + switch(pg->Typ){ + case MSH_PHYSICAL_POINT : + fprintf(FOUT,"Physical Point (%d) = ",pg->Num); + break; + case MSH_PHYSICAL_LINE : + fprintf(FOUT,"Physical Line (%d) = ",pg->Num); + break; + case MSH_PHYSICAL_SURFACE : + fprintf(FOUT,"Physical Surface (%d) = ",pg->Num); + break; + case MSH_PHYSICAL_VOLUME : + fprintf(FOUT,"Physical Volume (%d) = ",pg->Num); + break; + } + + for(i=0;i<List_Nbr(pg->Entities);i++){ + List_Read(pg->Entities,i,&j); + if(i) + fprintf(FOUT,", %d",j); + else + fprintf(FOUT,"{%d",j); + } + fprintf(FOUT,"};\n"); + +} + void Print_Geo(Mesh *M, char *filename){ Coherence_PS(); @@ -176,6 +237,8 @@ void Print_Geo(Mesh *M, char *filename){ Tree_Action(M->Points,Print_Point); Tree_Action(M->Curves,Print_Curve); Tree_Action(M->Surfaces,Print_Surface); + Tree_Action(M->Volumes,Print_Volume); + List_Action(M->PhysicalGroups,Print_PhysicalGroups); if(filename){ Msg (INFOS, "Geo Output Complete '%s'", filename); diff --git a/Parser/Gmsh.l b/Parser/Gmsh.l index 0c258cab68d505017dccad7a1997bf9d5cf5fb1c..6205a67236c94f6a58a4c19d8fe60ef6b327ffa5 100644 --- a/Parser/Gmsh.l +++ b/Parser/Gmsh.l @@ -1,4 +1,4 @@ -%{ /* $Id: Gmsh.l,v 1.17 2000-12-09 03:13:48 geuzaine Exp $ */ +%{ /* $Id: Gmsh.l,v 1.18 2000-12-09 15:21:17 geuzaine Exp $ */ #include <stdio.h> #include <stdlib.h> @@ -129,6 +129,7 @@ Fmod return tFmod ; Hypot return tHypot ; Include return tInclude; +In return tIn; Knots return tKnots; diff --git a/Parser/Gmsh.tab.cpp b/Parser/Gmsh.tab.cpp index 19f1e7e58591ba0262ee335ab414ccdd06a3a849..1933a49f07e45a67db45658390bb7e7329c32837 100644 --- a/Parser/Gmsh.tab.cpp +++ b/Parser/Gmsh.tab.cpp @@ -88,84 +88,85 @@ #define tKnots 338 #define tColor 339 #define tFor 340 -#define tEndFor 341 -#define tScript 342 -#define tExit 343 -#define tMerge 344 -#define tReturn 345 -#define tCall 346 -#define tFunction 347 -#define tB_SPLINE_SURFACE_WITH_KNOTS 348 -#define tB_SPLINE_CURVE_WITH_KNOTS 349 -#define tCARTESIAN_POINT 350 -#define tTRUE 351 -#define tFALSE 352 -#define tUNSPECIFIED 353 -#define tU 354 -#define tV 355 -#define tEDGE_CURVE 356 -#define tVERTEX_POINT 357 -#define tORIENTED_EDGE 358 -#define tPLANE 359 -#define tFACE_OUTER_BOUND 360 -#define tEDGE_LOOP 361 -#define tADVANCED_FACE 362 -#define tVECTOR 363 -#define tDIRECTION 364 -#define tAXIS2_PLACEMENT_3D 365 -#define tISO 366 -#define tENDISO 367 -#define tENDSEC 368 -#define tDATA 369 -#define tHEADER 370 -#define tFILE_DESCRIPTION 371 -#define tFILE_SCHEMA 372 -#define tFILE_NAME 373 -#define tMANIFOLD_SOLID_BREP 374 -#define tCLOSED_SHELL 375 -#define tADVANCED_BREP_SHAPE_REPRESENTATION 376 -#define tFACE_BOUND 377 -#define tCYLINDRICAL_SURFACE 378 -#define tCONICAL_SURFACE 379 -#define tCIRCLE 380 -#define tTRIMMED_CURVE 381 -#define tGEOMETRIC_SET 382 -#define tCOMPOSITE_CURVE_SEGMENT 383 -#define tCONTINUOUS 384 -#define tCOMPOSITE_CURVE 385 -#define tTOROIDAL_SURFACE 386 -#define tPRODUCT_DEFINITION 387 -#define tPRODUCT_DEFINITION_SHAPE 388 -#define tSHAPE_DEFINITION_REPRESENTATION 389 -#define tELLIPSE 390 -#define tTrimmed 391 -#define tSolid 392 -#define tEndSolid 393 -#define tVertex 394 -#define tFacet 395 -#define tNormal 396 -#define tOuter 397 -#define tLoopSTL 398 -#define tEndLoop 399 -#define tEndFacet 400 -#define tAND 401 -#define tOR 402 -#define tNOTEQUAL 403 -#define tEQUAL 404 -#define tAPPROXEQUAL 405 -#define tAFFECTPLUS 406 -#define tAFFECTMINUS 407 -#define tAFFECTTIMES 408 -#define tAFFECTDIVIDE 409 -#define tLESSOREQUAL 410 -#define tGREATEROREQUAL 411 -#define tCROSSPRODUCT 412 -#define UNARYPREC 413 -#define tPLUSPLUS 414 -#define tMINUSMINUS 415 +#define tIn 341 +#define tEndFor 342 +#define tScript 343 +#define tExit 344 +#define tMerge 345 +#define tReturn 346 +#define tCall 347 +#define tFunction 348 +#define tB_SPLINE_SURFACE_WITH_KNOTS 349 +#define tB_SPLINE_CURVE_WITH_KNOTS 350 +#define tCARTESIAN_POINT 351 +#define tTRUE 352 +#define tFALSE 353 +#define tUNSPECIFIED 354 +#define tU 355 +#define tV 356 +#define tEDGE_CURVE 357 +#define tVERTEX_POINT 358 +#define tORIENTED_EDGE 359 +#define tPLANE 360 +#define tFACE_OUTER_BOUND 361 +#define tEDGE_LOOP 362 +#define tADVANCED_FACE 363 +#define tVECTOR 364 +#define tDIRECTION 365 +#define tAXIS2_PLACEMENT_3D 366 +#define tISO 367 +#define tENDISO 368 +#define tENDSEC 369 +#define tDATA 370 +#define tHEADER 371 +#define tFILE_DESCRIPTION 372 +#define tFILE_SCHEMA 373 +#define tFILE_NAME 374 +#define tMANIFOLD_SOLID_BREP 375 +#define tCLOSED_SHELL 376 +#define tADVANCED_BREP_SHAPE_REPRESENTATION 377 +#define tFACE_BOUND 378 +#define tCYLINDRICAL_SURFACE 379 +#define tCONICAL_SURFACE 380 +#define tCIRCLE 381 +#define tTRIMMED_CURVE 382 +#define tGEOMETRIC_SET 383 +#define tCOMPOSITE_CURVE_SEGMENT 384 +#define tCONTINUOUS 385 +#define tCOMPOSITE_CURVE 386 +#define tTOROIDAL_SURFACE 387 +#define tPRODUCT_DEFINITION 388 +#define tPRODUCT_DEFINITION_SHAPE 389 +#define tSHAPE_DEFINITION_REPRESENTATION 390 +#define tELLIPSE 391 +#define tTrimmed 392 +#define tSolid 393 +#define tEndSolid 394 +#define tVertex 395 +#define tFacet 396 +#define tNormal 397 +#define tOuter 398 +#define tLoopSTL 399 +#define tEndLoop 400 +#define tEndFacet 401 +#define tAND 402 +#define tOR 403 +#define tNOTEQUAL 404 +#define tEQUAL 405 +#define tAPPROXEQUAL 406 +#define tAFFECTPLUS 407 +#define tAFFECTMINUS 408 +#define tAFFECTTIMES 409 +#define tAFFECTDIVIDE 410 +#define tLESSOREQUAL 411 +#define tGREATEROREQUAL 412 +#define tCROSSPRODUCT 413 +#define UNARYPREC 414 +#define tPLUSPLUS 415 +#define tMINUSMINUS 416 #line 1 "Gmsh.y" - /* $Id: Gmsh.tab.cpp,v 1.36 2000-12-09 03:13:48 geuzaine Exp $ */ + /* $Id: Gmsh.tab.cpp,v 1.37 2000-12-09 15:21:17 geuzaine Exp $ */ #include <stdarg.h> @@ -200,7 +201,8 @@ extern char ThePathForIncludes[NAME_STR_L]; static FILE *yyinTab[MAX_OPEN_FILES]; static int yylinenoTab[MAX_OPEN_FILES]; static fpos_t yyposImbricatedLoopsTab[MAX_OPEN_FILES]; -static int LoopControlVariablesTab[MAX_OPEN_FILES][3]; +static double LoopControlVariablesTab[MAX_OPEN_FILES][3]; +static char* LoopControlVariablesNameTab[MAX_OPEN_FILES]; static char yynameTab[MAX_OPEN_FILES][NAME_STR_L]; static char tmpstring[NAME_STR_L]; static Symbol TheSymbol, *pSymbol; @@ -225,7 +227,7 @@ void yyerror (char *s); void vyyerror (char *fmt, ...); -#line 62 "Gmsh.y" +#line 63 "Gmsh.y" typedef union { char *c; int i; @@ -245,26 +247,26 @@ typedef union { -#define YYFINAL 1512 +#define YYFINAL 1522 #define YYFLAG -32768 -#define YYNTBASE 180 +#define YYNTBASE 181 -#define YYTRANSLATE(x) ((unsigned)(x) <= 415 ? yytranslate[x] : 258) +#define YYTRANSLATE(x) ((unsigned)(x) <= 416 ? yytranslate[x] : 259) 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, 168, 2, 2, 2, 165, 2, 2, 172, - 174, 163, 161, 173, 162, 177, 164, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 157, - 2, 158, 147, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 169, 2, 2, 2, 166, 2, 2, 173, + 175, 164, 162, 174, 163, 178, 165, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 158, + 2, 159, 148, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 178, 2, 179, 169, 2, 2, 2, 2, 2, 2, + 179, 2, 180, 170, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 175, 2, 176, 2, 2, 2, 2, 2, + 2, 2, 176, 2, 177, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -292,8 +294,8 @@ static const short yytranslate[] = { 0, 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, - 148, 149, 150, 151, 152, 153, 154, 155, 156, 159, - 160, 166, 167, 170, 171 + 147, 149, 150, 151, 152, 153, 154, 155, 156, 157, + 160, 161, 167, 168, 171, 172 }; #if YYDEBUG != 0 @@ -318,281 +320,283 @@ static const short yyprhs[] = { 0, 1287, 1297, 1315, 1323, 1332, 1341, 1349, 1361, 1367, 1376, 1386, 1395, 1418, 1439, 1448, 1457, 1463, 1472, 1480, 1489, 1495, 1507, 1513, 1523, 1525, 1527, 1529, 1530, 1533, 1538, - 1543, 1547, 1551, 1554, 1558, 1561, 1565, 1572, 1581, 1583, - 1585, 1589, 1592, 1601, 1614, 1623, 1636, 1645, 1658, 1670, - 1686, 1688, 1691, 1701, 1704, 1711, 1721, 1731, 1740, 1749, - 1758, 1765, 1770, 1773, 1775, 1777, 1779, 1781, 1783, 1785, - 1789, 1792, 1795, 1798, 1802, 1806, 1810, 1814, 1818, 1822, - 1826, 1830, 1834, 1838, 1842, 1846, 1850, 1854, 1860, 1865, - 1870, 1875, 1880, 1885, 1890, 1895, 1900, 1905, 1910, 1917, - 1922, 1927, 1932, 1937, 1942, 1947, 1954, 1961, 1968, 1973, - 1975, 1977, 1979, 1983, 1992, 1997, 2007, 2012, 2022, 2026, - 2032, 2034, 2037, 2040, 2044, 2048, 2060, 2070, 2078, 2086, - 2090, 2099, 2100, 2104, 2106, 2110, 2111, 2115, 2119, 2121, - 2125, 2126, 2128, 2132, 2134, 2136, 2140, 2144, 2154, 2162, - 2168, 2170, 2176, 2180, 2189, 2191 + 1543, 1547, 1551, 1554, 1558, 1561, 1565, 1572, 1581, 1590, + 1601, 1603, 1605, 1609, 1612, 1621, 1634, 1643, 1656, 1665, + 1678, 1690, 1706, 1708, 1711, 1721, 1724, 1731, 1741, 1751, + 1760, 1769, 1778, 1785, 1790, 1793, 1795, 1797, 1799, 1801, + 1803, 1805, 1809, 1812, 1815, 1818, 1822, 1826, 1830, 1834, + 1838, 1842, 1846, 1850, 1854, 1858, 1862, 1866, 1870, 1874, + 1880, 1885, 1890, 1895, 1900, 1905, 1910, 1915, 1920, 1925, + 1930, 1937, 1942, 1947, 1952, 1957, 1962, 1967, 1974, 1981, + 1988, 1993, 1995, 1997, 1999, 2003, 2012, 2017, 2027, 2032, + 2042, 2046, 2052, 2054, 2057, 2060, 2064, 2068, 2080, 2090, + 2098, 2106, 2110, 2119, 2120, 2124, 2126, 2130, 2131, 2135, + 2139, 2141, 2145, 2146, 2148, 2152, 2154, 2156, 2160, 2164, + 2174, 2182, 2188, 2190, 2196, 2200, 2209, 2211 }; -static const short yyrhs[] = { 182, - 0, 181, 0, 187, 0, 138, 0, 141, 142, 244, - 244, 244, 143, 144, 140, 244, 244, 244, 140, 244, - 244, 244, 140, 244, 244, 244, 145, 146, 0, 139, - 0, 0, 182, 183, 0, 184, 0, 186, 0, 185, - 0, 1, 6, 0, 112, 6, 0, 113, 6, 0, - 115, 6, 0, 114, 6, 0, 116, 6, 0, 117, - 172, 249, 173, 5, 174, 6, 0, 118, 172, 249, - 174, 6, 0, 119, 172, 5, 173, 5, 173, 249, - 173, 249, 173, 5, 173, 5, 173, 5, 174, 6, - 0, 3, 7, 96, 172, 5, 173, 247, 174, 6, - 0, 3, 7, 95, 172, 5, 173, 244, 173, 253, - 173, 243, 173, 243, 173, 243, 173, 253, 173, 253, - 173, 243, 174, 6, 0, 3, 7, 94, 172, 5, - 173, 244, 173, 244, 173, 251, 173, 243, 173, 243, - 173, 243, 173, 243, 173, 253, 173, 253, 173, 253, - 173, 253, 173, 243, 174, 6, 0, 3, 7, 102, - 172, 5, 173, 3, 173, 3, 173, 3, 173, 243, - 174, 6, 0, 3, 7, 106, 172, 5, 173, 3, - 173, 243, 174, 6, 0, 3, 7, 123, 172, 5, - 173, 3, 173, 243, 174, 6, 0, 3, 7, 104, - 172, 5, 173, 163, 173, 163, 173, 244, 173, 243, - 174, 6, 0, 3, 7, 107, 172, 5, 173, 253, - 174, 6, 0, 3, 7, 108, 172, 5, 173, 253, - 173, 3, 173, 243, 174, 6, 0, 3, 7, 103, - 172, 5, 173, 3, 174, 6, 0, 3, 7, 109, - 172, 5, 173, 3, 173, 244, 174, 6, 0, 3, - 7, 111, 172, 5, 173, 3, 173, 3, 173, 3, - 174, 6, 0, 3, 7, 110, 172, 5, 173, 247, - 174, 6, 0, 3, 7, 105, 172, 5, 173, 3, - 174, 6, 0, 3, 7, 37, 172, 5, 173, 3, - 173, 3, 174, 6, 0, 3, 7, 121, 172, 5, - 173, 253, 174, 6, 0, 3, 7, 122, 172, 5, - 173, 253, 173, 3, 174, 6, 0, 3, 7, 120, - 172, 5, 173, 3, 174, 6, 0, 3, 7, 124, - 172, 5, 173, 3, 173, 244, 174, 6, 0, 3, - 7, 125, 172, 5, 173, 3, 173, 244, 173, 244, - 174, 6, 0, 3, 7, 132, 172, 5, 173, 3, - 173, 244, 173, 244, 174, 6, 0, 3, 7, 126, - 172, 5, 173, 3, 173, 244, 174, 6, 0, 3, - 7, 136, 172, 5, 173, 3, 173, 244, 173, 244, - 174, 6, 0, 3, 7, 127, 172, 5, 173, 3, - 173, 253, 173, 253, 173, 243, 173, 243, 174, 6, - 0, 3, 7, 128, 172, 5, 173, 253, 174, 6, - 0, 3, 7, 129, 172, 130, 173, 243, 173, 3, - 174, 6, 0, 3, 7, 131, 172, 5, 173, 253, - 173, 243, 174, 6, 0, 3, 7, 133, 172, 5, - 173, 5, 173, 3, 173, 3, 174, 6, 0, 3, - 7, 134, 172, 5, 173, 5, 173, 3, 174, 6, - 0, 3, 7, 135, 172, 3, 173, 3, 174, 6, - 0, 0, 187, 188, 0, 190, 0, 189, 0, 228, - 0, 229, 0, 230, 0, 233, 0, 234, 0, 238, - 0, 241, 0, 242, 0, 235, 0, 237, 0, 236, - 0, 1, 6, 0, 31, 172, 5, 173, 244, 174, - 6, 0, 64, 5, 175, 191, 176, 6, 0, 64, - 5, 4, 247, 175, 191, 176, 6, 0, 0, 191, - 193, 0, 191, 196, 0, 191, 199, 0, 191, 202, - 0, 191, 205, 0, 191, 208, 0, 191, 211, 0, - 191, 214, 0, 191, 217, 0, 191, 220, 0, 191, - 223, 0, 191, 226, 0, 244, 0, 192, 173, 244, - 0, 0, 76, 172, 244, 173, 244, 173, 244, 174, - 194, 175, 192, 176, 6, 0, 244, 0, 195, 173, - 244, 0, 0, 77, 172, 244, 173, 244, 173, 244, - 174, 197, 175, 195, 176, 6, 0, 244, 0, 198, - 173, 244, 0, 0, 78, 172, 244, 173, 244, 173, - 244, 174, 200, 175, 198, 176, 6, 0, 244, 0, - 201, 173, 244, 0, 0, 73, 172, 244, 173, 244, - 173, 244, 173, 244, 173, 244, 173, 244, 174, 203, - 175, 201, 176, 6, 0, 244, 0, 204, 173, 244, - 0, 0, 74, 172, 244, 173, 244, 173, 244, 173, - 244, 173, 244, 173, 244, 174, 206, 175, 204, 176, - 6, 0, 244, 0, 207, 173, 244, 0, 0, 75, - 172, 244, 173, 244, 173, 244, 173, 244, 173, 244, - 173, 244, 174, 209, 175, 207, 176, 6, 0, 244, - 0, 210, 173, 244, 0, 0, 70, 172, 244, 173, - 244, 173, 244, 173, 244, 173, 244, 173, 244, 173, - 244, 173, 244, 173, 244, 174, 212, 175, 210, 176, - 6, 0, 244, 0, 213, 173, 244, 0, 0, 71, - 172, 244, 173, 244, 173, 244, 173, 244, 173, 244, - 173, 244, 173, 244, 173, 244, 173, 244, 174, 215, - 175, 213, 176, 6, 0, 244, 0, 216, 173, 244, - 0, 0, 72, 172, 244, 173, 244, 173, 244, 173, - 244, 173, 244, 173, 244, 173, 244, 173, 244, 173, - 244, 174, 218, 175, 216, 176, 6, 0, 244, 0, - 219, 173, 244, 0, 0, 67, 172, 244, 173, 244, - 173, 244, 173, 244, 173, 244, 173, 244, 173, 244, - 173, 244, 173, 244, 173, 244, 173, 244, 173, 244, - 174, 221, 175, 219, 176, 6, 0, 244, 0, 222, - 173, 244, 0, 0, 68, 172, 244, 173, 244, 173, - 244, 173, 244, 173, 244, 173, 244, 173, 244, 173, - 244, 173, 244, 173, 244, 173, 244, 173, 244, 174, - 224, 175, 222, 176, 6, 0, 244, 0, 225, 173, - 244, 0, 0, 69, 172, 244, 173, 244, 173, 244, - 173, 244, 173, 244, 173, 244, 173, 244, 173, 244, - 173, 244, 173, 244, 173, 244, 173, 244, 174, 227, - 175, 225, 176, 6, 0, 4, 7, 244, 6, 0, - 4, 170, 6, 0, 4, 171, 6, 0, 4, 153, - 244, 6, 0, 4, 154, 244, 6, 0, 4, 155, - 244, 6, 0, 4, 156, 244, 6, 0, 4, 177, - 4, 7, 5, 6, 0, 4, 177, 64, 178, 244, - 179, 177, 4, 7, 5, 6, 0, 4, 177, 4, - 7, 244, 6, 0, 4, 177, 64, 178, 244, 179, - 177, 4, 7, 244, 6, 0, 4, 177, 4, 153, - 244, 6, 0, 4, 177, 64, 178, 244, 179, 177, - 4, 153, 244, 6, 0, 4, 177, 4, 154, 244, - 6, 0, 4, 177, 64, 178, 244, 179, 177, 4, - 154, 244, 6, 0, 4, 177, 4, 155, 244, 6, - 0, 4, 177, 64, 178, 244, 179, 177, 4, 155, - 244, 6, 0, 4, 177, 4, 156, 244, 6, 0, - 4, 177, 64, 178, 244, 179, 177, 4, 156, 244, - 6, 0, 4, 177, 4, 170, 6, 0, 4, 177, - 64, 178, 244, 179, 177, 4, 170, 244, 6, 0, - 4, 177, 4, 171, 6, 0, 4, 177, 64, 178, - 244, 179, 177, 4, 171, 244, 6, 0, 4, 177, - 4, 7, 247, 6, 0, 4, 177, 64, 178, 244, - 179, 177, 4, 7, 247, 6, 0, 4, 177, 4, - 153, 247, 6, 0, 4, 177, 64, 178, 244, 179, - 177, 4, 153, 247, 6, 0, 4, 177, 4, 154, - 247, 6, 0, 4, 177, 64, 178, 244, 179, 177, - 4, 154, 247, 6, 0, 4, 177, 85, 177, 4, - 7, 255, 6, 0, 4, 177, 64, 178, 244, 179, - 177, 85, 7, 256, 6, 0, 34, 172, 244, 174, - 7, 247, 6, 0, 49, 34, 172, 244, 174, 7, - 253, 6, 0, 65, 34, 253, 7, 175, 244, 173, - 244, 173, 244, 176, 6, 0, 41, 42, 253, 7, - 244, 6, 0, 34, 175, 244, 176, 6, 0, 37, - 172, 244, 174, 7, 253, 6, 0, 39, 172, 244, - 174, 7, 253, 6, 0, 65, 37, 253, 7, 175, - 244, 173, 244, 173, 244, 176, 6, 0, 35, 172, - 244, 174, 7, 253, 6, 0, 35, 172, 244, 174, - 7, 253, 45, 247, 6, 0, 43, 172, 244, 174, - 7, 175, 244, 173, 244, 173, 5, 173, 5, 173, - 5, 176, 6, 0, 36, 172, 244, 174, 7, 253, - 6, 0, 49, 37, 172, 244, 174, 7, 253, 6, - 0, 37, 59, 172, 244, 174, 7, 253, 6, 0, - 79, 172, 244, 174, 7, 253, 6, 0, 80, 172, - 244, 174, 7, 253, 84, 253, 81, 244, 6, 0, - 37, 175, 244, 176, 6, 0, 45, 38, 172, 244, - 174, 7, 253, 6, 0, 137, 38, 172, 244, 174, - 7, 244, 253, 6, 0, 46, 38, 172, 244, 174, - 7, 253, 6, 0, 80, 38, 82, 83, 172, 244, - 174, 7, 251, 84, 175, 253, 173, 253, 176, 81, - 175, 244, 173, 244, 176, 6, 0, 80, 38, 172, - 244, 174, 7, 251, 84, 175, 253, 173, 253, 176, - 81, 175, 244, 173, 244, 176, 6, 0, 49, 38, - 172, 244, 174, 7, 253, 6, 0, 38, 59, 172, - 244, 174, 7, 253, 6, 0, 38, 175, 244, 176, - 6, 0, 48, 40, 172, 244, 174, 7, 253, 6, - 0, 40, 172, 244, 174, 7, 253, 6, 0, 49, - 40, 172, 244, 174, 7, 253, 6, 0, 54, 247, - 175, 231, 176, 0, 53, 175, 247, 173, 247, 173, - 244, 176, 175, 231, 176, 0, 55, 247, 175, 231, - 176, 0, 56, 175, 247, 173, 244, 176, 175, 231, - 176, 0, 233, 0, 232, 0, 230, 0, 0, 232, - 229, 0, 58, 175, 232, 176, 0, 62, 175, 232, - 176, 0, 60, 5, 6, 0, 31, 5, 6, 0, - 89, 6, 0, 90, 5, 6, 0, 32, 6, 0, - 33, 244, 6, 0, 86, 172, 244, 8, 244, 174, - 0, 86, 172, 244, 8, 244, 8, 244, 174, 0, - 87, 0, 91, 0, 92, 4, 6, 0, 93, 4, - 0, 57, 34, 175, 244, 173, 247, 176, 6, 0, - 57, 34, 175, 244, 173, 247, 173, 247, 173, 244, - 176, 6, 0, 57, 37, 175, 244, 173, 247, 176, - 6, 0, 57, 37, 175, 244, 173, 247, 173, 247, - 173, 244, 176, 6, 0, 57, 38, 175, 244, 173, - 247, 176, 6, 0, 57, 38, 175, 244, 173, 247, - 173, 247, 173, 244, 176, 6, 0, 57, 38, 175, - 244, 173, 247, 176, 175, 239, 176, 6, 0, 57, - 38, 175, 244, 173, 247, 173, 247, 173, 244, 176, - 175, 239, 176, 6, 0, 240, 0, 239, 240, 0, - 66, 175, 253, 173, 253, 173, 253, 176, 6, 0, - 61, 6, 0, 47, 37, 253, 7, 244, 6, 0, - 47, 37, 253, 7, 244, 50, 52, 244, 6, 0, - 47, 37, 253, 7, 244, 50, 51, 244, 6, 0, - 47, 38, 175, 244, 176, 7, 253, 6, 0, 44, - 38, 175, 244, 176, 7, 253, 6, 0, 47, 40, - 175, 244, 176, 7, 253, 6, 0, 61, 38, 253, - 7, 244, 6, 0, 61, 38, 253, 6, 0, 63, - 6, 0, 97, 0, 98, 0, 99, 0, 100, 0, - 101, 0, 245, 0, 172, 244, 174, 0, 162, 244, - 0, 161, 244, 0, 168, 244, 0, 244, 162, 244, - 0, 244, 161, 244, 0, 244, 163, 244, 0, 244, - 164, 244, 0, 244, 165, 244, 0, 244, 169, 244, - 0, 244, 157, 244, 0, 244, 158, 244, 0, 244, - 159, 244, 0, 244, 160, 244, 0, 244, 151, 244, - 0, 244, 150, 244, 0, 244, 148, 244, 0, 244, - 149, 244, 0, 244, 147, 244, 8, 244, 0, 10, - 172, 244, 174, 0, 11, 172, 244, 174, 0, 12, - 172, 244, 174, 0, 13, 172, 244, 174, 0, 14, - 172, 244, 174, 0, 15, 172, 244, 174, 0, 16, - 172, 244, 174, 0, 17, 172, 244, 174, 0, 18, - 172, 244, 174, 0, 20, 172, 244, 174, 0, 21, - 172, 244, 173, 244, 174, 0, 22, 172, 244, 174, - 0, 23, 172, 244, 174, 0, 24, 172, 244, 174, - 0, 25, 172, 244, 174, 0, 26, 172, 244, 174, - 0, 27, 172, 244, 174, 0, 28, 172, 244, 173, - 244, 174, 0, 29, 172, 244, 173, 244, 174, 0, - 30, 172, 244, 173, 244, 174, 0, 19, 172, 244, - 174, 0, 3, 0, 9, 0, 4, 0, 4, 177, - 4, 0, 4, 177, 64, 178, 244, 179, 177, 4, - 0, 4, 177, 4, 170, 0, 4, 177, 64, 178, - 244, 179, 177, 4, 170, 0, 4, 177, 4, 171, - 0, 4, 177, 64, 178, 244, 179, 177, 4, 171, - 0, 244, 8, 244, 0, 244, 8, 244, 8, 244, - 0, 248, 0, 162, 247, 0, 161, 247, 0, 247, - 162, 247, 0, 247, 161, 247, 0, 175, 244, 173, - 244, 173, 244, 173, 244, 173, 244, 176, 0, 175, - 244, 173, 244, 173, 244, 173, 244, 176, 0, 175, - 244, 173, 244, 173, 244, 176, 0, 172, 244, 173, - 244, 173, 244, 174, 0, 4, 177, 4, 0, 4, - 177, 64, 178, 244, 179, 177, 4, 0, 0, 172, - 250, 174, 0, 5, 0, 250, 173, 5, 0, 0, - 175, 252, 176, 0, 172, 252, 174, 0, 253, 0, - 252, 173, 253, 0, 0, 244, 0, 175, 254, 176, - 0, 244, 0, 246, 0, 254, 173, 244, 0, 254, - 173, 246, 0, 175, 244, 173, 244, 173, 244, 173, - 244, 176, 0, 175, 244, 173, 244, 173, 244, 176, - 0, 175, 4, 173, 244, 176, 0, 4, 0, 4, - 177, 85, 177, 4, 0, 175, 257, 176, 0, 4, - 177, 64, 178, 244, 179, 177, 85, 0, 255, 0, - 257, 173, 255, 0 +static const short yyrhs[] = { 183, + 0, 182, 0, 188, 0, 139, 0, 142, 143, 245, + 245, 245, 144, 145, 141, 245, 245, 245, 141, 245, + 245, 245, 141, 245, 245, 245, 146, 147, 0, 140, + 0, 0, 183, 184, 0, 185, 0, 187, 0, 186, + 0, 1, 6, 0, 113, 6, 0, 114, 6, 0, + 116, 6, 0, 115, 6, 0, 117, 6, 0, 118, + 173, 250, 174, 5, 175, 6, 0, 119, 173, 250, + 175, 6, 0, 120, 173, 5, 174, 5, 174, 250, + 174, 250, 174, 5, 174, 5, 174, 5, 175, 6, + 0, 3, 7, 97, 173, 5, 174, 248, 175, 6, + 0, 3, 7, 96, 173, 5, 174, 245, 174, 254, + 174, 244, 174, 244, 174, 244, 174, 254, 174, 254, + 174, 244, 175, 6, 0, 3, 7, 95, 173, 5, + 174, 245, 174, 245, 174, 252, 174, 244, 174, 244, + 174, 244, 174, 244, 174, 254, 174, 254, 174, 254, + 174, 254, 174, 244, 175, 6, 0, 3, 7, 103, + 173, 5, 174, 3, 174, 3, 174, 3, 174, 244, + 175, 6, 0, 3, 7, 107, 173, 5, 174, 3, + 174, 244, 175, 6, 0, 3, 7, 124, 173, 5, + 174, 3, 174, 244, 175, 6, 0, 3, 7, 105, + 173, 5, 174, 164, 174, 164, 174, 245, 174, 244, + 175, 6, 0, 3, 7, 108, 173, 5, 174, 254, + 175, 6, 0, 3, 7, 109, 173, 5, 174, 254, + 174, 3, 174, 244, 175, 6, 0, 3, 7, 104, + 173, 5, 174, 3, 175, 6, 0, 3, 7, 110, + 173, 5, 174, 3, 174, 245, 175, 6, 0, 3, + 7, 112, 173, 5, 174, 3, 174, 3, 174, 3, + 175, 6, 0, 3, 7, 111, 173, 5, 174, 248, + 175, 6, 0, 3, 7, 106, 173, 5, 174, 3, + 175, 6, 0, 3, 7, 37, 173, 5, 174, 3, + 174, 3, 175, 6, 0, 3, 7, 122, 173, 5, + 174, 254, 175, 6, 0, 3, 7, 123, 173, 5, + 174, 254, 174, 3, 175, 6, 0, 3, 7, 121, + 173, 5, 174, 3, 175, 6, 0, 3, 7, 125, + 173, 5, 174, 3, 174, 245, 175, 6, 0, 3, + 7, 126, 173, 5, 174, 3, 174, 245, 174, 245, + 175, 6, 0, 3, 7, 133, 173, 5, 174, 3, + 174, 245, 174, 245, 175, 6, 0, 3, 7, 127, + 173, 5, 174, 3, 174, 245, 175, 6, 0, 3, + 7, 137, 173, 5, 174, 3, 174, 245, 174, 245, + 175, 6, 0, 3, 7, 128, 173, 5, 174, 3, + 174, 254, 174, 254, 174, 244, 174, 244, 175, 6, + 0, 3, 7, 129, 173, 5, 174, 254, 175, 6, + 0, 3, 7, 130, 173, 131, 174, 244, 174, 3, + 175, 6, 0, 3, 7, 132, 173, 5, 174, 254, + 174, 244, 175, 6, 0, 3, 7, 134, 173, 5, + 174, 5, 174, 3, 174, 3, 175, 6, 0, 3, + 7, 135, 173, 5, 174, 5, 174, 3, 175, 6, + 0, 3, 7, 136, 173, 3, 174, 3, 175, 6, + 0, 0, 188, 189, 0, 191, 0, 190, 0, 229, + 0, 230, 0, 231, 0, 234, 0, 235, 0, 239, + 0, 242, 0, 243, 0, 236, 0, 238, 0, 237, + 0, 1, 6, 0, 31, 173, 5, 174, 245, 175, + 6, 0, 64, 5, 176, 192, 177, 6, 0, 64, + 5, 4, 248, 176, 192, 177, 6, 0, 0, 192, + 194, 0, 192, 197, 0, 192, 200, 0, 192, 203, + 0, 192, 206, 0, 192, 209, 0, 192, 212, 0, + 192, 215, 0, 192, 218, 0, 192, 221, 0, 192, + 224, 0, 192, 227, 0, 245, 0, 193, 174, 245, + 0, 0, 76, 173, 245, 174, 245, 174, 245, 175, + 195, 176, 193, 177, 6, 0, 245, 0, 196, 174, + 245, 0, 0, 77, 173, 245, 174, 245, 174, 245, + 175, 198, 176, 196, 177, 6, 0, 245, 0, 199, + 174, 245, 0, 0, 78, 173, 245, 174, 245, 174, + 245, 175, 201, 176, 199, 177, 6, 0, 245, 0, + 202, 174, 245, 0, 0, 73, 173, 245, 174, 245, + 174, 245, 174, 245, 174, 245, 174, 245, 175, 204, + 176, 202, 177, 6, 0, 245, 0, 205, 174, 245, + 0, 0, 74, 173, 245, 174, 245, 174, 245, 174, + 245, 174, 245, 174, 245, 175, 207, 176, 205, 177, + 6, 0, 245, 0, 208, 174, 245, 0, 0, 75, + 173, 245, 174, 245, 174, 245, 174, 245, 174, 245, + 174, 245, 175, 210, 176, 208, 177, 6, 0, 245, + 0, 211, 174, 245, 0, 0, 70, 173, 245, 174, + 245, 174, 245, 174, 245, 174, 245, 174, 245, 174, + 245, 174, 245, 174, 245, 175, 213, 176, 211, 177, + 6, 0, 245, 0, 214, 174, 245, 0, 0, 71, + 173, 245, 174, 245, 174, 245, 174, 245, 174, 245, + 174, 245, 174, 245, 174, 245, 174, 245, 175, 216, + 176, 214, 177, 6, 0, 245, 0, 217, 174, 245, + 0, 0, 72, 173, 245, 174, 245, 174, 245, 174, + 245, 174, 245, 174, 245, 174, 245, 174, 245, 174, + 245, 175, 219, 176, 217, 177, 6, 0, 245, 0, + 220, 174, 245, 0, 0, 67, 173, 245, 174, 245, + 174, 245, 174, 245, 174, 245, 174, 245, 174, 245, + 174, 245, 174, 245, 174, 245, 174, 245, 174, 245, + 175, 222, 176, 220, 177, 6, 0, 245, 0, 223, + 174, 245, 0, 0, 68, 173, 245, 174, 245, 174, + 245, 174, 245, 174, 245, 174, 245, 174, 245, 174, + 245, 174, 245, 174, 245, 174, 245, 174, 245, 175, + 225, 176, 223, 177, 6, 0, 245, 0, 226, 174, + 245, 0, 0, 69, 173, 245, 174, 245, 174, 245, + 174, 245, 174, 245, 174, 245, 174, 245, 174, 245, + 174, 245, 174, 245, 174, 245, 174, 245, 175, 228, + 176, 226, 177, 6, 0, 4, 7, 245, 6, 0, + 4, 171, 6, 0, 4, 172, 6, 0, 4, 154, + 245, 6, 0, 4, 155, 245, 6, 0, 4, 156, + 245, 6, 0, 4, 157, 245, 6, 0, 4, 178, + 4, 7, 5, 6, 0, 4, 178, 64, 179, 245, + 180, 178, 4, 7, 5, 6, 0, 4, 178, 4, + 7, 245, 6, 0, 4, 178, 64, 179, 245, 180, + 178, 4, 7, 245, 6, 0, 4, 178, 4, 154, + 245, 6, 0, 4, 178, 64, 179, 245, 180, 178, + 4, 154, 245, 6, 0, 4, 178, 4, 155, 245, + 6, 0, 4, 178, 64, 179, 245, 180, 178, 4, + 155, 245, 6, 0, 4, 178, 4, 156, 245, 6, + 0, 4, 178, 64, 179, 245, 180, 178, 4, 156, + 245, 6, 0, 4, 178, 4, 157, 245, 6, 0, + 4, 178, 64, 179, 245, 180, 178, 4, 157, 245, + 6, 0, 4, 178, 4, 171, 6, 0, 4, 178, + 64, 179, 245, 180, 178, 4, 171, 245, 6, 0, + 4, 178, 4, 172, 6, 0, 4, 178, 64, 179, + 245, 180, 178, 4, 172, 245, 6, 0, 4, 178, + 4, 7, 248, 6, 0, 4, 178, 64, 179, 245, + 180, 178, 4, 7, 248, 6, 0, 4, 178, 4, + 154, 248, 6, 0, 4, 178, 64, 179, 245, 180, + 178, 4, 154, 248, 6, 0, 4, 178, 4, 155, + 248, 6, 0, 4, 178, 64, 179, 245, 180, 178, + 4, 155, 248, 6, 0, 4, 178, 85, 178, 4, + 7, 256, 6, 0, 4, 178, 64, 179, 245, 180, + 178, 85, 7, 257, 6, 0, 34, 173, 245, 175, + 7, 248, 6, 0, 49, 34, 173, 245, 175, 7, + 254, 6, 0, 65, 34, 254, 7, 176, 245, 174, + 245, 174, 245, 177, 6, 0, 41, 42, 254, 7, + 245, 6, 0, 34, 176, 245, 177, 6, 0, 37, + 173, 245, 175, 7, 254, 6, 0, 39, 173, 245, + 175, 7, 254, 6, 0, 65, 37, 254, 7, 176, + 245, 174, 245, 174, 245, 177, 6, 0, 35, 173, + 245, 175, 7, 254, 6, 0, 35, 173, 245, 175, + 7, 254, 45, 248, 6, 0, 43, 173, 245, 175, + 7, 176, 245, 174, 245, 174, 5, 174, 5, 174, + 5, 177, 6, 0, 36, 173, 245, 175, 7, 254, + 6, 0, 49, 37, 173, 245, 175, 7, 254, 6, + 0, 37, 59, 173, 245, 175, 7, 254, 6, 0, + 79, 173, 245, 175, 7, 254, 6, 0, 80, 173, + 245, 175, 7, 254, 84, 254, 81, 245, 6, 0, + 37, 176, 245, 177, 6, 0, 45, 38, 173, 245, + 175, 7, 254, 6, 0, 138, 38, 173, 245, 175, + 7, 245, 254, 6, 0, 46, 38, 173, 245, 175, + 7, 254, 6, 0, 80, 38, 82, 83, 173, 245, + 175, 7, 252, 84, 176, 254, 174, 254, 177, 81, + 176, 245, 174, 245, 177, 6, 0, 80, 38, 173, + 245, 175, 7, 252, 84, 176, 254, 174, 254, 177, + 81, 176, 245, 174, 245, 177, 6, 0, 49, 38, + 173, 245, 175, 7, 254, 6, 0, 38, 59, 173, + 245, 175, 7, 254, 6, 0, 38, 176, 245, 177, + 6, 0, 48, 40, 173, 245, 175, 7, 254, 6, + 0, 40, 173, 245, 175, 7, 254, 6, 0, 49, + 40, 173, 245, 175, 7, 254, 6, 0, 54, 248, + 176, 232, 177, 0, 53, 176, 248, 174, 248, 174, + 245, 177, 176, 232, 177, 0, 55, 248, 176, 232, + 177, 0, 56, 176, 248, 174, 245, 177, 176, 232, + 177, 0, 234, 0, 233, 0, 231, 0, 0, 233, + 230, 0, 58, 176, 233, 177, 0, 62, 176, 233, + 177, 0, 60, 5, 6, 0, 31, 5, 6, 0, + 90, 6, 0, 91, 5, 6, 0, 32, 6, 0, + 33, 245, 6, 0, 86, 176, 245, 8, 245, 177, + 0, 86, 176, 245, 8, 245, 8, 245, 177, 0, + 86, 4, 87, 176, 245, 8, 245, 177, 0, 86, + 4, 87, 176, 245, 8, 245, 8, 245, 177, 0, + 88, 0, 92, 0, 93, 4, 6, 0, 94, 4, + 0, 57, 34, 176, 245, 174, 248, 177, 6, 0, + 57, 34, 176, 245, 174, 248, 174, 248, 174, 245, + 177, 6, 0, 57, 37, 176, 245, 174, 248, 177, + 6, 0, 57, 37, 176, 245, 174, 248, 174, 248, + 174, 245, 177, 6, 0, 57, 38, 176, 245, 174, + 248, 177, 6, 0, 57, 38, 176, 245, 174, 248, + 174, 248, 174, 245, 177, 6, 0, 57, 38, 176, + 245, 174, 248, 177, 176, 240, 177, 6, 0, 57, + 38, 176, 245, 174, 248, 174, 248, 174, 245, 177, + 176, 240, 177, 6, 0, 241, 0, 240, 241, 0, + 66, 176, 254, 174, 254, 174, 254, 177, 6, 0, + 61, 6, 0, 47, 37, 254, 7, 245, 6, 0, + 47, 37, 254, 7, 245, 50, 52, 245, 6, 0, + 47, 37, 254, 7, 245, 50, 51, 245, 6, 0, + 47, 38, 176, 245, 177, 7, 254, 6, 0, 44, + 38, 176, 245, 177, 7, 254, 6, 0, 47, 40, + 176, 245, 177, 7, 254, 6, 0, 61, 38, 254, + 7, 245, 6, 0, 61, 38, 254, 6, 0, 63, + 6, 0, 98, 0, 99, 0, 100, 0, 101, 0, + 102, 0, 246, 0, 173, 245, 175, 0, 163, 245, + 0, 162, 245, 0, 169, 245, 0, 245, 163, 245, + 0, 245, 162, 245, 0, 245, 164, 245, 0, 245, + 165, 245, 0, 245, 166, 245, 0, 245, 170, 245, + 0, 245, 158, 245, 0, 245, 159, 245, 0, 245, + 160, 245, 0, 245, 161, 245, 0, 245, 152, 245, + 0, 245, 151, 245, 0, 245, 149, 245, 0, 245, + 150, 245, 0, 245, 148, 245, 8, 245, 0, 10, + 173, 245, 175, 0, 11, 173, 245, 175, 0, 12, + 173, 245, 175, 0, 13, 173, 245, 175, 0, 14, + 173, 245, 175, 0, 15, 173, 245, 175, 0, 16, + 173, 245, 175, 0, 17, 173, 245, 175, 0, 18, + 173, 245, 175, 0, 20, 173, 245, 175, 0, 21, + 173, 245, 174, 245, 175, 0, 22, 173, 245, 175, + 0, 23, 173, 245, 175, 0, 24, 173, 245, 175, + 0, 25, 173, 245, 175, 0, 26, 173, 245, 175, + 0, 27, 173, 245, 175, 0, 28, 173, 245, 174, + 245, 175, 0, 29, 173, 245, 174, 245, 175, 0, + 30, 173, 245, 174, 245, 175, 0, 19, 173, 245, + 175, 0, 3, 0, 9, 0, 4, 0, 4, 178, + 4, 0, 4, 178, 64, 179, 245, 180, 178, 4, + 0, 4, 178, 4, 171, 0, 4, 178, 64, 179, + 245, 180, 178, 4, 171, 0, 4, 178, 4, 172, + 0, 4, 178, 64, 179, 245, 180, 178, 4, 172, + 0, 245, 8, 245, 0, 245, 8, 245, 8, 245, + 0, 249, 0, 163, 248, 0, 162, 248, 0, 248, + 163, 248, 0, 248, 162, 248, 0, 176, 245, 174, + 245, 174, 245, 174, 245, 174, 245, 177, 0, 176, + 245, 174, 245, 174, 245, 174, 245, 177, 0, 176, + 245, 174, 245, 174, 245, 177, 0, 173, 245, 174, + 245, 174, 245, 175, 0, 4, 178, 4, 0, 4, + 178, 64, 179, 245, 180, 178, 4, 0, 0, 173, + 251, 175, 0, 5, 0, 251, 174, 5, 0, 0, + 176, 253, 177, 0, 173, 253, 175, 0, 254, 0, + 253, 174, 254, 0, 0, 245, 0, 176, 255, 177, + 0, 245, 0, 247, 0, 255, 174, 245, 0, 255, + 174, 247, 0, 176, 245, 174, 245, 174, 245, 174, + 245, 177, 0, 176, 245, 174, 245, 174, 245, 177, + 0, 176, 4, 174, 245, 177, 0, 4, 0, 4, + 178, 85, 178, 4, 0, 176, 258, 177, 0, 4, + 178, 64, 179, 245, 180, 178, 85, 0, 256, 0, + 258, 174, 256, 0 }; #endif #if YYDEBUG != 0 static const short yyrline[] = { 0, - 142, 144, 145, 152, 160, 174, 186, 188, 191, 193, - 194, 195, 198, 204, 209, 210, 211, 214, 218, 221, - 227, 232, 238, 246, 251, 255, 261, 266, 270, 275, - 279, 282, 287, 291, 295, 299, 304, 308, 311, 315, - 319, 323, 327, 331, 335, 338, 342, 345, 349, 352, - 361, 365, 371, 373, 374, 375, 376, 377, 378, 379, - 380, 381, 382, 383, 385, 386, 389, 400, 405, 411, - 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, - 426, 427, 430, 433, 437, 443, 449, 452, 456, 462, - 468, 471, 475, 481, 487, 490, 494, 502, 508, 511, - 515, 523, 529, 532, 536, 544, 550, 553, 557, 569, - 575, 578, 582, 594, 600, 603, 607, 619, 625, 628, - 632, 645, 651, 654, 658, 671, 677, 680, 684, 697, - 709, 719, 727, 735, 743, 751, 759, 770, 783, 801, - 818, 839, 856, 877, 894, 915, 932, 953, 970, 991, - 1008, 1029, 1046, 1069, 1094, 1123, 1148, 1177, 1202, 1233, - 1246, 1271, 1282, 1288, 1307, 1318, 1326, 1332, 1338, 1357, - 1363, 1379, 1386, 1392, 1398, 1404, 1410, 1429, 1441, 1447, - 1466, 1487, 1495, 1501, 1507, 1513, 1525, 1531, 1537, 1549, - 1555, 1560, 1565, 1572, 1574, 1575, 1578, 1583, 1594, 1612, - 1627, 1655, 1684, 1688, 1694, 1707, 1721, 1736, 1749, 1768, - 1775, 1782, 1811, 1817, 1823, 1827, 1831, 1835, 1839, 1844, - 1851, 1855, 1860, 1878, 1888, 1906, 1923, 1940, 1961, 1981, - 2001, 2018, 2042, 2055, 2057, 2058, 2059, 2060, 2063, 2065, - 2066, 2067, 2068, 2069, 2070, 2071, 2072, 2073, 2074, 2075, - 2076, 2077, 2078, 2079, 2080, 2081, 2082, 2083, 2084, 2085, - 2086, 2087, 2088, 2089, 2090, 2091, 2092, 2093, 2094, 2095, - 2096, 2097, 2098, 2099, 2100, 2101, 2102, 2103, 2104, 2107, - 2109, 2110, 2119, 2136, 2157, 2174, 2195, 2212, 2234, 2241, - 2254, 2259, 2263, 2267, 2271, 2276, 2281, 2285, 2289, 2293, - 2319, 2351, 2355, 2360, 2364, 2369, 2373, 2377, 2383, 2389, - 2395, 2399, 2405, 2412, 2418, 2427, 2431, 2441, 2446, 2450, - 2455, 2460, 2475, 2480, 2501, 2510 + 143, 145, 146, 153, 161, 175, 187, 189, 192, 194, + 195, 196, 199, 205, 210, 211, 212, 215, 219, 222, + 228, 233, 239, 247, 252, 256, 262, 267, 271, 276, + 280, 283, 288, 292, 296, 300, 305, 309, 312, 316, + 320, 324, 328, 332, 336, 339, 343, 346, 350, 353, + 362, 366, 372, 374, 375, 376, 377, 378, 379, 380, + 381, 382, 383, 384, 386, 387, 390, 401, 406, 412, + 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, + 427, 428, 431, 434, 438, 444, 450, 453, 457, 463, + 469, 472, 476, 482, 488, 491, 495, 503, 509, 512, + 516, 524, 530, 533, 537, 545, 551, 554, 558, 570, + 576, 579, 583, 595, 601, 604, 608, 620, 626, 629, + 633, 646, 652, 655, 659, 672, 678, 681, 685, 698, + 710, 720, 728, 736, 744, 752, 760, 771, 784, 802, + 819, 840, 857, 878, 895, 916, 933, 954, 971, 992, + 1009, 1030, 1047, 1070, 1095, 1124, 1149, 1178, 1203, 1234, + 1247, 1272, 1283, 1289, 1308, 1319, 1327, 1333, 1339, 1358, + 1364, 1380, 1387, 1393, 1399, 1405, 1411, 1430, 1442, 1448, + 1467, 1488, 1496, 1502, 1508, 1514, 1526, 1532, 1538, 1550, + 1556, 1561, 1566, 1573, 1575, 1576, 1579, 1584, 1595, 1613, + 1628, 1656, 1685, 1689, 1695, 1708, 1722, 1738, 1752, 1774, + 1796, 1822, 1829, 1836, 1865, 1871, 1877, 1881, 1885, 1889, + 1893, 1898, 1905, 1909, 1914, 1932, 1942, 1960, 1977, 1994, + 2015, 2035, 2055, 2072, 2096, 2109, 2111, 2112, 2113, 2114, + 2117, 2119, 2120, 2121, 2122, 2123, 2124, 2125, 2126, 2127, + 2128, 2129, 2130, 2131, 2132, 2133, 2134, 2135, 2136, 2137, + 2138, 2139, 2140, 2141, 2142, 2143, 2144, 2145, 2146, 2147, + 2148, 2149, 2150, 2151, 2152, 2153, 2154, 2155, 2156, 2157, + 2158, 2161, 2163, 2164, 2173, 2190, 2211, 2228, 2249, 2266, + 2288, 2295, 2308, 2313, 2317, 2321, 2325, 2330, 2335, 2339, + 2343, 2347, 2373, 2405, 2409, 2414, 2418, 2423, 2427, 2431, + 2437, 2443, 2449, 2453, 2459, 2466, 2472, 2481, 2485, 2495, + 2500, 2504, 2509, 2514, 2529, 2534, 2555, 2564 }; #endif @@ -610,8 +614,8 @@ static const char * const yytname[] = { "$","error","$undefined.","tDOUBLE", "tDelete","tCoherence","tView","tAttractor","tLayers","tScalarTetrahedron","tVectorTetrahedron", "tTensorTetrahedron","tScalarTriangle","tVectorTriangle","tTensorTriangle","tScalarLine", "tVectorLine","tTensorLine","tScalarPoint","tVectorPoint","tTensorPoint","tBSpline", -"tNurbs","tOrder","tWith","tBounds","tKnots","tColor","tFor","tEndFor","tScript", -"tExit","tMerge","tReturn","tCall","tFunction","tB_SPLINE_SURFACE_WITH_KNOTS", +"tNurbs","tOrder","tWith","tBounds","tKnots","tColor","tFor","tIn","tEndFor", +"tScript","tExit","tMerge","tReturn","tCall","tFunction","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", @@ -643,39 +647,39 @@ static const char * const yytname[] = { "$","error","$undefined.","tDOUBLE", #endif static const short yyr1[] = { 0, - 180, 180, 180, 181, 181, 181, 182, 182, 183, 183, - 183, 183, 184, 184, 184, 184, 184, 185, 185, 185, - 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, - 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, - 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, - 187, 187, 188, 188, 188, 188, 188, 188, 188, 188, - 188, 188, 188, 188, 188, 188, 189, 190, 190, 191, - 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, - 191, 191, 192, 192, 194, 193, 195, 195, 197, 196, - 198, 198, 200, 199, 201, 201, 203, 202, 204, 204, - 206, 205, 207, 207, 209, 208, 210, 210, 212, 211, - 213, 213, 215, 214, 216, 216, 218, 217, 219, 219, - 221, 220, 222, 222, 224, 223, 225, 225, 227, 226, - 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, - 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, - 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, - 228, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 181, 181, 181, 182, 182, 182, 183, 183, 184, 184, + 184, 184, 185, 185, 185, 185, 185, 186, 186, 186, + 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, + 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, + 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, + 188, 188, 189, 189, 189, 189, 189, 189, 189, 189, + 189, 189, 189, 189, 189, 189, 190, 191, 191, 192, + 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, + 192, 192, 193, 193, 195, 194, 196, 196, 198, 197, + 199, 199, 201, 200, 202, 202, 204, 203, 205, 205, + 207, 206, 208, 208, 210, 209, 211, 211, 213, 212, + 214, 214, 216, 215, 217, 217, 219, 218, 220, 220, + 222, 221, 223, 223, 225, 224, 226, 226, 228, 227, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, - 229, 229, 229, 229, 229, 229, 229, 229, 229, 230, - 230, 230, 230, 231, 231, 231, 232, 232, 233, 234, - 235, 236, 236, 236, 236, 236, 237, 237, 237, 237, - 237, 237, 238, 238, 238, 238, 238, 238, 238, 238, - 239, 239, 240, 240, 241, 241, 241, 241, 241, 241, - 241, 241, 242, 243, 243, 243, 243, 243, 244, 244, - 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, - 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, - 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, - 244, 244, 244, 244, 244, 244, 244, 244, 244, 245, - 245, 245, 245, 245, 245, 245, 245, 245, 246, 246, - 247, 247, 247, 247, 247, 248, 248, 248, 248, 248, - 248, 249, 249, 250, 250, 251, 251, 251, 252, 252, - 253, 253, 253, 254, 254, 254, 254, 255, 255, 255, - 255, 255, 256, 256, 257, 257 + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 230, 230, 230, 230, 230, 230, 230, 230, 230, + 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, + 230, 230, 230, 230, 230, 230, 230, 230, 230, 231, + 231, 231, 231, 232, 232, 232, 233, 233, 234, 235, + 236, 237, 237, 237, 237, 237, 238, 238, 238, 238, + 238, 238, 238, 238, 239, 239, 239, 239, 239, 239, + 239, 239, 240, 240, 241, 241, 242, 242, 242, 242, + 242, 242, 242, 242, 243, 244, 244, 244, 244, 244, + 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, + 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, + 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, + 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, + 245, 246, 246, 246, 246, 246, 246, 246, 246, 246, + 247, 247, 248, 248, 248, 248, 248, 249, 249, 249, + 249, 249, 249, 250, 250, 251, 251, 252, 252, 252, + 253, 253, 254, 254, 254, 255, 255, 255, 255, 256, + 256, 256, 256, 256, 257, 257, 258, 258 }; static const short yyr2[] = { 0, @@ -699,19 +703,19 @@ static const short yyr2[] = { 0, 9, 17, 7, 8, 8, 7, 11, 5, 8, 9, 8, 22, 20, 8, 8, 5, 8, 7, 8, 5, 11, 5, 9, 1, 1, 1, 0, 2, 4, 4, - 3, 3, 2, 3, 2, 3, 6, 8, 1, 1, - 3, 2, 8, 12, 8, 12, 8, 12, 11, 15, - 1, 2, 9, 2, 6, 9, 9, 8, 8, 8, - 6, 4, 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, 1, - 1, 1, 3, 8, 4, 9, 4, 9, 3, 5, - 1, 2, 2, 3, 3, 11, 9, 7, 7, 3, - 8, 0, 3, 1, 3, 0, 3, 3, 1, 3, - 0, 1, 3, 1, 1, 3, 3, 9, 7, 5, - 1, 5, 3, 8, 1, 3 + 3, 3, 2, 3, 2, 3, 6, 8, 8, 10, + 1, 1, 3, 2, 8, 12, 8, 12, 8, 12, + 11, 15, 1, 2, 9, 2, 6, 9, 9, 8, + 8, 8, 6, 4, 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, 1, 1, 1, 3, 8, 4, 9, 4, 9, + 3, 5, 1, 2, 2, 3, 3, 11, 9, 7, + 7, 3, 8, 0, 3, 1, 3, 0, 3, 3, + 1, 3, 0, 1, 3, 1, 1, 3, 3, 9, + 7, 5, 1, 5, 3, 8, 1, 3 }; static const short yydefact[] = { 51, @@ -720,146 +724,147 @@ static const short yydefact[] = { 51, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 210, + 0, 0, 0, 0, 0, 0, 211, 0, 0, 212, 0, 0, 0, 52, 54, 53, 55, 56, 57, 58, - 59, 63, 65, 64, 60, 61, 62, 280, 282, 281, + 59, 63, 65, 64, 60, 61, 62, 282, 284, 283, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 239, 12, 0, 13, - 14, 16, 15, 17, 302, 302, 0, 66, 0, 0, + 0, 0, 0, 0, 0, 0, 241, 12, 0, 13, + 14, 16, 15, 17, 304, 304, 0, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 311, 0, 0, 0, 0, 311, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 291, 0, 0, 0, 0, 0, 197, 0, 311, - 197, 233, 0, 311, 311, 0, 0, 0, 0, 203, - 0, 0, 212, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 242, 241, 243, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 313, 0, 0, 0, 0, 313, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 293, 0, 0, 0, 0, 0, 197, 0, 313, + 197, 235, 0, 313, 313, 0, 0, 0, 0, 0, + 203, 0, 0, 214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 244, 243, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 132, 133, 0, 0, 0, - 202, 0, 206, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 293, 292, 0, 0, 0, 0, 197, - 197, 0, 0, 0, 0, 0, 201, 0, 0, 0, - 70, 0, 0, 0, 0, 0, 0, 0, 204, 211, - 0, 283, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 240, 0, 256, 257, 255, 254, - 250, 251, 252, 253, 242, 241, 246, 247, 248, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 132, 133, 0, 0, + 0, 202, 0, 206, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 304, 0, 0, 0, 0, 131, 134, 135, 136, - 137, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 245, 244, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 314, 315, 0, 0, 0, 0, + 0, 0, 0, 0, 295, 294, 0, 0, 0, 0, + 197, 197, 0, 0, 0, 0, 0, 201, 0, 0, + 0, 70, 0, 0, 0, 0, 0, 0, 0, 0, + 204, 213, 0, 285, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 300, 0, 0, 0, 295, 294, 196, 0, 195, - 194, 0, 0, 0, 0, 0, 199, 198, 232, 0, - 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 285, 287, 0, 259, 260, 261, 262, 263, 264, - 265, 266, 267, 279, 268, 0, 270, 271, 272, 273, - 274, 275, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 242, 0, 258, 259, + 257, 256, 252, 253, 254, 255, 244, 243, 248, 249, + 250, 251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 303, 0, - 19, 0, 282, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 150, 152, 0, 0, 0, - 0, 166, 311, 311, 0, 311, 178, 0, 186, 311, - 311, 0, 0, 313, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 306, 0, 0, 0, 0, 131, 134, + 135, 136, 137, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 247, 246, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 316, 317, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 190, 192, 0, 0, 0, 0, 0, 70, 0, + 0, 0, 0, 302, 0, 0, 0, 297, 296, 196, + 0, 195, 194, 0, 0, 0, 0, 0, 199, 198, + 234, 0, 200, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 287, 289, 0, 261, 262, 263, + 264, 265, 266, 267, 268, 269, 281, 270, 0, 272, + 273, 274, 275, 276, 277, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 71, 72, 73, 74, 75, 76, 77, 78, - 79, 80, 81, 82, 0, 0, 311, 0, 0, 311, - 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 311, 311, - 0, 0, 0, 0, 311, 311, 0, 0, 0, 0, - 0, 311, 0, 311, 0, 0, 0, 0, 0, 305, - 0, 302, 0, 138, 0, 140, 154, 142, 156, 144, - 158, 146, 148, 0, 0, 0, 0, 0, 0, 311, - 0, 311, 0, 0, 289, 316, 317, 165, 0, 311, - 311, 311, 225, 0, 311, 311, 311, 311, 311, 311, - 311, 0, 0, 0, 0, 0, 0, 0, 0, 231, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 68, 0, 0, 0, 0, 306, 0, - 0, 207, 0, 0, 269, 276, 277, 278, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 305, 0, 19, 0, 284, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 150, 152, + 0, 0, 0, 0, 166, 313, 313, 0, 313, 178, + 0, 186, 313, 313, 0, 0, 315, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 234, 235, 236, 237, 238, 0, 0, 0, - 0, 0, 0, 0, 18, 0, 283, 0, 0, 321, - 0, 0, 67, 162, 170, 0, 173, 0, 167, 0, - 168, 188, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 190, 192, 0, 0, 0, 0, + 0, 70, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 71, 72, 73, 74, 75, + 76, 77, 78, 79, 80, 81, 82, 0, 0, 313, + 0, 0, 313, 0, 0, 0, 0, 0, 0, 0, + 0, 260, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 313, 313, 0, 0, 0, 0, 313, 313, + 0, 0, 0, 0, 0, 313, 0, 313, 0, 0, + 0, 0, 0, 307, 0, 304, 0, 138, 0, 140, + 154, 142, 156, 144, 158, 146, 148, 0, 0, 0, + 0, 0, 0, 313, 0, 313, 0, 0, 291, 318, + 319, 165, 0, 313, 313, 313, 227, 0, 313, 313, + 313, 313, 313, 313, 313, 0, 0, 0, 0, 0, + 0, 0, 0, 233, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 68, 0, 0, + 0, 0, 308, 0, 0, 0, 207, 0, 0, 271, + 278, 279, 280, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 236, 237, 238, + 239, 240, 0, 0, 0, 0, 0, 0, 0, 18, + 0, 285, 0, 0, 323, 0, 0, 67, 162, 170, + 0, 173, 0, 167, 0, 168, 188, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 176, 0, 311, 311, 0, 311, 0, 311, - 0, 0, 0, 0, 311, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 311, 0, 0, 0, 0, 0, 0, - 0, 0, 302, 0, 0, 0, 0, 282, 0, 160, - 0, 175, 185, 290, 0, 229, 179, 181, 0, 0, - 228, 230, 187, 163, 174, 184, 189, 0, 0, 299, - 0, 298, 0, 0, 213, 0, 215, 0, 217, 0, - 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 306, 0, 309, 0, 0, - 0, 208, 0, 284, 0, 0, 0, 0, 21, 0, - 30, 0, 34, 0, 28, 0, 0, 33, 0, 38, - 36, 0, 0, 0, 0, 0, 0, 45, 0, 0, - 0, 0, 0, 50, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 171, 0, - 227, 226, 197, 301, 0, 193, 0, 0, 0, 0, - 0, 0, 221, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 311, 308, - 307, 311, 0, 180, 286, 288, 0, 0, 306, 0, + 0, 0, 0, 0, 0, 0, 0, 176, 0, 313, + 313, 0, 313, 0, 0, 313, 0, 0, 0, 0, + 313, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 313, + 0, 0, 0, 0, 0, 0, 0, 0, 304, 0, + 0, 0, 0, 284, 0, 160, 0, 175, 185, 292, + 0, 231, 179, 181, 0, 0, 230, 232, 187, 163, + 174, 184, 189, 0, 0, 301, 0, 300, 0, 0, + 215, 0, 217, 0, 219, 0, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 311, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 308, 0, 311, 0, 0, 0, 0, 209, 208, + 0, 286, 0, 0, 0, 0, 21, 0, 30, 0, + 34, 0, 28, 0, 0, 33, 0, 38, 36, 0, + 0, 0, 0, 0, 0, 45, 0, 0, 0, 0, + 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 171, 0, 229, 228, + 197, 303, 0, 193, 0, 0, 0, 0, 0, 0, + 223, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 313, 310, 309, 313, + 0, 0, 180, 288, 290, 0, 0, 308, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 313, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 297, 0, 0, 0, 224, 311, 0, 222, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 299, + 0, 0, 0, 226, 313, 0, 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 310, 0, 0, 0, 35, 0, 0, + 0, 0, 312, 0, 0, 210, 0, 35, 0, 0, 0, 0, 25, 0, 31, 0, 37, 26, 39, 0, 42, 0, 46, 47, 0, 0, 49, 0, 0, 0, 139, 141, 155, 143, 157, 145, 159, 147, 149, 151, - 153, 0, 325, 0, 161, 322, 320, 0, 0, 191, - 0, 0, 0, 0, 0, 219, 0, 0, 0, 0, + 153, 0, 327, 0, 161, 324, 322, 0, 0, 191, + 0, 0, 0, 0, 0, 221, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 311, 311, 177, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 284, 0, 0, 323, - 0, 0, 296, 214, 216, 218, 0, 311, 0, 0, + 313, 313, 177, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 286, 0, 0, 325, + 0, 0, 298, 216, 218, 220, 0, 313, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 89, 93, 164, 169, 0, 0, 0, 0, 0, 0, 0, 29, - 32, 40, 0, 41, 48, 43, 0, 0, 326, 0, - 319, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 311, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, + 32, 40, 0, 41, 48, 43, 0, 0, 328, 0, + 321, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 313, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 313, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 27, 0, - 0, 0, 318, 0, 220, 0, 0, 0, 0, 0, + 0, 0, 320, 0, 222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 0, 87, 0, - 91, 0, 0, 0, 0, 311, 0, 0, 0, 0, + 91, 0, 0, 0, 0, 313, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 44, 20, 324, 172, 223, 0, 0, 0, 0, + 0, 44, 20, 326, 172, 225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 86, 88, 90, 92, - 94, 0, 0, 0, 0, 311, 0, 0, 0, 0, + 94, 0, 0, 0, 0, 313, 0, 0, 0, 0, 0, 0, 97, 101, 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 5, 311, 0, 0, 0, 0, 0, 0, 0, + 0, 5, 313, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 95, 0, 99, 0, 103, 0, - 311, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 313, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 182, 0, 22, 0, 0, 0, - 0, 0, 0, 96, 98, 100, 102, 104, 106, 311, + 0, 0, 0, 96, 98, 100, 102, 104, 106, 313, 0, 0, 0, 109, 113, 117, 0, 0, 0, 0, - 0, 0, 0, 311, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 313, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 107, 0, 111, 0, 115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 108, 110, 112, 114, 116, 118, @@ -869,1753 +874,1760 @@ static const short yydefact[] = { 51, 0, 0 }; -static const short yydefgoto[] = { 1510, +static const short yydefgoto[] = { 1520, 4, 5, 18, 19, 20, 21, 6, 64, 65, 66, - 473, 1286, 613, 1234, 1288, 614, 1235, 1290, 615, 1236, - 1394, 616, 1367, 1396, 617, 1368, 1398, 618, 1369, 1455, - 619, 1441, 1457, 620, 1442, 1459, 621, 1443, 1492, 622, - 1486, 1494, 623, 1487, 1496, 624, 1488, 67, 468, 458, - 459, 460, 461, 71, 72, 73, 74, 75, 1002, 1003, - 76, 77, 778, 288, 107, 436, 304, 162, 258, 403, - 847, 937, 938, 437, 792, 1064, 1134 + 475, 1296, 616, 1244, 1298, 617, 1245, 1300, 618, 1246, + 1404, 619, 1377, 1406, 620, 1378, 1408, 621, 1379, 1465, + 622, 1451, 1467, 623, 1452, 1469, 624, 1453, 1502, 625, + 1496, 1504, 626, 1497, 1506, 627, 1498, 67, 470, 460, + 461, 462, 463, 71, 72, 73, 74, 75, 1010, 1011, + 76, 77, 783, 289, 107, 438, 305, 162, 259, 405, + 852, 943, 944, 439, 797, 1073, 1144 }; -static const short yypact[] = { 2120, --32768,-32768, -125,-32768, 352, 2271, 1149, 24, 45, 53, - 66, 84, 101, 134, -2, 31, 58,-32768,-32768,-32768, --32768, 151, 104, 30, 168, 1149, -55, 89, 111, -44, - -38, 115, 137, 214, 148, 261, 287, 328, 330, 331, - 232, 238, 1, 1, 251, 122, 253, 374, 392, 257, - 385, 439, 127, 274, -30, 281,-32768, 455, 469,-32768, - 472, 479, 453,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 340,-32768, - 350, 354, 355, 356, 357, 358, 359, 360, 369, 380, - 381, 382, 384, 387, 388, 389, 391, 395, 397, 398, - 400, 1149, 1149, 1149, 1149, 1541,-32768,-32768, 2293,-32768, --32768,-32768,-32768,-32768, 401, 401, 520,-32768, 1149, 1149, - 1149, 1149, 1149, 558, 562, 9, 568, 570,-32768, 386, - 1149, 1149, 1149, 1149, 404, 1149, 1149, 405, 1149, 1149, - 1149, 794, 1149, 403, 411, 412, 794, 432, 435, 436, - 440, 441, 442, 443, 1, 434, 1, 1, 1149, 1149, - -111,-32768, -100, 1, 447, 448, 449,-32768, 610, 794, --32768,-32768, 0, 794, 794, 1149, -71, 1149, 1149,-32768, - 611, 619,-32768, 454, 12, 1149, 1149, 1149, 1149, 1149, - 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, - 1149, 1149, 1149, 1149, 1149, 1149, 463, 463, 463, 2960, - 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, - 1149, 1149, 1149, 1149, 1149, 1541, 461, 464, 474, 475, - 476, 478, 483, 484, 485, 492, 493, 494, 495, 506, - 507, 508, 510, 511, 514, 515, 516, 517, 518, 519, - 521, 522, 523, 524, 525, 526, 646, 527, 532, 528, - 614, 679, 733, 895, 979,-32768,-32768, 142, 531, 533, --32768, 538,-32768, 1149, 1149, 2988, 2488, 3016, 3044, 1149, - 3072, 2511, 1149, 2534, 3100, 3128, 1149, 7633, 645, 3156, - 1149, 1149, 1149, 692, 1149, 1149, 1149, 1149, 1149, 1149, - 1149, -70, 14,-32768,-32768, 2221, 4752, 1, 1, 396, - 396, -52, 1149, 1149, 1149, 1312,-32768, 216, 2164, 1, --32768, 705, 706, 3184, 631, 1149, 3212, 1944,-32768,-32768, - 1149, 324, 549, 3240, 3268, 3296, 3324, 3352, 3380, 3408, - 3436, 3464, 3492, 3520, 4779, 3548, 3576, 3604, 3632, 3660, - 3688, 4806, 4833, 4860,-32768, 1967, 260, 260, 630, 630, - -80, -80, -80, -80, -142, -141, 463, 463, 463, 463, - 4887, 723, 724, 725, 726, 727, 728, 730, 735, 736, - 738, 740, 741, 742, 744, 747, 748, 749, 750, 751, - 752, 753, 755, 761, 637, 764, 765, 775, 776, 779, - 780,-32768, 229, 781, 819, 795,-32768,-32768,-32768,-32768, --32768, 318, 1095, 1095, 1149, 1149, 825, 826, 1149, 829, - 1149, 270, 270, 839, 843, 844, 845, 3716, 846, 848, - 3744, 849, 851, 852, 1998,-32768, -32, 1149, 853, 2557, - 3772, 3800, 1149, 2580, 2603, 3828, 3856, 3884, 3912, 3940, - 1,-32768, 672, 1149, 1149,-32768,-32768,-32768, 680, 1194, --32768, 685, 1149, 4910, 4937, 4964,-32768,-32768,-32768, 1149, --32768, -82, -31, 687, 688, 860, 696, 3968, 862, 1149, - 3996,-32768,-32768, 1149,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768, 1149,-32768,-32768,-32768,-32768, --32768,-32768, 1149, 1149, 1149, 1149, 729, 697, 699, 701, - 703, 712, 713, 714, 716, 732, 734, 737, 739, 754, - 757, 759, 762, 763, 766, 767, 768, 769, 770, 771, - 772, 773, 774, 777, 778, 784, 785, 873,-32768, 760, --32768, 786, 702, 893, 1095, 1095, 1149, 1045, 4, 1453, - 6, 1480, 59, 1503, 1599,-32768,-32768, 2283, 899, 4024, - 1,-32768, 794, 794, 901, 794,-32768, 902,-32768, 794, - 794, 1149, 1149,-32768, 1626, 788, 904, 906, 907, 512, - 921, 930, 941, 942, 945, 946, 947, -15, 1149, 4991, - 5018,-32768,-32768, 2626, 1, 1, 1, 1649,-32768, 789, - 792, 796, 806, 807, 810, 811, 812, 814, 815, 816, - 817, 894,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768, 1149, 1149, 794, 1149, 953, 794, - 480, 960, 2306, 4052, 4080, 4108, 4136, 7633, 854, 992, - 1149, 1149, 1, 993, 996, 837, 998, 999, 794, 794, - 1000, 1, 1001, 1002, 794, 794, 1003, 1004, 1005, 1008, - 1009, 794, 259, 794, 1010, 1012, 1013, 1011, 1016,-32768, - 1014, 401, 22,-32768, 2932,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768, 838, 2, 1015, 64, 8, 1017, 794, - 1018, 794, 1020, 1021, 2028, 1998,-32768,-32768, 1149, 794, - 794, 794,-32768, 462, 794, 794, 794, 794, 794, 794, - 794, 1149, 2329, 1149, 1149, 847, -113, -107, -105,-32768, - 433, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, - 1149, 1149, 1149,-32768, 5045, 5072, 1022, 4164, 179, 948, - 1149,-32768, 1149, 857,-32768,-32768,-32768,-32768, 1149, 856, - 5099, 5126, -74, 858, 861, 863, 865, 864, 866, 874, - 875, -56, 876, 887, 888, 877, 892, 896, 897, 898, - 911, 914,-32768,-32768,-32768,-32768,-32768, 916, 918, 919, - 920, 922, 923, 927,-32768, 928, 324, 889, 19, 891, - 1569, 1024,-32768,-32768,-32768, 1,-32768, 1060,-32768, 1088, --32768,-32768, 1149, 5153, 1090, 1096, 1097, 1149, 1149, 1126, - 1127, 1128, 1129, 1139, 1140, 1141, 2649, 972, 4192, 2398, - 396, 1, 1144, 1, 1145, 1, 25, 1148, 5180, 5207, - 5234, 5261, 5288, 5315, 5342, 5369, 5396, 5423, 5450, 5477, - 1149, 1149,-32768, 1173, 794, 794, 1071, 794, 4220, 225, - 1152, 1541, 1178, 1149, 794, 1185, 1196, 1191, 1037, 1195, - 259, 1206, 1212, 1149, 1210, 1214, 1213, 1215, 1217, 259, - 1149, 1149, 1149, 794, 1216, 1220, 259, 1149, 1221, 1222, - 1230, 1149, 401, 1149, 147, 1211, 1142, -54, 5504,-32768, - 71,-32768,-32768, 7633, 1149,-32768,-32768,-32768, 1674, 1709, --32768,-32768,-32768,-32768,-32768,-32768,-32768, 1051, 1234,-32768, - 1149,-32768, 1065, 143,-32768, 153,-32768, 188,-32768, 82, --32768, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, - 1149, 1149, 1149, 5531, 5558, 179, 342,-32768, 106, 1085, - 1180,-32768, 1256, 353, 1541, 1091, 5585, 1093,-32768, 1098, --32768, 1099,-32768, 1094,-32768, 1102, 4248,-32768, 1103,-32768, --32768, 1104, 1105, 4276, 5612, 4304, 1107,-32768, 1108, 1109, - 5639, 1111, 1114,-32768, 5666, 1112, 2352, 576, 1095, 1095, - 1149, 1149, 1149, 1149, 3, 1087, 1149, 1149,-32768, 5693, --32768,-32768, 396,-32768, 2428,-32768, 1149, 1149, 1149, 1263, - 1106, -41,-32768, 5720, 5747, 5774, 5801, 5828, 5855, 5882, - 5909, 5936, 5963, 5990, 6017, 1149, 1149, 1193, 794,-32768, --32768, 794, 1149,-32768,-32768,-32768, 2129, 1283, 179, 259, - 1287, 1149, 1285, 259, 1286, 1290, 1288, 1299, 1301, 1149, - 1303, 794, 1307, 1308, 1149, 1313, 1309, 1149, 1314, 1143, - 1316, 1732, 102, 1759, 116, 1786, 149, 1809, 1840, 1869, - 1892, 1146, 2, 1318, 1321, 2672, 6044, 1322, 1150, 1149, --32768, 2695, 2718, 2741,-32768, 794, 1323,-32768, 1149, 1149, - 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, - 2764, 2787, 1153,-32768, 1157, 1919, 1149,-32768, 1159, 1160, - 1161, 6071,-32768, 1163,-32768, 1164,-32768,-32768,-32768, 4332, --32768, 1166,-32768,-32768, 4360, 1182,-32768, 4388, 1181, 1355, +static const short yypact[] = { 312, +-32768,-32768, -128,-32768, 42, 2282, 1625, 18, 19, 35, + 57, 65, 112, 136, -29, -24, -22,-32768,-32768,-32768, +-32768, 164, 67, 30, 198, 1625, -72, 71, 75, -45, + -41, 97, 115, 17, 133, 218, 278, 283, 357, 270, + 27, 195, 1, 1, 222, 45, 237, 397, 384, 269, + 441, 450, 83, 304, -30, 0,-32768, 451, 459,-32768, + 475, 493, 460,-32768,-32768,-32768,-32768,-32768,-32768,-32768, +-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 325,-32768, + 331, 337, 341, 342, 367, 371, 385, 386, 390, 391, + 392, 393, 394, 398, 399, 400, 411, 413, 421, 422, + 423, 1625, 1625, 1625, 1625, 1597,-32768,-32768, 2322,-32768, +-32768,-32768,-32768,-32768, 446, 446, 546,-32768, 1625, 1625, + 1625, 1625, 1625, 556, 564, 21, 614, 618,-32768, 905, + 1625, 1625, 1625, 1625, 453, 1625, 1625, 454, 1625, 1625, + 1625, 1503, 1625, 452, 456, 457, 1503, 455, 458, 462, + 463, 467, 468, 469, 1, 465, 1, 1, 1625, 1625, + -132,-32768, -55, 1, 471, 472, 473,-32768, 626, 1503, +-32768,-32768, 2, 1503, 1503, 1625, -71, 1625, 557, 1625, +-32768, 627, 639,-32768, 477, 8, 1625, 1625, 1625, 1625, + 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, + 1625, 1625, 1625, 1625, 1625, 1625, 1625, 481, 481, 481, + 3015, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, + 1625, 1625, 1625, 1625, 1625, 1625, 1597, 479, 480, 482, + 489, 490, 491, 492, 502, 503, 506, 507, 509, 510, + 512, 513, 514, 515, 516, 519, 520, 521, 522, 524, + 525, 526, 527, 528, 529, 530, 531, 649, 532, 533, + 536, 984, 1010, 1054, 1122, 1177,-32768,-32768, 86, 534, + 537,-32768, 540,-32768, 1625, 1625, 3043, 2495, 3071, 3099, + 1625, 3127, 2518, 1625, 2541, 3155, 3183, 1625, 7664, 698, + 3211, 1625, 1625, 1625, 700, 1625, 1625, 1625, 1625, 1625, + 1625, 1625, -52, 12,-32768,-32768, 4779, 4806, 1, 1, + 432, 432, 110, 1625, 1625, 1625, 1322,-32768, 248, 2231, + 1,-32768, 709, 710, 3239, 635, 1625, 3267, 555, 844, +-32768,-32768, 1625, 111, 553, 3295, 3323, 3351, 3379, 3407, + 3435, 3463, 3491, 3519, 3547, 3575, 4833, 3603, 3631, 3659, + 3687, 3715, 3743, 4860, 4887, 4914,-32768, 2025, 308, 308, + 417, 417, 343, 343, 343, 343, -114, -84, 481, 481, + 481, 481, 4941, 728, 730, 731, 732, 735, 737, 738, + 739, 740, 741, 743, 744, 747, 748, 749, 750, 751, + 753, 754, 755, 757, 758, 765, 640, 767, 768, 779, + 780, 783, 785,-32768, 153, 787, 782, 788,-32768,-32768, +-32768,-32768,-32768, 320, 1547, 1547, 1625, 1625, 789, 790, + 1625, 793, 1625, 215, 215, 791, 794, 792, 795, 3771, + 796, 798, 3799, 799, 801, 802, 2048,-32768, -27, 1625, + 803, 2564, 3827, 3855, 1625, 2587, 2610, 3883, 3911, 3939, + 3967, 3995, 1,-32768, 632, 1625, 1625,-32768,-32768,-32768, + 636, 2344,-32768, 637, 1625, 4964, 4991, 5018,-32768,-32768, +-32768, 1625,-32768, 142, 284, 644, 648, 805, 652, 4023, + 819, 1625, 1625, 4051,-32768,-32768, 1625,-32768,-32768,-32768, +-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1625,-32768, +-32768,-32768,-32768,-32768,-32768, 1625, 1625, 1625, 1625, 682, + 654, 655, 656, 657, 663, 664, 667, 681, 683, 685, + 686, 687, 688, 690, 691, 692, 693, 694, 695, 699, + 701, 702, 704, 706, 711, 712, 713, 714, 715, 716, + 851,-32768, 717,-32768, 719, 680, 868, 1547, 1547, 1625, + 1325, 4, 1432, 69, 1532, 72, 1679, 1702,-32768,-32768, + -112, 877, 4079, 1,-32768, 1503, 1503, 884, 1503,-32768, + 888,-32768, 1503, 1503, 1625, 1625,-32768, 1725, 720, 890, + 891, 892, 684, 893, 894, 897, 898, 899, 900, 906, + 225, 1625, 5045, 5072,-32768,-32768, 2633, 1, 1, 1, + 1748,-32768, 745, 746, 760, 761, 762, 763, 764, 766, + 769, 771, 774, 775, 908,-32768,-32768,-32768,-32768,-32768, +-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1625, 1625, 1503, + 1625, 909, 1503, 2071, 101, 913, 2313, 4107, 4135, 4163, + 4191, 7664, 797, 937, 1625, 1625, 1, 946, 947, 804, + 948, 949, 1503, 1503, 953, 1, 954, 962, 1503, 1503, + 963, 964, 966, 967, 968, 1503, 448, 1503, 969, 907, + 970, 971, 983,-32768, 981, 446, 13,-32768, 1077,-32768, +-32768,-32768,-32768,-32768,-32768,-32768,-32768, 813, 3, 991, + 74, 15, 995, 1503, 1005, 1503, 1006, 1007, 2094, 2048, +-32768,-32768, 1625, 1503, 1503, 1503,-32768, 332, 1503, 1503, + 1503, 1503, 1503, 1503, 1503, 1625, 2336, 1625, 1625, 839, + -93, -74, 140,-32768, 1045, 1625, 1625, 1625, 1625, 1625, + 1625, 1625, 1625, 1625, 1625, 1625, 1625,-32768, 5099, 5126, + 1013, 4219, -8, 889, 1625, 1625,-32768, 1625, 842,-32768, +-32768,-32768,-32768, 1625, 847, 5153, 5180, 207, 848, 850, + 849, 852, 854, 855, 857, 858, 211, 859, 860, 861, + 863, 864, 865, 866, 867, 869, 870,-32768,-32768,-32768, +-32768,-32768, 872, 874, 875, 878, 885, 876, 887,-32768, + 902, 111, 879, 9, 895, 1792, 1020,-32768,-32768,-32768, + 1,-32768, 1023,-32768, 1038,-32768,-32768, 1625, 5207, 1056, + 1068, 1071, 1625, 1625, 1072, 1073, 1074, 1087, 1088, 1089, + 1090, 2656, 919, 4247, 2405, 432, 1, 1092, 1, 1093, + 1, 26, 1095, 5234, 5261, 5288, 5315, 5342, 5369, 5396, + 5423, 5450, 5477, 5504, 5531, 1625, 1625,-32768, 1096, 1503, + 1503, 1022, 1503, 617, 2679, 508, 1100, 1597, 1104, 1625, + 1503, 1102, 1106, 1105, 960, 1119, 448, 1120, 1124, 1625, + 1125, 1127, 1131, 1132, 1136, 448, 1625, 1625, 1625, 1503, + 1134, 1148, 448, 1625, 1149, 1150, 1151, 1625, 446, 1625, + 221, 1156, 1070, -87, 5558,-32768, 84,-32768,-32768, 7664, + 1625,-32768,-32768,-32768, 1771, 1818,-32768,-32768,-32768,-32768, +-32768,-32768,-32768, 980, 1160,-32768, 1625,-32768, 988, 227, +-32768, 272,-32768, 274,-32768, 80,-32768, 1625, 1625, 1625, + 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 5585, + 5612, -8, 189,-32768, -2, 990, 1097, 1625,-32768,-32768, + 1171, 291, 1597, 1004, 5639, 1008,-32768, 1011,-32768, 1012, +-32768, 1009,-32768, 1014, 4275,-32768, 1015,-32768,-32768, 1016, + 1026, 4303, 5666, 4331, 1033,-32768, 1034, 1035, 5693, 1037, + 1055,-32768, 5720, 1057, 2359, 588, 1547, 1547, 1625, 1625, + 1625, 1625, 25, 1003, 1625, 1625,-32768, 5747,-32768,-32768, + 432,-32768, 2435,-32768, 1625, 1625, 1625, 1181, 1058, -39, +-32768, 5774, 5801, 5828, 5855, 5882, 5909, 5936, 5963, 5990, + 6017, 6044, 6071, 1625, 1625, 1161, 1503,-32768,-32768, 1503, + 1625, 2702,-32768,-32768,-32768, 2732, 1184, -8, 448, 1229, + 1625, 1227, 448, 1238, 1243, 1242, 1244, 1247, 1625, 1260, + 1503, 1261, 1263, 1625, 1246, 1269, 1625, 1272, 1111, 1284, + 1841, 113, 1864, 117, 1887, 134, 1910, 1933, 1956, 1979, + 1113, 3, 1287, 1274, 2755, 6098, 1289, 1118, 1625,-32768, + 2778, 2801, 2824,-32768, 1503, 1292,-32768, 1625, 1625, 1625, + 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 2847, + 2870, 1123,-32768, 1128, 2002,-32768, 1625,-32768, 1129, 1130, + 1141, 6125,-32768, 1126,-32768, 1142,-32768,-32768,-32768, 4359, +-32768, 1145,-32768,-32768, 4387, 1146,-32768, 4415, 1158, 1316, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768, 1254,-32768, 204,-32768,-32768,-32768, 1149, 1189,-32768, - 2810, 1358, 1359, 26, 1205,-32768, 6098, 6125, 6152, 6179, - 6206, 6233, 6260, 6287, 6314, 4416, 4444, 4472, 1360, 1361, - 794, 794,-32768, 1541, 259, 259, 259, 259, 1373, 1374, - 1375, 259, 1376, 1377, 1378, 1380, 353, 1225, 2,-32768, - 2458, 1383,-32768,-32768,-32768,-32768, 82, 794, 1149, 1149, - 1149, 1149, 1149, 1149, 1149, 1149, 1149,-32768,-32768,-32768, --32768,-32768, 1232, 1219, 1541, 1235, 1236, 1233, 1237,-32768, --32768,-32768, 1239,-32768,-32768,-32768, 1240, 1149,-32768, 1149, --32768, 1241, -37, 1242, 6341, 6368, 6395, 6422, 6449, 6476, - 6503, 6530, 6557, 1243, 1244, 1245, 794, 1329, 2840, 259, - 259, 1384, 1410, 259, 1412, 2375, 2863, 1416, 1417, 794, - 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, - 1149, 1149, 1246, 1252, 1149, 1255, 1257,-32768,-32768, 1258, - 1259, 1260,-32768, 1253,-32768, 1268, 6584, 6611, 6638, 6665, - 6692, 6719, 6746, 6773, 6800, 205, 7633, 222, 7633, 223, - 7633, 1350, 1149, 1541, 259, 794, 1428, 1429, 1351, 1439, - 1440, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, - 1149, 1441, 1149, 1442, 1149, 1445, 1277, 6827, 1541, 1281, - 1291,-32768,-32768,-32768,-32768,-32768, 6854, 6881, 6908, 6935, - 6962, 6989, 4500, 4528, 4556, 7633,-32768, 7633,-32768, 7633, --32768, 1149, 1149, 7610, 259, 794, 1149, 1149, 1149, 1149, - 1149, 1149,-32768,-32768,-32768, 7016, 2886, 1315, 1292, 1293, - 7043, 7070, 7097, 7124, 7151, 7178, 1294, 1295, 1296, 1149, - 1457,-32768, 794, 259, 1149, 1149, 1149, 1149, 1149, 1149, - 1149, 1149, 1149, 2909,-32768, 1302, 1300, 7205, 7232, 7259, - 7286, 7313, 7340, 228, 7633, 267, 7633, 269, 7633, 1461, - 794, 1462, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1470, - 1149, 1471, 1149, 1474,-32768, 1317,-32768, 7367, 7394, 7421, - 4584, 4612, 4640, 7633,-32768, 7633,-32768, 7633,-32768, 794, - 1149, 1149, 1149,-32768,-32768,-32768, 1319, 7448, 7475, 7502, - 1306, 1324, 1325, 794, 1149, 1149, 1149, 1149, 1149, 1149, - 1328, 7529, 7556, 7583, 282, 7633, 284, 7633, 286, 7633, - 259, 1149, 1149, 1149, 1149, 1483, 1149, 1488, 1149, 1490, - 1330, 4668, 4696, 4724, 7633,-32768, 7633,-32768, 7633,-32768, - 1491,-32768,-32768,-32768,-32768, 1327, 1331, 1332, 1149, 1149, - 1149, 299, 7633, 305, 7633, 309, 7633, 1149, 1492, 1149, - 1497, 1149, 1499, 7633,-32768, 7633,-32768, 7633,-32768, 1508, - 1510,-32768 +-32768, 1259,-32768, 53,-32768,-32768,-32768, 1625, 1159,-32768, + 2893, 1318, 1324, 49, 1170,-32768, 6152, 6179, 6206, 6233, + 6260, 6287, 6314, 6341, 6368, 4443, 4471, 4499, 1342, 1343, + 1503, 1503,-32768, 1597, 448, 448, 448, 448, 1358, 1360, + 1363, 448, 1366, 1368, 1369, 1371, 291, 1198, 3,-32768, + 2465, 1383,-32768,-32768,-32768,-32768, 80, 1503, 1625, 1625, + 1625, 1625, 1625, 1625, 1625, 1625, 1625,-32768,-32768,-32768, +-32768,-32768, 1215, 1213, 1597, 1217, 1218, 1219, 1220,-32768, +-32768,-32768, 1222,-32768,-32768,-32768, 1223, 1625,-32768, 1625, +-32768, 1224, -38, 1225, 6395, 6422, 6449, 6476, 6503, 6530, + 6557, 6584, 6611, 1228, 1237, 1239, 1503, 1312, 2923, 448, + 448, 1394, 1397, 448, 1400, 2382, 2946, 1412, 1413, 1503, + 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, + 1625, 1625, 1241, 1248, 1625, 1249, 1251,-32768,-32768, 1252, + 1253, 1254,-32768, 1245,-32768, 1256, 6638, 6665, 6692, 6719, + 6746, 6773, 6800, 6827, 6854, 124, 7664, 145, 7664, 226, + 7664, 1345, 1625, 1597, 448, 1503, 1423, 1424, 1346, 1431, + 1433, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, + 1625, 1434, 1625, 1435, 1625, 1436, 1267, 6881, 1597, 1270, + 1271,-32768,-32768,-32768,-32768,-32768, 6908, 6935, 6962, 6989, + 7016, 7043, 4527, 4555, 4583, 7664,-32768, 7664,-32768, 7664, +-32768, 1625, 1625, 2139, 448, 1503, 1625, 1625, 1625, 1625, + 1625, 1625,-32768,-32768,-32768, 7070, 2969, 1299, 1280, 1281, + 7097, 7124, 7151, 7178, 7205, 7232, 1282, 1283, 1285, 1625, + 1450,-32768, 1503, 448, 1625, 1625, 1625, 1625, 1625, 1625, + 1625, 1625, 1625, 2992,-32768, 1288, 1294, 7259, 7286, 7313, + 7340, 7367, 7394, 238, 7664, 243, 7664, 244, 7664, 1451, + 1503, 1457, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1458, + 1625, 1465, 1625, 1472,-32768, 1305,-32768, 7421, 7448, 7475, + 4611, 4639, 4667, 7664,-32768, 7664,-32768, 7664,-32768, 1503, + 1625, 1625, 1625,-32768,-32768,-32768, 1306, 7502, 7529, 7556, + 1321, 1326, 1328, 1503, 1625, 1625, 1625, 1625, 1625, 1625, + 1307, 7583, 7610, 7637, 265, 7664, 279, 7664, 307, 7664, + 448, 1625, 1625, 1625, 1625, 1476, 1625, 1492, 1625, 1494, + 1333, 4695, 4723, 4751, 7664,-32768, 7664,-32768, 7664,-32768, + 1504,-32768,-32768,-32768,-32768, 1335, 1359, 1361, 1625, 1625, + 1625, 317, 7664, 378, 7664, 379, 7664, 1625, 1528, 1625, + 1530, 1625, 1533, 7664,-32768, 7664,-32768, 7664,-32768, 1540, + 1541,-32768 }; static const short yypgoto[] = {-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, - 912,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, + 940,-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, 1506, 1511, - -309, 316, 1512,-32768,-32768,-32768,-32768,-32768, 327, -999, --32768,-32768, -803, -7,-32768, 943, 107,-32768, -115,-32768, - -927, 673, 823,-32768, -1041,-32768,-32768 +-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1537, 1538, + -310, 389, 1539,-32768,-32768,-32768,-32768,-32768, 349, -1007, +-32768,-32768, -810, -7,-32768, 972, -10,-32768, -115,-32768, + -933, 696, 249,-32768, -1052,-32768,-32768 }; -#define YYLAST 7802 +#define YYLAST 7834 static const short yytable[] = { 106, - 259, 462, 1078, 320, 156, 790, 1062, 177, 1018, 677, - 325, 679, 268, 795, 135, 332, 7, 452, 130, 1000, - 138, 1133, 885, 1000, 1001, 787, 225, 225, 1001, 108, - 919, 1186, -245, -244, 127, 600, 601, 602, 603, 604, - 605, 606, 607, 608, 609, 610, 611, 308, 309, 308, - 309, 109, 796, 308, 309, 308, 309, 954, 110, 822, - 308, 309, 823, 310, 681, 824, 963, 826, 825, 794, - 827, 111, 269, 970, 311, 333, 989, 453, 308, 309, - 274, 275, 222, 223, 224, 788, 308, 309, 225, 112, - 308, 309, 599, 270, 207, 208, 209, 210, 226, 856, - 326, 1099, 451, 886, 308, 309, 113, 1123, 308, 309, - 119, 261, 262, 263, 264, 265, 131, 865, 987, 132, - 463, 1125, 185, 276, 277, 278, 279, 136, 281, 282, - 137, 284, 285, 286, 1077, 290, 139, 1219, 1249, 114, - 573, 178, 1000, 574, 612, 308, 309, 1001, 412, 161, - 163, 306, 307, 978, 1127, 165, 118, 712, 166, 167, - 174, 157, 158, 175, 308, 309, 308, 309, 324, 115, - 327, 328, 159, 129, 321, 160, 791, 1063, 334, 335, - 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, - 346, 347, 348, 349, 350, 351, 352, 353, 354, 920, - 1187, 128, 116, 356, 357, 358, 359, 360, 361, 362, - 363, 364, 365, 366, 367, 368, 369, 370, 371, 308, - 309, 469, 470, 1078, 308, 309, 1100, 78, 79, 117, - 1104, 308, 309, 80, 81, 82, 83, 84, 85, 86, - 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, - 97, 98, 99, 100, 101, 142, 120, 121, 122, 123, - 133, 302, 308, 309, 305, 151, 422, 423, 152, 153, - 312, 154, 428, 124, 125, 431, 308, 309, 1019, 435, - 126, 1021, 134, 440, 441, 442, 140, 444, 445, 446, - 447, 448, 449, 450, 413, 414, 415, 416, 144, 979, - 980, 981, 982, 308, 309, 464, 465, 466, 141, 308, - 309, 417, 418, 308, 309, 997, 983, 984, 478, 143, - 78, 543, 544, 481, 145, 998, 80, 81, 82, 83, + 260, 464, 1087, 179, 156, 321, 795, 177, 1026, 681, + 326, 334, 891, 135, 7, 454, 792, 138, 130, 1143, + 800, 1008, 1008, 108, 269, 109, 1009, 1009, 1071, 309, + 310, 925, 161, 163, 127, 212, 213, 214, 215, 216, + 110, -1, 8, 311, 9, 217, 218, 219, 220, 275, + 276, 223, 224, 225, 1196, 226, 962, 226, 142, 801, + 151, -247, 111, 152, 153, 971, 154, 688, 309, 310, + 112, 335, 978, 119, 683, 455, 793, 685, 165, 799, + 827, 166, 167, 828, 270, 226, 995, 309, 310, 997, + 186, -246, 414, 892, 208, 209, 210, 211, 227, 829, + 131, 327, 830, 132, 1109, 271, 309, 310, 746, 309, + 310, 262, 263, 264, 265, 266, 174, 113, 1133, 175, + 312, 453, 1135, 277, 278, 279, 280, 136, 282, 283, + 137, 285, 286, 287, 139, 291, 1229, 1086, 1259, 1137, + 1008, 114, 178, 115, 303, 1009, 576, 306, 116, 577, + 117, 307, 308, 313, 10, 11, 12, 13, 14, 15, + 16, 17, 157, 158, 850, 309, 310, 851, 325, 118, + 328, 1027, 330, 159, 1029, 180, 160, 322, 796, 336, + 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, + 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, + 1072, 926, 128, 129, 358, 359, 360, 361, 362, 363, + 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, + 120, 121, 122, 123, 1197, 1087, 1189, 986, 1110, 1190, + 309, 310, 1114, 309, 310, 309, 310, 124, 125, 415, + 416, 417, 418, 133, 126, 309, 310, 134, 212, 213, + 214, 215, 216, 471, 472, 144, 419, 420, 217, 218, + 219, 220, 275, 276, 223, 224, 225, 424, 425, 140, + 226, 309, 310, 430, 309, 310, 433, 747, 309, 310, + 437, 485, 486, 465, 442, 443, 444, 141, 446, 447, + 448, 449, 450, 451, 452, 309, 310, 1321, 458, 459, + 1322, 309, 310, 309, 310, 143, 466, 467, 468, 150, + 474, -7, -7, 831, -7, 145, 832, 602, 1323, 480, + 146, 1324, 78, 546, 547, 484, 541, 542, 80, 81, + 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, + 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, + 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, + 613, 614, 1027, 1028, 1216, 1217, 1218, 1219, 309, 310, + 155, 1223, 309, 310, 987, 988, 989, 990, 223, 224, + 225, 862, 813, 814, 226, 871, 309, 310, 309, 310, + 290, 991, 992, 147, 148, 295, 149, 164, 716, 1325, + 1005, 169, 1326, 552, 554, 556, 551, 553, 555, 557, + 558, 1419, 168, 561, 1420, 563, 1421, 1423, 319, 1422, + 1424, 170, 323, 324, -7, -7, -7, -7, -7, -7, + -7, -7, 578, 309, 310, 309, 310, 583, 1475, 1276, + 1277, 1476, 591, 1280, 171, 1006, 172, 1007, 593, 594, + 1, 2, 1477, 3, 173, 1478, 181, 597, 215, 216, + 615, 1034, 1035, 182, 601, 217, 218, 219, 220, 275, + 276, 223, 224, 225, 634, 635, 176, 226, 183, 637, + 1479, 548, 549, 1480, 42, 43, 44, 45, 104, 47, + 1508, 638, 550, 1509, 1330, 160, 184, 185, 639, 640, + 641, 642, 186, 187, 275, 276, 223, 224, 225, 188, + 78, 79, 226, 189, 190, 919, 80, 81, 82, 83, + 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, + 94, 95, 96, 97, 98, 99, 100, 101, 306, 191, + 208, 209, 679, 192, 1369, 778, 779, 780, 781, 782, + 261, 1510, 1512, 691, 1511, 1513, 317, 193, 194, 320, + 791, 267, 195, 196, 197, 198, 199, 699, 700, 268, + 200, 201, 202, 1397, 217, 218, 219, 220, 275, 276, + 223, 224, 225, 203, 717, 204, 226, 721, 722, 723, + 78, 546, 1060, 205, 206, 207, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, - 94, 95, 96, 97, 98, 99, 100, 101, 308, 309, - 845, -1, 8, 846, 9, 773, 774, 775, 776, 777, - 999, 1206, 1207, 1208, 1209, 146, 147, 148, 1213, 149, - 150, 211, 212, 213, 214, 215, 1179, 1311, 169, 1180, - 1312, 216, 217, 218, 219, 220, 221, 222, 223, 224, - 172, 273, 104, 225, 1313, 1315, 105, 1314, 1316, 287, - 1409, 538, 539, 1410, 548, 550, 552, 554, 555, 214, - 215, 558, 155, 560, 456, 457, 216, 217, 218, 219, - 274, 275, 222, 223, 224, 164, 472, 168, 225, 170, - 575, 171, 222, 223, 224, 580, 1266, 1267, 225, 1411, - 1270, 1413, 1412, 173, 1414, 176, 590, 591, 42, 43, - 44, 45, 179, 47, 1465, 594, 1467, 1466, 1469, 1468, - 180, 1470, 598, 10, 11, 12, 13, 14, 15, 16, - 17, 1498, 631, 181, 1499, 182, 633, 1500, 545, 546, - 1501, 1502, 183, 316, 1503, 104, 319, 741, 634, 547, - 184, 1320, 160, 482, 483, 635, 636, 637, 638, 600, - 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, - 611, 913, 808, 809, 1019, 1020, 185, 703, 549, 551, - 553, 186, 1025, 1026, 260, 187, 188, 189, 190, 191, - 192, 193, 211, 212, 213, 214, 215, 207, 208, 675, - 194, 1359, 216, 217, 218, 219, 274, 275, 222, 223, - 224, 195, 196, 197, 225, 198, 786, 588, 199, 200, - 201, 704, 202, 266, 695, 696, 203, 267, 204, 205, - 1387, 206, 257, 271, 272, 280, 283, 291, 78, 543, - 1051, 713, 292, 293, 80, 81, 82, 83, 84, 85, - 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, - 96, 97, 98, 99, 100, 101, 295, 297, 828, 296, - 303, 298, 299, 300, 301, 317, 329, 735, 736, 407, - 738, 313, 314, 315, 330, 331, 211, 212, 213, 214, - 215, 225, 372, 751, 752, 373, 216, 217, 218, 219, - 274, 275, 222, 223, 224, 374, 375, 376, 225, 377, - 402, 438, 305, 742, 378, 379, 380, 1471, 211, 212, - 213, 214, 215, 381, 382, 383, 384, 687, 216, 217, - 218, 219, 274, 275, 222, 223, 224, 385, 386, 387, - 225, 388, 389, 1069, 408, 390, 391, 392, 393, 394, - 395, 804, 396, 397, 398, 399, 400, 401, 443, 404, - 406, 717, 718, 719, 817, 405, 819, 820, 419, 420, - 421, 474, 475, 477, 829, 830, 831, 832, 833, 834, - 835, 836, 837, 838, 839, 840, 484, 508, 509, 510, - 511, 512, 513, 849, 514, 850, 545, 546, 409, 515, - 516, 852, 517, 104, 518, 519, 520, 547, 521, 753, - 160, 522, 523, 524, 525, 526, 527, 528, 762, 529, - 211, 212, 213, 214, 215, 530, 531, 976, 532, 533, - 216, 217, 218, 219, 274, 275, 222, 223, 224, 534, - 535, 536, 225, 889, 537, 540, 216, 217, 218, 219, - 274, 275, 222, 223, 224, 894, 78, 79, 225, 542, - 899, 900, 80, 81, 82, 83, 84, 85, 86, 87, - 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, - 98, 99, 100, 101, 541, 211, 212, 213, 214, 215, - 556, 557, 559, 934, 935, 216, 217, 218, 219, 274, - 275, 222, 223, 224, 945, 561, 947, 225, 562, 589, - 563, 564, 566, 567, 569, 592, 957, 570, 571, 576, - 593, 625, 626, 964, 965, 966, 627, 628, 630, 640, - 971, 641, 639, 642, 975, 643, 977, 670, 673, 211, - 212, 213, 214, 215, 644, 645, 646, 990, 647, 216, - 217, 218, 219, 274, 275, 222, 223, 224, 674, 734, - 410, 225, 891, 995, 648, 685, 649, 690, 692, 650, - 700, 651, 701, 702, 1004, 1005, 1006, 1007, 1008, 1009, - 1010, 1011, 1012, 1013, 1014, 1015, 652, 705, 914, 653, - 916, 654, 918, 671, 655, 656, 706, 1027, 657, 658, - 659, 660, 661, 662, 663, 664, 665, 707, 708, 666, - 667, 709, 710, 711, 102, 103, 668, 669, 672, 739, - 722, 104, 699, 723, 289, 105, 743, 724, 287, 294, - 1052, 1054, 1056, 1058, 1059, 1060, 1061, 725, 726, 1066, - 1067, 727, 728, 729, 411, 730, 731, 732, 733, 1072, - 1073, 1074, 318, 749, 750, 754, 322, 323, 755, 756, - 757, 758, 761, 763, 764, 767, 768, 769, 1091, 1092, - 770, 771, 780, 783, 789, 1096, 781, 782, 784, 785, - 793, 821, 797, 799, 1102, 801, 802, 843, 853, 890, - 857, 848, 1110, 851, 858, 859, 861, 1115, 860, 862, - 1118, 211, 212, 213, 214, 215, 863, 864, 866, 869, - 676, 216, 217, 218, 219, 274, 275, 222, 223, 224, - 867, 868, 1141, 225, 870, 892, 884, 887, 871, 872, - 873, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1154, 1155, - 1156, 1157, 1158, 874, 1053, 1055, 1057, 875, 876, 1164, - 877, 878, 879, 893, 880, 896, 881, 78, 543, 882, - 883, 897, 898, 80, 81, 82, 83, 84, 85, 86, + 94, 95, 96, 97, 98, 99, 100, 101, 258, 272, + 739, 740, 273, 742, 948, 281, 284, 292, 293, 294, + 296, 318, 331, 297, 298, 299, 758, 756, 757, 300, + 301, 302, 304, 329, 332, 767, 314, 315, 316, 333, + 226, 374, 375, 404, 376, 212, 213, 214, 215, 216, + 1481, 377, 378, 379, 380, 217, 218, 219, 220, 221, + 222, 223, 224, 225, 381, 382, 104, 226, 383, 384, + 105, 385, 386, 288, 387, 388, 389, 390, 391, 707, + 1078, 392, 393, 394, 395, 809, 396, 397, 398, 399, + 400, 401, 402, 403, 440, 406, 445, 407, 822, 408, + 824, 825, 421, 423, 422, 476, 477, 479, 834, 835, + 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, + 482, 487, 511, 708, 512, 513, 514, 854, 855, 515, + 856, 516, 517, 518, 519, 520, 858, 521, 522, 548, + 549, 523, 524, 525, 526, 527, 104, 528, 529, 530, + 550, 531, 532, 160, 212, 213, 214, 215, 216, 533, + 534, 535, 536, 984, 217, 218, 219, 220, 275, 276, + 223, 224, 225, 537, 538, 539, 226, 544, 895, 540, + 897, 543, 545, 949, 559, 560, 562, 564, 566, 565, + 900, 567, 569, 570, 572, 905, 906, 573, 574, 579, + 592, 630, 595, 596, 692, 693, 920, 695, 922, 628, + 924, 697, 698, 629, 631, 633, 643, 644, 645, 646, + 647, 212, 213, 214, 215, 216, 648, 649, 940, 941, + 650, 217, 218, 219, 220, 275, 276, 223, 224, 225, + 953, 483, 955, 226, 651, 674, 652, 677, 653, 654, + 655, 656, 965, 657, 658, 659, 660, 661, 662, 972, + 973, 974, 663, 678, 664, 665, 979, 666, 741, 667, + 983, 744, 985, 689, 668, 669, 670, 671, 672, 673, + 694, 675, 676, 998, 696, 703, 704, 705, 706, 709, + 710, 764, 765, 711, 712, 713, 714, 770, 771, 1003, + 274, 786, 715, 738, 777, 743, 784, 726, 727, 748, + 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, + 1022, 1023, 728, 729, 730, 731, 732, 754, 733, 755, + 1032, 734, 803, 735, 805, 1036, 736, 737, 759, 760, + 762, 763, 810, 811, 812, 766, 768, 815, 816, 817, + 818, 819, 820, 821, 769, 772, 773, 761, 774, 775, + 776, 785, 853, 788, 787, 1062, 1064, 1066, 1061, 1063, + 1065, 1067, 1068, 1069, 1070, 789, 790, 1075, 1076, 409, + 794, 212, 213, 214, 215, 216, 798, 1081, 1082, 1083, + 802, 217, 218, 219, 220, 275, 276, 223, 224, 225, + 804, 806, 807, 226, 826, 410, 1100, 1101, 848, 857, + 859, 863, 865, 1105, 864, 896, 866, 867, 898, 868, + 869, 870, 872, 1112, 873, 874, 875, 876, 877, 878, + 879, 1120, 880, 899, 881, 882, 1125, 883, 884, 1128, + 887, 885, 212, 213, 214, 215, 216, 890, 886, 411, + 888, 902, 217, 218, 219, 220, 275, 276, 223, 224, + 225, 1151, 893, 903, 226, 889, 904, 907, 908, 909, + 1157, 1158, 1159, 1160, 1161, 1162, 1163, 1164, 1165, 1166, + 1167, 1168, 910, 911, 912, 913, 915, 921, 923, 1174, + 927, 947, 942, 952, 951, 946, 954, 957, 958, 956, + 959, 603, 604, 605, 606, 607, 608, 609, 610, 611, + 612, 613, 614, 960, 961, 963, 964, 412, 975, 967, + 966, 212, 213, 214, 215, 216, 968, 969, 970, 976, + 1191, 217, 218, 219, 220, 275, 276, 223, 224, 225, + 977, 980, 981, 226, 994, 1001, 982, 212, 213, 214, + 215, 216, 993, 1002, 1004, 1030, 1215, 217, 218, 219, + 220, 275, 276, 223, 224, 225, 1033, 1031, 1037, 226, + 1074, 1039, 413, 1042, 1040, 1041, 1084, 1043, 1045, 1108, + 1046, 1235, 1236, 1237, 1238, 1239, 1240, 1241, 1242, 1243, + 1047, 212, 213, 214, 215, 216, 1051, 1249, 1052, 1053, + 1055, 217, 218, 219, 220, 275, 276, 223, 224, 225, + 1256, 833, 1257, 226, 212, 213, 214, 215, 216, 1056, + 1058, 1111, 1113, 1085, 217, 218, 219, 220, 275, 276, + 223, 224, 225, 1115, 1102, 1116, 226, 1117, 1126, 1118, + 456, 357, 1119, 1287, 1288, 1289, 1290, 1291, 1292, 1293, + 1294, 1295, 1297, 1299, 1301, 1121, 1123, 1304, 1124, 212, + 213, 214, 215, 216, 1127, 1103, 1129, 1146, 1104, 217, + 218, 219, 220, 275, 276, 223, 224, 225, 1130, 1131, + 1142, 226, 1145, 1149, 1150, 1328, 1329, 1156, 1171, 1122, + 1179, 1172, 1175, 1176, 1337, 1338, 1339, 1340, 1341, 1342, + 1343, 1344, 1345, 1346, 1177, 1348, 1180, 1350, 1182, 1187, + 1184, 1354, 1188, 1194, 212, 213, 214, 215, 216, 1195, + 680, 1186, 1192, 1155, 217, 218, 219, 220, 275, 276, + 223, 224, 225, 1198, 1366, 1367, 226, 1211, 1212, 1371, + 1372, 1373, 1374, 1375, 1376, 27, 28, 29, 30, 31, + 32, 33, 34, 1220, 35, 1221, 37, 38, 1222, 40, + 41, 1224, 1394, 1225, 1226, 1227, 1228, 1398, 1399, 1400, + 1401, 1402, 1403, 1405, 1407, 1409, 53, 1232, 1247, 1248, + 1250, 1251, 1274, 1252, 1253, 1254, 1255, 1258, 1260, 1278, + 54, 55, 1279, 1270, 1281, 1428, 1429, 1430, 1431, 1432, + 1433, 1434, 1271, 1436, 1272, 1438, 1284, 1302, 1285, 1213, + 1214, 1310, 1305, 1303, 1306, 1327, 1307, 1308, 1332, 1333, + 1334, 1309, 1311, 1448, 1449, 1450, 1335, 682, 1336, 1347, + 1349, 1351, 1352, 1355, 1356, 1382, 1234, 1462, 1463, 1464, + 1466, 1468, 1470, 1383, 1384, 1395, 1425, 1391, 1392, 63, + 1393, 1411, 1427, 1435, 1482, 1483, 1484, 1485, 1412, 1487, + 1437, 1489, 212, 213, 214, 215, 216, 1439, 1440, 1454, + 1471, 1486, 217, 218, 219, 220, 275, 276, 223, 224, + 225, 1503, 1505, 1507, 226, 1273, 1458, 1488, 469, 1490, + 1514, 1459, 1516, 1460, 1518, 78, 79, 1491, 1286, 1495, + 1499, 80, 81, 82, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, + 99, 100, 101, 1515, 1500, 1517, 1501, 684, 1519, 1521, + 1522, 725, 68, 69, 70, 1233, 945, 701, 0, 78, + 546, 0, 0, 0, 1331, 80, 81, 82, 83, 84, + 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, + 95, 96, 97, 98, 99, 100, 101, 0, 0, 212, + 213, 214, 215, 216, 0, 0, 0, 0, 0, 217, + 218, 219, 220, 275, 276, 223, 224, 225, 0, 78, + 79, 226, 0, 0, 1370, 80, 81, 82, 83, 84, + 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, + 95, 96, 97, 98, 99, 100, 101, 78, 79, 0, + 0, 1396, 0, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, - 97, 98, 99, 100, 101, 211, 212, 213, 214, 215, - 1181, 901, 902, 903, 904, 216, 217, 218, 219, 274, - 275, 222, 223, 224, 905, 906, 907, 225, 909, 915, - 917, 78, 79, 921, 940, 944, 1205, 80, 81, 82, - 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, - 93, 94, 95, 96, 97, 98, 99, 100, 101, 936, - 946, 1225, 1226, 1227, 1228, 1229, 1230, 1231, 1232, 1233, - 949, 211, 212, 213, 214, 215, 951, 1239, 950, 952, - 953, 216, 217, 218, 219, 274, 275, 222, 223, 224, - 1246, 955, 1247, 225, 956, 958, 959, 985, 960, 962, - 961, 968, 969, 972, 973, 993, 986, 27, 28, 29, - 30, 31, 32, 33, 34, 974, 35, 994, 37, 38, - 996, 40, 41, 1277, 1278, 1279, 1280, 1281, 1282, 1283, - 1284, 1285, 1287, 1289, 1291, 545, 546, 1294, 53, 1022, - 1023, 1024, 104, 1065, 1028, 1030, 547, 1033, 1075, 160, - 1031, 1032, 54, 55, 1034, 1036, 1093, 1037, 1038, 1042, - 1076, 1043, 1044, 1046, 1049, 1318, 1319, 1047, 1098, 1101, - 1103, 1105, 1106, 1107, 1327, 1328, 1329, 1330, 1331, 1332, - 1333, 1334, 1335, 1336, 1108, 1338, 1109, 1340, 1111, 102, - 103, 1344, 1113, 1114, 1117, 1116, 104, 1178, 1119, 1120, - 105, 1121, 1132, 1135, 1136, 1140, 1139, 1161, 1146, 1162, - 63, 1165, 1166, 1167, 1356, 1357, 1169, 1170, 1172, 1361, - 1362, 1363, 1364, 1365, 1366, 27, 28, 29, 30, 31, - 32, 33, 34, 1176, 35, 1174, 37, 38, 1177, 40, - 41, 1182, 1384, 1184, 1185, 1201, 1202, 1388, 1389, 1390, - 1391, 1392, 1393, 1395, 1397, 1399, 53, 1188, 1210, 1211, - 1212, 1214, 1215, 1216, 1217, 688, 689, 1222, 691, 1268, - 54, 55, 693, 694, 1238, 1418, 1419, 1420, 1421, 1422, - 1423, 1424, 1218, 1426, 1237, 1428, 1242, 1240, 1241, 1264, - 1243, 1244, 1245, 1248, 1250, 1269, 1271, 1260, 1261, 1262, - 1274, 1292, 1275, 1438, 1439, 1440, 1293, 1295, 1300, 1296, - 1317, 1297, 1298, 1322, 1323, 1324, 1299, 1452, 1453, 1454, - 1456, 1458, 1460, 1301, 1325, 1326, 1337, 1339, 63, 737, - 1341, 1342, 740, 1345, 1472, 1473, 1474, 1475, 678, 1477, - 1372, 1479, 1385, 1346, 1373, 1374, 1415, 1417, 1381, 1382, - 1383, 759, 760, 1402, 1401, 1425, 1427, 765, 766, 1429, - 1448, 1493, 1495, 1497, 772, 680, 779, 467, 1476, 1430, - 1504, 1444, 1506, 1478, 1508, 1480, 1485, 1505, 1449, 1450, - 1461, 1489, 1507, 1481, 1509, 1490, 1491, 1511, 682, 1512, - 721, 68, 798, 1223, 800, 697, 69, 70, 939, 0, - 0, 0, 805, 806, 807, 0, 0, 810, 811, 812, - 813, 814, 815, 816, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 78, 79, 0, 0, 0, 0, 80, - 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, - 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, - 101, 78, 888, 0, 0, 0, 0, 80, 81, 82, - 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, - 93, 94, 95, 96, 97, 98, 99, 100, 101, 211, - 212, 213, 214, 215, 683, 0, 0, 0, 0, 216, - 217, 218, 219, 274, 275, 222, 223, 224, 0, 0, - 0, 225, 0, 0, 0, 0, 211, 212, 213, 214, - 215, 698, 0, 0, 0, 0, 216, 217, 218, 219, - 274, 275, 222, 223, 224, 0, 0, 0, 225, 211, - 212, 213, 214, 215, 720, 0, 0, 0, 0, 216, - 217, 218, 219, 274, 275, 222, 223, 224, 0, 0, - 941, 225, 943, 0, 0, 0, 0, 948, 0, 991, - 0, 0, 0, 0, 0, 0, 0, 211, 212, 213, - 214, 215, 0, 0, 0, 0, 967, 216, 217, 218, - 219, 220, 221, 222, 223, 224, 0, 0, 104, 225, - 0, 0, 105, 0, 992, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 102, - 103, 0, 0, 0, 0, 0, 104, 1122, 0, 0, - 105, 0, 0, 0, 0, 211, 212, 213, 214, 215, - 0, 0, 0, 0, 0, 216, 217, 218, 219, 274, - 275, 222, 223, 224, 1124, 0, 0, 225, 0, 0, - 0, 0, 211, 212, 213, 214, 215, 0, 0, 0, - 0, 0, 216, 217, 218, 219, 274, 275, 222, 223, - 224, 1126, 0, 0, 225, 211, 212, 213, 214, 215, - 0, 0, 0, 0, 0, 216, 217, 218, 219, 274, - 275, 222, 223, 224, 1128, 0, 0, 225, 0, 0, - 211, 212, 213, 214, 215, 0, 0, 0, 0, 0, - 216, 217, 218, 219, 274, 275, 222, 223, 224, 0, - 0, 1094, 225, 0, 1095, 1129, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 211, 212, 213, 214, 215, - 0, 0, 0, 0, 1112, 216, 217, 218, 219, 274, - 275, 222, 223, 224, 1130, 0, 0, 225, 211, 212, - 213, 214, 215, 0, 0, 0, 0, 0, 216, 217, - 218, 219, 274, 275, 222, 223, 224, 1131, 1145, 0, - 225, 0, 0, 0, 0, 211, 212, 213, 214, 215, - 0, 0, 0, 0, 0, 216, 217, 218, 219, 274, - 275, 222, 223, 224, 1163, 0, 0, 225, 0, 0, - 0, 0, 211, 212, 213, 214, 215, 0, 0, 0, - 0, 0, 216, 217, 218, 219, 274, 275, 222, 223, - 224, 480, 0, 0, 225, 211, 212, 213, 214, 215, - 0, 0, 0, 0, 0, 216, 217, 218, 219, 274, - 275, 222, 223, 224, 506, 0, 0, 225, 0, 0, - 0, 0, 0, 1203, 1204, 0, 211, 212, 213, 214, - 215, 0, 0, 0, 0, 0, 216, 217, 218, 219, - 274, 275, 222, 223, 224, 572, 0, 0, 225, 0, - 1224, 0, 0, 0, 0, 211, 212, 213, 214, 215, - 0, 0, 0, 0, 0, 216, 217, 218, 219, 274, - 275, 222, 223, 224, 0, 803, 0, 225, 211, 212, - 213, 214, 215, 0, 0, 0, 0, 0, 216, 217, - 218, 219, 274, 275, 222, 223, 224, 0, 0, 1263, - 225, 0, 0, 0, 0, 211, 212, 213, 214, 215, - 0, 0, 1276, 0, 0, 216, 217, 218, 219, 274, - 275, 222, 223, 224, 0, 0, 0, 225, 0, 0, - 211, 212, 213, 214, 215, 0, 0, 0, 0, 0, - 216, 217, 218, 219, 274, 275, 222, 223, 224, 0, - 0, 0, 225, 211, 212, 213, 214, 215, 1321, -7, - -7, 0, -7, 216, 217, 218, 219, 274, 275, 222, - 223, 224, 0, 0, 0, 225, 0, 0, 0, 0, - 0, 0, 0, 0, 211, 212, 213, 214, 215, 0, - 0, 0, 0, 0, 216, 217, 218, 219, 274, 275, - 222, 223, 224, 0, 0, 0, 225, 0, 1360, 0, - 0, 0, 0, 0, 211, 212, 213, 214, 215, 0, - 0, 0, 0, 0, 216, 217, 218, 219, 274, 275, - 222, 223, 224, 0, 0, 1386, 225, 27, 28, 29, + 97, 98, 99, 100, 101, 0, 0, 0, 0, 1426, + 0, 0, 0, 0, 102, 103, 0, 0, 0, 0, + 0, 104, 0, 0, 0, 105, 0, 0, 288, 212, + 213, 214, 215, 216, 686, 0, 0, 0, 1447, 217, + 218, 219, 220, 275, 276, 223, 224, 225, 0, 0, + 0, 226, 1461, 0, 0, 0, 0, 687, 548, 549, + 0, 0, 0, 0, 0, 104, 0, 0, 0, 550, + 0, 0, 160, 0, 0, 0, 0, 0, 0, 0, + 702, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 212, 213, 214, 215, 216, 0, + 0, 0, 0, 724, 217, 218, 219, 220, 221, 222, + 223, 224, 225, 0, 0, 104, 226, 0, 0, 105, + 0, 0, 0, 0, 0, 0, 999, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 102, 103, 0, 0, + 0, 0, 0, 104, 78, 894, 0, 105, 0, 0, + 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, + 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, + 100, 101, 0, 1000, 0, 0, 212, 213, 214, 215, + 216, 0, 0, 0, 0, 0, 217, 218, 219, 220, + 275, 276, 223, 224, 225, 0, 1132, 0, 226, 212, + 213, 214, 215, 216, 0, 0, 0, 0, 0, 217, + 218, 219, 220, 275, 276, 223, 224, 225, 0, 1134, + 0, 226, 212, 213, 214, 215, 216, 0, 0, 0, + 0, 0, 217, 218, 219, 220, 275, 276, 223, 224, + 225, 0, 1136, 0, 226, 212, 213, 214, 215, 216, + 0, 0, 0, 0, 0, 217, 218, 219, 220, 275, + 276, 223, 224, 225, 0, 1138, 0, 226, 212, 213, + 214, 215, 216, 0, 0, 0, 0, 0, 217, 218, + 219, 220, 275, 276, 223, 224, 225, 0, 1139, 0, + 226, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 102, 103, 0, 0, 0, 0, 0, + 104, 1140, 0, 0, 105, 212, 213, 214, 215, 216, + 0, 0, 0, 0, 0, 217, 218, 219, 220, 275, + 276, 223, 224, 225, 1141, 0, 0, 226, 212, 213, + 214, 215, 216, 0, 0, 0, 0, 0, 217, 218, + 219, 220, 275, 276, 223, 224, 225, 1173, 0, 0, + 226, 212, 213, 214, 215, 216, 0, 0, 0, 0, + 0, 217, 218, 219, 220, 275, 276, 223, 224, 225, + 0, 0, 509, 226, 212, 213, 214, 215, 216, 0, + 0, 0, 0, 0, 217, 218, 219, 220, 275, 276, + 223, 224, 225, 0, 0, 575, 226, 212, 213, 214, + 215, 216, 0, 0, 0, 0, 0, 217, 218, 219, + 220, 275, 276, 223, 224, 225, 0, 0, 745, 226, + 212, 213, 214, 215, 216, 0, 0, 0, 0, 0, + 217, 218, 219, 220, 275, 276, 223, 224, 225, 0, + 0, 808, 226, 212, 213, 214, 215, 216, 0, 0, + 0, 0, 0, 217, 218, 219, 220, 275, 276, 223, + 224, 225, 0, 0, 0, 226, 212, 213, 214, 215, + 216, 0, 0, 0, 0, 0, 217, 218, 219, 220, + 275, 276, 223, 224, 225, 0, 0, 0, 226, 212, + 213, 214, 215, 216, 0, 0, 0, 0, 0, 217, + 218, 219, 220, 275, 276, 223, 224, 225, 0, 0, + 0, 226, 212, 213, 214, 215, 216, 0, 0, 0, + 0, 0, 217, 218, 219, 220, 275, 276, 223, 224, + 225, 0, 0, 0, 226, 212, 213, 214, 215, 216, + 0, 0, 0, 0, 0, 217, 218, 219, 220, 275, + 276, 223, 224, 225, 0, 0, 0, 226, 212, 213, + 214, 215, 216, 0, 0, 0, 0, 0, 217, 218, + 219, 220, 275, 276, 223, 224, 225, 0, 0, 0, + 226, 212, 213, 214, 215, 216, 0, 0, 0, 0, + 0, 217, 218, 219, 220, 275, 276, 223, 224, 225, + 0, 0, 0, 226, 27, 28, 29, 30, 31, 32, + 33, 34, 0, 35, 0, 37, 38, 0, 40, 41, + 0, -3, 22, 0, 1368, 23, 212, 213, 214, 215, + 216, 0, 0, 0, 0, 53, 217, 218, 219, 220, + 275, 276, 223, 224, 225, 0, 0, 0, 226, 54, + 55, 0, 24, 25, 26, 27, 28, 29, 30, 31, + 32, 33, 34, 0, 35, 36, 37, 38, 39, 40, + 41, 0, 0, 0, 42, 43, 44, 45, 46, 47, + 0, 48, 49, 50, 51, 52, 53, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 228, 0, + 54, 55, 0, 0, 0, 0, 0, 56, 63, 57, + 0, 58, 59, 60, 61, 62, 0, 27, 28, 29, 30, 31, 32, 33, 34, 0, 35, 0, 37, 38, 0, 40, 41, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1416, 0, 0, 0, 0, 53, 0, - 0, -7, -7, -7, -7, -7, -7, -7, -7, 0, - 0, 0, 54, 55, 0, 0, 0, 0, 0, 0, - 0, 0, 1437, 0, 0, 0, 0, 1, 2, 0, - 3, 0, 0, 0, 0, 0, 1451, 0, 1097, 0, - -3, 22, 0, 0, 23, 211, 212, 213, 214, 215, - 0, 0, 0, 0, 0, 216, 217, 218, 219, 274, - 275, 222, 223, 224, 0, 0, 0, 225, 0, 0, - 63, 24, 25, 26, 27, 28, 29, 30, 31, 32, - 33, 34, 0, 35, 36, 37, 38, 39, 40, 41, - 0, 0, 0, 42, 43, 44, 45, 46, 47, 227, - 48, 49, 50, 51, 52, 53, 0, 0, 0, 471, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, - 55, 0, 0, 0, 0, 0, 56, 57, 0, 58, - 59, 60, 61, 62, 0, 0, 0, 211, 212, 213, - 214, 215, 0, 0, 0, 0, 0, 216, 217, 218, - 219, 274, 275, 222, 223, 224, 228, 229, 230, 225, - 0, 0, 0, 454, 231, 232, 233, 234, 235, 236, - 237, 238, 239, 240, 0, 0, 0, 63, 0, 0, - 0, 0, 241, 242, 243, 244, 245, 246, 247, 248, - 249, 250, 0, 251, 252, 253, 254, 255, 256, 211, - 212, 213, 214, 215, 0, 0, 0, 0, 0, 216, - 217, 218, 219, 274, 275, 222, 223, 224, 0, 0, - 0, 225, 211, 212, 213, 214, 215, 0, 0, 0, - 0, 684, 216, 217, 218, 219, 274, 275, 222, 223, - 224, 0, 0, 0, 225, 211, 212, 213, 214, 215, - 0, 0, 0, 0, 744, 216, 217, 218, 219, 274, - 275, 222, 223, 224, 0, 0, 0, 225, 211, 212, - 213, 214, 215, 0, 0, 0, 0, 818, 216, 217, - 218, 219, 274, 275, 222, 223, 224, 0, 0, 0, - 225, 211, 212, 213, 214, 215, 0, 0, 0, 0, - 1050, 216, 217, 218, 219, 274, 275, 222, 223, 224, - 0, 0, 0, 225, 211, 212, 213, 214, 215, 0, - 0, 0, 0, 1272, 216, 217, 218, 219, 274, 275, - 222, 223, 224, 0, 0, 0, 225, 0, 0, 0, - 911, 0, 0, 912, 211, 212, 213, 214, 215, 0, - 0, 0, 0, 0, 216, 217, 218, 219, 274, 275, - 222, 223, 224, 0, 0, 0, 225, 0, 0, 0, - 1070, 0, 0, 1071, 211, 212, 213, 214, 215, 0, - 0, 0, 0, 0, 216, 217, 218, 219, 274, 275, - 222, 223, 224, 0, 0, 0, 225, 0, 0, 0, - 1220, 0, 0, 1221, 211, 212, 213, 214, 215, 0, - 0, 0, 0, 0, 216, 217, 218, 219, 274, 275, - 222, 223, 224, 0, 0, 0, 225, 211, 212, 213, - 214, 215, 0, 425, 0, 0, 0, 216, 217, 218, - 219, 274, 275, 222, 223, 224, 0, 0, 0, 225, - 211, 212, 213, 214, 215, 0, 430, 0, 0, 0, - 216, 217, 218, 219, 274, 275, 222, 223, 224, 0, - 0, 0, 225, 211, 212, 213, 214, 215, 0, 432, - 0, 0, 0, 216, 217, 218, 219, 274, 275, 222, - 223, 224, 0, 0, 0, 225, 211, 212, 213, 214, - 215, 0, 577, 0, 0, 0, 216, 217, 218, 219, - 274, 275, 222, 223, 224, 0, 0, 0, 225, 211, - 212, 213, 214, 215, 0, 581, 0, 0, 0, 216, - 217, 218, 219, 274, 275, 222, 223, 224, 0, 0, - 0, 225, 211, 212, 213, 214, 215, 0, 582, 0, - 0, 0, 216, 217, 218, 219, 274, 275, 222, 223, - 224, 0, 0, 0, 225, 211, 212, 213, 214, 215, - 0, 716, 0, 0, 0, 216, 217, 218, 219, 274, - 275, 222, 223, 224, 0, 0, 0, 225, 211, 212, - 213, 214, 215, 0, 908, 0, 0, 0, 216, 217, - 218, 219, 274, 275, 222, 223, 224, 0, 0, 0, - 225, 211, 212, 213, 214, 215, 0, 1137, 0, 0, - 0, 216, 217, 218, 219, 274, 275, 222, 223, 224, - 0, 0, 0, 225, 211, 212, 213, 214, 215, 0, - 1142, 0, 0, 0, 216, 217, 218, 219, 274, 275, - 222, 223, 224, 0, 0, 0, 225, 211, 212, 213, - 214, 215, 0, 1143, 0, 0, 0, 216, 217, 218, - 219, 274, 275, 222, 223, 224, 0, 0, 0, 225, - 211, 212, 213, 214, 215, 0, 1144, 0, 0, 0, - 216, 217, 218, 219, 274, 275, 222, 223, 224, 0, - 0, 0, 225, 211, 212, 213, 214, 215, 0, 1159, - 0, 0, 0, 216, 217, 218, 219, 274, 275, 222, - 223, 224, 0, 0, 0, 225, 211, 212, 213, 214, - 215, 0, 1160, 0, 0, 0, 216, 217, 218, 219, - 274, 275, 222, 223, 224, 0, 0, 0, 225, 1265, - 0, 0, 0, 0, 0, 1183, 211, 212, 213, 214, - 215, 0, 0, 0, 0, 0, 216, 217, 218, 219, - 274, 275, 222, 223, 224, 0, 0, 0, 225, 211, - 212, 213, 214, 215, 0, 0, 0, 0, 0, 216, - 217, 218, 219, 274, 275, 222, 223, 224, 0, 0, - 0, 225, 211, 212, 213, 214, 215, 0, 1273, 0, - 0, 0, 216, 217, 218, 219, 274, 275, 222, 223, - 224, 0, 0, 0, 225, 211, 212, 213, 214, 215, - 0, 1371, 0, 0, 0, 216, 217, 218, 219, 274, - 275, 222, 223, 224, 0, 0, 0, 225, 211, 212, - 213, 214, 215, 0, 1400, 0, 0, 0, 216, 217, - 218, 219, 274, 275, 222, 223, 224, 0, 0, 0, - 225, 0, 0, 0, 454, 355, 211, 212, 213, 214, - 215, 0, 0, 0, 0, 0, 216, 217, 218, 219, - 274, 275, 222, 223, 224, 0, 0, 0, 225, 0, - 0, 0, 0, 355, 211, 212, 213, 214, 215, 0, - 0, 0, 0, 0, 216, 217, 218, 219, 274, 275, - 222, 223, 224, 0, 0, 0, 225, 0, 0, 0, - 0, 424, 211, 212, 213, 214, 215, 0, 0, 0, - 0, 0, 216, 217, 218, 219, 274, 275, 222, 223, - 224, 0, 0, 0, 225, 0, 0, 0, 0, 426, - 211, 212, 213, 214, 215, 0, 0, 0, 0, 0, - 216, 217, 218, 219, 274, 275, 222, 223, 224, 0, - 0, 0, 225, 0, 0, 0, 0, 427, 211, 212, - 213, 214, 215, 0, 0, 0, 0, 0, 216, 217, - 218, 219, 274, 275, 222, 223, 224, 0, 0, 0, - 225, 0, 0, 0, 0, 429, 211, 212, 213, 214, - 215, 0, 0, 0, 0, 0, 216, 217, 218, 219, - 274, 275, 222, 223, 224, 0, 0, 0, 225, 0, - 0, 0, 0, 433, 211, 212, 213, 214, 215, 0, - 0, 0, 0, 0, 216, 217, 218, 219, 274, 275, - 222, 223, 224, 0, 0, 0, 225, 0, 0, 0, - 0, 434, 211, 212, 213, 214, 215, 0, 0, 0, - 0, 0, 216, 217, 218, 219, 274, 275, 222, 223, - 224, 0, 0, 0, 225, 0, 0, 0, 0, 439, - 211, 212, 213, 214, 215, 0, 0, 0, 0, 0, - 216, 217, 218, 219, 274, 275, 222, 223, 224, 0, - 0, 0, 225, 0, 0, 0, 0, 476, 211, 212, - 213, 214, 215, 0, 0, 0, 0, 0, 216, 217, - 218, 219, 274, 275, 222, 223, 224, 0, 0, 0, - 225, 0, 0, 0, 0, 479, 211, 212, 213, 214, - 215, 0, 0, 0, 0, 0, 216, 217, 218, 219, - 274, 275, 222, 223, 224, 0, 0, 0, 225, 0, - 0, 0, 0, 485, 211, 212, 213, 214, 215, 0, - 0, 0, 0, 0, 216, 217, 218, 219, 274, 275, - 222, 223, 224, 0, 0, 0, 225, 0, 0, 0, - 0, 486, 211, 212, 213, 214, 215, 0, 0, 0, - 0, 0, 216, 217, 218, 219, 274, 275, 222, 223, - 224, 0, 0, 0, 225, 0, 0, 0, 0, 487, - 211, 212, 213, 214, 215, 0, 0, 0, 0, 0, - 216, 217, 218, 219, 274, 275, 222, 223, 224, 0, - 0, 0, 225, 0, 0, 0, 0, 488, 211, 212, - 213, 214, 215, 0, 0, 0, 0, 0, 216, 217, - 218, 219, 274, 275, 222, 223, 224, 0, 0, 0, - 225, 0, 0, 0, 0, 489, 211, 212, 213, 214, - 215, 0, 0, 0, 0, 0, 216, 217, 218, 219, - 274, 275, 222, 223, 224, 0, 0, 0, 225, 0, - 0, 0, 0, 490, 211, 212, 213, 214, 215, 0, - 0, 0, 0, 0, 216, 217, 218, 219, 274, 275, - 222, 223, 224, 0, 0, 0, 225, 0, 0, 0, - 0, 491, 211, 212, 213, 214, 215, 0, 0, 0, - 0, 0, 216, 217, 218, 219, 274, 275, 222, 223, - 224, 0, 0, 0, 225, 0, 0, 0, 0, 492, - 211, 212, 213, 214, 215, 0, 0, 0, 0, 0, - 216, 217, 218, 219, 274, 275, 222, 223, 224, 0, - 0, 0, 225, 0, 0, 0, 0, 493, 211, 212, - 213, 214, 215, 0, 0, 0, 0, 0, 216, 217, - 218, 219, 274, 275, 222, 223, 224, 0, 0, 0, - 225, 0, 0, 0, 0, 494, 211, 212, 213, 214, - 215, 0, 0, 0, 0, 0, 216, 217, 218, 219, - 274, 275, 222, 223, 224, 0, 0, 0, 225, 0, - 0, 0, 0, 495, 211, 212, 213, 214, 215, 0, - 0, 0, 0, 0, 216, 217, 218, 219, 274, 275, - 222, 223, 224, 0, 0, 0, 225, 0, 0, 0, - 0, 497, 211, 212, 213, 214, 215, 0, 0, 0, - 0, 0, 216, 217, 218, 219, 274, 275, 222, 223, - 224, 0, 0, 0, 225, 0, 0, 0, 0, 498, - 211, 212, 213, 214, 215, 0, 0, 0, 0, 0, - 216, 217, 218, 219, 274, 275, 222, 223, 224, 0, - 0, 0, 225, 0, 0, 0, 0, 499, 211, 212, - 213, 214, 215, 0, 0, 0, 0, 0, 216, 217, - 218, 219, 274, 275, 222, 223, 224, 0, 0, 0, - 225, 0, 0, 0, 0, 500, 211, 212, 213, 214, - 215, 0, 0, 0, 0, 0, 216, 217, 218, 219, - 274, 275, 222, 223, 224, 0, 0, 0, 225, 0, - 0, 0, 0, 501, 211, 212, 213, 214, 215, 0, - 0, 0, 0, 0, 216, 217, 218, 219, 274, 275, - 222, 223, 224, 0, 0, 0, 225, 0, 0, 0, - 0, 502, 211, 212, 213, 214, 215, 0, 0, 0, - 0, 0, 216, 217, 218, 219, 274, 275, 222, 223, - 224, 0, 0, 0, 225, 0, 0, 0, 0, 565, - 211, 212, 213, 214, 215, 0, 0, 0, 0, 0, - 216, 217, 218, 219, 274, 275, 222, 223, 224, 0, - 0, 0, 225, 0, 0, 0, 0, 568, 211, 212, - 213, 214, 215, 0, 0, 0, 0, 0, 216, 217, - 218, 219, 274, 275, 222, 223, 224, 0, 0, 0, - 225, 0, 0, 0, 0, 578, 211, 212, 213, 214, - 215, 0, 0, 0, 0, 0, 216, 217, 218, 219, - 274, 275, 222, 223, 224, 0, 0, 0, 225, 0, - 0, 0, 0, 579, 211, 212, 213, 214, 215, 0, - 0, 0, 0, 0, 216, 217, 218, 219, 274, 275, - 222, 223, 224, 0, 0, 0, 225, 0, 0, 0, - 0, 583, 211, 212, 213, 214, 215, 0, 0, 0, - 0, 0, 216, 217, 218, 219, 274, 275, 222, 223, - 224, 0, 0, 0, 225, 0, 0, 0, 0, 584, - 211, 212, 213, 214, 215, 0, 0, 0, 0, 0, - 216, 217, 218, 219, 274, 275, 222, 223, 224, 0, - 0, 0, 225, 0, 0, 0, 0, 585, 211, 212, - 213, 214, 215, 0, 0, 0, 0, 0, 216, 217, - 218, 219, 274, 275, 222, 223, 224, 0, 0, 0, - 225, 0, 0, 0, 0, 586, 211, 212, 213, 214, - 215, 0, 0, 0, 0, 0, 216, 217, 218, 219, - 274, 275, 222, 223, 224, 0, 0, 0, 225, 0, - 0, 0, 0, 587, 211, 212, 213, 214, 215, 0, - 0, 0, 0, 0, 216, 217, 218, 219, 274, 275, - 222, 223, 224, 0, 0, 0, 225, 0, 0, 0, - 0, 629, 211, 212, 213, 214, 215, 0, 0, 0, - 0, 0, 216, 217, 218, 219, 274, 275, 222, 223, - 224, 0, 0, 0, 225, 0, 0, 0, 0, 632, - 211, 212, 213, 214, 215, 0, 0, 0, 0, 0, - 216, 217, 218, 219, 274, 275, 222, 223, 224, 0, - 0, 0, 225, 0, 0, 0, 0, 686, 211, 212, - 213, 214, 215, 0, 0, 0, 0, 0, 216, 217, - 218, 219, 274, 275, 222, 223, 224, 0, 0, 0, - 225, 0, 0, 0, 0, 745, 211, 212, 213, 214, - 215, 0, 0, 0, 0, 0, 216, 217, 218, 219, - 274, 275, 222, 223, 224, 0, 0, 0, 225, 0, - 0, 0, 0, 746, 211, 212, 213, 214, 215, 0, - 0, 0, 0, 0, 216, 217, 218, 219, 274, 275, - 222, 223, 224, 0, 0, 0, 225, 0, 0, 0, - 0, 747, 211, 212, 213, 214, 215, 0, 0, 0, - 0, 0, 216, 217, 218, 219, 274, 275, 222, 223, - 224, 0, 0, 0, 225, 0, 0, 0, 0, 748, - 211, 212, 213, 214, 215, 0, 0, 0, 0, 0, - 216, 217, 218, 219, 274, 275, 222, 223, 224, 0, - 0, 0, 225, 0, 0, 0, 0, 844, 211, 212, - 213, 214, 215, 0, 0, 0, 0, 0, 216, 217, - 218, 219, 274, 275, 222, 223, 224, 0, 0, 0, - 225, 0, 0, 0, 0, 910, 211, 212, 213, 214, - 215, 0, 0, 0, 0, 0, 216, 217, 218, 219, - 274, 275, 222, 223, 224, 0, 0, 0, 225, 0, - 0, 0, 0, 942, 211, 212, 213, 214, 215, 0, - 0, 0, 0, 0, 216, 217, 218, 219, 274, 275, - 222, 223, 224, 0, 0, 0, 225, 0, 0, 0, - 0, 1035, 211, 212, 213, 214, 215, 0, 0, 0, - 0, 0, 216, 217, 218, 219, 274, 275, 222, 223, - 224, 0, 0, 0, 225, 0, 0, 0, 0, 1039, - 211, 212, 213, 214, 215, 0, 0, 0, 0, 0, - 216, 217, 218, 219, 274, 275, 222, 223, 224, 0, - 0, 0, 225, 0, 0, 0, 0, 1041, 211, 212, - 213, 214, 215, 0, 0, 0, 0, 0, 216, 217, - 218, 219, 274, 275, 222, 223, 224, 0, 0, 0, - 225, 0, 0, 0, 0, 1171, 211, 212, 213, 214, - 215, 0, 0, 0, 0, 0, 216, 217, 218, 219, - 274, 275, 222, 223, 224, 0, 0, 0, 225, 0, - 0, 0, 0, 1173, 211, 212, 213, 214, 215, 0, - 0, 0, 0, 0, 216, 217, 218, 219, 274, 275, - 222, 223, 224, 0, 0, 0, 225, 0, 0, 0, - 0, 1175, 211, 212, 213, 214, 215, 0, 0, 0, - 0, 0, 216, 217, 218, 219, 274, 275, 222, 223, - 224, 0, 0, 0, 225, 0, 0, 0, 0, 1198, - 211, 212, 213, 214, 215, 0, 0, 0, 0, 0, - 216, 217, 218, 219, 274, 275, 222, 223, 224, 0, - 0, 0, 225, 0, 0, 0, 0, 1199, 211, 212, - 213, 214, 215, 0, 0, 0, 0, 0, 216, 217, - 218, 219, 274, 275, 222, 223, 224, 0, 0, 0, - 225, 0, 0, 0, 0, 1200, 211, 212, 213, 214, - 215, 0, 0, 0, 0, 0, 216, 217, 218, 219, - 274, 275, 222, 223, 224, 0, 0, 0, 225, 0, - 0, 0, 0, 1353, 211, 212, 213, 214, 215, 0, - 0, 0, 0, 0, 216, 217, 218, 219, 274, 275, - 222, 223, 224, 0, 0, 0, 225, 0, 0, 0, - 0, 1354, 211, 212, 213, 214, 215, 0, 0, 0, - 0, 0, 216, 217, 218, 219, 274, 275, 222, 223, - 224, 0, 0, 0, 225, 0, 0, 0, 0, 1355, - 211, 212, 213, 214, 215, 0, 0, 0, 0, 0, - 216, 217, 218, 219, 274, 275, 222, 223, 224, 0, - 0, 0, 225, 0, 0, 0, 0, 1434, 211, 212, - 213, 214, 215, 0, 0, 0, 0, 0, 216, 217, - 218, 219, 274, 275, 222, 223, 224, 0, 0, 0, - 225, 0, 0, 0, 0, 1435, 211, 212, 213, 214, - 215, 0, 0, 0, 0, 0, 216, 217, 218, 219, - 274, 275, 222, 223, 224, 0, 0, 0, 225, 0, - 0, 0, 0, 1436, 211, 212, 213, 214, 215, 0, - 0, 0, 0, 0, 216, 217, 218, 219, 274, 275, - 222, 223, 224, 0, 0, 0, 225, 0, 0, 0, - 0, 1482, 211, 212, 213, 214, 215, 0, 0, 0, - 0, 0, 216, 217, 218, 219, 274, 275, 222, 223, - 224, 0, 0, 0, 225, 0, 0, 0, 0, 1483, - 211, 212, 213, 214, 215, 0, 0, 0, 0, 0, - 216, 217, 218, 219, 274, 275, 222, 223, 224, 0, - 0, 0, 225, 0, 0, 0, 0, 1484, 211, 212, - 213, 214, 215, 0, 0, 0, 0, 0, 216, 217, - 218, 219, 274, 275, 222, 223, 224, 0, 0, 0, - 225, 0, 0, 0, 455, 211, 212, 213, 214, 215, - 0, 0, 0, 0, 0, 216, 217, 218, 219, 274, - 275, 222, 223, 224, 0, 0, 0, 225, 0, 0, - 0, 496, 211, 212, 213, 214, 215, 0, 0, 0, - 0, 0, 216, 217, 218, 219, 274, 275, 222, 223, - 224, 0, 0, 0, 225, 0, 0, 0, 503, 211, - 212, 213, 214, 215, 0, 0, 0, 0, 0, 216, - 217, 218, 219, 274, 275, 222, 223, 224, 0, 0, - 0, 225, 0, 0, 0, 504, 211, 212, 213, 214, - 215, 0, 0, 0, 0, 0, 216, 217, 218, 219, - 274, 275, 222, 223, 224, 0, 0, 0, 225, 507, - 0, 0, 505, 211, 212, 213, 214, 215, 0, 0, - 0, 0, 0, 216, 217, 218, 219, 274, 275, 222, - 223, 224, 0, 0, 0, 225, 211, 212, 213, 214, - 215, 0, 0, 0, 0, 0, 216, 217, 218, 219, - 274, 275, 222, 223, 224, 0, 0, 0, 225, 0, - 0, 0, 595, 211, 212, 213, 214, 215, 0, 0, - 0, 0, 0, 216, 217, 218, 219, 274, 275, 222, - 223, 224, 0, 0, 0, 225, 0, 0, 0, 596, - 211, 212, 213, 214, 215, 0, 0, 0, 0, 0, - 216, 217, 218, 219, 274, 275, 222, 223, 224, 0, - 0, 0, 225, 0, 0, 0, 597, 211, 212, 213, - 214, 215, 0, 0, 0, 0, 0, 216, 217, 218, - 219, 274, 275, 222, 223, 224, 0, 0, 0, 225, - 0, 0, 0, 714, 211, 212, 213, 214, 215, 0, - 0, 0, 0, 0, 216, 217, 218, 219, 274, 275, - 222, 223, 224, 0, 0, 0, 225, 0, 0, 0, - 715, 211, 212, 213, 214, 215, 0, 0, 0, 0, - 0, 216, 217, 218, 219, 274, 275, 222, 223, 224, - 0, 0, 0, 225, 0, 0, 0, 841, 211, 212, - 213, 214, 215, 0, 0, 0, 0, 0, 216, 217, - 218, 219, 274, 275, 222, 223, 224, 0, 0, 0, - 225, 0, 0, 0, 842, 211, 212, 213, 214, 215, - 0, 0, 0, 0, 0, 216, 217, 218, 219, 274, - 275, 222, 223, 224, 0, 0, 0, 225, 0, 0, - 0, 854, 211, 212, 213, 214, 215, 0, 0, 0, - 0, 0, 216, 217, 218, 219, 274, 275, 222, 223, - 224, 0, 0, 0, 225, 0, 0, 0, 855, 211, - 212, 213, 214, 215, 0, 0, 0, 0, 0, 216, - 217, 218, 219, 274, 275, 222, 223, 224, 0, 0, - 0, 225, 0, 0, 0, 895, 211, 212, 213, 214, - 215, 0, 0, 0, 0, 0, 216, 217, 218, 219, - 274, 275, 222, 223, 224, 0, 0, 0, 225, 0, - 0, 0, 922, 211, 212, 213, 214, 215, 0, 0, - 0, 0, 0, 216, 217, 218, 219, 274, 275, 222, - 223, 224, 0, 0, 0, 225, 0, 0, 0, 923, - 211, 212, 213, 214, 215, 0, 0, 0, 0, 0, - 216, 217, 218, 219, 274, 275, 222, 223, 224, 0, - 0, 0, 225, 0, 0, 0, 924, 211, 212, 213, - 214, 215, 0, 0, 0, 0, 0, 216, 217, 218, - 219, 274, 275, 222, 223, 224, 0, 0, 0, 225, - 0, 0, 0, 925, 211, 212, 213, 214, 215, 0, - 0, 0, 0, 0, 216, 217, 218, 219, 274, 275, - 222, 223, 224, 0, 0, 0, 225, 0, 0, 0, - 926, 211, 212, 213, 214, 215, 0, 0, 0, 0, - 0, 216, 217, 218, 219, 274, 275, 222, 223, 224, - 0, 0, 0, 225, 0, 0, 0, 927, 211, 212, - 213, 214, 215, 0, 0, 0, 0, 0, 216, 217, - 218, 219, 274, 275, 222, 223, 224, 0, 0, 0, - 225, 0, 0, 0, 928, 211, 212, 213, 214, 215, - 0, 0, 0, 0, 0, 216, 217, 218, 219, 274, - 275, 222, 223, 224, 0, 0, 0, 225, 0, 0, - 0, 929, 211, 212, 213, 214, 215, 0, 0, 0, - 0, 0, 216, 217, 218, 219, 274, 275, 222, 223, - 224, 0, 0, 0, 225, 0, 0, 0, 930, 211, - 212, 213, 214, 215, 0, 0, 0, 0, 0, 216, - 217, 218, 219, 274, 275, 222, 223, 224, 0, 0, - 0, 225, 0, 0, 0, 931, 211, 212, 213, 214, - 215, 0, 0, 0, 0, 0, 216, 217, 218, 219, - 274, 275, 222, 223, 224, 0, 0, 0, 225, 0, - 0, 0, 932, 211, 212, 213, 214, 215, 0, 0, - 0, 0, 0, 216, 217, 218, 219, 274, 275, 222, - 223, 224, 0, 0, 0, 225, 0, 0, 0, 933, - 211, 212, 213, 214, 215, 0, 0, 0, 0, 0, - 216, 217, 218, 219, 274, 275, 222, 223, 224, 0, - 0, 0, 225, 0, 0, 0, 988, 211, 212, 213, - 214, 215, 0, 0, 0, 0, 0, 216, 217, 218, - 219, 274, 275, 222, 223, 224, 0, 0, 0, 225, - 0, 0, 0, 1016, 211, 212, 213, 214, 215, 0, - 0, 0, 0, 0, 216, 217, 218, 219, 274, 275, - 222, 223, 224, 0, 0, 0, 225, 0, 0, 0, - 1017, 211, 212, 213, 214, 215, 0, 0, 0, 0, - 0, 216, 217, 218, 219, 274, 275, 222, 223, 224, - 0, 0, 0, 225, 0, 0, 0, 1029, 211, 212, - 213, 214, 215, 0, 0, 0, 0, 0, 216, 217, - 218, 219, 274, 275, 222, 223, 224, 0, 0, 0, - 225, 0, 0, 0, 1040, 211, 212, 213, 214, 215, - 0, 0, 0, 0, 0, 216, 217, 218, 219, 274, - 275, 222, 223, 224, 0, 0, 0, 225, 0, 0, - 0, 1045, 211, 212, 213, 214, 215, 0, 0, 0, - 0, 0, 216, 217, 218, 219, 274, 275, 222, 223, - 224, 0, 0, 0, 225, 0, 0, 0, 1048, 211, - 212, 213, 214, 215, 0, 0, 0, 0, 0, 216, - 217, 218, 219, 274, 275, 222, 223, 224, 0, 0, - 0, 225, 0, 0, 0, 1068, 211, 212, 213, 214, - 215, 0, 0, 0, 0, 0, 216, 217, 218, 219, - 274, 275, 222, 223, 224, 0, 0, 0, 225, 0, - 0, 0, 1079, 211, 212, 213, 214, 215, 0, 0, - 0, 0, 0, 216, 217, 218, 219, 274, 275, 222, - 223, 224, 0, 0, 0, 225, 0, 0, 0, 1080, - 211, 212, 213, 214, 215, 0, 0, 0, 0, 0, - 216, 217, 218, 219, 274, 275, 222, 223, 224, 0, - 0, 0, 225, 0, 0, 0, 1081, 211, 212, 213, - 214, 215, 0, 0, 0, 0, 0, 216, 217, 218, - 219, 274, 275, 222, 223, 224, 0, 0, 0, 225, - 0, 0, 0, 1082, 211, 212, 213, 214, 215, 0, - 0, 0, 0, 0, 216, 217, 218, 219, 274, 275, - 222, 223, 224, 0, 0, 0, 225, 0, 0, 0, - 1083, 211, 212, 213, 214, 215, 0, 0, 0, 0, - 0, 216, 217, 218, 219, 274, 275, 222, 223, 224, - 0, 0, 0, 225, 0, 0, 0, 1084, 211, 212, - 213, 214, 215, 0, 0, 0, 0, 0, 216, 217, - 218, 219, 274, 275, 222, 223, 224, 0, 0, 0, - 225, 0, 0, 0, 1085, 211, 212, 213, 214, 215, - 0, 0, 0, 0, 0, 216, 217, 218, 219, 274, - 275, 222, 223, 224, 0, 0, 0, 225, 0, 0, - 0, 1086, 211, 212, 213, 214, 215, 0, 0, 0, - 0, 0, 216, 217, 218, 219, 274, 275, 222, 223, - 224, 0, 0, 0, 225, 0, 0, 0, 1087, 211, - 212, 213, 214, 215, 0, 0, 0, 0, 0, 216, - 217, 218, 219, 274, 275, 222, 223, 224, 0, 0, - 0, 225, 0, 0, 0, 1088, 211, 212, 213, 214, - 215, 0, 0, 0, 0, 0, 216, 217, 218, 219, - 274, 275, 222, 223, 224, 0, 0, 0, 225, 0, - 0, 0, 1089, 211, 212, 213, 214, 215, 0, 0, - 0, 0, 0, 216, 217, 218, 219, 274, 275, 222, - 223, 224, 0, 0, 0, 225, 0, 0, 0, 1090, - 211, 212, 213, 214, 215, 0, 0, 0, 0, 0, - 216, 217, 218, 219, 274, 275, 222, 223, 224, 0, - 0, 0, 225, 0, 0, 0, 1138, 211, 212, 213, - 214, 215, 0, 0, 0, 0, 0, 216, 217, 218, - 219, 274, 275, 222, 223, 224, 0, 0, 0, 225, - 0, 0, 0, 1168, 211, 212, 213, 214, 215, 0, - 0, 0, 0, 0, 216, 217, 218, 219, 274, 275, - 222, 223, 224, 0, 0, 0, 225, 0, 0, 0, - 1189, 211, 212, 213, 214, 215, 0, 0, 0, 0, - 0, 216, 217, 218, 219, 274, 275, 222, 223, 224, - 0, 0, 0, 225, 0, 0, 0, 1190, 211, 212, - 213, 214, 215, 0, 0, 0, 0, 0, 216, 217, - 218, 219, 274, 275, 222, 223, 224, 0, 0, 0, - 225, 0, 0, 0, 1191, 211, 212, 213, 214, 215, - 0, 0, 0, 0, 0, 216, 217, 218, 219, 274, - 275, 222, 223, 224, 0, 0, 0, 225, 0, 0, - 0, 1192, 211, 212, 213, 214, 215, 0, 0, 0, - 0, 0, 216, 217, 218, 219, 274, 275, 222, 223, - 224, 0, 0, 0, 225, 0, 0, 0, 1193, 211, - 212, 213, 214, 215, 0, 0, 0, 0, 0, 216, - 217, 218, 219, 274, 275, 222, 223, 224, 0, 0, - 0, 225, 0, 0, 0, 1194, 211, 212, 213, 214, - 215, 0, 0, 0, 0, 0, 216, 217, 218, 219, - 274, 275, 222, 223, 224, 0, 0, 0, 225, 0, - 0, 0, 1195, 211, 212, 213, 214, 215, 0, 0, - 0, 0, 0, 216, 217, 218, 219, 274, 275, 222, - 223, 224, 0, 0, 0, 225, 0, 0, 0, 1196, - 211, 212, 213, 214, 215, 0, 0, 0, 0, 0, - 216, 217, 218, 219, 274, 275, 222, 223, 224, 0, - 0, 0, 225, 0, 0, 0, 1197, 211, 212, 213, - 214, 215, 0, 0, 0, 0, 0, 216, 217, 218, - 219, 274, 275, 222, 223, 224, 0, 0, 0, 225, - 0, 0, 0, 1251, 211, 212, 213, 214, 215, 0, - 0, 0, 0, 0, 216, 217, 218, 219, 274, 275, - 222, 223, 224, 0, 0, 0, 225, 0, 0, 0, - 1252, 211, 212, 213, 214, 215, 0, 0, 0, 0, - 0, 216, 217, 218, 219, 274, 275, 222, 223, 224, - 0, 0, 0, 225, 0, 0, 0, 1253, 211, 212, - 213, 214, 215, 0, 0, 0, 0, 0, 216, 217, - 218, 219, 274, 275, 222, 223, 224, 0, 0, 0, - 225, 0, 0, 0, 1254, 211, 212, 213, 214, 215, - 0, 0, 0, 0, 0, 216, 217, 218, 219, 274, - 275, 222, 223, 224, 0, 0, 0, 225, 0, 0, - 0, 1255, 211, 212, 213, 214, 215, 0, 0, 0, - 0, 0, 216, 217, 218, 219, 274, 275, 222, 223, - 224, 0, 0, 0, 225, 0, 0, 0, 1256, 211, - 212, 213, 214, 215, 0, 0, 0, 0, 0, 216, - 217, 218, 219, 274, 275, 222, 223, 224, 0, 0, - 0, 225, 0, 0, 0, 1257, 211, 212, 213, 214, - 215, 0, 0, 0, 0, 0, 216, 217, 218, 219, - 274, 275, 222, 223, 224, 0, 0, 0, 225, 0, - 0, 0, 1258, 211, 212, 213, 214, 215, 0, 0, - 0, 0, 0, 216, 217, 218, 219, 274, 275, 222, - 223, 224, 0, 0, 0, 225, 0, 0, 0, 1259, - 211, 212, 213, 214, 215, 0, 0, 0, 0, 0, - 216, 217, 218, 219, 274, 275, 222, 223, 224, 0, - 0, 0, 225, 0, 0, 0, 1302, 211, 212, 213, - 214, 215, 0, 0, 0, 0, 0, 216, 217, 218, - 219, 274, 275, 222, 223, 224, 0, 0, 0, 225, - 0, 0, 0, 1303, 211, 212, 213, 214, 215, 0, - 0, 0, 0, 0, 216, 217, 218, 219, 274, 275, - 222, 223, 224, 0, 0, 0, 225, 0, 0, 0, - 1304, 211, 212, 213, 214, 215, 0, 0, 0, 0, - 0, 216, 217, 218, 219, 274, 275, 222, 223, 224, - 0, 0, 0, 225, 0, 0, 0, 1305, 211, 212, - 213, 214, 215, 0, 0, 0, 0, 0, 216, 217, - 218, 219, 274, 275, 222, 223, 224, 0, 0, 0, - 225, 0, 0, 0, 1306, 211, 212, 213, 214, 215, - 0, 0, 0, 0, 0, 216, 217, 218, 219, 274, - 275, 222, 223, 224, 0, 0, 0, 225, 0, 0, - 0, 1307, 211, 212, 213, 214, 215, 0, 0, 0, - 0, 0, 216, 217, 218, 219, 274, 275, 222, 223, - 224, 0, 0, 0, 225, 0, 0, 0, 1308, 211, - 212, 213, 214, 215, 0, 0, 0, 0, 0, 216, - 217, 218, 219, 274, 275, 222, 223, 224, 0, 0, - 0, 225, 0, 0, 0, 1309, 211, 212, 213, 214, - 215, 0, 0, 0, 0, 0, 216, 217, 218, 219, - 274, 275, 222, 223, 224, 0, 0, 0, 225, 0, - 0, 0, 1310, 211, 212, 213, 214, 215, 0, 0, - 0, 0, 0, 216, 217, 218, 219, 274, 275, 222, - 223, 224, 0, 0, 0, 225, 0, 0, 0, 1343, - 211, 212, 213, 214, 215, 0, 0, 0, 0, 0, - 216, 217, 218, 219, 274, 275, 222, 223, 224, 0, - 0, 0, 225, 0, 0, 0, 1347, 211, 212, 213, - 214, 215, 0, 0, 0, 0, 0, 216, 217, 218, - 219, 274, 275, 222, 223, 224, 0, 0, 0, 225, - 0, 0, 0, 1348, 211, 212, 213, 214, 215, 0, - 0, 0, 0, 0, 216, 217, 218, 219, 274, 275, - 222, 223, 224, 0, 0, 0, 225, 0, 0, 0, - 1349, 211, 212, 213, 214, 215, 0, 0, 0, 0, - 0, 216, 217, 218, 219, 274, 275, 222, 223, 224, - 0, 0, 0, 225, 0, 0, 0, 1350, 211, 212, - 213, 214, 215, 0, 0, 0, 0, 0, 216, 217, - 218, 219, 274, 275, 222, 223, 224, 0, 0, 0, - 225, 0, 0, 0, 1351, 211, 212, 213, 214, 215, - 0, 0, 0, 0, 0, 216, 217, 218, 219, 274, - 275, 222, 223, 224, 0, 0, 0, 225, 0, 0, - 0, 1352, 211, 212, 213, 214, 215, 0, 0, 0, - 0, 0, 216, 217, 218, 219, 274, 275, 222, 223, - 224, 0, 0, 0, 225, 0, 0, 0, 1370, 211, - 212, 213, 214, 215, 0, 0, 0, 0, 0, 216, - 217, 218, 219, 274, 275, 222, 223, 224, 0, 0, - 0, 225, 0, 0, 0, 1375, 211, 212, 213, 214, - 215, 0, 0, 0, 0, 0, 216, 217, 218, 219, - 274, 275, 222, 223, 224, 0, 0, 0, 225, 0, - 0, 0, 1376, 211, 212, 213, 214, 215, 0, 0, - 0, 0, 0, 216, 217, 218, 219, 274, 275, 222, - 223, 224, 0, 0, 0, 225, 0, 0, 0, 1377, - 211, 212, 213, 214, 215, 0, 0, 0, 0, 0, - 216, 217, 218, 219, 274, 275, 222, 223, 224, 0, - 0, 0, 225, 0, 0, 0, 1378, 211, 212, 213, - 214, 215, 0, 0, 0, 0, 0, 216, 217, 218, - 219, 274, 275, 222, 223, 224, 0, 0, 0, 225, - 0, 0, 0, 1379, 211, 212, 213, 214, 215, 0, - 0, 0, 0, 0, 216, 217, 218, 219, 274, 275, - 222, 223, 224, 0, 0, 0, 225, 0, 0, 0, - 1380, 211, 212, 213, 214, 215, 0, 0, 0, 0, - 0, 216, 217, 218, 219, 274, 275, 222, 223, 224, - 0, 0, 0, 225, 0, 0, 0, 1403, 211, 212, - 213, 214, 215, 0, 0, 0, 0, 0, 216, 217, - 218, 219, 274, 275, 222, 223, 224, 0, 0, 0, - 225, 0, 0, 0, 1404, 211, 212, 213, 214, 215, - 0, 0, 0, 0, 0, 216, 217, 218, 219, 274, - 275, 222, 223, 224, 0, 0, 0, 225, 0, 0, - 0, 1405, 211, 212, 213, 214, 215, 0, 0, 0, - 0, 0, 216, 217, 218, 219, 274, 275, 222, 223, - 224, 0, 0, 0, 225, 0, 0, 0, 1406, 211, - 212, 213, 214, 215, 0, 0, 0, 0, 0, 216, - 217, 218, 219, 274, 275, 222, 223, 224, 0, 0, - 0, 225, 0, 0, 0, 1407, 211, 212, 213, 214, - 215, 0, 0, 0, 0, 0, 216, 217, 218, 219, - 274, 275, 222, 223, 224, 0, 0, 0, 225, 0, - 0, 0, 1408, 211, 212, 213, 214, 215, 0, 0, - 0, 0, 0, 216, 217, 218, 219, 274, 275, 222, - 223, 224, 0, 0, 0, 225, 0, 0, 0, 1431, - 211, 212, 213, 214, 215, 0, 0, 0, 0, 0, - 216, 217, 218, 219, 274, 275, 222, 223, 224, 0, - 0, 0, 225, 0, 0, 0, 1432, 211, 212, 213, - 214, 215, 0, 0, 0, 0, 0, 216, 217, 218, - 219, 274, 275, 222, 223, 224, 0, 0, 0, 225, - 0, 0, 0, 1433, 211, 212, 213, 214, 215, 0, - 0, 0, 0, 0, 216, 217, 218, 219, 274, 275, - 222, 223, 224, 0, 0, 0, 225, 0, 0, 0, - 1445, 211, 212, 213, 214, 215, 0, 0, 0, 0, - 0, 216, 217, 218, 219, 274, 275, 222, 223, 224, - 0, 0, 0, 225, 0, 0, 0, 1446, 211, 212, - 213, 214, 215, 0, 0, 0, 0, 0, 216, 217, - 218, 219, 274, 275, 222, 223, 224, 0, 0, 0, - 225, 0, 0, 0, 1447, 211, 212, 213, 214, 215, - 0, 0, 0, 0, 0, 216, 217, 218, 219, 274, - 275, 222, 223, 224, 0, 0, 0, 225, 0, 0, - 0, 1462, 211, 212, 213, 214, 215, 0, 0, 0, - 0, 0, 216, 217, 218, 219, 274, 275, 222, 223, - 224, 0, 0, 0, 225, 0, 0, 0, 1463, 211, - 212, 213, 214, 215, 0, 0, 0, 0, 0, 216, - 217, 218, 219, 274, 275, 222, 223, 224, 0, 0, - 0, 225, 0, 0, 1358, 1464, 211, 212, 213, 214, - 215, 0, 0, 0, 0, 0, 216, 217, 218, 219, - 274, 275, 222, 223, 224, 0, 0, 0, 225, 211, - 212, 213, 214, 215, 0, 0, 0, 0, 0, 216, - 217, 218, 219, 274, 275, 222, 223, 224, 0, 0, - 0, 225 + 0, 0, 0, 0, 0, 0, 0, 473, 53, 0, + 0, 0, 0, 0, 0, 0, 229, 230, 231, 63, + 0, 0, 54, 55, 232, 233, 234, 235, 236, 237, + 238, 239, 240, 241, 0, 0, 0, 0, 0, 0, + 0, 0, 242, 243, 244, 245, 246, 247, 248, 249, + 250, 251, 0, 252, 253, 254, 255, 256, 257, 0, + 212, 213, 214, 215, 216, 0, 0, 0, 0, 0, + 217, 218, 219, 220, 275, 276, 223, 224, 225, 0, + 0, 63, 226, 212, 213, 214, 215, 216, 0, 0, + 0, 0, 749, 217, 218, 219, 220, 275, 276, 223, + 224, 225, 0, 0, 0, 226, 212, 213, 214, 215, + 216, 0, 0, 0, 0, 823, 217, 218, 219, 220, + 275, 276, 223, 224, 225, 0, 0, 0, 226, 212, + 213, 214, 215, 216, 0, 0, 0, 0, 1059, 217, + 218, 219, 220, 275, 276, 223, 224, 225, 0, 0, + 0, 226, 212, 213, 214, 215, 216, 0, 0, 0, + 0, 1282, 217, 218, 219, 220, 275, 276, 223, 224, + 225, 0, 0, 0, 226, 0, 0, 0, 917, 0, + 0, 918, 212, 213, 214, 215, 216, 0, 0, 0, + 0, 0, 217, 218, 219, 220, 275, 276, 223, 224, + 225, 0, 0, 0, 226, 0, 0, 0, 1079, 0, + 0, 1080, 212, 213, 214, 215, 216, 0, 0, 0, + 0, 0, 217, 218, 219, 220, 275, 276, 223, 224, + 225, 0, 0, 0, 226, 0, 0, 0, 1230, 0, + 0, 1231, 212, 213, 214, 215, 216, 0, 0, 0, + 0, 0, 217, 218, 219, 220, 275, 276, 223, 224, + 225, 0, 0, 0, 226, 212, 213, 214, 215, 216, + 0, 427, 0, 0, 0, 217, 218, 219, 220, 275, + 276, 223, 224, 225, 0, 0, 0, 226, 212, 213, + 214, 215, 216, 0, 432, 0, 0, 0, 217, 218, + 219, 220, 275, 276, 223, 224, 225, 0, 0, 0, + 226, 212, 213, 214, 215, 216, 0, 434, 0, 0, + 0, 217, 218, 219, 220, 275, 276, 223, 224, 225, + 0, 0, 0, 226, 212, 213, 214, 215, 216, 0, + 580, 0, 0, 0, 217, 218, 219, 220, 275, 276, + 223, 224, 225, 0, 0, 0, 226, 212, 213, 214, + 215, 216, 0, 584, 0, 0, 0, 217, 218, 219, + 220, 275, 276, 223, 224, 225, 0, 0, 0, 226, + 212, 213, 214, 215, 216, 0, 585, 0, 0, 0, + 217, 218, 219, 220, 275, 276, 223, 224, 225, 0, + 0, 0, 226, 212, 213, 214, 215, 216, 0, 720, + 0, 0, 0, 217, 218, 219, 220, 275, 276, 223, + 224, 225, 0, 0, 0, 226, 212, 213, 214, 215, + 216, 0, 914, 0, 0, 0, 217, 218, 219, 220, + 275, 276, 223, 224, 225, 0, 0, 0, 226, 212, + 213, 214, 215, 216, 0, 950, 0, 0, 0, 217, + 218, 219, 220, 275, 276, 223, 224, 225, 0, 0, + 0, 226, 1107, 0, 0, 0, 0, 0, 1106, 212, + 213, 214, 215, 216, 0, 0, 0, 0, 0, 217, + 218, 219, 220, 275, 276, 223, 224, 225, 0, 0, + 0, 226, 212, 213, 214, 215, 216, 0, 0, 0, + 0, 0, 217, 218, 219, 220, 275, 276, 223, 224, + 225, 0, 0, 0, 226, 212, 213, 214, 215, 216, + 0, 1147, 0, 0, 0, 217, 218, 219, 220, 275, + 276, 223, 224, 225, 0, 0, 0, 226, 212, 213, + 214, 215, 216, 0, 1152, 0, 0, 0, 217, 218, + 219, 220, 275, 276, 223, 224, 225, 0, 0, 0, + 226, 212, 213, 214, 215, 216, 0, 1153, 0, 0, + 0, 217, 218, 219, 220, 275, 276, 223, 224, 225, + 0, 0, 0, 226, 212, 213, 214, 215, 216, 0, + 1154, 0, 0, 0, 217, 218, 219, 220, 275, 276, + 223, 224, 225, 0, 0, 0, 226, 212, 213, 214, + 215, 216, 0, 1169, 0, 0, 0, 217, 218, 219, + 220, 275, 276, 223, 224, 225, 0, 0, 0, 226, + 212, 213, 214, 215, 216, 0, 1170, 0, 0, 0, + 217, 218, 219, 220, 275, 276, 223, 224, 225, 0, + 0, 0, 226, 1275, 0, 0, 0, 0, 0, 1193, + 212, 213, 214, 215, 216, 0, 0, 0, 0, 0, + 217, 218, 219, 220, 275, 276, 223, 224, 225, 0, + 0, 0, 226, 212, 213, 214, 215, 216, 0, 0, + 0, 0, 0, 217, 218, 219, 220, 275, 276, 223, + 224, 225, 0, 0, 0, 226, 212, 213, 214, 215, + 216, 0, 1283, 0, 0, 0, 217, 218, 219, 220, + 275, 276, 223, 224, 225, 0, 0, 0, 226, 212, + 213, 214, 215, 216, 0, 1381, 0, 0, 0, 217, + 218, 219, 220, 275, 276, 223, 224, 225, 0, 0, + 0, 226, 212, 213, 214, 215, 216, 0, 1410, 0, + 0, 0, 217, 218, 219, 220, 275, 276, 223, 224, + 225, 0, 0, 0, 226, 0, 0, 0, 0, 357, + 212, 213, 214, 215, 216, 0, 0, 0, 0, 0, + 217, 218, 219, 220, 275, 276, 223, 224, 225, 0, + 0, 0, 226, 0, 0, 0, 0, 426, 212, 213, + 214, 215, 216, 0, 0, 0, 0, 0, 217, 218, + 219, 220, 275, 276, 223, 224, 225, 0, 0, 0, + 226, 0, 0, 0, 0, 428, 212, 213, 214, 215, + 216, 0, 0, 0, 0, 0, 217, 218, 219, 220, + 275, 276, 223, 224, 225, 0, 0, 0, 226, 0, + 0, 0, 0, 429, 212, 213, 214, 215, 216, 0, + 0, 0, 0, 0, 217, 218, 219, 220, 275, 276, + 223, 224, 225, 0, 0, 0, 226, 0, 0, 0, + 0, 431, 212, 213, 214, 215, 216, 0, 0, 0, + 0, 0, 217, 218, 219, 220, 275, 276, 223, 224, + 225, 0, 0, 0, 226, 0, 0, 0, 0, 435, + 212, 213, 214, 215, 216, 0, 0, 0, 0, 0, + 217, 218, 219, 220, 275, 276, 223, 224, 225, 0, + 0, 0, 226, 0, 0, 0, 0, 436, 212, 213, + 214, 215, 216, 0, 0, 0, 0, 0, 217, 218, + 219, 220, 275, 276, 223, 224, 225, 0, 0, 0, + 226, 0, 0, 0, 0, 441, 212, 213, 214, 215, + 216, 0, 0, 0, 0, 0, 217, 218, 219, 220, + 275, 276, 223, 224, 225, 0, 0, 0, 226, 0, + 0, 0, 0, 478, 212, 213, 214, 215, 216, 0, + 0, 0, 0, 0, 217, 218, 219, 220, 275, 276, + 223, 224, 225, 0, 0, 0, 226, 0, 0, 0, + 0, 481, 212, 213, 214, 215, 216, 0, 0, 0, + 0, 0, 217, 218, 219, 220, 275, 276, 223, 224, + 225, 0, 0, 0, 226, 0, 0, 0, 0, 488, + 212, 213, 214, 215, 216, 0, 0, 0, 0, 0, + 217, 218, 219, 220, 275, 276, 223, 224, 225, 0, + 0, 0, 226, 0, 0, 0, 0, 489, 212, 213, + 214, 215, 216, 0, 0, 0, 0, 0, 217, 218, + 219, 220, 275, 276, 223, 224, 225, 0, 0, 0, + 226, 0, 0, 0, 0, 490, 212, 213, 214, 215, + 216, 0, 0, 0, 0, 0, 217, 218, 219, 220, + 275, 276, 223, 224, 225, 0, 0, 0, 226, 0, + 0, 0, 0, 491, 212, 213, 214, 215, 216, 0, + 0, 0, 0, 0, 217, 218, 219, 220, 275, 276, + 223, 224, 225, 0, 0, 0, 226, 0, 0, 0, + 0, 492, 212, 213, 214, 215, 216, 0, 0, 0, + 0, 0, 217, 218, 219, 220, 275, 276, 223, 224, + 225, 0, 0, 0, 226, 0, 0, 0, 0, 493, + 212, 213, 214, 215, 216, 0, 0, 0, 0, 0, + 217, 218, 219, 220, 275, 276, 223, 224, 225, 0, + 0, 0, 226, 0, 0, 0, 0, 494, 212, 213, + 214, 215, 216, 0, 0, 0, 0, 0, 217, 218, + 219, 220, 275, 276, 223, 224, 225, 0, 0, 0, + 226, 0, 0, 0, 0, 495, 212, 213, 214, 215, + 216, 0, 0, 0, 0, 0, 217, 218, 219, 220, + 275, 276, 223, 224, 225, 0, 0, 0, 226, 0, + 0, 0, 0, 496, 212, 213, 214, 215, 216, 0, + 0, 0, 0, 0, 217, 218, 219, 220, 275, 276, + 223, 224, 225, 0, 0, 0, 226, 0, 0, 0, + 0, 497, 212, 213, 214, 215, 216, 0, 0, 0, + 0, 0, 217, 218, 219, 220, 275, 276, 223, 224, + 225, 0, 0, 0, 226, 0, 0, 0, 0, 498, + 212, 213, 214, 215, 216, 0, 0, 0, 0, 0, + 217, 218, 219, 220, 275, 276, 223, 224, 225, 0, + 0, 0, 226, 0, 0, 0, 0, 500, 212, 213, + 214, 215, 216, 0, 0, 0, 0, 0, 217, 218, + 219, 220, 275, 276, 223, 224, 225, 0, 0, 0, + 226, 0, 0, 0, 0, 501, 212, 213, 214, 215, + 216, 0, 0, 0, 0, 0, 217, 218, 219, 220, + 275, 276, 223, 224, 225, 0, 0, 0, 226, 0, + 0, 0, 0, 502, 212, 213, 214, 215, 216, 0, + 0, 0, 0, 0, 217, 218, 219, 220, 275, 276, + 223, 224, 225, 0, 0, 0, 226, 0, 0, 0, + 0, 503, 212, 213, 214, 215, 216, 0, 0, 0, + 0, 0, 217, 218, 219, 220, 275, 276, 223, 224, + 225, 0, 0, 0, 226, 0, 0, 0, 0, 504, + 212, 213, 214, 215, 216, 0, 0, 0, 0, 0, + 217, 218, 219, 220, 275, 276, 223, 224, 225, 0, + 0, 0, 226, 0, 0, 0, 0, 505, 212, 213, + 214, 215, 216, 0, 0, 0, 0, 0, 217, 218, + 219, 220, 275, 276, 223, 224, 225, 0, 0, 0, + 226, 0, 0, 0, 0, 568, 212, 213, 214, 215, + 216, 0, 0, 0, 0, 0, 217, 218, 219, 220, + 275, 276, 223, 224, 225, 0, 0, 0, 226, 0, + 0, 0, 0, 571, 212, 213, 214, 215, 216, 0, + 0, 0, 0, 0, 217, 218, 219, 220, 275, 276, + 223, 224, 225, 0, 0, 0, 226, 0, 0, 0, + 0, 581, 212, 213, 214, 215, 216, 0, 0, 0, + 0, 0, 217, 218, 219, 220, 275, 276, 223, 224, + 225, 0, 0, 0, 226, 0, 0, 0, 0, 582, + 212, 213, 214, 215, 216, 0, 0, 0, 0, 0, + 217, 218, 219, 220, 275, 276, 223, 224, 225, 0, + 0, 0, 226, 0, 0, 0, 0, 586, 212, 213, + 214, 215, 216, 0, 0, 0, 0, 0, 217, 218, + 219, 220, 275, 276, 223, 224, 225, 0, 0, 0, + 226, 0, 0, 0, 0, 587, 212, 213, 214, 215, + 216, 0, 0, 0, 0, 0, 217, 218, 219, 220, + 275, 276, 223, 224, 225, 0, 0, 0, 226, 0, + 0, 0, 0, 588, 212, 213, 214, 215, 216, 0, + 0, 0, 0, 0, 217, 218, 219, 220, 275, 276, + 223, 224, 225, 0, 0, 0, 226, 0, 0, 0, + 0, 589, 212, 213, 214, 215, 216, 0, 0, 0, + 0, 0, 217, 218, 219, 220, 275, 276, 223, 224, + 225, 0, 0, 0, 226, 0, 0, 0, 0, 590, + 212, 213, 214, 215, 216, 0, 0, 0, 0, 0, + 217, 218, 219, 220, 275, 276, 223, 224, 225, 0, + 0, 0, 226, 0, 0, 0, 0, 632, 212, 213, + 214, 215, 216, 0, 0, 0, 0, 0, 217, 218, + 219, 220, 275, 276, 223, 224, 225, 0, 0, 0, + 226, 0, 0, 0, 0, 636, 212, 213, 214, 215, + 216, 0, 0, 0, 0, 0, 217, 218, 219, 220, + 275, 276, 223, 224, 225, 0, 0, 0, 226, 0, + 0, 0, 0, 690, 212, 213, 214, 215, 216, 0, + 0, 0, 0, 0, 217, 218, 219, 220, 275, 276, + 223, 224, 225, 0, 0, 0, 226, 0, 0, 0, + 0, 750, 212, 213, 214, 215, 216, 0, 0, 0, + 0, 0, 217, 218, 219, 220, 275, 276, 223, 224, + 225, 0, 0, 0, 226, 0, 0, 0, 0, 751, + 212, 213, 214, 215, 216, 0, 0, 0, 0, 0, + 217, 218, 219, 220, 275, 276, 223, 224, 225, 0, + 0, 0, 226, 0, 0, 0, 0, 752, 212, 213, + 214, 215, 216, 0, 0, 0, 0, 0, 217, 218, + 219, 220, 275, 276, 223, 224, 225, 0, 0, 0, + 226, 0, 0, 0, 0, 753, 212, 213, 214, 215, + 216, 0, 0, 0, 0, 0, 217, 218, 219, 220, + 275, 276, 223, 224, 225, 0, 0, 0, 226, 0, + 0, 0, 0, 849, 212, 213, 214, 215, 216, 0, + 0, 0, 0, 0, 217, 218, 219, 220, 275, 276, + 223, 224, 225, 0, 0, 0, 226, 0, 0, 0, + 0, 916, 212, 213, 214, 215, 216, 0, 0, 0, + 0, 0, 217, 218, 219, 220, 275, 276, 223, 224, + 225, 0, 0, 0, 226, 0, 0, 0, 0, 1044, + 212, 213, 214, 215, 216, 0, 0, 0, 0, 0, + 217, 218, 219, 220, 275, 276, 223, 224, 225, 0, + 0, 0, 226, 0, 0, 0, 0, 1048, 212, 213, + 214, 215, 216, 0, 0, 0, 0, 0, 217, 218, + 219, 220, 275, 276, 223, 224, 225, 0, 0, 0, + 226, 0, 0, 0, 0, 1050, 212, 213, 214, 215, + 216, 0, 0, 0, 0, 0, 217, 218, 219, 220, + 275, 276, 223, 224, 225, 0, 0, 0, 226, 0, + 0, 0, 0, 1181, 212, 213, 214, 215, 216, 0, + 0, 0, 0, 0, 217, 218, 219, 220, 275, 276, + 223, 224, 225, 0, 0, 0, 226, 0, 0, 0, + 0, 1183, 212, 213, 214, 215, 216, 0, 0, 0, + 0, 0, 217, 218, 219, 220, 275, 276, 223, 224, + 225, 0, 0, 0, 226, 0, 0, 0, 0, 1185, + 212, 213, 214, 215, 216, 0, 0, 0, 0, 0, + 217, 218, 219, 220, 275, 276, 223, 224, 225, 0, + 0, 0, 226, 0, 0, 0, 0, 1208, 212, 213, + 214, 215, 216, 0, 0, 0, 0, 0, 217, 218, + 219, 220, 275, 276, 223, 224, 225, 0, 0, 0, + 226, 0, 0, 0, 0, 1209, 212, 213, 214, 215, + 216, 0, 0, 0, 0, 0, 217, 218, 219, 220, + 275, 276, 223, 224, 225, 0, 0, 0, 226, 0, + 0, 0, 0, 1210, 212, 213, 214, 215, 216, 0, + 0, 0, 0, 0, 217, 218, 219, 220, 275, 276, + 223, 224, 225, 0, 0, 0, 226, 0, 0, 0, + 0, 1363, 212, 213, 214, 215, 216, 0, 0, 0, + 0, 0, 217, 218, 219, 220, 275, 276, 223, 224, + 225, 0, 0, 0, 226, 0, 0, 0, 0, 1364, + 212, 213, 214, 215, 216, 0, 0, 0, 0, 0, + 217, 218, 219, 220, 275, 276, 223, 224, 225, 0, + 0, 0, 226, 0, 0, 0, 0, 1365, 212, 213, + 214, 215, 216, 0, 0, 0, 0, 0, 217, 218, + 219, 220, 275, 276, 223, 224, 225, 0, 0, 0, + 226, 0, 0, 0, 0, 1444, 212, 213, 214, 215, + 216, 0, 0, 0, 0, 0, 217, 218, 219, 220, + 275, 276, 223, 224, 225, 0, 0, 0, 226, 0, + 0, 0, 0, 1445, 212, 213, 214, 215, 216, 0, + 0, 0, 0, 0, 217, 218, 219, 220, 275, 276, + 223, 224, 225, 0, 0, 0, 226, 0, 0, 0, + 0, 1446, 212, 213, 214, 215, 216, 0, 0, 0, + 0, 0, 217, 218, 219, 220, 275, 276, 223, 224, + 225, 0, 0, 0, 226, 0, 0, 0, 0, 1492, + 212, 213, 214, 215, 216, 0, 0, 0, 0, 0, + 217, 218, 219, 220, 275, 276, 223, 224, 225, 0, + 0, 0, 226, 0, 0, 0, 0, 1493, 212, 213, + 214, 215, 216, 0, 0, 0, 0, 0, 217, 218, + 219, 220, 275, 276, 223, 224, 225, 0, 0, 0, + 226, 0, 0, 0, 0, 1494, 212, 213, 214, 215, + 216, 0, 0, 0, 0, 0, 217, 218, 219, 220, + 275, 276, 223, 224, 225, 0, 0, 0, 226, 0, + 0, 0, 456, 212, 213, 214, 215, 216, 0, 0, + 0, 0, 0, 217, 218, 219, 220, 275, 276, 223, + 224, 225, 0, 0, 0, 226, 0, 0, 0, 457, + 212, 213, 214, 215, 216, 0, 0, 0, 0, 0, + 217, 218, 219, 220, 275, 276, 223, 224, 225, 0, + 0, 0, 226, 0, 0, 0, 499, 212, 213, 214, + 215, 216, 0, 0, 0, 0, 0, 217, 218, 219, + 220, 275, 276, 223, 224, 225, 0, 0, 0, 226, + 0, 0, 0, 506, 212, 213, 214, 215, 216, 0, + 0, 0, 0, 0, 217, 218, 219, 220, 275, 276, + 223, 224, 225, 0, 0, 0, 226, 0, 0, 0, + 507, 212, 213, 214, 215, 216, 0, 0, 0, 0, + 0, 217, 218, 219, 220, 275, 276, 223, 224, 225, + 0, 0, 0, 226, 510, 0, 0, 508, 212, 213, + 214, 215, 216, 0, 0, 0, 0, 0, 217, 218, + 219, 220, 275, 276, 223, 224, 225, 0, 0, 0, + 226, 212, 213, 214, 215, 216, 0, 0, 0, 0, + 0, 217, 218, 219, 220, 275, 276, 223, 224, 225, + 0, 0, 0, 226, 0, 0, 0, 598, 212, 213, + 214, 215, 216, 0, 0, 0, 0, 0, 217, 218, + 219, 220, 275, 276, 223, 224, 225, 0, 0, 0, + 226, 0, 0, 0, 599, 212, 213, 214, 215, 216, + 0, 0, 0, 0, 0, 217, 218, 219, 220, 275, + 276, 223, 224, 225, 0, 0, 0, 226, 0, 0, + 0, 600, 212, 213, 214, 215, 216, 0, 0, 0, + 0, 0, 217, 218, 219, 220, 275, 276, 223, 224, + 225, 0, 0, 0, 226, 0, 0, 0, 718, 212, + 213, 214, 215, 216, 0, 0, 0, 0, 0, 217, + 218, 219, 220, 275, 276, 223, 224, 225, 0, 0, + 0, 226, 0, 0, 0, 719, 212, 213, 214, 215, + 216, 0, 0, 0, 0, 0, 217, 218, 219, 220, + 275, 276, 223, 224, 225, 0, 0, 0, 226, 0, + 0, 0, 846, 212, 213, 214, 215, 216, 0, 0, + 0, 0, 0, 217, 218, 219, 220, 275, 276, 223, + 224, 225, 0, 0, 0, 226, 0, 0, 0, 847, + 212, 213, 214, 215, 216, 0, 0, 0, 0, 0, + 217, 218, 219, 220, 275, 276, 223, 224, 225, 0, + 0, 0, 226, 0, 0, 0, 860, 212, 213, 214, + 215, 216, 0, 0, 0, 0, 0, 217, 218, 219, + 220, 275, 276, 223, 224, 225, 0, 0, 0, 226, + 0, 0, 0, 861, 212, 213, 214, 215, 216, 0, + 0, 0, 0, 0, 217, 218, 219, 220, 275, 276, + 223, 224, 225, 0, 0, 0, 226, 0, 0, 0, + 901, 212, 213, 214, 215, 216, 0, 0, 0, 0, + 0, 217, 218, 219, 220, 275, 276, 223, 224, 225, + 0, 0, 0, 226, 0, 0, 0, 928, 212, 213, + 214, 215, 216, 0, 0, 0, 0, 0, 217, 218, + 219, 220, 275, 276, 223, 224, 225, 0, 0, 0, + 226, 0, 0, 0, 929, 212, 213, 214, 215, 216, + 0, 0, 0, 0, 0, 217, 218, 219, 220, 275, + 276, 223, 224, 225, 0, 0, 0, 226, 0, 0, + 0, 930, 212, 213, 214, 215, 216, 0, 0, 0, + 0, 0, 217, 218, 219, 220, 275, 276, 223, 224, + 225, 0, 0, 0, 226, 0, 0, 0, 931, 212, + 213, 214, 215, 216, 0, 0, 0, 0, 0, 217, + 218, 219, 220, 275, 276, 223, 224, 225, 0, 0, + 0, 226, 0, 0, 0, 932, 212, 213, 214, 215, + 216, 0, 0, 0, 0, 0, 217, 218, 219, 220, + 275, 276, 223, 224, 225, 0, 0, 0, 226, 0, + 0, 0, 933, 212, 213, 214, 215, 216, 0, 0, + 0, 0, 0, 217, 218, 219, 220, 275, 276, 223, + 224, 225, 0, 0, 0, 226, 0, 0, 0, 934, + 212, 213, 214, 215, 216, 0, 0, 0, 0, 0, + 217, 218, 219, 220, 275, 276, 223, 224, 225, 0, + 0, 0, 226, 0, 0, 0, 935, 212, 213, 214, + 215, 216, 0, 0, 0, 0, 0, 217, 218, 219, + 220, 275, 276, 223, 224, 225, 0, 0, 0, 226, + 0, 0, 0, 936, 212, 213, 214, 215, 216, 0, + 0, 0, 0, 0, 217, 218, 219, 220, 275, 276, + 223, 224, 225, 0, 0, 0, 226, 0, 0, 0, + 937, 212, 213, 214, 215, 216, 0, 0, 0, 0, + 0, 217, 218, 219, 220, 275, 276, 223, 224, 225, + 0, 0, 0, 226, 0, 0, 0, 938, 212, 213, + 214, 215, 216, 0, 0, 0, 0, 0, 217, 218, + 219, 220, 275, 276, 223, 224, 225, 0, 0, 0, + 226, 0, 0, 0, 939, 212, 213, 214, 215, 216, + 0, 0, 0, 0, 0, 217, 218, 219, 220, 275, + 276, 223, 224, 225, 0, 0, 0, 226, 0, 0, + 0, 996, 212, 213, 214, 215, 216, 0, 0, 0, + 0, 0, 217, 218, 219, 220, 275, 276, 223, 224, + 225, 0, 0, 0, 226, 0, 0, 0, 1024, 212, + 213, 214, 215, 216, 0, 0, 0, 0, 0, 217, + 218, 219, 220, 275, 276, 223, 224, 225, 0, 0, + 0, 226, 0, 0, 0, 1025, 212, 213, 214, 215, + 216, 0, 0, 0, 0, 0, 217, 218, 219, 220, + 275, 276, 223, 224, 225, 0, 0, 0, 226, 0, + 0, 0, 1038, 212, 213, 214, 215, 216, 0, 0, + 0, 0, 0, 217, 218, 219, 220, 275, 276, 223, + 224, 225, 0, 0, 0, 226, 0, 0, 0, 1049, + 212, 213, 214, 215, 216, 0, 0, 0, 0, 0, + 217, 218, 219, 220, 275, 276, 223, 224, 225, 0, + 0, 0, 226, 0, 0, 0, 1054, 212, 213, 214, + 215, 216, 0, 0, 0, 0, 0, 217, 218, 219, + 220, 275, 276, 223, 224, 225, 0, 0, 0, 226, + 0, 0, 0, 1057, 212, 213, 214, 215, 216, 0, + 0, 0, 0, 0, 217, 218, 219, 220, 275, 276, + 223, 224, 225, 0, 0, 0, 226, 0, 0, 0, + 1077, 212, 213, 214, 215, 216, 0, 0, 0, 0, + 0, 217, 218, 219, 220, 275, 276, 223, 224, 225, + 0, 0, 0, 226, 0, 0, 0, 1088, 212, 213, + 214, 215, 216, 0, 0, 0, 0, 0, 217, 218, + 219, 220, 275, 276, 223, 224, 225, 0, 0, 0, + 226, 0, 0, 0, 1089, 212, 213, 214, 215, 216, + 0, 0, 0, 0, 0, 217, 218, 219, 220, 275, + 276, 223, 224, 225, 0, 0, 0, 226, 0, 0, + 0, 1090, 212, 213, 214, 215, 216, 0, 0, 0, + 0, 0, 217, 218, 219, 220, 275, 276, 223, 224, + 225, 0, 0, 0, 226, 0, 0, 0, 1091, 212, + 213, 214, 215, 216, 0, 0, 0, 0, 0, 217, + 218, 219, 220, 275, 276, 223, 224, 225, 0, 0, + 0, 226, 0, 0, 0, 1092, 212, 213, 214, 215, + 216, 0, 0, 0, 0, 0, 217, 218, 219, 220, + 275, 276, 223, 224, 225, 0, 0, 0, 226, 0, + 0, 0, 1093, 212, 213, 214, 215, 216, 0, 0, + 0, 0, 0, 217, 218, 219, 220, 275, 276, 223, + 224, 225, 0, 0, 0, 226, 0, 0, 0, 1094, + 212, 213, 214, 215, 216, 0, 0, 0, 0, 0, + 217, 218, 219, 220, 275, 276, 223, 224, 225, 0, + 0, 0, 226, 0, 0, 0, 1095, 212, 213, 214, + 215, 216, 0, 0, 0, 0, 0, 217, 218, 219, + 220, 275, 276, 223, 224, 225, 0, 0, 0, 226, + 0, 0, 0, 1096, 212, 213, 214, 215, 216, 0, + 0, 0, 0, 0, 217, 218, 219, 220, 275, 276, + 223, 224, 225, 0, 0, 0, 226, 0, 0, 0, + 1097, 212, 213, 214, 215, 216, 0, 0, 0, 0, + 0, 217, 218, 219, 220, 275, 276, 223, 224, 225, + 0, 0, 0, 226, 0, 0, 0, 1098, 212, 213, + 214, 215, 216, 0, 0, 0, 0, 0, 217, 218, + 219, 220, 275, 276, 223, 224, 225, 0, 0, 0, + 226, 0, 0, 0, 1099, 212, 213, 214, 215, 216, + 0, 0, 0, 0, 0, 217, 218, 219, 220, 275, + 276, 223, 224, 225, 0, 0, 0, 226, 0, 0, + 0, 1148, 212, 213, 214, 215, 216, 0, 0, 0, + 0, 0, 217, 218, 219, 220, 275, 276, 223, 224, + 225, 0, 0, 0, 226, 0, 0, 0, 1178, 212, + 213, 214, 215, 216, 0, 0, 0, 0, 0, 217, + 218, 219, 220, 275, 276, 223, 224, 225, 0, 0, + 0, 226, 0, 0, 0, 1199, 212, 213, 214, 215, + 216, 0, 0, 0, 0, 0, 217, 218, 219, 220, + 275, 276, 223, 224, 225, 0, 0, 0, 226, 0, + 0, 0, 1200, 212, 213, 214, 215, 216, 0, 0, + 0, 0, 0, 217, 218, 219, 220, 275, 276, 223, + 224, 225, 0, 0, 0, 226, 0, 0, 0, 1201, + 212, 213, 214, 215, 216, 0, 0, 0, 0, 0, + 217, 218, 219, 220, 275, 276, 223, 224, 225, 0, + 0, 0, 226, 0, 0, 0, 1202, 212, 213, 214, + 215, 216, 0, 0, 0, 0, 0, 217, 218, 219, + 220, 275, 276, 223, 224, 225, 0, 0, 0, 226, + 0, 0, 0, 1203, 212, 213, 214, 215, 216, 0, + 0, 0, 0, 0, 217, 218, 219, 220, 275, 276, + 223, 224, 225, 0, 0, 0, 226, 0, 0, 0, + 1204, 212, 213, 214, 215, 216, 0, 0, 0, 0, + 0, 217, 218, 219, 220, 275, 276, 223, 224, 225, + 0, 0, 0, 226, 0, 0, 0, 1205, 212, 213, + 214, 215, 216, 0, 0, 0, 0, 0, 217, 218, + 219, 220, 275, 276, 223, 224, 225, 0, 0, 0, + 226, 0, 0, 0, 1206, 212, 213, 214, 215, 216, + 0, 0, 0, 0, 0, 217, 218, 219, 220, 275, + 276, 223, 224, 225, 0, 0, 0, 226, 0, 0, + 0, 1207, 212, 213, 214, 215, 216, 0, 0, 0, + 0, 0, 217, 218, 219, 220, 275, 276, 223, 224, + 225, 0, 0, 0, 226, 0, 0, 0, 1261, 212, + 213, 214, 215, 216, 0, 0, 0, 0, 0, 217, + 218, 219, 220, 275, 276, 223, 224, 225, 0, 0, + 0, 226, 0, 0, 0, 1262, 212, 213, 214, 215, + 216, 0, 0, 0, 0, 0, 217, 218, 219, 220, + 275, 276, 223, 224, 225, 0, 0, 0, 226, 0, + 0, 0, 1263, 212, 213, 214, 215, 216, 0, 0, + 0, 0, 0, 217, 218, 219, 220, 275, 276, 223, + 224, 225, 0, 0, 0, 226, 0, 0, 0, 1264, + 212, 213, 214, 215, 216, 0, 0, 0, 0, 0, + 217, 218, 219, 220, 275, 276, 223, 224, 225, 0, + 0, 0, 226, 0, 0, 0, 1265, 212, 213, 214, + 215, 216, 0, 0, 0, 0, 0, 217, 218, 219, + 220, 275, 276, 223, 224, 225, 0, 0, 0, 226, + 0, 0, 0, 1266, 212, 213, 214, 215, 216, 0, + 0, 0, 0, 0, 217, 218, 219, 220, 275, 276, + 223, 224, 225, 0, 0, 0, 226, 0, 0, 0, + 1267, 212, 213, 214, 215, 216, 0, 0, 0, 0, + 0, 217, 218, 219, 220, 275, 276, 223, 224, 225, + 0, 0, 0, 226, 0, 0, 0, 1268, 212, 213, + 214, 215, 216, 0, 0, 0, 0, 0, 217, 218, + 219, 220, 275, 276, 223, 224, 225, 0, 0, 0, + 226, 0, 0, 0, 1269, 212, 213, 214, 215, 216, + 0, 0, 0, 0, 0, 217, 218, 219, 220, 275, + 276, 223, 224, 225, 0, 0, 0, 226, 0, 0, + 0, 1312, 212, 213, 214, 215, 216, 0, 0, 0, + 0, 0, 217, 218, 219, 220, 275, 276, 223, 224, + 225, 0, 0, 0, 226, 0, 0, 0, 1313, 212, + 213, 214, 215, 216, 0, 0, 0, 0, 0, 217, + 218, 219, 220, 275, 276, 223, 224, 225, 0, 0, + 0, 226, 0, 0, 0, 1314, 212, 213, 214, 215, + 216, 0, 0, 0, 0, 0, 217, 218, 219, 220, + 275, 276, 223, 224, 225, 0, 0, 0, 226, 0, + 0, 0, 1315, 212, 213, 214, 215, 216, 0, 0, + 0, 0, 0, 217, 218, 219, 220, 275, 276, 223, + 224, 225, 0, 0, 0, 226, 0, 0, 0, 1316, + 212, 213, 214, 215, 216, 0, 0, 0, 0, 0, + 217, 218, 219, 220, 275, 276, 223, 224, 225, 0, + 0, 0, 226, 0, 0, 0, 1317, 212, 213, 214, + 215, 216, 0, 0, 0, 0, 0, 217, 218, 219, + 220, 275, 276, 223, 224, 225, 0, 0, 0, 226, + 0, 0, 0, 1318, 212, 213, 214, 215, 216, 0, + 0, 0, 0, 0, 217, 218, 219, 220, 275, 276, + 223, 224, 225, 0, 0, 0, 226, 0, 0, 0, + 1319, 212, 213, 214, 215, 216, 0, 0, 0, 0, + 0, 217, 218, 219, 220, 275, 276, 223, 224, 225, + 0, 0, 0, 226, 0, 0, 0, 1320, 212, 213, + 214, 215, 216, 0, 0, 0, 0, 0, 217, 218, + 219, 220, 275, 276, 223, 224, 225, 0, 0, 0, + 226, 0, 0, 0, 1353, 212, 213, 214, 215, 216, + 0, 0, 0, 0, 0, 217, 218, 219, 220, 275, + 276, 223, 224, 225, 0, 0, 0, 226, 0, 0, + 0, 1357, 212, 213, 214, 215, 216, 0, 0, 0, + 0, 0, 217, 218, 219, 220, 275, 276, 223, 224, + 225, 0, 0, 0, 226, 0, 0, 0, 1358, 212, + 213, 214, 215, 216, 0, 0, 0, 0, 0, 217, + 218, 219, 220, 275, 276, 223, 224, 225, 0, 0, + 0, 226, 0, 0, 0, 1359, 212, 213, 214, 215, + 216, 0, 0, 0, 0, 0, 217, 218, 219, 220, + 275, 276, 223, 224, 225, 0, 0, 0, 226, 0, + 0, 0, 1360, 212, 213, 214, 215, 216, 0, 0, + 0, 0, 0, 217, 218, 219, 220, 275, 276, 223, + 224, 225, 0, 0, 0, 226, 0, 0, 0, 1361, + 212, 213, 214, 215, 216, 0, 0, 0, 0, 0, + 217, 218, 219, 220, 275, 276, 223, 224, 225, 0, + 0, 0, 226, 0, 0, 0, 1362, 212, 213, 214, + 215, 216, 0, 0, 0, 0, 0, 217, 218, 219, + 220, 275, 276, 223, 224, 225, 0, 0, 0, 226, + 0, 0, 0, 1380, 212, 213, 214, 215, 216, 0, + 0, 0, 0, 0, 217, 218, 219, 220, 275, 276, + 223, 224, 225, 0, 0, 0, 226, 0, 0, 0, + 1385, 212, 213, 214, 215, 216, 0, 0, 0, 0, + 0, 217, 218, 219, 220, 275, 276, 223, 224, 225, + 0, 0, 0, 226, 0, 0, 0, 1386, 212, 213, + 214, 215, 216, 0, 0, 0, 0, 0, 217, 218, + 219, 220, 275, 276, 223, 224, 225, 0, 0, 0, + 226, 0, 0, 0, 1387, 212, 213, 214, 215, 216, + 0, 0, 0, 0, 0, 217, 218, 219, 220, 275, + 276, 223, 224, 225, 0, 0, 0, 226, 0, 0, + 0, 1388, 212, 213, 214, 215, 216, 0, 0, 0, + 0, 0, 217, 218, 219, 220, 275, 276, 223, 224, + 225, 0, 0, 0, 226, 0, 0, 0, 1389, 212, + 213, 214, 215, 216, 0, 0, 0, 0, 0, 217, + 218, 219, 220, 275, 276, 223, 224, 225, 0, 0, + 0, 226, 0, 0, 0, 1390, 212, 213, 214, 215, + 216, 0, 0, 0, 0, 0, 217, 218, 219, 220, + 275, 276, 223, 224, 225, 0, 0, 0, 226, 0, + 0, 0, 1413, 212, 213, 214, 215, 216, 0, 0, + 0, 0, 0, 217, 218, 219, 220, 275, 276, 223, + 224, 225, 0, 0, 0, 226, 0, 0, 0, 1414, + 212, 213, 214, 215, 216, 0, 0, 0, 0, 0, + 217, 218, 219, 220, 275, 276, 223, 224, 225, 0, + 0, 0, 226, 0, 0, 0, 1415, 212, 213, 214, + 215, 216, 0, 0, 0, 0, 0, 217, 218, 219, + 220, 275, 276, 223, 224, 225, 0, 0, 0, 226, + 0, 0, 0, 1416, 212, 213, 214, 215, 216, 0, + 0, 0, 0, 0, 217, 218, 219, 220, 275, 276, + 223, 224, 225, 0, 0, 0, 226, 0, 0, 0, + 1417, 212, 213, 214, 215, 216, 0, 0, 0, 0, + 0, 217, 218, 219, 220, 275, 276, 223, 224, 225, + 0, 0, 0, 226, 0, 0, 0, 1418, 212, 213, + 214, 215, 216, 0, 0, 0, 0, 0, 217, 218, + 219, 220, 275, 276, 223, 224, 225, 0, 0, 0, + 226, 0, 0, 0, 1441, 212, 213, 214, 215, 216, + 0, 0, 0, 0, 0, 217, 218, 219, 220, 275, + 276, 223, 224, 225, 0, 0, 0, 226, 0, 0, + 0, 1442, 212, 213, 214, 215, 216, 0, 0, 0, + 0, 0, 217, 218, 219, 220, 275, 276, 223, 224, + 225, 0, 0, 0, 226, 0, 0, 0, 1443, 212, + 213, 214, 215, 216, 0, 0, 0, 0, 0, 217, + 218, 219, 220, 275, 276, 223, 224, 225, 0, 0, + 0, 226, 0, 0, 0, 1455, 212, 213, 214, 215, + 216, 0, 0, 0, 0, 0, 217, 218, 219, 220, + 275, 276, 223, 224, 225, 0, 0, 0, 226, 0, + 0, 0, 1456, 212, 213, 214, 215, 216, 0, 0, + 0, 0, 0, 217, 218, 219, 220, 275, 276, 223, + 224, 225, 0, 0, 0, 226, 0, 0, 0, 1457, + 212, 213, 214, 215, 216, 0, 0, 0, 0, 0, + 217, 218, 219, 220, 275, 276, 223, 224, 225, 0, + 0, 0, 226, 0, 0, 0, 1472, 212, 213, 214, + 215, 216, 0, 0, 0, 0, 0, 217, 218, 219, + 220, 275, 276, 223, 224, 225, 0, 0, 0, 226, + 0, 0, 0, 1473, 212, 213, 214, 215, 216, 0, + 0, 0, 0, 0, 217, 218, 219, 220, 275, 276, + 223, 224, 225, 0, 0, 0, 226, 0, 0, 0, + 1474, 212, 213, 214, 215, 216, 0, 0, 0, 0, + 0, 217, 218, 219, 220, 275, 276, 223, 224, 225, + 0, 0, 0, 226 }; static const short yycheck[] = { 7, - 116, 311, 1002, 4, 4, 4, 4, 38, 936, 6, - 82, 6, 4, 6, 59, 4, 142, 4, 26, 61, - 59, 1063, 4, 61, 66, 4, 169, 169, 66, 6, - 6, 6, 175, 175, 5, 67, 68, 69, 70, 71, - 72, 73, 74, 75, 76, 77, 78, 161, 162, 161, - 162, 7, 45, 161, 162, 161, 162, 861, 6, 173, - 161, 162, 176, 175, 6, 173, 870, 173, 176, 6, - 176, 6, 64, 877, 175, 64, 6, 64, 161, 162, - 161, 162, 163, 164, 165, 64, 161, 162, 169, 6, - 161, 162, 175, 85, 102, 103, 104, 105, 106, 174, - 172, 1029, 173, 85, 161, 162, 6, 6, 161, 162, - 7, 119, 120, 121, 122, 123, 172, 174, 173, 175, - 173, 6, 177, 131, 132, 133, 134, 172, 136, 137, - 175, 139, 140, 141, 176, 143, 175, 1179, 176, 6, - 173, 172, 61, 176, 176, 161, 162, 66, 7, 43, - 44, 159, 160, 7, 6, 34, 6, 173, 37, 38, - 34, 161, 162, 37, 161, 162, 161, 162, 176, 172, - 178, 179, 172, 6, 175, 175, 175, 175, 186, 187, + 116, 312, 1010, 4, 4, 4, 4, 38, 942, 6, + 82, 4, 4, 59, 143, 4, 4, 59, 26, 1072, + 6, 61, 61, 6, 4, 7, 66, 66, 4, 162, + 163, 6, 43, 44, 5, 148, 149, 150, 151, 152, + 6, 0, 1, 176, 3, 158, 159, 160, 161, 162, + 163, 164, 165, 166, 6, 170, 867, 170, 42, 45, + 34, 176, 6, 37, 38, 876, 40, 180, 162, 163, + 6, 64, 883, 7, 6, 64, 64, 6, 34, 6, + 174, 37, 38, 177, 64, 170, 174, 162, 163, 6, + 178, 176, 7, 85, 102, 103, 104, 105, 106, 174, + 173, 173, 177, 176, 1038, 85, 162, 163, 8, 162, + 163, 119, 120, 121, 122, 123, 34, 6, 6, 37, + 176, 174, 6, 131, 132, 133, 134, 173, 136, 137, + 176, 139, 140, 141, 176, 143, 1189, 177, 177, 6, + 61, 6, 173, 173, 155, 66, 174, 158, 173, 177, + 173, 159, 160, 164, 113, 114, 115, 116, 117, 118, + 119, 120, 162, 163, 173, 162, 163, 176, 176, 6, + 178, 174, 180, 173, 177, 176, 176, 176, 176, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, - 198, 199, 200, 201, 202, 203, 204, 205, 206, 175, - 175, 172, 172, 211, 212, 213, 214, 215, 216, 217, - 218, 219, 220, 221, 222, 223, 224, 225, 226, 161, - 162, 6, 7, 1223, 161, 162, 1030, 3, 4, 172, - 1034, 161, 162, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, - 26, 27, 28, 29, 30, 42, 153, 154, 155, 156, - 172, 155, 161, 162, 158, 34, 274, 275, 37, 38, - 164, 40, 280, 170, 171, 283, 161, 162, 173, 287, - 177, 176, 172, 291, 292, 293, 172, 295, 296, 297, - 298, 299, 300, 301, 153, 154, 155, 156, 38, 153, - 154, 155, 156, 161, 162, 313, 314, 315, 172, 161, - 162, 170, 171, 161, 162, 173, 170, 171, 326, 172, - 3, 4, 5, 331, 38, 173, 9, 10, 11, 12, + 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, + 176, 176, 173, 6, 212, 213, 214, 215, 216, 217, + 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, + 154, 155, 156, 157, 176, 1233, 174, 7, 1039, 177, + 162, 163, 1043, 162, 163, 162, 163, 171, 172, 154, + 155, 156, 157, 173, 178, 162, 163, 173, 148, 149, + 150, 151, 152, 6, 7, 38, 171, 172, 158, 159, + 160, 161, 162, 163, 164, 165, 166, 275, 276, 173, + 170, 162, 163, 281, 162, 163, 284, 177, 162, 163, + 288, 171, 172, 174, 292, 293, 294, 173, 296, 297, + 298, 299, 300, 301, 302, 162, 163, 174, 309, 310, + 177, 162, 163, 162, 163, 173, 314, 315, 316, 40, + 321, 0, 1, 174, 3, 38, 177, 176, 174, 327, + 38, 177, 3, 4, 5, 333, 174, 175, 9, 10, + 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, + 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, + 77, 78, 174, 175, 1175, 1176, 1177, 1178, 162, 163, + 176, 1182, 162, 163, 154, 155, 156, 157, 164, 165, + 166, 175, 51, 52, 170, 175, 162, 163, 162, 163, + 142, 171, 172, 37, 38, 147, 40, 176, 174, 174, + 174, 5, 177, 414, 415, 416, 414, 415, 416, 417, + 418, 174, 176, 421, 177, 423, 174, 174, 170, 177, + 177, 38, 174, 175, 113, 114, 115, 116, 117, 118, + 119, 120, 440, 162, 163, 162, 163, 445, 174, 1250, + 1251, 177, 453, 1254, 176, 174, 6, 174, 456, 457, + 139, 140, 174, 142, 5, 177, 6, 465, 151, 152, + 177, 171, 172, 5, 472, 158, 159, 160, 161, 162, + 163, 164, 165, 166, 482, 483, 173, 170, 4, 487, + 174, 162, 163, 177, 53, 54, 55, 56, 169, 58, + 174, 499, 173, 177, 1305, 176, 4, 38, 506, 507, + 508, 509, 178, 173, 162, 163, 164, 165, 166, 173, + 3, 4, 170, 173, 173, 826, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, - 23, 24, 25, 26, 27, 28, 29, 30, 161, 162, - 172, 0, 1, 175, 3, 97, 98, 99, 100, 101, - 173, 1165, 1166, 1167, 1168, 38, 37, 38, 1172, 40, - 40, 147, 148, 149, 150, 151, 173, 173, 5, 176, - 176, 157, 158, 159, 160, 161, 162, 163, 164, 165, - 6, 6, 168, 169, 173, 173, 172, 176, 176, 175, - 173, 173, 174, 176, 412, 413, 414, 415, 416, 150, - 151, 419, 175, 421, 308, 309, 157, 158, 159, 160, - 161, 162, 163, 164, 165, 175, 320, 175, 169, 38, - 438, 175, 163, 164, 165, 443, 1240, 1241, 169, 173, - 1244, 173, 176, 5, 176, 172, 454, 455, 53, 54, - 55, 56, 172, 58, 173, 463, 173, 176, 173, 176, - 6, 176, 470, 112, 113, 114, 115, 116, 117, 118, - 119, 173, 480, 5, 176, 4, 484, 173, 161, 162, - 176, 173, 4, 168, 176, 168, 171, 8, 496, 172, - 38, 1295, 175, 170, 171, 503, 504, 505, 506, 67, - 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, - 78, 821, 51, 52, 173, 174, 177, 6, 412, 413, - 414, 172, 170, 171, 5, 172, 172, 172, 172, 172, - 172, 172, 147, 148, 149, 150, 151, 545, 546, 547, - 172, 1345, 157, 158, 159, 160, 161, 162, 163, 164, - 165, 172, 172, 172, 169, 172, 672, 451, 172, 172, - 172, 50, 172, 6, 572, 573, 172, 6, 172, 172, - 1374, 172, 172, 6, 5, 172, 172, 175, 3, 4, - 5, 589, 172, 172, 9, 10, 11, 12, 13, 14, - 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, - 25, 26, 27, 28, 29, 30, 175, 172, 176, 175, - 177, 172, 172, 172, 172, 6, 6, 625, 626, 6, - 628, 175, 175, 175, 6, 172, 147, 148, 149, 150, - 151, 169, 172, 641, 642, 172, 157, 158, 159, 160, - 161, 162, 163, 164, 165, 172, 172, 172, 169, 172, - 5, 7, 546, 174, 172, 172, 172, 1461, 147, 148, - 149, 150, 151, 172, 172, 172, 172, 561, 157, 158, - 159, 160, 161, 162, 163, 164, 165, 172, 172, 172, - 169, 172, 172, 993, 6, 172, 172, 172, 172, 172, - 172, 699, 172, 172, 172, 172, 172, 172, 7, 173, - 173, 595, 596, 597, 712, 174, 714, 715, 178, 177, - 173, 7, 7, 83, 722, 723, 724, 725, 726, 727, - 728, 729, 730, 731, 732, 733, 178, 5, 5, 5, - 5, 5, 5, 741, 5, 743, 161, 162, 6, 5, - 5, 749, 5, 168, 5, 5, 5, 172, 5, 643, - 175, 5, 5, 5, 5, 5, 5, 5, 652, 5, - 147, 148, 149, 150, 151, 5, 130, 883, 5, 5, - 157, 158, 159, 160, 161, 162, 163, 164, 165, 5, - 5, 3, 169, 791, 5, 5, 157, 158, 159, 160, - 161, 162, 163, 164, 165, 803, 3, 4, 169, 5, - 808, 809, 9, 10, 11, 12, 13, 14, 15, 16, - 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, - 27, 28, 29, 30, 6, 147, 148, 149, 150, 151, - 6, 6, 4, 841, 842, 157, 158, 159, 160, 161, - 162, 163, 164, 165, 852, 7, 854, 169, 6, 178, - 7, 7, 7, 6, 6, 176, 864, 7, 7, 7, - 176, 175, 175, 871, 872, 873, 7, 172, 7, 173, - 878, 173, 144, 173, 882, 173, 884, 5, 177, 147, - 148, 149, 150, 151, 173, 173, 173, 895, 173, 157, - 158, 159, 160, 161, 162, 163, 164, 165, 6, 6, - 6, 169, 796, 911, 173, 7, 173, 7, 7, 173, - 7, 173, 7, 7, 922, 923, 924, 925, 926, 927, - 928, 929, 930, 931, 932, 933, 173, 7, 822, 173, - 824, 173, 826, 174, 173, 173, 7, 945, 173, 173, - 173, 173, 173, 173, 173, 173, 173, 7, 7, 173, - 173, 7, 7, 7, 161, 162, 173, 173, 173, 7, - 172, 168, 175, 172, 142, 172, 7, 172, 175, 147, - 978, 979, 980, 981, 982, 983, 984, 172, 172, 987, - 988, 172, 172, 172, 6, 172, 172, 172, 172, 997, - 998, 999, 170, 140, 3, 3, 174, 175, 3, 163, - 3, 3, 3, 3, 3, 3, 3, 3, 1016, 1017, - 3, 3, 3, 3, 177, 1023, 5, 5, 3, 6, - 6, 175, 6, 6, 1032, 6, 6, 6, 173, 6, - 173, 84, 1040, 177, 174, 173, 173, 1045, 174, 174, - 1048, 147, 148, 149, 150, 151, 173, 173, 173, 173, - 6, 157, 158, 159, 160, 161, 162, 163, 164, 165, - 174, 174, 1070, 169, 173, 6, 178, 177, 173, 173, - 173, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, - 1088, 1089, 1090, 173, 978, 979, 980, 174, 173, 1097, - 173, 173, 173, 6, 173, 6, 174, 3, 4, 173, - 173, 6, 6, 9, 10, 11, 12, 13, 14, 15, + 23, 24, 25, 26, 27, 28, 29, 30, 549, 173, + 548, 549, 550, 173, 1355, 98, 99, 100, 101, 102, + 5, 174, 174, 564, 177, 177, 168, 173, 173, 171, + 676, 6, 173, 173, 173, 173, 173, 575, 576, 6, + 173, 173, 173, 1384, 158, 159, 160, 161, 162, 163, + 164, 165, 166, 173, 592, 173, 170, 598, 599, 600, + 3, 4, 5, 173, 173, 173, 9, 10, 11, 12, + 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, + 23, 24, 25, 26, 27, 28, 29, 30, 173, 6, + 628, 629, 5, 631, 8, 173, 173, 176, 173, 173, + 176, 6, 6, 176, 173, 173, 647, 645, 646, 173, + 173, 173, 178, 87, 6, 656, 176, 176, 176, 173, + 170, 173, 173, 5, 173, 148, 149, 150, 151, 152, + 1471, 173, 173, 173, 173, 158, 159, 160, 161, 162, + 163, 164, 165, 166, 173, 173, 169, 170, 173, 173, + 173, 173, 173, 176, 173, 173, 173, 173, 173, 6, + 1001, 173, 173, 173, 173, 703, 173, 173, 173, 173, + 173, 173, 173, 173, 7, 174, 7, 175, 716, 174, + 718, 719, 179, 174, 178, 7, 7, 83, 726, 727, + 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, + 176, 179, 5, 50, 5, 5, 5, 745, 746, 5, + 748, 5, 5, 5, 5, 5, 754, 5, 5, 162, + 163, 5, 5, 5, 5, 5, 169, 5, 5, 5, + 173, 5, 5, 176, 148, 149, 150, 151, 152, 5, + 131, 5, 5, 889, 158, 159, 160, 161, 162, 163, + 164, 165, 166, 5, 5, 3, 170, 6, 796, 5, + 801, 5, 5, 177, 6, 6, 4, 7, 7, 6, + 808, 7, 7, 6, 6, 813, 814, 7, 7, 7, + 179, 7, 177, 177, 566, 567, 827, 569, 829, 176, + 831, 573, 574, 176, 173, 7, 145, 174, 174, 174, + 174, 148, 149, 150, 151, 152, 174, 174, 846, 847, + 174, 158, 159, 160, 161, 162, 163, 164, 165, 166, + 858, 8, 860, 170, 174, 5, 174, 178, 174, 174, + 174, 174, 870, 174, 174, 174, 174, 174, 174, 877, + 878, 879, 174, 6, 174, 174, 884, 174, 630, 174, + 888, 633, 890, 7, 174, 174, 174, 174, 174, 174, + 7, 175, 174, 901, 7, 176, 7, 7, 7, 7, + 7, 653, 654, 7, 7, 7, 7, 659, 660, 917, + 6, 5, 7, 6, 666, 7, 668, 173, 173, 7, + 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, + 938, 939, 173, 173, 173, 173, 173, 141, 173, 3, + 948, 173, 694, 173, 696, 953, 173, 173, 3, 3, + 3, 3, 704, 705, 706, 3, 3, 709, 710, 711, + 712, 713, 714, 715, 3, 3, 3, 164, 3, 3, + 3, 3, 84, 3, 5, 986, 987, 988, 986, 987, + 988, 989, 990, 991, 992, 3, 6, 995, 996, 6, + 178, 148, 149, 150, 151, 152, 6, 1005, 1006, 1007, + 6, 158, 159, 160, 161, 162, 163, 164, 165, 166, + 6, 6, 6, 170, 176, 6, 1024, 1025, 6, 178, + 174, 174, 174, 1031, 175, 6, 175, 174, 6, 175, + 174, 174, 174, 1041, 175, 175, 174, 174, 174, 174, + 174, 1049, 174, 6, 175, 174, 1054, 174, 174, 1057, + 175, 174, 148, 149, 150, 151, 152, 179, 174, 6, + 174, 6, 158, 159, 160, 161, 162, 163, 164, 165, + 166, 1079, 178, 6, 170, 174, 6, 6, 6, 6, + 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, + 1098, 1099, 6, 6, 6, 6, 178, 6, 6, 1107, + 6, 853, 7, 4, 856, 84, 3, 6, 3, 861, + 6, 67, 68, 69, 70, 71, 72, 73, 74, 75, + 76, 77, 78, 164, 6, 6, 3, 6, 880, 3, + 6, 148, 149, 150, 151, 152, 6, 6, 3, 6, + 1148, 158, 159, 160, 161, 162, 163, 164, 165, 166, + 3, 3, 3, 170, 85, 176, 6, 148, 149, 150, + 151, 152, 7, 4, 177, 176, 1174, 158, 159, 160, + 161, 162, 163, 164, 165, 166, 6, 81, 175, 170, + 178, 174, 6, 175, 174, 174, 6, 174, 174, 6, + 175, 1199, 1200, 1201, 1202, 1203, 1204, 1205, 1206, 1207, + 175, 148, 149, 150, 151, 152, 174, 1215, 175, 175, + 174, 158, 159, 160, 161, 162, 163, 164, 165, 166, + 1228, 177, 1230, 170, 148, 149, 150, 151, 152, 175, + 174, 3, 6, 176, 158, 159, 160, 161, 162, 163, + 164, 165, 166, 6, 84, 3, 170, 6, 3, 6, + 174, 175, 6, 1261, 1262, 1263, 1264, 1265, 1266, 1267, + 1268, 1269, 1270, 1271, 1272, 6, 6, 1275, 6, 148, + 149, 150, 151, 152, 6, 1027, 5, 4, 1030, 158, + 159, 160, 161, 162, 163, 164, 165, 166, 178, 6, + 178, 170, 6, 5, 177, 1303, 1304, 6, 176, 1051, + 175, 174, 174, 174, 1312, 1313, 1314, 1315, 1316, 1317, + 1318, 1319, 1320, 1321, 174, 1323, 175, 1325, 174, 4, + 175, 1329, 64, 6, 148, 149, 150, 151, 152, 6, + 6, 174, 174, 1085, 158, 159, 160, 161, 162, 163, + 164, 165, 166, 174, 1352, 1353, 170, 6, 6, 1357, + 1358, 1359, 1360, 1361, 1362, 34, 35, 36, 37, 38, + 39, 40, 41, 6, 43, 6, 45, 46, 6, 48, + 49, 6, 1380, 6, 6, 5, 179, 1385, 1386, 1387, + 1388, 1389, 1390, 1391, 1392, 1393, 65, 5, 174, 177, + 174, 174, 81, 175, 175, 174, 174, 174, 174, 6, + 79, 80, 6, 176, 5, 1413, 1414, 1415, 1416, 1417, + 1418, 1419, 176, 1421, 176, 1423, 5, 177, 6, 1171, + 1172, 177, 174, 176, 174, 81, 175, 175, 6, 6, + 85, 178, 177, 1441, 1442, 1443, 6, 6, 6, 6, + 6, 6, 176, 174, 174, 147, 1198, 1455, 1456, 1457, + 1458, 1459, 1460, 174, 174, 6, 6, 176, 176, 138, + 176, 174, 6, 6, 1472, 1473, 1474, 1475, 175, 1477, + 6, 1479, 148, 149, 150, 151, 152, 6, 174, 174, + 174, 6, 158, 159, 160, 161, 162, 163, 164, 165, + 166, 1499, 1500, 1501, 170, 1247, 176, 6, 177, 6, + 1508, 176, 1510, 176, 1512, 3, 4, 175, 1260, 6, + 176, 9, 10, 11, 12, 13, 14, 15, 16, 17, + 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, + 28, 29, 30, 6, 176, 6, 176, 6, 6, 0, + 0, 602, 6, 6, 6, 1197, 851, 576, -1, 3, + 4, -1, -1, -1, 1306, 9, 10, 11, 12, 13, + 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, + 24, 25, 26, 27, 28, 29, 30, -1, -1, 148, + 149, 150, 151, 152, -1, -1, -1, -1, -1, 158, + 159, 160, 161, 162, 163, 164, 165, 166, -1, 3, + 4, 170, -1, -1, 1356, 9, 10, 11, 12, 13, + 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, + 24, 25, 26, 27, 28, 29, 30, 3, 4, -1, + -1, 1383, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, - 26, 27, 28, 29, 30, 147, 148, 149, 150, 151, - 1138, 6, 6, 6, 6, 157, 158, 159, 160, 161, - 162, 163, 164, 165, 6, 6, 6, 169, 177, 6, - 6, 3, 4, 6, 84, 4, 1164, 9, 10, 11, - 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, - 22, 23, 24, 25, 26, 27, 28, 29, 30, 7, - 3, 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1196, 1197, - 6, 147, 148, 149, 150, 151, 6, 1205, 3, 163, - 6, 157, 158, 159, 160, 161, 162, 163, 164, 165, - 1218, 6, 1220, 169, 3, 6, 3, 7, 6, 3, - 6, 6, 3, 3, 3, 175, 85, 34, 35, 36, - 37, 38, 39, 40, 41, 6, 43, 4, 45, 46, - 176, 48, 49, 1251, 1252, 1253, 1254, 1255, 1256, 1257, - 1258, 1259, 1260, 1261, 1262, 161, 162, 1265, 65, 175, - 81, 6, 168, 177, 174, 173, 172, 174, 6, 175, - 173, 173, 79, 80, 173, 173, 84, 174, 174, 173, - 175, 174, 174, 173, 173, 1293, 1294, 174, 6, 3, - 6, 6, 3, 6, 1302, 1303, 1304, 1305, 1306, 1307, - 1308, 1309, 1310, 1311, 6, 1313, 6, 1315, 6, 161, - 162, 1319, 6, 6, 6, 3, 168, 64, 5, 177, - 172, 6, 177, 6, 4, 176, 5, 175, 6, 173, - 137, 173, 173, 173, 1342, 1343, 174, 174, 173, 1347, - 1348, 1349, 1350, 1351, 1352, 34, 35, 36, 37, 38, - 39, 40, 41, 173, 43, 174, 45, 46, 4, 48, - 49, 173, 1370, 6, 6, 6, 6, 1375, 1376, 1377, - 1378, 1379, 1380, 1381, 1382, 1383, 65, 173, 6, 6, - 6, 6, 6, 6, 5, 563, 564, 5, 566, 6, - 79, 80, 570, 571, 176, 1403, 1404, 1405, 1406, 1407, - 1408, 1409, 178, 1411, 173, 1413, 174, 173, 173, 81, - 174, 173, 173, 173, 173, 6, 5, 175, 175, 175, - 5, 176, 6, 1431, 1432, 1433, 175, 173, 176, 173, - 81, 174, 174, 6, 6, 85, 177, 1445, 1446, 1447, - 1448, 1449, 1450, 176, 6, 6, 6, 6, 137, 627, - 6, 175, 630, 173, 1462, 1463, 1464, 1465, 6, 1467, - 146, 1469, 6, 173, 173, 173, 6, 6, 175, 175, - 175, 649, 650, 174, 173, 6, 6, 655, 656, 6, - 175, 1489, 1490, 1491, 662, 6, 664, 176, 6, 173, - 1498, 173, 1500, 6, 1502, 6, 6, 6, 175, 175, - 173, 175, 6, 174, 6, 175, 175, 0, 6, 0, - 599, 6, 690, 1187, 692, 573, 6, 6, 846, -1, - -1, -1, 700, 701, 702, -1, -1, 705, 706, 707, - 708, 709, 710, 711, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 3, 4, -1, -1, -1, -1, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 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, 147, - 148, 149, 150, 151, 6, -1, -1, -1, -1, 157, - 158, 159, 160, 161, 162, 163, 164, 165, -1, -1, - -1, 169, -1, -1, -1, -1, 147, 148, 149, 150, - 151, 6, -1, -1, -1, -1, 157, 158, 159, 160, - 161, 162, 163, 164, 165, -1, -1, -1, 169, 147, - 148, 149, 150, 151, 6, -1, -1, -1, -1, 157, - 158, 159, 160, 161, 162, 163, 164, 165, -1, -1, - 848, 169, 850, -1, -1, -1, -1, 855, -1, 6, - -1, -1, -1, -1, -1, -1, -1, 147, 148, 149, - 150, 151, -1, -1, -1, -1, 874, 157, 158, 159, - 160, 161, 162, 163, 164, 165, -1, -1, 168, 169, - -1, -1, 172, -1, 6, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 161, - 162, -1, -1, -1, -1, -1, 168, 6, -1, -1, - 172, -1, -1, -1, -1, 147, 148, 149, 150, 151, - -1, -1, -1, -1, -1, 157, 158, 159, 160, 161, - 162, 163, 164, 165, 6, -1, -1, 169, -1, -1, - -1, -1, 147, 148, 149, 150, 151, -1, -1, -1, - -1, -1, 157, 158, 159, 160, 161, 162, 163, 164, - 165, 6, -1, -1, 169, 147, 148, 149, 150, 151, - -1, -1, -1, -1, -1, 157, 158, 159, 160, 161, - 162, 163, 164, 165, 6, -1, -1, 169, -1, -1, - 147, 148, 149, 150, 151, -1, -1, -1, -1, -1, - 157, 158, 159, 160, 161, 162, 163, 164, 165, -1, - -1, 1019, 169, -1, 1022, 6, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 147, 148, 149, 150, 151, - -1, -1, -1, -1, 1042, 157, 158, 159, 160, 161, - 162, 163, 164, 165, 6, -1, -1, 169, 147, 148, - 149, 150, 151, -1, -1, -1, -1, -1, 157, 158, - 159, 160, 161, 162, 163, 164, 165, 6, 1076, -1, - 169, -1, -1, -1, -1, 147, 148, 149, 150, 151, - -1, -1, -1, -1, -1, 157, 158, 159, 160, 161, - 162, 163, 164, 165, 6, -1, -1, 169, -1, -1, - -1, -1, 147, 148, 149, 150, 151, -1, -1, -1, - -1, -1, 157, 158, 159, 160, 161, 162, 163, 164, - 165, 8, -1, -1, 169, 147, 148, 149, 150, 151, - -1, -1, -1, -1, -1, 157, 158, 159, 160, 161, - 162, 163, 164, 165, 8, -1, -1, 169, -1, -1, - -1, -1, -1, 1161, 1162, -1, 147, 148, 149, 150, - 151, -1, -1, -1, -1, -1, 157, 158, 159, 160, - 161, 162, 163, 164, 165, 8, -1, -1, 169, -1, - 1188, -1, -1, -1, -1, 147, 148, 149, 150, 151, - -1, -1, -1, -1, -1, 157, 158, 159, 160, 161, - 162, 163, 164, 165, -1, 8, -1, 169, 147, 148, - 149, 150, 151, -1, -1, -1, -1, -1, 157, 158, - 159, 160, 161, 162, 163, 164, 165, -1, -1, 1237, - 169, -1, -1, -1, -1, 147, 148, 149, 150, 151, - -1, -1, 1250, -1, -1, 157, 158, 159, 160, 161, - 162, 163, 164, 165, -1, -1, -1, 169, -1, -1, - 147, 148, 149, 150, 151, -1, -1, -1, -1, -1, - 157, 158, 159, 160, 161, 162, 163, 164, 165, -1, - -1, -1, 169, 147, 148, 149, 150, 151, 1296, 0, - 1, -1, 3, 157, 158, 159, 160, 161, 162, 163, - 164, 165, -1, -1, -1, 169, -1, -1, -1, -1, - -1, -1, -1, -1, 147, 148, 149, 150, 151, -1, - -1, -1, -1, -1, 157, 158, 159, 160, 161, 162, - 163, 164, 165, -1, -1, -1, 169, -1, 1346, -1, - -1, -1, -1, -1, 147, 148, 149, 150, 151, -1, - -1, -1, -1, -1, 157, 158, 159, 160, 161, 162, - 163, 164, 165, -1, -1, 1373, 169, 34, 35, 36, + 26, 27, 28, 29, 30, -1, -1, -1, -1, 1411, + -1, -1, -1, -1, 162, 163, -1, -1, -1, -1, + -1, 169, -1, -1, -1, 173, -1, -1, 176, 148, + 149, 150, 151, 152, 6, -1, -1, -1, 1440, 158, + 159, 160, 161, 162, 163, 164, 165, 166, -1, -1, + -1, 170, 1454, -1, -1, -1, -1, 6, 162, 163, + -1, -1, -1, -1, -1, 169, -1, -1, -1, 173, + -1, -1, 176, -1, -1, -1, -1, -1, -1, -1, + 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 148, 149, 150, 151, 152, -1, + -1, -1, -1, 6, 158, 159, 160, 161, 162, 163, + 164, 165, 166, -1, -1, 169, 170, -1, -1, 173, + -1, -1, -1, -1, -1, -1, 6, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 162, 163, -1, -1, + -1, -1, -1, 169, 3, 4, -1, 173, -1, -1, + 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, + 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 6, -1, -1, 148, 149, 150, 151, + 152, -1, -1, -1, -1, -1, 158, 159, 160, 161, + 162, 163, 164, 165, 166, -1, 6, -1, 170, 148, + 149, 150, 151, 152, -1, -1, -1, -1, -1, 158, + 159, 160, 161, 162, 163, 164, 165, 166, -1, 6, + -1, 170, 148, 149, 150, 151, 152, -1, -1, -1, + -1, -1, 158, 159, 160, 161, 162, 163, 164, 165, + 166, -1, 6, -1, 170, 148, 149, 150, 151, 152, + -1, -1, -1, -1, -1, 158, 159, 160, 161, 162, + 163, 164, 165, 166, -1, 6, -1, 170, 148, 149, + 150, 151, 152, -1, -1, -1, -1, -1, 158, 159, + 160, 161, 162, 163, 164, 165, 166, -1, 6, -1, + 170, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 162, 163, -1, -1, -1, -1, -1, + 169, 6, -1, -1, 173, 148, 149, 150, 151, 152, + -1, -1, -1, -1, -1, 158, 159, 160, 161, 162, + 163, 164, 165, 166, 6, -1, -1, 170, 148, 149, + 150, 151, 152, -1, -1, -1, -1, -1, 158, 159, + 160, 161, 162, 163, 164, 165, 166, 6, -1, -1, + 170, 148, 149, 150, 151, 152, -1, -1, -1, -1, + -1, 158, 159, 160, 161, 162, 163, 164, 165, 166, + -1, -1, 8, 170, 148, 149, 150, 151, 152, -1, + -1, -1, -1, -1, 158, 159, 160, 161, 162, 163, + 164, 165, 166, -1, -1, 8, 170, 148, 149, 150, + 151, 152, -1, -1, -1, -1, -1, 158, 159, 160, + 161, 162, 163, 164, 165, 166, -1, -1, 8, 170, + 148, 149, 150, 151, 152, -1, -1, -1, -1, -1, + 158, 159, 160, 161, 162, 163, 164, 165, 166, -1, + -1, 8, 170, 148, 149, 150, 151, 152, -1, -1, + -1, -1, -1, 158, 159, 160, 161, 162, 163, 164, + 165, 166, -1, -1, -1, 170, 148, 149, 150, 151, + 152, -1, -1, -1, -1, -1, 158, 159, 160, 161, + 162, 163, 164, 165, 166, -1, -1, -1, 170, 148, + 149, 150, 151, 152, -1, -1, -1, -1, -1, 158, + 159, 160, 161, 162, 163, 164, 165, 166, -1, -1, + -1, 170, 148, 149, 150, 151, 152, -1, -1, -1, + -1, -1, 158, 159, 160, 161, 162, 163, 164, 165, + 166, -1, -1, -1, 170, 148, 149, 150, 151, 152, + -1, -1, -1, -1, -1, 158, 159, 160, 161, 162, + 163, 164, 165, 166, -1, -1, -1, 170, 148, 149, + 150, 151, 152, -1, -1, -1, -1, -1, 158, 159, + 160, 161, 162, 163, 164, 165, 166, -1, -1, -1, + 170, 148, 149, 150, 151, 152, -1, -1, -1, -1, + -1, 158, 159, 160, 161, 162, 163, 164, 165, 166, + -1, -1, -1, 170, 34, 35, 36, 37, 38, 39, + 40, 41, -1, 43, -1, 45, 46, -1, 48, 49, + -1, 0, 1, -1, 146, 4, 148, 149, 150, 151, + 152, -1, -1, -1, -1, 65, 158, 159, 160, 161, + 162, 163, 164, 165, 166, -1, -1, -1, 170, 79, + 80, -1, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, -1, 43, 44, 45, 46, 47, 48, + 49, -1, -1, -1, 53, 54, 55, 56, 57, 58, + -1, 60, 61, 62, 63, 64, 65, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 37, -1, + 79, 80, -1, -1, -1, -1, -1, 86, 138, 88, + -1, 90, 91, 92, 93, 94, -1, 34, 35, 36, 37, 38, 39, 40, 41, -1, 43, -1, 45, 46, -1, 48, 49, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 1401, -1, -1, -1, -1, 65, -1, - -1, 112, 113, 114, 115, 116, 117, 118, 119, -1, - -1, -1, 79, 80, -1, -1, -1, -1, -1, -1, - -1, -1, 1430, -1, -1, -1, -1, 138, 139, -1, - 141, -1, -1, -1, -1, -1, 1444, -1, 140, -1, - 0, 1, -1, -1, 4, 147, 148, 149, 150, 151, - -1, -1, -1, -1, -1, 157, 158, 159, 160, 161, - 162, 163, 164, 165, -1, -1, -1, 169, -1, -1, - 137, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, -1, 43, 44, 45, 46, 47, 48, 49, - -1, -1, -1, 53, 54, 55, 56, 57, 58, 37, - 60, 61, 62, 63, 64, 65, -1, -1, -1, 176, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 79, - 80, -1, -1, -1, -1, -1, 86, 87, -1, 89, - 90, 91, 92, 93, -1, -1, -1, 147, 148, 149, - 150, 151, -1, -1, -1, -1, -1, 157, 158, 159, - 160, 161, 162, 163, 164, 165, 94, 95, 96, 169, - -1, -1, -1, 173, 102, 103, 104, 105, 106, 107, - 108, 109, 110, 111, -1, -1, -1, 137, -1, -1, - -1, -1, 120, 121, 122, 123, 124, 125, 126, 127, - 128, 129, -1, 131, 132, 133, 134, 135, 136, 147, - 148, 149, 150, 151, -1, -1, -1, -1, -1, 157, - 158, 159, 160, 161, 162, 163, 164, 165, -1, -1, - -1, 169, 147, 148, 149, 150, 151, -1, -1, -1, - -1, 179, 157, 158, 159, 160, 161, 162, 163, 164, - 165, -1, -1, -1, 169, 147, 148, 149, 150, 151, - -1, -1, -1, -1, 179, 157, 158, 159, 160, 161, - 162, 163, 164, 165, -1, -1, -1, 169, 147, 148, - 149, 150, 151, -1, -1, -1, -1, 179, 157, 158, - 159, 160, 161, 162, 163, 164, 165, -1, -1, -1, - 169, 147, 148, 149, 150, 151, -1, -1, -1, -1, - 179, 157, 158, 159, 160, 161, 162, 163, 164, 165, - -1, -1, -1, 169, 147, 148, 149, 150, 151, -1, - -1, -1, -1, 179, 157, 158, 159, 160, 161, 162, - 163, 164, 165, -1, -1, -1, 169, -1, -1, -1, - 173, -1, -1, 176, 147, 148, 149, 150, 151, -1, - -1, -1, -1, -1, 157, 158, 159, 160, 161, 162, - 163, 164, 165, -1, -1, -1, 169, -1, -1, -1, - 173, -1, -1, 176, 147, 148, 149, 150, 151, -1, - -1, -1, -1, -1, 157, 158, 159, 160, 161, 162, - 163, 164, 165, -1, -1, -1, 169, -1, -1, -1, - 173, -1, -1, 176, 147, 148, 149, 150, 151, -1, - -1, -1, -1, -1, 157, 158, 159, 160, 161, 162, - 163, 164, 165, -1, -1, -1, 169, 147, 148, 149, - 150, 151, -1, 176, -1, -1, -1, 157, 158, 159, - 160, 161, 162, 163, 164, 165, -1, -1, -1, 169, - 147, 148, 149, 150, 151, -1, 176, -1, -1, -1, - 157, 158, 159, 160, 161, 162, 163, 164, 165, -1, - -1, -1, 169, 147, 148, 149, 150, 151, -1, 176, - -1, -1, -1, 157, 158, 159, 160, 161, 162, 163, - 164, 165, -1, -1, -1, 169, 147, 148, 149, 150, - 151, -1, 176, -1, -1, -1, 157, 158, 159, 160, - 161, 162, 163, 164, 165, -1, -1, -1, 169, 147, - 148, 149, 150, 151, -1, 176, -1, -1, -1, 157, - 158, 159, 160, 161, 162, 163, 164, 165, -1, -1, - -1, 169, 147, 148, 149, 150, 151, -1, 176, -1, - -1, -1, 157, 158, 159, 160, 161, 162, 163, 164, - 165, -1, -1, -1, 169, 147, 148, 149, 150, 151, - -1, 176, -1, -1, -1, 157, 158, 159, 160, 161, - 162, 163, 164, 165, -1, -1, -1, 169, 147, 148, - 149, 150, 151, -1, 176, -1, -1, -1, 157, 158, - 159, 160, 161, 162, 163, 164, 165, -1, -1, -1, - 169, 147, 148, 149, 150, 151, -1, 176, -1, -1, - -1, 157, 158, 159, 160, 161, 162, 163, 164, 165, - -1, -1, -1, 169, 147, 148, 149, 150, 151, -1, - 176, -1, -1, -1, 157, 158, 159, 160, 161, 162, - 163, 164, 165, -1, -1, -1, 169, 147, 148, 149, - 150, 151, -1, 176, -1, -1, -1, 157, 158, 159, - 160, 161, 162, 163, 164, 165, -1, -1, -1, 169, - 147, 148, 149, 150, 151, -1, 176, -1, -1, -1, - 157, 158, 159, 160, 161, 162, 163, 164, 165, -1, - -1, -1, 169, 147, 148, 149, 150, 151, -1, 176, - -1, -1, -1, 157, 158, 159, 160, 161, 162, 163, - 164, 165, -1, -1, -1, 169, 147, 148, 149, 150, - 151, -1, 176, -1, -1, -1, 157, 158, 159, 160, - 161, 162, 163, 164, 165, -1, -1, -1, 169, 140, - -1, -1, -1, -1, -1, 176, 147, 148, 149, 150, - 151, -1, -1, -1, -1, -1, 157, 158, 159, 160, - 161, 162, 163, 164, 165, -1, -1, -1, 169, 147, - 148, 149, 150, 151, -1, -1, -1, -1, -1, 157, - 158, 159, 160, 161, 162, 163, 164, 165, -1, -1, - -1, 169, 147, 148, 149, 150, 151, -1, 176, -1, - -1, -1, 157, 158, 159, 160, 161, 162, 163, 164, - 165, -1, -1, -1, 169, 147, 148, 149, 150, 151, - -1, 176, -1, -1, -1, 157, 158, 159, 160, 161, - 162, 163, 164, 165, -1, -1, -1, 169, 147, 148, - 149, 150, 151, -1, 176, -1, -1, -1, 157, 158, - 159, 160, 161, 162, 163, 164, 165, -1, -1, -1, - 169, -1, -1, -1, 173, 174, 147, 148, 149, 150, - 151, -1, -1, -1, -1, -1, 157, 158, 159, 160, - 161, 162, 163, 164, 165, -1, -1, -1, 169, -1, - -1, -1, -1, 174, 147, 148, 149, 150, 151, -1, - -1, -1, -1, -1, 157, 158, 159, 160, 161, 162, - 163, 164, 165, -1, -1, -1, 169, -1, -1, -1, - -1, 174, 147, 148, 149, 150, 151, -1, -1, -1, - -1, -1, 157, 158, 159, 160, 161, 162, 163, 164, - 165, -1, -1, -1, 169, -1, -1, -1, -1, 174, - 147, 148, 149, 150, 151, -1, -1, -1, -1, -1, - 157, 158, 159, 160, 161, 162, 163, 164, 165, -1, - -1, -1, 169, -1, -1, -1, -1, 174, 147, 148, - 149, 150, 151, -1, -1, -1, -1, -1, 157, 158, - 159, 160, 161, 162, 163, 164, 165, -1, -1, -1, - 169, -1, -1, -1, -1, 174, 147, 148, 149, 150, - 151, -1, -1, -1, -1, -1, 157, 158, 159, 160, - 161, 162, 163, 164, 165, -1, -1, -1, 169, -1, - -1, -1, -1, 174, 147, 148, 149, 150, 151, -1, - -1, -1, -1, -1, 157, 158, 159, 160, 161, 162, - 163, 164, 165, -1, -1, -1, 169, -1, -1, -1, - -1, 174, 147, 148, 149, 150, 151, -1, -1, -1, - -1, -1, 157, 158, 159, 160, 161, 162, 163, 164, - 165, -1, -1, -1, 169, -1, -1, -1, -1, 174, - 147, 148, 149, 150, 151, -1, -1, -1, -1, -1, - 157, 158, 159, 160, 161, 162, 163, 164, 165, -1, - -1, -1, 169, -1, -1, -1, -1, 174, 147, 148, - 149, 150, 151, -1, -1, -1, -1, -1, 157, 158, - 159, 160, 161, 162, 163, 164, 165, -1, -1, -1, - 169, -1, -1, -1, -1, 174, 147, 148, 149, 150, - 151, -1, -1, -1, -1, -1, 157, 158, 159, 160, - 161, 162, 163, 164, 165, -1, -1, -1, 169, -1, - -1, -1, -1, 174, 147, 148, 149, 150, 151, -1, - -1, -1, -1, -1, 157, 158, 159, 160, 161, 162, - 163, 164, 165, -1, -1, -1, 169, -1, -1, -1, - -1, 174, 147, 148, 149, 150, 151, -1, -1, -1, - -1, -1, 157, 158, 159, 160, 161, 162, 163, 164, - 165, -1, -1, -1, 169, -1, -1, -1, -1, 174, - 147, 148, 149, 150, 151, -1, -1, -1, -1, -1, - 157, 158, 159, 160, 161, 162, 163, 164, 165, -1, - -1, -1, 169, -1, -1, -1, -1, 174, 147, 148, - 149, 150, 151, -1, -1, -1, -1, -1, 157, 158, - 159, 160, 161, 162, 163, 164, 165, -1, -1, -1, - 169, -1, -1, -1, -1, 174, 147, 148, 149, 150, - 151, -1, -1, -1, -1, -1, 157, 158, 159, 160, - 161, 162, 163, 164, 165, -1, -1, -1, 169, -1, - -1, -1, -1, 174, 147, 148, 149, 150, 151, -1, - -1, -1, -1, -1, 157, 158, 159, 160, 161, 162, - 163, 164, 165, -1, -1, -1, 169, -1, -1, -1, - -1, 174, 147, 148, 149, 150, 151, -1, -1, -1, - -1, -1, 157, 158, 159, 160, 161, 162, 163, 164, - 165, -1, -1, -1, 169, -1, -1, -1, -1, 174, - 147, 148, 149, 150, 151, -1, -1, -1, -1, -1, - 157, 158, 159, 160, 161, 162, 163, 164, 165, -1, - -1, -1, 169, -1, -1, -1, -1, 174, 147, 148, - 149, 150, 151, -1, -1, -1, -1, -1, 157, 158, - 159, 160, 161, 162, 163, 164, 165, -1, -1, -1, - 169, -1, -1, -1, -1, 174, 147, 148, 149, 150, - 151, -1, -1, -1, -1, -1, 157, 158, 159, 160, - 161, 162, 163, 164, 165, -1, -1, -1, 169, -1, - -1, -1, -1, 174, 147, 148, 149, 150, 151, -1, - -1, -1, -1, -1, 157, 158, 159, 160, 161, 162, - 163, 164, 165, -1, -1, -1, 169, -1, -1, -1, - -1, 174, 147, 148, 149, 150, 151, -1, -1, -1, - -1, -1, 157, 158, 159, 160, 161, 162, 163, 164, - 165, -1, -1, -1, 169, -1, -1, -1, -1, 174, - 147, 148, 149, 150, 151, -1, -1, -1, -1, -1, - 157, 158, 159, 160, 161, 162, 163, 164, 165, -1, - -1, -1, 169, -1, -1, -1, -1, 174, 147, 148, - 149, 150, 151, -1, -1, -1, -1, -1, 157, 158, - 159, 160, 161, 162, 163, 164, 165, -1, -1, -1, - 169, -1, -1, -1, -1, 174, 147, 148, 149, 150, - 151, -1, -1, -1, -1, -1, 157, 158, 159, 160, - 161, 162, 163, 164, 165, -1, -1, -1, 169, -1, - -1, -1, -1, 174, 147, 148, 149, 150, 151, -1, - -1, -1, -1, -1, 157, 158, 159, 160, 161, 162, - 163, 164, 165, -1, -1, -1, 169, -1, -1, -1, - -1, 174, 147, 148, 149, 150, 151, -1, -1, -1, - -1, -1, 157, 158, 159, 160, 161, 162, 163, 164, - 165, -1, -1, -1, 169, -1, -1, -1, -1, 174, - 147, 148, 149, 150, 151, -1, -1, -1, -1, -1, - 157, 158, 159, 160, 161, 162, 163, 164, 165, -1, - -1, -1, 169, -1, -1, -1, -1, 174, 147, 148, - 149, 150, 151, -1, -1, -1, -1, -1, 157, 158, - 159, 160, 161, 162, 163, 164, 165, -1, -1, -1, - 169, -1, -1, -1, -1, 174, 147, 148, 149, 150, - 151, -1, -1, -1, -1, -1, 157, 158, 159, 160, - 161, 162, 163, 164, 165, -1, -1, -1, 169, -1, - -1, -1, -1, 174, 147, 148, 149, 150, 151, -1, - -1, -1, -1, -1, 157, 158, 159, 160, 161, 162, - 163, 164, 165, -1, -1, -1, 169, -1, -1, -1, - -1, 174, 147, 148, 149, 150, 151, -1, -1, -1, - -1, -1, 157, 158, 159, 160, 161, 162, 163, 164, - 165, -1, -1, -1, 169, -1, -1, -1, -1, 174, - 147, 148, 149, 150, 151, -1, -1, -1, -1, -1, - 157, 158, 159, 160, 161, 162, 163, 164, 165, -1, - -1, -1, 169, -1, -1, -1, -1, 174, 147, 148, - 149, 150, 151, -1, -1, -1, -1, -1, 157, 158, - 159, 160, 161, 162, 163, 164, 165, -1, -1, -1, - 169, -1, -1, -1, -1, 174, 147, 148, 149, 150, - 151, -1, -1, -1, -1, -1, 157, 158, 159, 160, - 161, 162, 163, 164, 165, -1, -1, -1, 169, -1, - -1, -1, -1, 174, 147, 148, 149, 150, 151, -1, - -1, -1, -1, -1, 157, 158, 159, 160, 161, 162, - 163, 164, 165, -1, -1, -1, 169, -1, -1, -1, - -1, 174, 147, 148, 149, 150, 151, -1, -1, -1, - -1, -1, 157, 158, 159, 160, 161, 162, 163, 164, - 165, -1, -1, -1, 169, -1, -1, -1, -1, 174, - 147, 148, 149, 150, 151, -1, -1, -1, -1, -1, - 157, 158, 159, 160, 161, 162, 163, 164, 165, -1, - -1, -1, 169, -1, -1, -1, -1, 174, 147, 148, - 149, 150, 151, -1, -1, -1, -1, -1, 157, 158, - 159, 160, 161, 162, 163, 164, 165, -1, -1, -1, - 169, -1, -1, -1, -1, 174, 147, 148, 149, 150, - 151, -1, -1, -1, -1, -1, 157, 158, 159, 160, - 161, 162, 163, 164, 165, -1, -1, -1, 169, -1, - -1, -1, -1, 174, 147, 148, 149, 150, 151, -1, - -1, -1, -1, -1, 157, 158, 159, 160, 161, 162, - 163, 164, 165, -1, -1, -1, 169, -1, -1, -1, - -1, 174, 147, 148, 149, 150, 151, -1, -1, -1, - -1, -1, 157, 158, 159, 160, 161, 162, 163, 164, - 165, -1, -1, -1, 169, -1, -1, -1, -1, 174, - 147, 148, 149, 150, 151, -1, -1, -1, -1, -1, - 157, 158, 159, 160, 161, 162, 163, 164, 165, -1, - -1, -1, 169, -1, -1, -1, -1, 174, 147, 148, - 149, 150, 151, -1, -1, -1, -1, -1, 157, 158, - 159, 160, 161, 162, 163, 164, 165, -1, -1, -1, - 169, -1, -1, -1, -1, 174, 147, 148, 149, 150, - 151, -1, -1, -1, -1, -1, 157, 158, 159, 160, - 161, 162, 163, 164, 165, -1, -1, -1, 169, -1, - -1, -1, -1, 174, 147, 148, 149, 150, 151, -1, - -1, -1, -1, -1, 157, 158, 159, 160, 161, 162, - 163, 164, 165, -1, -1, -1, 169, -1, -1, -1, - -1, 174, 147, 148, 149, 150, 151, -1, -1, -1, - -1, -1, 157, 158, 159, 160, 161, 162, 163, 164, - 165, -1, -1, -1, 169, -1, -1, -1, -1, 174, - 147, 148, 149, 150, 151, -1, -1, -1, -1, -1, - 157, 158, 159, 160, 161, 162, 163, 164, 165, -1, - -1, -1, 169, -1, -1, -1, -1, 174, 147, 148, - 149, 150, 151, -1, -1, -1, -1, -1, 157, 158, - 159, 160, 161, 162, 163, 164, 165, -1, -1, -1, - 169, -1, -1, -1, -1, 174, 147, 148, 149, 150, - 151, -1, -1, -1, -1, -1, 157, 158, 159, 160, - 161, 162, 163, 164, 165, -1, -1, -1, 169, -1, - -1, -1, -1, 174, 147, 148, 149, 150, 151, -1, - -1, -1, -1, -1, 157, 158, 159, 160, 161, 162, - 163, 164, 165, -1, -1, -1, 169, -1, -1, -1, - -1, 174, 147, 148, 149, 150, 151, -1, -1, -1, - -1, -1, 157, 158, 159, 160, 161, 162, 163, 164, - 165, -1, -1, -1, 169, -1, -1, -1, -1, 174, - 147, 148, 149, 150, 151, -1, -1, -1, -1, -1, - 157, 158, 159, 160, 161, 162, 163, 164, 165, -1, - -1, -1, 169, -1, -1, -1, -1, 174, 147, 148, - 149, 150, 151, -1, -1, -1, -1, -1, 157, 158, - 159, 160, 161, 162, 163, 164, 165, -1, -1, -1, - 169, -1, -1, -1, -1, 174, 147, 148, 149, 150, - 151, -1, -1, -1, -1, -1, 157, 158, 159, 160, - 161, 162, 163, 164, 165, -1, -1, -1, 169, -1, - -1, -1, -1, 174, 147, 148, 149, 150, 151, -1, - -1, -1, -1, -1, 157, 158, 159, 160, 161, 162, - 163, 164, 165, -1, -1, -1, 169, -1, -1, -1, - -1, 174, 147, 148, 149, 150, 151, -1, -1, -1, - -1, -1, 157, 158, 159, 160, 161, 162, 163, 164, - 165, -1, -1, -1, 169, -1, -1, -1, -1, 174, - 147, 148, 149, 150, 151, -1, -1, -1, -1, -1, - 157, 158, 159, 160, 161, 162, 163, 164, 165, -1, - -1, -1, 169, -1, -1, -1, -1, 174, 147, 148, - 149, 150, 151, -1, -1, -1, -1, -1, 157, 158, - 159, 160, 161, 162, 163, 164, 165, -1, -1, -1, - 169, -1, -1, -1, -1, 174, 147, 148, 149, 150, - 151, -1, -1, -1, -1, -1, 157, 158, 159, 160, - 161, 162, 163, 164, 165, -1, -1, -1, 169, -1, - -1, -1, -1, 174, 147, 148, 149, 150, 151, -1, - -1, -1, -1, -1, 157, 158, 159, 160, 161, 162, - 163, 164, 165, -1, -1, -1, 169, -1, -1, -1, - -1, 174, 147, 148, 149, 150, 151, -1, -1, -1, - -1, -1, 157, 158, 159, 160, 161, 162, 163, 164, - 165, -1, -1, -1, 169, -1, -1, -1, -1, 174, - 147, 148, 149, 150, 151, -1, -1, -1, -1, -1, - 157, 158, 159, 160, 161, 162, 163, 164, 165, -1, - -1, -1, 169, -1, -1, -1, -1, 174, 147, 148, - 149, 150, 151, -1, -1, -1, -1, -1, 157, 158, - 159, 160, 161, 162, 163, 164, 165, -1, -1, -1, - 169, -1, -1, -1, 173, 147, 148, 149, 150, 151, - -1, -1, -1, -1, -1, 157, 158, 159, 160, 161, - 162, 163, 164, 165, -1, -1, -1, 169, -1, -1, - -1, 173, 147, 148, 149, 150, 151, -1, -1, -1, - -1, -1, 157, 158, 159, 160, 161, 162, 163, 164, - 165, -1, -1, -1, 169, -1, -1, -1, 173, 147, - 148, 149, 150, 151, -1, -1, -1, -1, -1, 157, - 158, 159, 160, 161, 162, 163, 164, 165, -1, -1, - -1, 169, -1, -1, -1, 173, 147, 148, 149, 150, - 151, -1, -1, -1, -1, -1, 157, 158, 159, 160, - 161, 162, 163, 164, 165, -1, -1, -1, 169, 143, - -1, -1, 173, 147, 148, 149, 150, 151, -1, -1, - -1, -1, -1, 157, 158, 159, 160, 161, 162, 163, - 164, 165, -1, -1, -1, 169, 147, 148, 149, 150, - 151, -1, -1, -1, -1, -1, 157, 158, 159, 160, - 161, 162, 163, 164, 165, -1, -1, -1, 169, -1, - -1, -1, 173, 147, 148, 149, 150, 151, -1, -1, - -1, -1, -1, 157, 158, 159, 160, 161, 162, 163, - 164, 165, -1, -1, -1, 169, -1, -1, -1, 173, - 147, 148, 149, 150, 151, -1, -1, -1, -1, -1, - 157, 158, 159, 160, 161, 162, 163, 164, 165, -1, - -1, -1, 169, -1, -1, -1, 173, 147, 148, 149, - 150, 151, -1, -1, -1, -1, -1, 157, 158, 159, - 160, 161, 162, 163, 164, 165, -1, -1, -1, 169, - -1, -1, -1, 173, 147, 148, 149, 150, 151, -1, - -1, -1, -1, -1, 157, 158, 159, 160, 161, 162, - 163, 164, 165, -1, -1, -1, 169, -1, -1, -1, - 173, 147, 148, 149, 150, 151, -1, -1, -1, -1, - -1, 157, 158, 159, 160, 161, 162, 163, 164, 165, - -1, -1, -1, 169, -1, -1, -1, 173, 147, 148, - 149, 150, 151, -1, -1, -1, -1, -1, 157, 158, - 159, 160, 161, 162, 163, 164, 165, -1, -1, -1, - 169, -1, -1, -1, 173, 147, 148, 149, 150, 151, - -1, -1, -1, -1, -1, 157, 158, 159, 160, 161, - 162, 163, 164, 165, -1, -1, -1, 169, -1, -1, - -1, 173, 147, 148, 149, 150, 151, -1, -1, -1, - -1, -1, 157, 158, 159, 160, 161, 162, 163, 164, - 165, -1, -1, -1, 169, -1, -1, -1, 173, 147, - 148, 149, 150, 151, -1, -1, -1, -1, -1, 157, - 158, 159, 160, 161, 162, 163, 164, 165, -1, -1, - -1, 169, -1, -1, -1, 173, 147, 148, 149, 150, - 151, -1, -1, -1, -1, -1, 157, 158, 159, 160, - 161, 162, 163, 164, 165, -1, -1, -1, 169, -1, - -1, -1, 173, 147, 148, 149, 150, 151, -1, -1, - -1, -1, -1, 157, 158, 159, 160, 161, 162, 163, - 164, 165, -1, -1, -1, 169, -1, -1, -1, 173, - 147, 148, 149, 150, 151, -1, -1, -1, -1, -1, - 157, 158, 159, 160, 161, 162, 163, 164, 165, -1, - -1, -1, 169, -1, -1, -1, 173, 147, 148, 149, - 150, 151, -1, -1, -1, -1, -1, 157, 158, 159, - 160, 161, 162, 163, 164, 165, -1, -1, -1, 169, - -1, -1, -1, 173, 147, 148, 149, 150, 151, -1, - -1, -1, -1, -1, 157, 158, 159, 160, 161, 162, - 163, 164, 165, -1, -1, -1, 169, -1, -1, -1, - 173, 147, 148, 149, 150, 151, -1, -1, -1, -1, - -1, 157, 158, 159, 160, 161, 162, 163, 164, 165, - -1, -1, -1, 169, -1, -1, -1, 173, 147, 148, - 149, 150, 151, -1, -1, -1, -1, -1, 157, 158, - 159, 160, 161, 162, 163, 164, 165, -1, -1, -1, - 169, -1, -1, -1, 173, 147, 148, 149, 150, 151, - -1, -1, -1, -1, -1, 157, 158, 159, 160, 161, - 162, 163, 164, 165, -1, -1, -1, 169, -1, -1, - -1, 173, 147, 148, 149, 150, 151, -1, -1, -1, - -1, -1, 157, 158, 159, 160, 161, 162, 163, 164, - 165, -1, -1, -1, 169, -1, -1, -1, 173, 147, - 148, 149, 150, 151, -1, -1, -1, -1, -1, 157, - 158, 159, 160, 161, 162, 163, 164, 165, -1, -1, - -1, 169, -1, -1, -1, 173, 147, 148, 149, 150, - 151, -1, -1, -1, -1, -1, 157, 158, 159, 160, - 161, 162, 163, 164, 165, -1, -1, -1, 169, -1, - -1, -1, 173, 147, 148, 149, 150, 151, -1, -1, - -1, -1, -1, 157, 158, 159, 160, 161, 162, 163, - 164, 165, -1, -1, -1, 169, -1, -1, -1, 173, - 147, 148, 149, 150, 151, -1, -1, -1, -1, -1, - 157, 158, 159, 160, 161, 162, 163, 164, 165, -1, - -1, -1, 169, -1, -1, -1, 173, 147, 148, 149, - 150, 151, -1, -1, -1, -1, -1, 157, 158, 159, - 160, 161, 162, 163, 164, 165, -1, -1, -1, 169, - -1, -1, -1, 173, 147, 148, 149, 150, 151, -1, - -1, -1, -1, -1, 157, 158, 159, 160, 161, 162, - 163, 164, 165, -1, -1, -1, 169, -1, -1, -1, - 173, 147, 148, 149, 150, 151, -1, -1, -1, -1, - -1, 157, 158, 159, 160, 161, 162, 163, 164, 165, - -1, -1, -1, 169, -1, -1, -1, 173, 147, 148, - 149, 150, 151, -1, -1, -1, -1, -1, 157, 158, - 159, 160, 161, 162, 163, 164, 165, -1, -1, -1, - 169, -1, -1, -1, 173, 147, 148, 149, 150, 151, - -1, -1, -1, -1, -1, 157, 158, 159, 160, 161, - 162, 163, 164, 165, -1, -1, -1, 169, -1, -1, - -1, 173, 147, 148, 149, 150, 151, -1, -1, -1, - -1, -1, 157, 158, 159, 160, 161, 162, 163, 164, - 165, -1, -1, -1, 169, -1, -1, -1, 173, 147, - 148, 149, 150, 151, -1, -1, -1, -1, -1, 157, - 158, 159, 160, 161, 162, 163, 164, 165, -1, -1, - -1, 169, -1, -1, -1, 173, 147, 148, 149, 150, - 151, -1, -1, -1, -1, -1, 157, 158, 159, 160, - 161, 162, 163, 164, 165, -1, -1, -1, 169, -1, - -1, -1, 173, 147, 148, 149, 150, 151, -1, -1, - -1, -1, -1, 157, 158, 159, 160, 161, 162, 163, - 164, 165, -1, -1, -1, 169, -1, -1, -1, 173, - 147, 148, 149, 150, 151, -1, -1, -1, -1, -1, - 157, 158, 159, 160, 161, 162, 163, 164, 165, -1, - -1, -1, 169, -1, -1, -1, 173, 147, 148, 149, - 150, 151, -1, -1, -1, -1, -1, 157, 158, 159, - 160, 161, 162, 163, 164, 165, -1, -1, -1, 169, - -1, -1, -1, 173, 147, 148, 149, 150, 151, -1, - -1, -1, -1, -1, 157, 158, 159, 160, 161, 162, - 163, 164, 165, -1, -1, -1, 169, -1, -1, -1, - 173, 147, 148, 149, 150, 151, -1, -1, -1, -1, - -1, 157, 158, 159, 160, 161, 162, 163, 164, 165, - -1, -1, -1, 169, -1, -1, -1, 173, 147, 148, - 149, 150, 151, -1, -1, -1, -1, -1, 157, 158, - 159, 160, 161, 162, 163, 164, 165, -1, -1, -1, - 169, -1, -1, -1, 173, 147, 148, 149, 150, 151, - -1, -1, -1, -1, -1, 157, 158, 159, 160, 161, - 162, 163, 164, 165, -1, -1, -1, 169, -1, -1, - -1, 173, 147, 148, 149, 150, 151, -1, -1, -1, - -1, -1, 157, 158, 159, 160, 161, 162, 163, 164, - 165, -1, -1, -1, 169, -1, -1, -1, 173, 147, - 148, 149, 150, 151, -1, -1, -1, -1, -1, 157, - 158, 159, 160, 161, 162, 163, 164, 165, -1, -1, - -1, 169, -1, -1, -1, 173, 147, 148, 149, 150, - 151, -1, -1, -1, -1, -1, 157, 158, 159, 160, - 161, 162, 163, 164, 165, -1, -1, -1, 169, -1, - -1, -1, 173, 147, 148, 149, 150, 151, -1, -1, - -1, -1, -1, 157, 158, 159, 160, 161, 162, 163, - 164, 165, -1, -1, -1, 169, -1, -1, -1, 173, - 147, 148, 149, 150, 151, -1, -1, -1, -1, -1, - 157, 158, 159, 160, 161, 162, 163, 164, 165, -1, - -1, -1, 169, -1, -1, -1, 173, 147, 148, 149, - 150, 151, -1, -1, -1, -1, -1, 157, 158, 159, - 160, 161, 162, 163, 164, 165, -1, -1, -1, 169, - -1, -1, -1, 173, 147, 148, 149, 150, 151, -1, - -1, -1, -1, -1, 157, 158, 159, 160, 161, 162, - 163, 164, 165, -1, -1, -1, 169, -1, -1, -1, - 173, 147, 148, 149, 150, 151, -1, -1, -1, -1, - -1, 157, 158, 159, 160, 161, 162, 163, 164, 165, - -1, -1, -1, 169, -1, -1, -1, 173, 147, 148, - 149, 150, 151, -1, -1, -1, -1, -1, 157, 158, - 159, 160, 161, 162, 163, 164, 165, -1, -1, -1, - 169, -1, -1, -1, 173, 147, 148, 149, 150, 151, - -1, -1, -1, -1, -1, 157, 158, 159, 160, 161, - 162, 163, 164, 165, -1, -1, -1, 169, -1, -1, - -1, 173, 147, 148, 149, 150, 151, -1, -1, -1, - -1, -1, 157, 158, 159, 160, 161, 162, 163, 164, - 165, -1, -1, -1, 169, -1, -1, -1, 173, 147, - 148, 149, 150, 151, -1, -1, -1, -1, -1, 157, - 158, 159, 160, 161, 162, 163, 164, 165, -1, -1, - -1, 169, -1, -1, -1, 173, 147, 148, 149, 150, - 151, -1, -1, -1, -1, -1, 157, 158, 159, 160, - 161, 162, 163, 164, 165, -1, -1, -1, 169, -1, - -1, -1, 173, 147, 148, 149, 150, 151, -1, -1, - -1, -1, -1, 157, 158, 159, 160, 161, 162, 163, - 164, 165, -1, -1, -1, 169, -1, -1, -1, 173, - 147, 148, 149, 150, 151, -1, -1, -1, -1, -1, - 157, 158, 159, 160, 161, 162, 163, 164, 165, -1, - -1, -1, 169, -1, -1, -1, 173, 147, 148, 149, - 150, 151, -1, -1, -1, -1, -1, 157, 158, 159, - 160, 161, 162, 163, 164, 165, -1, -1, -1, 169, - -1, -1, -1, 173, 147, 148, 149, 150, 151, -1, - -1, -1, -1, -1, 157, 158, 159, 160, 161, 162, - 163, 164, 165, -1, -1, -1, 169, -1, -1, -1, - 173, 147, 148, 149, 150, 151, -1, -1, -1, -1, - -1, 157, 158, 159, 160, 161, 162, 163, 164, 165, - -1, -1, -1, 169, -1, -1, -1, 173, 147, 148, - 149, 150, 151, -1, -1, -1, -1, -1, 157, 158, - 159, 160, 161, 162, 163, 164, 165, -1, -1, -1, - 169, -1, -1, -1, 173, 147, 148, 149, 150, 151, - -1, -1, -1, -1, -1, 157, 158, 159, 160, 161, - 162, 163, 164, 165, -1, -1, -1, 169, -1, -1, - -1, 173, 147, 148, 149, 150, 151, -1, -1, -1, - -1, -1, 157, 158, 159, 160, 161, 162, 163, 164, - 165, -1, -1, -1, 169, -1, -1, -1, 173, 147, - 148, 149, 150, 151, -1, -1, -1, -1, -1, 157, - 158, 159, 160, 161, 162, 163, 164, 165, -1, -1, - -1, 169, -1, -1, -1, 173, 147, 148, 149, 150, - 151, -1, -1, -1, -1, -1, 157, 158, 159, 160, - 161, 162, 163, 164, 165, -1, -1, -1, 169, -1, - -1, -1, 173, 147, 148, 149, 150, 151, -1, -1, - -1, -1, -1, 157, 158, 159, 160, 161, 162, 163, - 164, 165, -1, -1, -1, 169, -1, -1, -1, 173, - 147, 148, 149, 150, 151, -1, -1, -1, -1, -1, - 157, 158, 159, 160, 161, 162, 163, 164, 165, -1, - -1, -1, 169, -1, -1, -1, 173, 147, 148, 149, - 150, 151, -1, -1, -1, -1, -1, 157, 158, 159, - 160, 161, 162, 163, 164, 165, -1, -1, -1, 169, - -1, -1, -1, 173, 147, 148, 149, 150, 151, -1, - -1, -1, -1, -1, 157, 158, 159, 160, 161, 162, - 163, 164, 165, -1, -1, -1, 169, -1, -1, -1, - 173, 147, 148, 149, 150, 151, -1, -1, -1, -1, - -1, 157, 158, 159, 160, 161, 162, 163, 164, 165, - -1, -1, -1, 169, -1, -1, -1, 173, 147, 148, - 149, 150, 151, -1, -1, -1, -1, -1, 157, 158, - 159, 160, 161, 162, 163, 164, 165, -1, -1, -1, - 169, -1, -1, -1, 173, 147, 148, 149, 150, 151, - -1, -1, -1, -1, -1, 157, 158, 159, 160, 161, - 162, 163, 164, 165, -1, -1, -1, 169, -1, -1, - -1, 173, 147, 148, 149, 150, 151, -1, -1, -1, - -1, -1, 157, 158, 159, 160, 161, 162, 163, 164, - 165, -1, -1, -1, 169, -1, -1, -1, 173, 147, - 148, 149, 150, 151, -1, -1, -1, -1, -1, 157, - 158, 159, 160, 161, 162, 163, 164, 165, -1, -1, - -1, 169, -1, -1, -1, 173, 147, 148, 149, 150, - 151, -1, -1, -1, -1, -1, 157, 158, 159, 160, - 161, 162, 163, 164, 165, -1, -1, -1, 169, -1, - -1, -1, 173, 147, 148, 149, 150, 151, -1, -1, - -1, -1, -1, 157, 158, 159, 160, 161, 162, 163, - 164, 165, -1, -1, -1, 169, -1, -1, -1, 173, - 147, 148, 149, 150, 151, -1, -1, -1, -1, -1, - 157, 158, 159, 160, 161, 162, 163, 164, 165, -1, - -1, -1, 169, -1, -1, -1, 173, 147, 148, 149, - 150, 151, -1, -1, -1, -1, -1, 157, 158, 159, - 160, 161, 162, 163, 164, 165, -1, -1, -1, 169, - -1, -1, -1, 173, 147, 148, 149, 150, 151, -1, - -1, -1, -1, -1, 157, 158, 159, 160, 161, 162, - 163, 164, 165, -1, -1, -1, 169, -1, -1, -1, - 173, 147, 148, 149, 150, 151, -1, -1, -1, -1, - -1, 157, 158, 159, 160, 161, 162, 163, 164, 165, - -1, -1, -1, 169, -1, -1, -1, 173, 147, 148, - 149, 150, 151, -1, -1, -1, -1, -1, 157, 158, - 159, 160, 161, 162, 163, 164, 165, -1, -1, -1, - 169, -1, -1, -1, 173, 147, 148, 149, 150, 151, - -1, -1, -1, -1, -1, 157, 158, 159, 160, 161, - 162, 163, 164, 165, -1, -1, -1, 169, -1, -1, - -1, 173, 147, 148, 149, 150, 151, -1, -1, -1, - -1, -1, 157, 158, 159, 160, 161, 162, 163, 164, - 165, -1, -1, -1, 169, -1, -1, -1, 173, 147, - 148, 149, 150, 151, -1, -1, -1, -1, -1, 157, - 158, 159, 160, 161, 162, 163, 164, 165, -1, -1, - -1, 169, -1, -1, -1, 173, 147, 148, 149, 150, - 151, -1, -1, -1, -1, -1, 157, 158, 159, 160, - 161, 162, 163, 164, 165, -1, -1, -1, 169, -1, - -1, -1, 173, 147, 148, 149, 150, 151, -1, -1, - -1, -1, -1, 157, 158, 159, 160, 161, 162, 163, - 164, 165, -1, -1, -1, 169, -1, -1, -1, 173, - 147, 148, 149, 150, 151, -1, -1, -1, -1, -1, - 157, 158, 159, 160, 161, 162, 163, 164, 165, -1, - -1, -1, 169, -1, -1, -1, 173, 147, 148, 149, - 150, 151, -1, -1, -1, -1, -1, 157, 158, 159, - 160, 161, 162, 163, 164, 165, -1, -1, -1, 169, - -1, -1, -1, 173, 147, 148, 149, 150, 151, -1, - -1, -1, -1, -1, 157, 158, 159, 160, 161, 162, - 163, 164, 165, -1, -1, -1, 169, -1, -1, -1, - 173, 147, 148, 149, 150, 151, -1, -1, -1, -1, - -1, 157, 158, 159, 160, 161, 162, 163, 164, 165, - -1, -1, -1, 169, -1, -1, -1, 173, 147, 148, - 149, 150, 151, -1, -1, -1, -1, -1, 157, 158, - 159, 160, 161, 162, 163, 164, 165, -1, -1, -1, - 169, -1, -1, -1, 173, 147, 148, 149, 150, 151, - -1, -1, -1, -1, -1, 157, 158, 159, 160, 161, - 162, 163, 164, 165, -1, -1, -1, 169, -1, -1, - -1, 173, 147, 148, 149, 150, 151, -1, -1, -1, - -1, -1, 157, 158, 159, 160, 161, 162, 163, 164, - 165, -1, -1, -1, 169, -1, -1, -1, 173, 147, - 148, 149, 150, 151, -1, -1, -1, -1, -1, 157, - 158, 159, 160, 161, 162, 163, 164, 165, -1, -1, - -1, 169, -1, -1, -1, 173, 147, 148, 149, 150, - 151, -1, -1, -1, -1, -1, 157, 158, 159, 160, - 161, 162, 163, 164, 165, -1, -1, -1, 169, -1, - -1, -1, 173, 147, 148, 149, 150, 151, -1, -1, - -1, -1, -1, 157, 158, 159, 160, 161, 162, 163, - 164, 165, -1, -1, -1, 169, -1, -1, -1, 173, - 147, 148, 149, 150, 151, -1, -1, -1, -1, -1, - 157, 158, 159, 160, 161, 162, 163, 164, 165, -1, - -1, -1, 169, -1, -1, -1, 173, 147, 148, 149, - 150, 151, -1, -1, -1, -1, -1, 157, 158, 159, - 160, 161, 162, 163, 164, 165, -1, -1, -1, 169, - -1, -1, -1, 173, 147, 148, 149, 150, 151, -1, - -1, -1, -1, -1, 157, 158, 159, 160, 161, 162, - 163, 164, 165, -1, -1, -1, 169, -1, -1, -1, - 173, 147, 148, 149, 150, 151, -1, -1, -1, -1, - -1, 157, 158, 159, 160, 161, 162, 163, 164, 165, - -1, -1, -1, 169, -1, -1, -1, 173, 147, 148, - 149, 150, 151, -1, -1, -1, -1, -1, 157, 158, - 159, 160, 161, 162, 163, 164, 165, -1, -1, -1, - 169, -1, -1, -1, 173, 147, 148, 149, 150, 151, - -1, -1, -1, -1, -1, 157, 158, 159, 160, 161, - 162, 163, 164, 165, -1, -1, -1, 169, -1, -1, - -1, 173, 147, 148, 149, 150, 151, -1, -1, -1, - -1, -1, 157, 158, 159, 160, 161, 162, 163, 164, - 165, -1, -1, -1, 169, -1, -1, -1, 173, 147, - 148, 149, 150, 151, -1, -1, -1, -1, -1, 157, - 158, 159, 160, 161, 162, 163, 164, 165, -1, -1, - -1, 169, -1, -1, 145, 173, 147, 148, 149, 150, - 151, -1, -1, -1, -1, -1, 157, 158, 159, 160, - 161, 162, 163, 164, 165, -1, -1, -1, 169, 147, - 148, 149, 150, 151, -1, -1, -1, -1, -1, 157, - 158, 159, 160, 161, 162, 163, 164, 165, -1, -1, - -1, 169 + -1, -1, -1, -1, -1, -1, -1, 177, 65, -1, + -1, -1, -1, -1, -1, -1, 95, 96, 97, 138, + -1, -1, 79, 80, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, -1, -1, -1, -1, -1, -1, + -1, -1, 121, 122, 123, 124, 125, 126, 127, 128, + 129, 130, -1, 132, 133, 134, 135, 136, 137, -1, + 148, 149, 150, 151, 152, -1, -1, -1, -1, -1, + 158, 159, 160, 161, 162, 163, 164, 165, 166, -1, + -1, 138, 170, 148, 149, 150, 151, 152, -1, -1, + -1, -1, 180, 158, 159, 160, 161, 162, 163, 164, + 165, 166, -1, -1, -1, 170, 148, 149, 150, 151, + 152, -1, -1, -1, -1, 180, 158, 159, 160, 161, + 162, 163, 164, 165, 166, -1, -1, -1, 170, 148, + 149, 150, 151, 152, -1, -1, -1, -1, 180, 158, + 159, 160, 161, 162, 163, 164, 165, 166, -1, -1, + -1, 170, 148, 149, 150, 151, 152, -1, -1, -1, + -1, 180, 158, 159, 160, 161, 162, 163, 164, 165, + 166, -1, -1, -1, 170, -1, -1, -1, 174, -1, + -1, 177, 148, 149, 150, 151, 152, -1, -1, -1, + -1, -1, 158, 159, 160, 161, 162, 163, 164, 165, + 166, -1, -1, -1, 170, -1, -1, -1, 174, -1, + -1, 177, 148, 149, 150, 151, 152, -1, -1, -1, + -1, -1, 158, 159, 160, 161, 162, 163, 164, 165, + 166, -1, -1, -1, 170, -1, -1, -1, 174, -1, + -1, 177, 148, 149, 150, 151, 152, -1, -1, -1, + -1, -1, 158, 159, 160, 161, 162, 163, 164, 165, + 166, -1, -1, -1, 170, 148, 149, 150, 151, 152, + -1, 177, -1, -1, -1, 158, 159, 160, 161, 162, + 163, 164, 165, 166, -1, -1, -1, 170, 148, 149, + 150, 151, 152, -1, 177, -1, -1, -1, 158, 159, + 160, 161, 162, 163, 164, 165, 166, -1, -1, -1, + 170, 148, 149, 150, 151, 152, -1, 177, -1, -1, + -1, 158, 159, 160, 161, 162, 163, 164, 165, 166, + -1, -1, -1, 170, 148, 149, 150, 151, 152, -1, + 177, -1, -1, -1, 158, 159, 160, 161, 162, 163, + 164, 165, 166, -1, -1, -1, 170, 148, 149, 150, + 151, 152, -1, 177, -1, -1, -1, 158, 159, 160, + 161, 162, 163, 164, 165, 166, -1, -1, -1, 170, + 148, 149, 150, 151, 152, -1, 177, -1, -1, -1, + 158, 159, 160, 161, 162, 163, 164, 165, 166, -1, + -1, -1, 170, 148, 149, 150, 151, 152, -1, 177, + -1, -1, -1, 158, 159, 160, 161, 162, 163, 164, + 165, 166, -1, -1, -1, 170, 148, 149, 150, 151, + 152, -1, 177, -1, -1, -1, 158, 159, 160, 161, + 162, 163, 164, 165, 166, -1, -1, -1, 170, 148, + 149, 150, 151, 152, -1, 177, -1, -1, -1, 158, + 159, 160, 161, 162, 163, 164, 165, 166, -1, -1, + -1, 170, 141, -1, -1, -1, -1, -1, 177, 148, + 149, 150, 151, 152, -1, -1, -1, -1, -1, 158, + 159, 160, 161, 162, 163, 164, 165, 166, -1, -1, + -1, 170, 148, 149, 150, 151, 152, -1, -1, -1, + -1, -1, 158, 159, 160, 161, 162, 163, 164, 165, + 166, -1, -1, -1, 170, 148, 149, 150, 151, 152, + -1, 177, -1, -1, -1, 158, 159, 160, 161, 162, + 163, 164, 165, 166, -1, -1, -1, 170, 148, 149, + 150, 151, 152, -1, 177, -1, -1, -1, 158, 159, + 160, 161, 162, 163, 164, 165, 166, -1, -1, -1, + 170, 148, 149, 150, 151, 152, -1, 177, -1, -1, + -1, 158, 159, 160, 161, 162, 163, 164, 165, 166, + -1, -1, -1, 170, 148, 149, 150, 151, 152, -1, + 177, -1, -1, -1, 158, 159, 160, 161, 162, 163, + 164, 165, 166, -1, -1, -1, 170, 148, 149, 150, + 151, 152, -1, 177, -1, -1, -1, 158, 159, 160, + 161, 162, 163, 164, 165, 166, -1, -1, -1, 170, + 148, 149, 150, 151, 152, -1, 177, -1, -1, -1, + 158, 159, 160, 161, 162, 163, 164, 165, 166, -1, + -1, -1, 170, 141, -1, -1, -1, -1, -1, 177, + 148, 149, 150, 151, 152, -1, -1, -1, -1, -1, + 158, 159, 160, 161, 162, 163, 164, 165, 166, -1, + -1, -1, 170, 148, 149, 150, 151, 152, -1, -1, + -1, -1, -1, 158, 159, 160, 161, 162, 163, 164, + 165, 166, -1, -1, -1, 170, 148, 149, 150, 151, + 152, -1, 177, -1, -1, -1, 158, 159, 160, 161, + 162, 163, 164, 165, 166, -1, -1, -1, 170, 148, + 149, 150, 151, 152, -1, 177, -1, -1, -1, 158, + 159, 160, 161, 162, 163, 164, 165, 166, -1, -1, + -1, 170, 148, 149, 150, 151, 152, -1, 177, -1, + -1, -1, 158, 159, 160, 161, 162, 163, 164, 165, + 166, -1, -1, -1, 170, -1, -1, -1, -1, 175, + 148, 149, 150, 151, 152, -1, -1, -1, -1, -1, + 158, 159, 160, 161, 162, 163, 164, 165, 166, -1, + -1, -1, 170, -1, -1, -1, -1, 175, 148, 149, + 150, 151, 152, -1, -1, -1, -1, -1, 158, 159, + 160, 161, 162, 163, 164, 165, 166, -1, -1, -1, + 170, -1, -1, -1, -1, 175, 148, 149, 150, 151, + 152, -1, -1, -1, -1, -1, 158, 159, 160, 161, + 162, 163, 164, 165, 166, -1, -1, -1, 170, -1, + -1, -1, -1, 175, 148, 149, 150, 151, 152, -1, + -1, -1, -1, -1, 158, 159, 160, 161, 162, 163, + 164, 165, 166, -1, -1, -1, 170, -1, -1, -1, + -1, 175, 148, 149, 150, 151, 152, -1, -1, -1, + -1, -1, 158, 159, 160, 161, 162, 163, 164, 165, + 166, -1, -1, -1, 170, -1, -1, -1, -1, 175, + 148, 149, 150, 151, 152, -1, -1, -1, -1, -1, + 158, 159, 160, 161, 162, 163, 164, 165, 166, -1, + -1, -1, 170, -1, -1, -1, -1, 175, 148, 149, + 150, 151, 152, -1, -1, -1, -1, -1, 158, 159, + 160, 161, 162, 163, 164, 165, 166, -1, -1, -1, + 170, -1, -1, -1, -1, 175, 148, 149, 150, 151, + 152, -1, -1, -1, -1, -1, 158, 159, 160, 161, + 162, 163, 164, 165, 166, -1, -1, -1, 170, -1, + -1, -1, -1, 175, 148, 149, 150, 151, 152, -1, + -1, -1, -1, -1, 158, 159, 160, 161, 162, 163, + 164, 165, 166, -1, -1, -1, 170, -1, -1, -1, + -1, 175, 148, 149, 150, 151, 152, -1, -1, -1, + -1, -1, 158, 159, 160, 161, 162, 163, 164, 165, + 166, -1, -1, -1, 170, -1, -1, -1, -1, 175, + 148, 149, 150, 151, 152, -1, -1, -1, -1, -1, + 158, 159, 160, 161, 162, 163, 164, 165, 166, -1, + -1, -1, 170, -1, -1, -1, -1, 175, 148, 149, + 150, 151, 152, -1, -1, -1, -1, -1, 158, 159, + 160, 161, 162, 163, 164, 165, 166, -1, -1, -1, + 170, -1, -1, -1, -1, 175, 148, 149, 150, 151, + 152, -1, -1, -1, -1, -1, 158, 159, 160, 161, + 162, 163, 164, 165, 166, -1, -1, -1, 170, -1, + -1, -1, -1, 175, 148, 149, 150, 151, 152, -1, + -1, -1, -1, -1, 158, 159, 160, 161, 162, 163, + 164, 165, 166, -1, -1, -1, 170, -1, -1, -1, + -1, 175, 148, 149, 150, 151, 152, -1, -1, -1, + -1, -1, 158, 159, 160, 161, 162, 163, 164, 165, + 166, -1, -1, -1, 170, -1, -1, -1, -1, 175, + 148, 149, 150, 151, 152, -1, -1, -1, -1, -1, + 158, 159, 160, 161, 162, 163, 164, 165, 166, -1, + -1, -1, 170, -1, -1, -1, -1, 175, 148, 149, + 150, 151, 152, -1, -1, -1, -1, -1, 158, 159, + 160, 161, 162, 163, 164, 165, 166, -1, -1, -1, + 170, -1, -1, -1, -1, 175, 148, 149, 150, 151, + 152, -1, -1, -1, -1, -1, 158, 159, 160, 161, + 162, 163, 164, 165, 166, -1, -1, -1, 170, -1, + -1, -1, -1, 175, 148, 149, 150, 151, 152, -1, + -1, -1, -1, -1, 158, 159, 160, 161, 162, 163, + 164, 165, 166, -1, -1, -1, 170, -1, -1, -1, + -1, 175, 148, 149, 150, 151, 152, -1, -1, -1, + -1, -1, 158, 159, 160, 161, 162, 163, 164, 165, + 166, -1, -1, -1, 170, -1, -1, -1, -1, 175, + 148, 149, 150, 151, 152, -1, -1, -1, -1, -1, + 158, 159, 160, 161, 162, 163, 164, 165, 166, -1, + -1, -1, 170, -1, -1, -1, -1, 175, 148, 149, + 150, 151, 152, -1, -1, -1, -1, -1, 158, 159, + 160, 161, 162, 163, 164, 165, 166, -1, -1, -1, + 170, -1, -1, -1, -1, 175, 148, 149, 150, 151, + 152, -1, -1, -1, -1, -1, 158, 159, 160, 161, + 162, 163, 164, 165, 166, -1, -1, -1, 170, -1, + -1, -1, -1, 175, 148, 149, 150, 151, 152, -1, + -1, -1, -1, -1, 158, 159, 160, 161, 162, 163, + 164, 165, 166, -1, -1, -1, 170, -1, -1, -1, + -1, 175, 148, 149, 150, 151, 152, -1, -1, -1, + -1, -1, 158, 159, 160, 161, 162, 163, 164, 165, + 166, -1, -1, -1, 170, -1, -1, -1, -1, 175, + 148, 149, 150, 151, 152, -1, -1, -1, -1, -1, + 158, 159, 160, 161, 162, 163, 164, 165, 166, -1, + -1, -1, 170, -1, -1, -1, -1, 175, 148, 149, + 150, 151, 152, -1, -1, -1, -1, -1, 158, 159, + 160, 161, 162, 163, 164, 165, 166, -1, -1, -1, + 170, -1, -1, -1, -1, 175, 148, 149, 150, 151, + 152, -1, -1, -1, -1, -1, 158, 159, 160, 161, + 162, 163, 164, 165, 166, -1, -1, -1, 170, -1, + -1, -1, -1, 175, 148, 149, 150, 151, 152, -1, + -1, -1, -1, -1, 158, 159, 160, 161, 162, 163, + 164, 165, 166, -1, -1, -1, 170, -1, -1, -1, + -1, 175, 148, 149, 150, 151, 152, -1, -1, -1, + -1, -1, 158, 159, 160, 161, 162, 163, 164, 165, + 166, -1, -1, -1, 170, -1, -1, -1, -1, 175, + 148, 149, 150, 151, 152, -1, -1, -1, -1, -1, + 158, 159, 160, 161, 162, 163, 164, 165, 166, -1, + -1, -1, 170, -1, -1, -1, -1, 175, 148, 149, + 150, 151, 152, -1, -1, -1, -1, -1, 158, 159, + 160, 161, 162, 163, 164, 165, 166, -1, -1, -1, + 170, -1, -1, -1, -1, 175, 148, 149, 150, 151, + 152, -1, -1, -1, -1, -1, 158, 159, 160, 161, + 162, 163, 164, 165, 166, -1, -1, -1, 170, -1, + -1, -1, -1, 175, 148, 149, 150, 151, 152, -1, + -1, -1, -1, -1, 158, 159, 160, 161, 162, 163, + 164, 165, 166, -1, -1, -1, 170, -1, -1, -1, + -1, 175, 148, 149, 150, 151, 152, -1, -1, -1, + -1, -1, 158, 159, 160, 161, 162, 163, 164, 165, + 166, -1, -1, -1, 170, -1, -1, -1, -1, 175, + 148, 149, 150, 151, 152, -1, -1, -1, -1, -1, + 158, 159, 160, 161, 162, 163, 164, 165, 166, -1, + -1, -1, 170, -1, -1, -1, -1, 175, 148, 149, + 150, 151, 152, -1, -1, -1, -1, -1, 158, 159, + 160, 161, 162, 163, 164, 165, 166, -1, -1, -1, + 170, -1, -1, -1, -1, 175, 148, 149, 150, 151, + 152, -1, -1, -1, -1, -1, 158, 159, 160, 161, + 162, 163, 164, 165, 166, -1, -1, -1, 170, -1, + -1, -1, -1, 175, 148, 149, 150, 151, 152, -1, + -1, -1, -1, -1, 158, 159, 160, 161, 162, 163, + 164, 165, 166, -1, -1, -1, 170, -1, -1, -1, + -1, 175, 148, 149, 150, 151, 152, -1, -1, -1, + -1, -1, 158, 159, 160, 161, 162, 163, 164, 165, + 166, -1, -1, -1, 170, -1, -1, -1, -1, 175, + 148, 149, 150, 151, 152, -1, -1, -1, -1, -1, + 158, 159, 160, 161, 162, 163, 164, 165, 166, -1, + -1, -1, 170, -1, -1, -1, -1, 175, 148, 149, + 150, 151, 152, -1, -1, -1, -1, -1, 158, 159, + 160, 161, 162, 163, 164, 165, 166, -1, -1, -1, + 170, -1, -1, -1, -1, 175, 148, 149, 150, 151, + 152, -1, -1, -1, -1, -1, 158, 159, 160, 161, + 162, 163, 164, 165, 166, -1, -1, -1, 170, -1, + -1, -1, -1, 175, 148, 149, 150, 151, 152, -1, + -1, -1, -1, -1, 158, 159, 160, 161, 162, 163, + 164, 165, 166, -1, -1, -1, 170, -1, -1, -1, + -1, 175, 148, 149, 150, 151, 152, -1, -1, -1, + -1, -1, 158, 159, 160, 161, 162, 163, 164, 165, + 166, -1, -1, -1, 170, -1, -1, -1, -1, 175, + 148, 149, 150, 151, 152, -1, -1, -1, -1, -1, + 158, 159, 160, 161, 162, 163, 164, 165, 166, -1, + -1, -1, 170, -1, -1, -1, -1, 175, 148, 149, + 150, 151, 152, -1, -1, -1, -1, -1, 158, 159, + 160, 161, 162, 163, 164, 165, 166, -1, -1, -1, + 170, -1, -1, -1, -1, 175, 148, 149, 150, 151, + 152, -1, -1, -1, -1, -1, 158, 159, 160, 161, + 162, 163, 164, 165, 166, -1, -1, -1, 170, -1, + -1, -1, -1, 175, 148, 149, 150, 151, 152, -1, + -1, -1, -1, -1, 158, 159, 160, 161, 162, 163, + 164, 165, 166, -1, -1, -1, 170, -1, -1, -1, + -1, 175, 148, 149, 150, 151, 152, -1, -1, -1, + -1, -1, 158, 159, 160, 161, 162, 163, 164, 165, + 166, -1, -1, -1, 170, -1, -1, -1, -1, 175, + 148, 149, 150, 151, 152, -1, -1, -1, -1, -1, + 158, 159, 160, 161, 162, 163, 164, 165, 166, -1, + -1, -1, 170, -1, -1, -1, -1, 175, 148, 149, + 150, 151, 152, -1, -1, -1, -1, -1, 158, 159, + 160, 161, 162, 163, 164, 165, 166, -1, -1, -1, + 170, -1, -1, -1, -1, 175, 148, 149, 150, 151, + 152, -1, -1, -1, -1, -1, 158, 159, 160, 161, + 162, 163, 164, 165, 166, -1, -1, -1, 170, -1, + -1, -1, -1, 175, 148, 149, 150, 151, 152, -1, + -1, -1, -1, -1, 158, 159, 160, 161, 162, 163, + 164, 165, 166, -1, -1, -1, 170, -1, -1, -1, + -1, 175, 148, 149, 150, 151, 152, -1, -1, -1, + -1, -1, 158, 159, 160, 161, 162, 163, 164, 165, + 166, -1, -1, -1, 170, -1, -1, -1, -1, 175, + 148, 149, 150, 151, 152, -1, -1, -1, -1, -1, + 158, 159, 160, 161, 162, 163, 164, 165, 166, -1, + -1, -1, 170, -1, -1, -1, -1, 175, 148, 149, + 150, 151, 152, -1, -1, -1, -1, -1, 158, 159, + 160, 161, 162, 163, 164, 165, 166, -1, -1, -1, + 170, -1, -1, -1, -1, 175, 148, 149, 150, 151, + 152, -1, -1, -1, -1, -1, 158, 159, 160, 161, + 162, 163, 164, 165, 166, -1, -1, -1, 170, -1, + -1, -1, -1, 175, 148, 149, 150, 151, 152, -1, + -1, -1, -1, -1, 158, 159, 160, 161, 162, 163, + 164, 165, 166, -1, -1, -1, 170, -1, -1, -1, + -1, 175, 148, 149, 150, 151, 152, -1, -1, -1, + -1, -1, 158, 159, 160, 161, 162, 163, 164, 165, + 166, -1, -1, -1, 170, -1, -1, -1, -1, 175, + 148, 149, 150, 151, 152, -1, -1, -1, -1, -1, + 158, 159, 160, 161, 162, 163, 164, 165, 166, -1, + -1, -1, 170, -1, -1, -1, -1, 175, 148, 149, + 150, 151, 152, -1, -1, -1, -1, -1, 158, 159, + 160, 161, 162, 163, 164, 165, 166, -1, -1, -1, + 170, -1, -1, -1, -1, 175, 148, 149, 150, 151, + 152, -1, -1, -1, -1, -1, 158, 159, 160, 161, + 162, 163, 164, 165, 166, -1, -1, -1, 170, -1, + -1, -1, 174, 148, 149, 150, 151, 152, -1, -1, + -1, -1, -1, 158, 159, 160, 161, 162, 163, 164, + 165, 166, -1, -1, -1, 170, -1, -1, -1, 174, + 148, 149, 150, 151, 152, -1, -1, -1, -1, -1, + 158, 159, 160, 161, 162, 163, 164, 165, 166, -1, + -1, -1, 170, -1, -1, -1, 174, 148, 149, 150, + 151, 152, -1, -1, -1, -1, -1, 158, 159, 160, + 161, 162, 163, 164, 165, 166, -1, -1, -1, 170, + -1, -1, -1, 174, 148, 149, 150, 151, 152, -1, + -1, -1, -1, -1, 158, 159, 160, 161, 162, 163, + 164, 165, 166, -1, -1, -1, 170, -1, -1, -1, + 174, 148, 149, 150, 151, 152, -1, -1, -1, -1, + -1, 158, 159, 160, 161, 162, 163, 164, 165, 166, + -1, -1, -1, 170, 144, -1, -1, 174, 148, 149, + 150, 151, 152, -1, -1, -1, -1, -1, 158, 159, + 160, 161, 162, 163, 164, 165, 166, -1, -1, -1, + 170, 148, 149, 150, 151, 152, -1, -1, -1, -1, + -1, 158, 159, 160, 161, 162, 163, 164, 165, 166, + -1, -1, -1, 170, -1, -1, -1, 174, 148, 149, + 150, 151, 152, -1, -1, -1, -1, -1, 158, 159, + 160, 161, 162, 163, 164, 165, 166, -1, -1, -1, + 170, -1, -1, -1, 174, 148, 149, 150, 151, 152, + -1, -1, -1, -1, -1, 158, 159, 160, 161, 162, + 163, 164, 165, 166, -1, -1, -1, 170, -1, -1, + -1, 174, 148, 149, 150, 151, 152, -1, -1, -1, + -1, -1, 158, 159, 160, 161, 162, 163, 164, 165, + 166, -1, -1, -1, 170, -1, -1, -1, 174, 148, + 149, 150, 151, 152, -1, -1, -1, -1, -1, 158, + 159, 160, 161, 162, 163, 164, 165, 166, -1, -1, + -1, 170, -1, -1, -1, 174, 148, 149, 150, 151, + 152, -1, -1, -1, -1, -1, 158, 159, 160, 161, + 162, 163, 164, 165, 166, -1, -1, -1, 170, -1, + -1, -1, 174, 148, 149, 150, 151, 152, -1, -1, + -1, -1, -1, 158, 159, 160, 161, 162, 163, 164, + 165, 166, -1, -1, -1, 170, -1, -1, -1, 174, + 148, 149, 150, 151, 152, -1, -1, -1, -1, -1, + 158, 159, 160, 161, 162, 163, 164, 165, 166, -1, + -1, -1, 170, -1, -1, -1, 174, 148, 149, 150, + 151, 152, -1, -1, -1, -1, -1, 158, 159, 160, + 161, 162, 163, 164, 165, 166, -1, -1, -1, 170, + -1, -1, -1, 174, 148, 149, 150, 151, 152, -1, + -1, -1, -1, -1, 158, 159, 160, 161, 162, 163, + 164, 165, 166, -1, -1, -1, 170, -1, -1, -1, + 174, 148, 149, 150, 151, 152, -1, -1, -1, -1, + -1, 158, 159, 160, 161, 162, 163, 164, 165, 166, + -1, -1, -1, 170, -1, -1, -1, 174, 148, 149, + 150, 151, 152, -1, -1, -1, -1, -1, 158, 159, + 160, 161, 162, 163, 164, 165, 166, -1, -1, -1, + 170, -1, -1, -1, 174, 148, 149, 150, 151, 152, + -1, -1, -1, -1, -1, 158, 159, 160, 161, 162, + 163, 164, 165, 166, -1, -1, -1, 170, -1, -1, + -1, 174, 148, 149, 150, 151, 152, -1, -1, -1, + -1, -1, 158, 159, 160, 161, 162, 163, 164, 165, + 166, -1, -1, -1, 170, -1, -1, -1, 174, 148, + 149, 150, 151, 152, -1, -1, -1, -1, -1, 158, + 159, 160, 161, 162, 163, 164, 165, 166, -1, -1, + -1, 170, -1, -1, -1, 174, 148, 149, 150, 151, + 152, -1, -1, -1, -1, -1, 158, 159, 160, 161, + 162, 163, 164, 165, 166, -1, -1, -1, 170, -1, + -1, -1, 174, 148, 149, 150, 151, 152, -1, -1, + -1, -1, -1, 158, 159, 160, 161, 162, 163, 164, + 165, 166, -1, -1, -1, 170, -1, -1, -1, 174, + 148, 149, 150, 151, 152, -1, -1, -1, -1, -1, + 158, 159, 160, 161, 162, 163, 164, 165, 166, -1, + -1, -1, 170, -1, -1, -1, 174, 148, 149, 150, + 151, 152, -1, -1, -1, -1, -1, 158, 159, 160, + 161, 162, 163, 164, 165, 166, -1, -1, -1, 170, + -1, -1, -1, 174, 148, 149, 150, 151, 152, -1, + -1, -1, -1, -1, 158, 159, 160, 161, 162, 163, + 164, 165, 166, -1, -1, -1, 170, -1, -1, -1, + 174, 148, 149, 150, 151, 152, -1, -1, -1, -1, + -1, 158, 159, 160, 161, 162, 163, 164, 165, 166, + -1, -1, -1, 170, -1, -1, -1, 174, 148, 149, + 150, 151, 152, -1, -1, -1, -1, -1, 158, 159, + 160, 161, 162, 163, 164, 165, 166, -1, -1, -1, + 170, -1, -1, -1, 174, 148, 149, 150, 151, 152, + -1, -1, -1, -1, -1, 158, 159, 160, 161, 162, + 163, 164, 165, 166, -1, -1, -1, 170, -1, -1, + -1, 174, 148, 149, 150, 151, 152, -1, -1, -1, + -1, -1, 158, 159, 160, 161, 162, 163, 164, 165, + 166, -1, -1, -1, 170, -1, -1, -1, 174, 148, + 149, 150, 151, 152, -1, -1, -1, -1, -1, 158, + 159, 160, 161, 162, 163, 164, 165, 166, -1, -1, + -1, 170, -1, -1, -1, 174, 148, 149, 150, 151, + 152, -1, -1, -1, -1, -1, 158, 159, 160, 161, + 162, 163, 164, 165, 166, -1, -1, -1, 170, -1, + -1, -1, 174, 148, 149, 150, 151, 152, -1, -1, + -1, -1, -1, 158, 159, 160, 161, 162, 163, 164, + 165, 166, -1, -1, -1, 170, -1, -1, -1, 174, + 148, 149, 150, 151, 152, -1, -1, -1, -1, -1, + 158, 159, 160, 161, 162, 163, 164, 165, 166, -1, + -1, -1, 170, -1, -1, -1, 174, 148, 149, 150, + 151, 152, -1, -1, -1, -1, -1, 158, 159, 160, + 161, 162, 163, 164, 165, 166, -1, -1, -1, 170, + -1, -1, -1, 174, 148, 149, 150, 151, 152, -1, + -1, -1, -1, -1, 158, 159, 160, 161, 162, 163, + 164, 165, 166, -1, -1, -1, 170, -1, -1, -1, + 174, 148, 149, 150, 151, 152, -1, -1, -1, -1, + -1, 158, 159, 160, 161, 162, 163, 164, 165, 166, + -1, -1, -1, 170, -1, -1, -1, 174, 148, 149, + 150, 151, 152, -1, -1, -1, -1, -1, 158, 159, + 160, 161, 162, 163, 164, 165, 166, -1, -1, -1, + 170, -1, -1, -1, 174, 148, 149, 150, 151, 152, + -1, -1, -1, -1, -1, 158, 159, 160, 161, 162, + 163, 164, 165, 166, -1, -1, -1, 170, -1, -1, + -1, 174, 148, 149, 150, 151, 152, -1, -1, -1, + -1, -1, 158, 159, 160, 161, 162, 163, 164, 165, + 166, -1, -1, -1, 170, -1, -1, -1, 174, 148, + 149, 150, 151, 152, -1, -1, -1, -1, -1, 158, + 159, 160, 161, 162, 163, 164, 165, 166, -1, -1, + -1, 170, -1, -1, -1, 174, 148, 149, 150, 151, + 152, -1, -1, -1, -1, -1, 158, 159, 160, 161, + 162, 163, 164, 165, 166, -1, -1, -1, 170, -1, + -1, -1, 174, 148, 149, 150, 151, 152, -1, -1, + -1, -1, -1, 158, 159, 160, 161, 162, 163, 164, + 165, 166, -1, -1, -1, 170, -1, -1, -1, 174, + 148, 149, 150, 151, 152, -1, -1, -1, -1, -1, + 158, 159, 160, 161, 162, 163, 164, 165, 166, -1, + -1, -1, 170, -1, -1, -1, 174, 148, 149, 150, + 151, 152, -1, -1, -1, -1, -1, 158, 159, 160, + 161, 162, 163, 164, 165, 166, -1, -1, -1, 170, + -1, -1, -1, 174, 148, 149, 150, 151, 152, -1, + -1, -1, -1, -1, 158, 159, 160, 161, 162, 163, + 164, 165, 166, -1, -1, -1, 170, -1, -1, -1, + 174, 148, 149, 150, 151, 152, -1, -1, -1, -1, + -1, 158, 159, 160, 161, 162, 163, 164, 165, 166, + -1, -1, -1, 170, -1, -1, -1, 174, 148, 149, + 150, 151, 152, -1, -1, -1, -1, -1, 158, 159, + 160, 161, 162, 163, 164, 165, 166, -1, -1, -1, + 170, -1, -1, -1, 174, 148, 149, 150, 151, 152, + -1, -1, -1, -1, -1, 158, 159, 160, 161, 162, + 163, 164, 165, 166, -1, -1, -1, 170, -1, -1, + -1, 174, 148, 149, 150, 151, 152, -1, -1, -1, + -1, -1, 158, 159, 160, 161, 162, 163, 164, 165, + 166, -1, -1, -1, 170, -1, -1, -1, 174, 148, + 149, 150, 151, 152, -1, -1, -1, -1, -1, 158, + 159, 160, 161, 162, 163, 164, 165, 166, -1, -1, + -1, 170, -1, -1, -1, 174, 148, 149, 150, 151, + 152, -1, -1, -1, -1, -1, 158, 159, 160, 161, + 162, 163, 164, 165, 166, -1, -1, -1, 170, -1, + -1, -1, 174, 148, 149, 150, 151, 152, -1, -1, + -1, -1, -1, 158, 159, 160, 161, 162, 163, 164, + 165, 166, -1, -1, -1, 170, -1, -1, -1, 174, + 148, 149, 150, 151, 152, -1, -1, -1, -1, -1, + 158, 159, 160, 161, 162, 163, 164, 165, 166, -1, + -1, -1, 170, -1, -1, -1, 174, 148, 149, 150, + 151, 152, -1, -1, -1, -1, -1, 158, 159, 160, + 161, 162, 163, 164, 165, 166, -1, -1, -1, 170, + -1, -1, -1, 174, 148, 149, 150, 151, 152, -1, + -1, -1, -1, -1, 158, 159, 160, 161, 162, 163, + 164, 165, 166, -1, -1, -1, 170, -1, -1, -1, + 174, 148, 149, 150, 151, 152, -1, -1, -1, -1, + -1, 158, 159, 160, 161, 162, 163, 164, 165, 166, + -1, -1, -1, 170, -1, -1, -1, 174, 148, 149, + 150, 151, 152, -1, -1, -1, -1, -1, 158, 159, + 160, 161, 162, 163, 164, 165, 166, -1, -1, -1, + 170, -1, -1, -1, 174, 148, 149, 150, 151, 152, + -1, -1, -1, -1, -1, 158, 159, 160, 161, 162, + 163, 164, 165, 166, -1, -1, -1, 170, -1, -1, + -1, 174, 148, 149, 150, 151, 152, -1, -1, -1, + -1, -1, 158, 159, 160, 161, 162, 163, 164, 165, + 166, -1, -1, -1, 170, -1, -1, -1, 174, 148, + 149, 150, 151, 152, -1, -1, -1, -1, -1, 158, + 159, 160, 161, 162, 163, 164, 165, 166, -1, -1, + -1, 170, -1, -1, -1, 174, 148, 149, 150, 151, + 152, -1, -1, -1, -1, -1, 158, 159, 160, 161, + 162, 163, 164, 165, 166, -1, -1, -1, 170, -1, + -1, -1, 174, 148, 149, 150, 151, 152, -1, -1, + -1, -1, -1, 158, 159, 160, 161, 162, 163, 164, + 165, 166, -1, -1, -1, 170, -1, -1, -1, 174, + 148, 149, 150, 151, 152, -1, -1, -1, -1, -1, + 158, 159, 160, 161, 162, 163, 164, 165, 166, -1, + -1, -1, 170, -1, -1, -1, 174, 148, 149, 150, + 151, 152, -1, -1, -1, -1, -1, 158, 159, 160, + 161, 162, 163, 164, 165, 166, -1, -1, -1, 170, + -1, -1, -1, 174, 148, 149, 150, 151, 152, -1, + -1, -1, -1, -1, 158, 159, 160, 161, 162, 163, + 164, 165, 166, -1, -1, -1, 170, -1, -1, -1, + 174, 148, 149, 150, 151, 152, -1, -1, -1, -1, + -1, 158, 159, 160, 161, 162, 163, 164, 165, 166, + -1, -1, -1, 170, -1, -1, -1, 174, 148, 149, + 150, 151, 152, -1, -1, -1, -1, -1, 158, 159, + 160, 161, 162, 163, 164, 165, 166, -1, -1, -1, + 170, -1, -1, -1, 174, 148, 149, 150, 151, 152, + -1, -1, -1, -1, -1, 158, 159, 160, 161, 162, + 163, 164, 165, 166, -1, -1, -1, 170, -1, -1, + -1, 174, 148, 149, 150, 151, 152, -1, -1, -1, + -1, -1, 158, 159, 160, 161, 162, 163, 164, 165, + 166, -1, -1, -1, 170, -1, -1, -1, 174, 148, + 149, 150, 151, 152, -1, -1, -1, -1, -1, 158, + 159, 160, 161, 162, 163, 164, 165, 166, -1, -1, + -1, 170, -1, -1, -1, 174, 148, 149, 150, 151, + 152, -1, -1, -1, -1, -1, 158, 159, 160, 161, + 162, 163, 164, 165, 166, -1, -1, -1, 170, -1, + -1, -1, 174, 148, 149, 150, 151, 152, -1, -1, + -1, -1, -1, 158, 159, 160, 161, 162, 163, 164, + 165, 166, -1, -1, -1, 170, -1, -1, -1, 174, + 148, 149, 150, 151, 152, -1, -1, -1, -1, -1, + 158, 159, 160, 161, 162, 163, 164, 165, 166, -1, + -1, -1, 170, -1, -1, -1, 174, 148, 149, 150, + 151, 152, -1, -1, -1, -1, -1, 158, 159, 160, + 161, 162, 163, 164, 165, 166, -1, -1, -1, 170, + -1, -1, -1, 174, 148, 149, 150, 151, 152, -1, + -1, -1, -1, -1, 158, 159, 160, 161, 162, 163, + 164, 165, 166, -1, -1, -1, 170, -1, -1, -1, + 174, 148, 149, 150, 151, 152, -1, -1, -1, -1, + -1, 158, 159, 160, 161, 162, 163, 164, 165, 166, + -1, -1, -1, 170, -1, -1, -1, 174, 148, 149, + 150, 151, 152, -1, -1, -1, -1, -1, 158, 159, + 160, 161, 162, 163, 164, 165, 166, -1, -1, -1, + 170, -1, -1, -1, 174, 148, 149, 150, 151, 152, + -1, -1, -1, -1, -1, 158, 159, 160, 161, 162, + 163, 164, 165, 166, -1, -1, -1, 170, -1, -1, + -1, 174, 148, 149, 150, 151, 152, -1, -1, -1, + -1, -1, 158, 159, 160, 161, 162, 163, 164, 165, + 166, -1, -1, -1, 170, -1, -1, -1, 174, 148, + 149, 150, 151, 152, -1, -1, -1, -1, -1, 158, + 159, 160, 161, 162, 163, 164, 165, 166, -1, -1, + -1, 170, -1, -1, -1, 174, 148, 149, 150, 151, + 152, -1, -1, -1, -1, -1, 158, 159, 160, 161, + 162, 163, 164, 165, 166, -1, -1, -1, 170, -1, + -1, -1, 174, 148, 149, 150, 151, 152, -1, -1, + -1, -1, -1, 158, 159, 160, 161, 162, 163, 164, + 165, 166, -1, -1, -1, 170, -1, -1, -1, 174, + 148, 149, 150, 151, 152, -1, -1, -1, -1, -1, + 158, 159, 160, 161, 162, 163, 164, 165, 166, -1, + -1, -1, 170, -1, -1, -1, 174, 148, 149, 150, + 151, 152, -1, -1, -1, -1, -1, 158, 159, 160, + 161, 162, 163, 164, 165, 166, -1, -1, -1, 170, + -1, -1, -1, 174, 148, 149, 150, 151, 152, -1, + -1, -1, -1, -1, 158, 159, 160, 161, 162, 163, + 164, 165, 166, -1, -1, -1, 170, -1, -1, -1, + 174, 148, 149, 150, 151, 152, -1, -1, -1, -1, + -1, 158, 159, 160, 161, 162, 163, 164, 165, 166, + -1, -1, -1, 170, -1, -1, -1, 174, 148, 149, + 150, 151, 152, -1, -1, -1, -1, -1, 158, 159, + 160, 161, 162, 163, 164, 165, 166, -1, -1, -1, + 170, -1, -1, -1, 174, 148, 149, 150, 151, 152, + -1, -1, -1, -1, -1, 158, 159, 160, 161, 162, + 163, 164, 165, 166, -1, -1, -1, 170, -1, -1, + -1, 174, 148, 149, 150, 151, 152, -1, -1, -1, + -1, -1, 158, 159, 160, 161, 162, 163, 164, 165, + 166, -1, -1, -1, 170, -1, -1, -1, 174, 148, + 149, 150, 151, 152, -1, -1, -1, -1, -1, 158, + 159, 160, 161, 162, 163, 164, 165, 166, -1, -1, + -1, 170, -1, -1, -1, 174, 148, 149, 150, 151, + 152, -1, -1, -1, -1, -1, 158, 159, 160, 161, + 162, 163, 164, 165, 166, -1, -1, -1, 170, -1, + -1, -1, 174, 148, 149, 150, 151, 152, -1, -1, + -1, -1, -1, 158, 159, 160, 161, 162, 163, 164, + 165, 166, -1, -1, -1, 170, -1, -1, -1, 174, + 148, 149, 150, 151, 152, -1, -1, -1, -1, -1, + 158, 159, 160, 161, 162, 163, 164, 165, 166, -1, + -1, -1, 170, -1, -1, -1, 174, 148, 149, 150, + 151, 152, -1, -1, -1, -1, -1, 158, 159, 160, + 161, 162, 163, 164, 165, 166, -1, -1, -1, 170, + -1, -1, -1, 174, 148, 149, 150, 151, 152, -1, + -1, -1, -1, -1, 158, 159, 160, 161, 162, 163, + 164, 165, 166, -1, -1, -1, 170, -1, -1, -1, + 174, 148, 149, 150, 151, 152, -1, -1, -1, -1, + -1, 158, 159, 160, 161, 162, 163, 164, 165, 166, + -1, -1, -1, 170, -1, -1, -1, 174, 148, 149, + 150, 151, 152, -1, -1, -1, -1, -1, 158, 159, + 160, 161, 162, 163, 164, 165, 166, -1, -1, -1, + 170, -1, -1, -1, 174, 148, 149, 150, 151, 152, + -1, -1, -1, -1, -1, 158, 159, 160, 161, 162, + 163, 164, 165, 166, -1, -1, -1, 170, -1, -1, + -1, 174, 148, 149, 150, 151, 152, -1, -1, -1, + -1, -1, 158, 159, 160, 161, 162, 163, 164, 165, + 166, -1, -1, -1, 170, -1, -1, -1, 174, 148, + 149, 150, 151, 152, -1, -1, -1, -1, -1, 158, + 159, 160, 161, 162, 163, 164, 165, 166, -1, -1, + -1, 170, -1, -1, -1, 174, 148, 149, 150, 151, + 152, -1, -1, -1, -1, -1, 158, 159, 160, 161, + 162, 163, 164, 165, 166, -1, -1, -1, 170, -1, + -1, -1, 174, 148, 149, 150, 151, 152, -1, -1, + -1, -1, -1, 158, 159, 160, 161, 162, 163, 164, + 165, 166, -1, -1, -1, 170, -1, -1, -1, 174, + 148, 149, 150, 151, 152, -1, -1, -1, -1, -1, + 158, 159, 160, 161, 162, 163, 164, 165, 166, -1, + -1, -1, 170, -1, -1, -1, 174, 148, 149, 150, + 151, 152, -1, -1, -1, -1, -1, 158, 159, 160, + 161, 162, 163, 164, 165, 166, -1, -1, -1, 170, + -1, -1, -1, 174, 148, 149, 150, 151, 152, -1, + -1, -1, -1, -1, 158, 159, 160, 161, 162, 163, + 164, 165, 166, -1, -1, -1, 170, -1, -1, -1, + 174, 148, 149, 150, 151, 152, -1, -1, -1, -1, + -1, 158, 159, 160, 161, 162, 163, 164, 165, 166, + -1, -1, -1, 170 }; /* -*-C-*- Note some compilers choke on comments on `#line' lines. */ #line 3 "/usr/lib/bison.simple" @@ -3161,7 +3173,7 @@ yyreduce: switch (yyn) { case 4: -#line 154 "Gmsh.y" +#line 155 "Gmsh.y" { Msg(PARSER_INFO,"STL File Format"); STL_Surf = Create_Surface(1,MSH_SURF_STL,1); @@ -3170,7 +3182,7 @@ case 4: ; break;} case 5: -#line 168 "Gmsh.y" +#line 169 "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, @@ -3179,7 +3191,7 @@ case 5: ; break;} case 6: -#line 175 "Gmsh.y" +#line 176 "Gmsh.y" { Msg(PARSER_INFO,"STL File Format Read"); Tree_Add(THEM->Surfaces, &STL_Surf); @@ -3187,83 +3199,83 @@ case 6: ; break;} case 9: -#line 192 "Gmsh.y" +#line 193 "Gmsh.y" { return 1; ; break;} case 10: -#line 193 "Gmsh.y" +#line 194 "Gmsh.y" { return 1; ; break;} case 11: -#line 194 "Gmsh.y" +#line 195 "Gmsh.y" { return 1; ; break;} case 12: -#line 195 "Gmsh.y" +#line 196 "Gmsh.y" { yyerrok ; return 1; ; break;} case 13: -#line 200 "Gmsh.y" +#line 201 "Gmsh.y" { Msg(PARSER_INFO,"Step Iso-10303-21 File Format"); Create_Step_Solid_BRep(); ; break;} case 14: -#line 205 "Gmsh.y" +#line 206 "Gmsh.y" { Msg(PARSER_INFO,"Step Iso-10303-21 File Format Read"); Resolve_BREP (); ; break;} case 18: -#line 216 "Gmsh.y" +#line 217 "Gmsh.y" { ; break;} case 19: -#line 219 "Gmsh.y" +#line 220 "Gmsh.y" { ; break;} case 20: -#line 223 "Gmsh.y" +#line 224 "Gmsh.y" { ; break;} case 21: -#line 229 "Gmsh.y" +#line 230 "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 22: -#line 235 "Gmsh.y" +#line 236 "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 23: -#line 242 "Gmsh.y" +#line 243 "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 24: -#line 248 "Gmsh.y" +#line 249 "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 25: -#line 252 "Gmsh.y" +#line 253 "Gmsh.y" { Add_Face_Outer_Bound((int)yyvsp[-10].d,yyvsp[-6].c,(int)yyvsp[-4].d,yyvsp[-2].i,1); ; break;} case 26: -#line 256 "Gmsh.y" +#line 257 "Gmsh.y" { /* La je dois voir la norme ! Face_Bound : trou externe a la surface ! */ Msg(PARSER_INFO,"Found a Face Bound"); @@ -3271,304 +3283,304 @@ case 26: ; break;} case 27: -#line 263 "Gmsh.y" +#line 264 "Gmsh.y" { Add_Oriented_Edge((int)yyvsp[-14].d,yyvsp[-10].c,(int)yyvsp[-4].d,yyvsp[-2].i); ; break;} case 28: -#line 267 "Gmsh.y" +#line 268 "Gmsh.y" { Add_Edge_Loop((int)yyvsp[-8].d,yyvsp[-4].c,yyvsp[-2].l); ; break;} case 29: -#line 272 "Gmsh.y" +#line 273 "Gmsh.y" { Add_Advanced_Face((int)yyvsp[-12].d,yyvsp[-8].c,yyvsp[-6].l,(int)yyvsp[-4].d,yyvsp[-2].i); ; break;} case 30: -#line 276 "Gmsh.y" +#line 277 "Gmsh.y" { Add_Vertex_Point((int)yyvsp[-8].d,yyvsp[-4].c,(int)yyvsp[-2].d); ; break;} case 31: -#line 280 "Gmsh.y" +#line 281 "Gmsh.y" { ; break;} case 32: -#line 284 "Gmsh.y" +#line 285 "Gmsh.y" { Add_Axis2_Placement3D ( (int)yyvsp[-12].d, (int)yyvsp[-4].d, (int)yyvsp[-2].d, (int)yyvsp[-6].d); ; break;} case 33: -#line 288 "Gmsh.y" +#line 289 "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 34: -#line 292 "Gmsh.y" +#line 293 "Gmsh.y" { Add_Plane((int)yyvsp[-8].d,yyvsp[-4].c,(int)yyvsp[-2].d); ; break;} case 35: -#line 296 "Gmsh.y" +#line 297 "Gmsh.y" { Add_Line ((int)yyvsp[-10].d, yyvsp[-6].c , (int) yyvsp[-4].d, (int)yyvsp[-2].d); ; break;} case 36: -#line 300 "Gmsh.y" +#line 301 "Gmsh.y" { Msg(PARSER_INFO,"Found a Closed shell"); Add_Closed_Shell((int)yyvsp[-8].d, yyvsp[-4].c , yyvsp[-2].l); ; break;} case 37: -#line 306 "Gmsh.y" +#line 307 "Gmsh.y" { ; break;} case 38: -#line 309 "Gmsh.y" +#line 310 "Gmsh.y" { ; break;} case 39: -#line 312 "Gmsh.y" +#line 313 "Gmsh.y" { Add_Cylinder ((int)yyvsp[-10].d, yyvsp[-6].c , (int)yyvsp[-4].d, yyvsp[-2].d); ; break;} case 40: -#line 316 "Gmsh.y" +#line 317 "Gmsh.y" { Add_Cone ((int)yyvsp[-12].d, yyvsp[-8].c , (int)yyvsp[-6].d, yyvsp[-4].d,yyvsp[-2].d); ; break;} case 41: -#line 320 "Gmsh.y" +#line 321 "Gmsh.y" { Add_Torus ((int)yyvsp[-12].d, yyvsp[-8].c , (int)yyvsp[-6].d, yyvsp[-4].d,yyvsp[-2].d); ; break;} case 42: -#line 324 "Gmsh.y" +#line 325 "Gmsh.y" { Add_Circle((int) yyvsp[-10].d, yyvsp[-6].c, (int) yyvsp[-4].d, yyvsp[-2].d); ; break;} case 43: -#line 328 "Gmsh.y" +#line 329 "Gmsh.y" { Add_Ellipsis((int) yyvsp[-12].d, yyvsp[-8].c, (int) yyvsp[-6].d, yyvsp[-4].d, yyvsp[-2].d); ; break;} case 44: -#line 333 "Gmsh.y" +#line 334 "Gmsh.y" { ; break;} case 45: -#line 336 "Gmsh.y" +#line 337 "Gmsh.y" { ; break;} case 46: -#line 340 "Gmsh.y" +#line 341 "Gmsh.y" { ; break;} case 47: -#line 343 "Gmsh.y" +#line 344 "Gmsh.y" { ; break;} case 48: -#line 347 "Gmsh.y" +#line 348 "Gmsh.y" { ; break;} case 49: -#line 350 "Gmsh.y" +#line 351 "Gmsh.y" { ; break;} case 50: -#line 353 "Gmsh.y" +#line 354 "Gmsh.y" { ; break;} case 51: -#line 363 "Gmsh.y" +#line 364 "Gmsh.y" { ; break;} case 52: -#line 366 "Gmsh.y" +#line 367 "Gmsh.y" { Msg(PARSER_INFO,"Gmsh File Format Read"); ; break;} case 53: -#line 372 "Gmsh.y" +#line 373 "Gmsh.y" { return 1; ; break;} case 54: -#line 373 "Gmsh.y" +#line 374 "Gmsh.y" { return 1; ; break;} case 55: -#line 374 "Gmsh.y" +#line 375 "Gmsh.y" { return 1; ; break;} case 56: -#line 375 "Gmsh.y" +#line 376 "Gmsh.y" { return 1; ; break;} case 57: -#line 376 "Gmsh.y" +#line 377 "Gmsh.y" { return 1; ; break;} case 58: -#line 377 "Gmsh.y" +#line 378 "Gmsh.y" { return 1; ; break;} case 59: -#line 378 "Gmsh.y" +#line 379 "Gmsh.y" { return 1; ; break;} case 60: -#line 379 "Gmsh.y" +#line 380 "Gmsh.y" { return 1; ; break;} case 61: -#line 380 "Gmsh.y" +#line 381 "Gmsh.y" { return 1; ; break;} case 62: -#line 381 "Gmsh.y" +#line 382 "Gmsh.y" { return 1; ; break;} case 63: -#line 382 "Gmsh.y" +#line 383 "Gmsh.y" { return 1; ; break;} case 64: -#line 383 "Gmsh.y" +#line 384 "Gmsh.y" {return 1;; break;} case 65: -#line 385 "Gmsh.y" +#line 386 "Gmsh.y" { return 1; ; break;} case 66: -#line 386 "Gmsh.y" +#line 387 "Gmsh.y" { yyerrok; return 1;; break;} case 67: -#line 391 "Gmsh.y" +#line 392 "Gmsh.y" { Msg(PARSER_INFO, yyvsp[-4].c, yyvsp[-2].d); ; break;} case 68: -#line 402 "Gmsh.y" +#line 403 "Gmsh.y" { EndView(1, Force_ViewNumber,yyname,yyvsp[-4].c,0.,0.,0.); ; break;} case 69: -#line 406 "Gmsh.y" +#line 407 "Gmsh.y" { EndView(1, Force_ViewNumber,yyname,yyvsp[-6].c,yyvsp[-4].v[0],yyvsp[-4].v[1],yyvsp[-4].v[2]); ; break;} case 70: -#line 413 "Gmsh.y" +#line 414 "Gmsh.y" { BeginView(1); ; break;} case 83: -#line 432 "Gmsh.y" +#line 433 "Gmsh.y" { List_Add(ActualView->SP, &yyvsp[0].d) ; ; break;} case 84: -#line 434 "Gmsh.y" +#line 435 "Gmsh.y" { List_Add(ActualView->SP, &yyvsp[0].d) ; ; break;} case 85: -#line 439 "Gmsh.y" +#line 440 "Gmsh.y" { List_Add(ActualView->SP, &yyvsp[-5].d); List_Add(ActualView->SP, &yyvsp[-3].d); List_Add(ActualView->SP, &yyvsp[-1].d); ; break;} case 86: -#line 444 "Gmsh.y" +#line 445 "Gmsh.y" { ActualView->NbSP++ ; ; break;} case 87: -#line 451 "Gmsh.y" +#line 452 "Gmsh.y" { List_Add(ActualView->VP, &yyvsp[0].d) ; ; break;} case 88: -#line 453 "Gmsh.y" +#line 454 "Gmsh.y" { List_Add(ActualView->VP, &yyvsp[0].d) ; ; break;} case 89: -#line 458 "Gmsh.y" +#line 459 "Gmsh.y" { List_Add(ActualView->VP, &yyvsp[-5].d); List_Add(ActualView->VP, &yyvsp[-3].d); List_Add(ActualView->VP, &yyvsp[-1].d); ; break;} case 90: -#line 463 "Gmsh.y" +#line 464 "Gmsh.y" { ActualView->NbVP++ ; ; break;} case 91: -#line 470 "Gmsh.y" +#line 471 "Gmsh.y" { List_Add(ActualView->TP, &yyvsp[0].d) ; ; break;} case 92: -#line 472 "Gmsh.y" +#line 473 "Gmsh.y" { List_Add(ActualView->TP, &yyvsp[0].d) ; ; break;} case 93: -#line 477 "Gmsh.y" +#line 478 "Gmsh.y" { List_Add(ActualView->TP, &yyvsp[-5].d); List_Add(ActualView->TP, &yyvsp[-3].d); List_Add(ActualView->TP, &yyvsp[-1].d); ; break;} case 94: -#line 482 "Gmsh.y" +#line 483 "Gmsh.y" { ActualView->NbTP++ ; ; break;} case 95: -#line 489 "Gmsh.y" +#line 490 "Gmsh.y" { List_Add(ActualView->SL, &yyvsp[0].d) ; ; break;} case 96: -#line 491 "Gmsh.y" +#line 492 "Gmsh.y" { List_Add(ActualView->SL, &yyvsp[0].d) ; ; break;} case 97: -#line 497 "Gmsh.y" +#line 498 "Gmsh.y" { List_Add(ActualView->SL, &yyvsp[-11].d); List_Add(ActualView->SL, &yyvsp[-5].d); List_Add(ActualView->SL, &yyvsp[-9].d); List_Add(ActualView->SL, &yyvsp[-3].d); @@ -3576,21 +3588,21 @@ case 97: ; break;} case 98: -#line 503 "Gmsh.y" +#line 504 "Gmsh.y" { ActualView->NbSL++ ; ; break;} case 99: -#line 510 "Gmsh.y" +#line 511 "Gmsh.y" { List_Add(ActualView->VL, &yyvsp[0].d) ; ; break;} case 100: -#line 512 "Gmsh.y" +#line 513 "Gmsh.y" { List_Add(ActualView->VL, &yyvsp[0].d) ; ; break;} case 101: -#line 518 "Gmsh.y" +#line 519 "Gmsh.y" { List_Add(ActualView->SL, &yyvsp[-11].d); List_Add(ActualView->SL, &yyvsp[-5].d); List_Add(ActualView->SL, &yyvsp[-9].d); List_Add(ActualView->SL, &yyvsp[-3].d); @@ -3598,21 +3610,21 @@ case 101: ; break;} case 102: -#line 524 "Gmsh.y" +#line 525 "Gmsh.y" { ActualView->NbVL++ ; ; break;} case 103: -#line 531 "Gmsh.y" +#line 532 "Gmsh.y" { List_Add(ActualView->TL, &yyvsp[0].d) ; ; break;} case 104: -#line 533 "Gmsh.y" +#line 534 "Gmsh.y" { List_Add(ActualView->TL, &yyvsp[0].d) ; ; break;} case 105: -#line 539 "Gmsh.y" +#line 540 "Gmsh.y" { List_Add(ActualView->SL, &yyvsp[-11].d); List_Add(ActualView->SL, &yyvsp[-5].d); List_Add(ActualView->SL, &yyvsp[-9].d); List_Add(ActualView->SL, &yyvsp[-3].d); @@ -3620,21 +3632,21 @@ case 105: ; break;} case 106: -#line 545 "Gmsh.y" +#line 546 "Gmsh.y" { ActualView->NbTL++ ; ; break;} case 107: -#line 552 "Gmsh.y" +#line 553 "Gmsh.y" { List_Add(ActualView->ST, &yyvsp[0].d) ; ; break;} case 108: -#line 554 "Gmsh.y" +#line 555 "Gmsh.y" { List_Add(ActualView->ST, &yyvsp[0].d) ; ; break;} case 109: -#line 561 "Gmsh.y" +#line 562 "Gmsh.y" { List_Add(ActualView->ST, &yyvsp[-17].d); List_Add(ActualView->ST, &yyvsp[-11].d); List_Add(ActualView->ST, &yyvsp[-5].d); @@ -3645,21 +3657,21 @@ case 109: ; break;} case 110: -#line 570 "Gmsh.y" +#line 571 "Gmsh.y" { ActualView->NbST++ ; ; break;} case 111: -#line 577 "Gmsh.y" +#line 578 "Gmsh.y" { List_Add(ActualView->VT, &yyvsp[0].d) ; ; break;} case 112: -#line 579 "Gmsh.y" +#line 580 "Gmsh.y" { List_Add(ActualView->VT, &yyvsp[0].d) ; ; break;} case 113: -#line 586 "Gmsh.y" +#line 587 "Gmsh.y" { List_Add(ActualView->VT, &yyvsp[-17].d); List_Add(ActualView->VT, &yyvsp[-11].d); List_Add(ActualView->VT, &yyvsp[-5].d); @@ -3670,21 +3682,21 @@ case 113: ; break;} case 114: -#line 595 "Gmsh.y" +#line 596 "Gmsh.y" { ActualView->NbVT++ ; ; break;} case 115: -#line 602 "Gmsh.y" +#line 603 "Gmsh.y" { List_Add(ActualView->TT, &yyvsp[0].d) ; ; break;} case 116: -#line 604 "Gmsh.y" +#line 605 "Gmsh.y" { List_Add(ActualView->TT, &yyvsp[0].d) ; ; break;} case 117: -#line 611 "Gmsh.y" +#line 612 "Gmsh.y" { List_Add(ActualView->TT, &yyvsp[-17].d); List_Add(ActualView->TT, &yyvsp[-11].d); List_Add(ActualView->TT, &yyvsp[-5].d); @@ -3695,21 +3707,21 @@ case 117: ; break;} case 118: -#line 620 "Gmsh.y" +#line 621 "Gmsh.y" { ActualView->NbTT++ ; ; break;} case 119: -#line 627 "Gmsh.y" +#line 628 "Gmsh.y" { List_Add(ActualView->SS, &yyvsp[0].d) ; ; break;} case 120: -#line 629 "Gmsh.y" +#line 630 "Gmsh.y" { List_Add(ActualView->SS, &yyvsp[0].d) ; ; break;} case 121: -#line 637 "Gmsh.y" +#line 638 "Gmsh.y" { List_Add(ActualView->SS, &yyvsp[-23].d); List_Add(ActualView->SS, &yyvsp[-17].d); List_Add(ActualView->SS, &yyvsp[-11].d); List_Add(ActualView->SS, &yyvsp[-5].d); @@ -3720,21 +3732,21 @@ case 121: ; break;} case 122: -#line 646 "Gmsh.y" +#line 647 "Gmsh.y" { ActualView->NbSS++ ; ; break;} case 123: -#line 653 "Gmsh.y" +#line 654 "Gmsh.y" { List_Add(ActualView->VS, &yyvsp[0].d) ; ; break;} case 124: -#line 655 "Gmsh.y" +#line 656 "Gmsh.y" { List_Add(ActualView->VS, &yyvsp[0].d) ; ; break;} case 125: -#line 663 "Gmsh.y" +#line 664 "Gmsh.y" { List_Add(ActualView->VS, &yyvsp[-23].d); List_Add(ActualView->VS, &yyvsp[-17].d); List_Add(ActualView->VS, &yyvsp[-11].d); List_Add(ActualView->VS, &yyvsp[-5].d); @@ -3745,21 +3757,21 @@ case 125: ; break;} case 126: -#line 672 "Gmsh.y" +#line 673 "Gmsh.y" { ActualView->NbVS++ ; ; break;} case 127: -#line 679 "Gmsh.y" +#line 680 "Gmsh.y" { List_Add(ActualView->TS, &yyvsp[0].d) ; ; break;} case 128: -#line 681 "Gmsh.y" +#line 682 "Gmsh.y" { List_Add(ActualView->TS, &yyvsp[0].d) ; ; break;} case 129: -#line 689 "Gmsh.y" +#line 690 "Gmsh.y" { List_Add(ActualView->TS, &yyvsp[-23].d); List_Add(ActualView->TS, &yyvsp[-17].d); List_Add(ActualView->TS, &yyvsp[-11].d); List_Add(ActualView->TS, &yyvsp[-5].d); @@ -3770,13 +3782,13 @@ case 129: ; break;} case 130: -#line 698 "Gmsh.y" +#line 699 "Gmsh.y" { ActualView->NbTS++ ; ; break;} case 131: -#line 714 "Gmsh.y" +#line 715 "Gmsh.y" { TheSymbol.Name = yyvsp[-3].c; TheSymbol.val = yyvsp[-1].d; @@ -3784,7 +3796,7 @@ case 131: ; break;} case 132: -#line 720 "Gmsh.y" +#line 721 "Gmsh.y" { TheSymbol.Name = yyvsp[-2].c ; if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols))) @@ -3794,7 +3806,7 @@ case 132: ; break;} case 133: -#line 728 "Gmsh.y" +#line 729 "Gmsh.y" { TheSymbol.Name = yyvsp[-2].c ; if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols))) @@ -3804,7 +3816,7 @@ case 133: ; break;} case 134: -#line 736 "Gmsh.y" +#line 737 "Gmsh.y" { TheSymbol.Name = yyvsp[-3].c ; if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols))) @@ -3814,7 +3826,7 @@ case 134: ; break;} case 135: -#line 744 "Gmsh.y" +#line 745 "Gmsh.y" { TheSymbol.Name = yyvsp[-3].c ; if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols))) @@ -3824,7 +3836,7 @@ case 135: ; break;} case 136: -#line 752 "Gmsh.y" +#line 753 "Gmsh.y" { TheSymbol.Name = yyvsp[-3].c ; if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols))) @@ -3834,7 +3846,7 @@ case 136: ; break;} case 137: -#line 760 "Gmsh.y" +#line 761 "Gmsh.y" { TheSymbol.Name = yyvsp[-3].c ; if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols))) @@ -3844,7 +3856,7 @@ case 137: ; break;} case 138: -#line 771 "Gmsh.y" +#line 772 "Gmsh.y" { if(!(pStrCat = Get_StringOptionCategory(yyvsp[-5].c))) vyyerror("Unknown String Option Class '%s'", yyvsp[-5].c); @@ -3858,7 +3870,7 @@ case 138: ; break;} case 139: -#line 784 "Gmsh.y" +#line 785 "Gmsh.y" { if(strcmp(yyvsp[-10].c, "PostProcessing")) vyyerror("Unknown View Option Class '%s'", yyvsp[-10].c); @@ -3875,7 +3887,7 @@ case 139: ; break;} case 140: -#line 802 "Gmsh.y" +#line 803 "Gmsh.y" { if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-5].c))) vyyerror("Unknown Numeric Option Class '%s'", yyvsp[-5].c); @@ -3894,7 +3906,7 @@ case 140: ; break;} case 141: -#line 819 "Gmsh.y" +#line 820 "Gmsh.y" { if(strcmp(yyvsp[-10].c, "PostProcessing")) vyyerror("Unknown View Option Class '%s'", yyvsp[-10].c); @@ -3916,7 +3928,7 @@ case 141: ; break;} case 142: -#line 840 "Gmsh.y" +#line 841 "Gmsh.y" { if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-5].c))) vyyerror("Unknown Numeric Option Class '%s'", yyvsp[-5].c); @@ -3935,7 +3947,7 @@ case 142: ; break;} case 143: -#line 857 "Gmsh.y" +#line 858 "Gmsh.y" { if(strcmp(yyvsp[-10].c, "PostProcessing")) vyyerror("Unknown View Option Class '%s'", yyvsp[-10].c); @@ -3957,7 +3969,7 @@ case 143: ; break;} case 144: -#line 878 "Gmsh.y" +#line 879 "Gmsh.y" { if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-5].c))) vyyerror("Unknown Numeric Option Class '%s'", yyvsp[-5].c); @@ -3976,7 +3988,7 @@ case 144: ; break;} case 145: -#line 895 "Gmsh.y" +#line 896 "Gmsh.y" { if(strcmp(yyvsp[-10].c, "PostProcessing")) vyyerror("Unknown View Option Class '%s'", yyvsp[-10].c); @@ -3998,7 +4010,7 @@ case 145: ; break;} case 146: -#line 916 "Gmsh.y" +#line 917 "Gmsh.y" { if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-5].c))) vyyerror("Unknown Numeric Option Class '%s'", yyvsp[-5].c); @@ -4017,7 +4029,7 @@ case 146: ; break;} case 147: -#line 933 "Gmsh.y" +#line 934 "Gmsh.y" { if(strcmp(yyvsp[-10].c, "PostProcessing")) vyyerror("Unknown View Option Class '%s'", yyvsp[-10].c); @@ -4039,7 +4051,7 @@ case 147: ; break;} case 148: -#line 954 "Gmsh.y" +#line 955 "Gmsh.y" { if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-5].c))) vyyerror("Unknown Numeric Option Class '%s'", yyvsp[-5].c); @@ -4058,7 +4070,7 @@ case 148: ; break;} case 149: -#line 971 "Gmsh.y" +#line 972 "Gmsh.y" { if(strcmp(yyvsp[-10].c, "PostProcessing")) vyyerror("Unknown View Option Class '%s'", yyvsp[-10].c); @@ -4080,7 +4092,7 @@ case 149: ; break;} case 150: -#line 992 "Gmsh.y" +#line 993 "Gmsh.y" { if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-4].c))) vyyerror("Unknown Numeric Option Class '%s'", yyvsp[-4].c); @@ -4099,7 +4111,7 @@ case 150: ; break;} case 151: -#line 1009 "Gmsh.y" +#line 1010 "Gmsh.y" { if(strcmp(yyvsp[-10].c, "PostProcessing")) vyyerror("Unknown View Option Class '%s'", yyvsp[-10].c); @@ -4121,7 +4133,7 @@ case 151: ; break;} case 152: -#line 1030 "Gmsh.y" +#line 1031 "Gmsh.y" { if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-4].c))) vyyerror("Unknown Numeric Option Class '%s'", yyvsp[-4].c); @@ -4140,7 +4152,7 @@ case 152: ; break;} case 153: -#line 1047 "Gmsh.y" +#line 1048 "Gmsh.y" { if(strcmp(yyvsp[-10].c, "PostProcessing")) vyyerror("Unknown View Option Class '%s'", yyvsp[-10].c); @@ -4162,7 +4174,7 @@ case 153: ; break;} case 154: -#line 1070 "Gmsh.y" +#line 1071 "Gmsh.y" { if(!(pArrCat = Get_ArrayOptionCategory(yyvsp[-5].c))) vyyerror("Unknown Array Option Class '%s'", yyvsp[-5].c); @@ -4189,7 +4201,7 @@ case 154: ; break;} case 155: -#line 1095 "Gmsh.y" +#line 1096 "Gmsh.y" { if(strcmp(yyvsp[-10].c, "PostProcessing")) vyyerror("Unknown View Option Class '%s'", yyvsp[-10].c); @@ -4219,7 +4231,7 @@ case 155: ; break;} case 156: -#line 1124 "Gmsh.y" +#line 1125 "Gmsh.y" { if(!(pArrCat = Get_ArrayOptionCategory(yyvsp[-5].c))) vyyerror("Unknown Array Option Class '%s'", yyvsp[-5].c); @@ -4246,7 +4258,7 @@ case 156: ; break;} case 157: -#line 1149 "Gmsh.y" +#line 1150 "Gmsh.y" { if(strcmp(yyvsp[-10].c, "PostProcessing")) vyyerror("Unknown View Option Class '%s'", yyvsp[-10].c); @@ -4276,7 +4288,7 @@ case 157: ; break;} case 158: -#line 1178 "Gmsh.y" +#line 1179 "Gmsh.y" { if(!(pArrCat = Get_ArrayOptionCategory(yyvsp[-5].c))) vyyerror("Unknown Array Option Class '%s'", yyvsp[-5].c); @@ -4303,7 +4315,7 @@ case 158: ; break;} case 159: -#line 1203 "Gmsh.y" +#line 1204 "Gmsh.y" { if(strcmp(yyvsp[-10].c, "PostProcessing")) vyyerror("Unknown View Option Class '%s'", yyvsp[-10].c); @@ -4333,7 +4345,7 @@ case 159: ; break;} case 160: -#line 1234 "Gmsh.y" +#line 1235 "Gmsh.y" { if(!(pColCat = Get_ColorOptionCategory(yyvsp[-7].c))) vyyerror("Unknown Color Option Class '%s'", yyvsp[-7].c); @@ -4347,7 +4359,7 @@ case 160: ; break;} case 161: -#line 1247 "Gmsh.y" +#line 1248 "Gmsh.y" { if(strcmp(yyvsp[-10].c, "PostProcessing")) vyyerror("Unknown View Option Class '%s'", yyvsp[-10].c); @@ -4367,7 +4379,7 @@ case 161: ; break;} case 162: -#line 1276 "Gmsh.y" +#line 1277 "Gmsh.y" { Cdbpts101((int)yyvsp[-4].d,yyvsp[-1].v[0],yyvsp[-1].v[1],yyvsp[-1].v[2],yyvsp[-1].v[3],yyvsp[-1].v[4]); yyval.s.Type = MSH_POINT; @@ -4375,7 +4387,7 @@ case 162: ; break;} case 163: -#line 1283 "Gmsh.y" +#line 1284 "Gmsh.y" { Cdbz101((int)yyvsp[-4].d,MSH_PHYSICAL_POINT,0,0,0,0,0,NULL,yyvsp[-1].l,NULL); yyval.s.Type = MSH_PHYSICAL_POINT; @@ -4383,7 +4395,7 @@ case 163: ; break;} case 164: -#line 1289 "Gmsh.y" +#line 1290 "Gmsh.y" { Vertex *v; Attractor *a; @@ -4404,7 +4416,7 @@ case 164: ; break;} case 165: -#line 1308 "Gmsh.y" +#line 1309 "Gmsh.y" { for(i=0;i<List_Nbr(yyvsp[-3].l);i++){ List_Read(yyvsp[-3].l,i,&d); @@ -4417,14 +4429,14 @@ case 165: ; break;} case 166: -#line 1319 "Gmsh.y" +#line 1320 "Gmsh.y" { yyval.s.Type = MSH_POINT; yyval.s.Num = (int)yyvsp[-2].d; ; break;} case 167: -#line 1327 "Gmsh.y" +#line 1328 "Gmsh.y" { Cdbseg101((int)yyvsp[-4].d,MSH_SEGM_LINE,1,yyvsp[-1].l,NULL,-1,-1,0.,1.,NULL,NULL,NULL); yyval.s.Type = MSH_SEGM_LINE; @@ -4432,7 +4444,7 @@ case 167: ; break;} case 168: -#line 1333 "Gmsh.y" +#line 1334 "Gmsh.y" { Cdbseg101((int)yyvsp[-4].d,MSH_SEGM_SPLN,3,yyvsp[-1].l,NULL,-1,-1,0.,1.,NULL,NULL,NULL); yyval.s.Type = MSH_SEGM_SPLN; @@ -4440,7 +4452,7 @@ case 168: ; break;} case 169: -#line 1339 "Gmsh.y" +#line 1340 "Gmsh.y" { Curve *c; Attractor *a; @@ -4461,7 +4473,7 @@ case 169: ; break;} case 170: -#line 1358 "Gmsh.y" +#line 1359 "Gmsh.y" { Cdbseg101((int)yyvsp[-4].d,MSH_SEGM_CIRC,2,yyvsp[-1].l,NULL,-1,-1,0.,1.,NULL,NULL,NULL); yyval.s.Type = MSH_SEGM_CIRC ; @@ -4469,7 +4481,7 @@ case 170: ; break;} case 171: -#line 1364 "Gmsh.y" +#line 1365 "Gmsh.y" { List_T *temp; int i,j; @@ -4487,7 +4499,7 @@ case 171: ; break;} case 172: -#line 1381 "Gmsh.y" +#line 1382 "Gmsh.y" { Cdbseg101((int)yyvsp[-14].d,MSH_SEGM_PARAMETRIC,2,NULL,NULL,-1,-1,yyvsp[-10].d,yyvsp[-8].d,yyvsp[-6].c,yyvsp[-4].c,yyvsp[-2].c); yyval.s.Type = MSH_SEGM_PARAMETRIC ; @@ -4495,7 +4507,7 @@ case 172: ; break;} case 173: -#line 1387 "Gmsh.y" +#line 1388 "Gmsh.y" { Cdbseg101((int)yyvsp[-4].d,MSH_SEGM_ELLI,2,yyvsp[-1].l,NULL,-1,-1,0.,1.,NULL,NULL,NULL); yyval.s.Type = MSH_SEGM_ELLI ; @@ -4503,7 +4515,7 @@ case 173: ; break;} case 174: -#line 1393 "Gmsh.y" +#line 1394 "Gmsh.y" { Cdbz101((int)yyvsp[-4].d,MSH_PHYSICAL_LINE,0,0,0,0,0,NULL,yyvsp[-1].l,NULL); yyval.s.Type = MSH_PHYSICAL_LINE; @@ -4511,7 +4523,7 @@ case 174: ; break;} case 175: -#line 1399 "Gmsh.y" +#line 1400 "Gmsh.y" { yyval.s.Type = MSH_SEGM_LOOP; Cdbz101((int)yyvsp[-4].d,yyval.s.Type,0,0,0,0,0,NULL,yyvsp[-1].l,NULL); @@ -4519,7 +4531,7 @@ case 175: ; break;} case 176: -#line 1405 "Gmsh.y" +#line 1406 "Gmsh.y" { Cdbseg101((int)yyvsp[-4].d,MSH_SEGM_BSPLN,2,yyvsp[-1].l,NULL,-1,-1,0.,1.,NULL,NULL,NULL); yyval.s.Type = MSH_SEGM_BSPLN; @@ -4527,7 +4539,7 @@ case 176: ; break;} case 177: -#line 1411 "Gmsh.y" +#line 1412 "Gmsh.y" { List_T *Temp; int i; @@ -4548,7 +4560,7 @@ case 177: ; break;} case 178: -#line 1430 "Gmsh.y" +#line 1431 "Gmsh.y" { yyval.s.Num = (int)yyvsp[-2].d; Curve *c = FindCurve(yyval.s.Num,THEM); @@ -4559,7 +4571,7 @@ case 178: ; break;} case 179: -#line 1442 "Gmsh.y" +#line 1443 "Gmsh.y" { Cdbz101((int)yyvsp[-4].d,MSH_SURF_PLAN,0,0,0,0,0,NULL,yyvsp[-1].l,NULL); yyval.s.Type = MSH_SURF_PLAN; @@ -4567,7 +4579,7 @@ case 179: ; break;} case 180: -#line 1448 "Gmsh.y" +#line 1449 "Gmsh.y" { Surface *s,*support; support = FindSurface((int)yyvsp[-2].d,THEM); @@ -4588,7 +4600,7 @@ case 180: ; break;} case 181: -#line 1467 "Gmsh.y" +#line 1468 "Gmsh.y" { List_Read(yyvsp[-1].l,0,&d); i = (int)d; @@ -4611,7 +4623,7 @@ case 181: ; break;} case 182: -#line 1490 "Gmsh.y" +#line 1491 "Gmsh.y" { CreateNurbsSurface ( (int) yyvsp[-16].d , (int)yyvsp[-4].d , (int)yyvsp[-2].d , yyvsp[-13].l, yyvsp[-10].l, yyvsp[-8].l); yyval.s.Type = MSH_SURF_NURBS; @@ -4619,13 +4631,13 @@ case 182: ; break;} case 183: -#line 1498 "Gmsh.y" +#line 1499 "Gmsh.y" { CreateNurbsSurfaceSupport ((int)yyvsp[-16].d, (int) yyvsp[-4].d , (int) yyvsp[-2].d , yyvsp[-13].l, yyvsp[-10].l, yyvsp[-8].l); ; break;} case 184: -#line 1502 "Gmsh.y" +#line 1503 "Gmsh.y" { Cdbz101((int)yyvsp[-4].d,MSH_PHYSICAL_SURFACE,0,0,0,0,0,NULL,yyvsp[-1].l,NULL); yyval.s.Type = MSH_PHYSICAL_SURFACE; @@ -4633,7 +4645,7 @@ case 184: ; break;} case 185: -#line 1508 "Gmsh.y" +#line 1509 "Gmsh.y" { Cdbz101((int)yyvsp[-4].d,MSH_SURF_LOOP,0,0,0,0,0,NULL,yyvsp[-1].l,NULL); yyval.s.Type = MSH_SURF_LOOP; @@ -4641,7 +4653,7 @@ case 185: ; break;} case 186: -#line 1514 "Gmsh.y" +#line 1515 "Gmsh.y" { yyval.s.Num = (int)yyvsp[-2].d; Surface *s = FindSurface(yyval.s.Num,THEM); @@ -4652,7 +4664,7 @@ case 186: ; break;} case 187: -#line 1526 "Gmsh.y" +#line 1527 "Gmsh.y" { Cdbz101((int)yyvsp[-4].d,MSH_VOLUME,0,0,0,0,0,NULL,yyvsp[-1].l,NULL); yyval.s.Type = MSH_VOLUME; @@ -4660,7 +4672,7 @@ case 187: ; break;} case 188: -#line 1532 "Gmsh.y" +#line 1533 "Gmsh.y" { Cdbz101((int)yyvsp[-4].d,MSH_VOLUME,0,0,0,0,0,NULL,yyvsp[-1].l,NULL); yyval.s.Type = MSH_VOLUME; @@ -4668,7 +4680,7 @@ case 188: ; break;} case 189: -#line 1538 "Gmsh.y" +#line 1539 "Gmsh.y" { Cdbz101((int)yyvsp[-4].d,MSH_PHYSICAL_VOLUME,0,0,0,0,0,NULL,yyvsp[-1].l,NULL); yyval.s.Type = MSH_PHYSICAL_VOLUME; @@ -4676,60 +4688,60 @@ case 189: ; break;} case 190: -#line 1551 "Gmsh.y" +#line 1552 "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 191: -#line 1556 "Gmsh.y" +#line 1557 "Gmsh.y" { RotateShapes(yyvsp[-8].v[0],yyvsp[-8].v[1],yyvsp[-8].v[2],yyvsp[-6].v[0],yyvsp[-6].v[1],yyvsp[-6].v[2],yyvsp[-4].d,yyvsp[-1].l); yyval.l = yyvsp[-1].l; ; break;} case 192: -#line 1561 "Gmsh.y" +#line 1562 "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 193: -#line 1566 "Gmsh.y" +#line 1567 "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 194: -#line 1573 "Gmsh.y" +#line 1574 "Gmsh.y" { yyval.l = yyvsp[0].l; ; break;} case 195: -#line 1574 "Gmsh.y" +#line 1575 "Gmsh.y" { yyval.l = yyvsp[0].l; ; break;} case 196: -#line 1575 "Gmsh.y" +#line 1576 "Gmsh.y" { yyval.l = yyvsp[0].l; ; break;} case 197: -#line 1580 "Gmsh.y" +#line 1581 "Gmsh.y" { yyval.l = List_Create(3,3,sizeof(Shape)); ; break;} case 198: -#line 1584 "Gmsh.y" +#line 1585 "Gmsh.y" { List_Add(yyval.l,&yyvsp[0].s); yyval.l = yyvsp[-1].l; ; break;} case 199: -#line 1596 "Gmsh.y" +#line 1597 "Gmsh.y" { yyval.l = List_Create(3,3,sizeof(Shape)); for(i=0;i<List_Nbr(yyvsp[-1].l);i++){ @@ -4741,7 +4753,7 @@ case 199: ; break;} case 200: -#line 1614 "Gmsh.y" +#line 1615 "Gmsh.y" { for(i=0;i<List_Nbr(yyvsp[-1].l);i++){ List_Read (yyvsp[-1].l,i,&TheShape); @@ -4750,7 +4762,7 @@ case 200: ; break;} case 201: -#line 1629 "Gmsh.y" +#line 1630 "Gmsh.y" { yyinTab[RecursionLevel++] = yyin; strcpy(tmpstring, ThePathForIncludes); @@ -4774,7 +4786,7 @@ case 201: ; break;} case 202: -#line 1657 "Gmsh.y" +#line 1658 "Gmsh.y" { if(!CTX.interactive){ // we're in interactive mode char ext[6]; @@ -4804,13 +4816,13 @@ case 202: ; break;} case 203: -#line 1685 "Gmsh.y" +#line 1686 "Gmsh.y" { exit(0); ; break;} case 204: -#line 1689 "Gmsh.y" +#line 1690 "Gmsh.y" { FILE *ff = yyin; MergeProblem(yyvsp[-1].c); @@ -4818,7 +4830,7 @@ case 204: ; break;} case 205: -#line 1695 "Gmsh.y" +#line 1696 "Gmsh.y" { if(!CTX.interactive){ // we're in interactive mode if(Tree_Nbr(THEM->Points) != Last_NumberOfPoints){ @@ -4833,7 +4845,7 @@ case 205: ; break;} case 206: -#line 1708 "Gmsh.y" +#line 1709 "Gmsh.y" { extern long Get_AnimTime(); long sleep_time = Get_AnimTime(); @@ -4843,7 +4855,7 @@ case 206: ; break;} case 207: -#line 1724 "Gmsh.y" +#line 1725 "Gmsh.y" { FILE* ff; if(RecursionLevel) @@ -4851,14 +4863,15 @@ case 207: else ff = yyin; // here, we seek remember the position in yyin - LoopControlVariablesTab[ImbricatedLoop][0] = (int)yyvsp[-3].d ; - LoopControlVariablesTab[ImbricatedLoop][1] = (int)yyvsp[-1].d ; - LoopControlVariablesTab[ImbricatedLoop][2] = 1 ; + LoopControlVariablesTab[ImbricatedLoop][0] = yyvsp[-3].d ; + LoopControlVariablesTab[ImbricatedLoop][1] = yyvsp[-1].d ; + LoopControlVariablesTab[ImbricatedLoop][2] = 1.0 ; + LoopControlVariablesNameTab[ImbricatedLoop] = "" ; fgetpos( ff, &yyposImbricatedLoopsTab[ImbricatedLoop++]); ; break;} case 208: -#line 1737 "Gmsh.y" +#line 1739 "Gmsh.y" { FILE* ff; if(RecursionLevel) @@ -4866,25 +4879,81 @@ case 208: else ff = yyin; // here, we seek remember the position in yyin - LoopControlVariablesTab[ImbricatedLoop][0] = (int)yyvsp[-5].d ; - LoopControlVariablesTab[ImbricatedLoop][1] = (int)yyvsp[-3].d ; - LoopControlVariablesTab[ImbricatedLoop][2] = (int)yyvsp[-1].d ; + LoopControlVariablesTab[ImbricatedLoop][0] = yyvsp[-5].d ; + LoopControlVariablesTab[ImbricatedLoop][1] = yyvsp[-3].d ; + LoopControlVariablesTab[ImbricatedLoop][2] = yyvsp[-1].d ; + LoopControlVariablesNameTab[ImbricatedLoop] = "" ; fgetpos( ff, &yyposImbricatedLoopsTab[ImbricatedLoop++]); ; break;} case 209: -#line 1750 "Gmsh.y" +#line 1753 "Gmsh.y" +{ + FILE* ff; + if(RecursionLevel) + ff = yyinTab[RecursionLevel-1]; + else + ff = yyin; + // here, we seek remember the position in yyin + LoopControlVariablesTab[ImbricatedLoop][0] = yyvsp[-3].d ; + LoopControlVariablesTab[ImbricatedLoop][1] = yyvsp[-1].d ; + LoopControlVariablesTab[ImbricatedLoop][2] = 1.0 ; + LoopControlVariablesNameTab[ImbricatedLoop] = yyvsp[-6].c ; + + TheSymbol.Name = yyvsp[-6].c; + TheSymbol.val = yyvsp[-3].d; + if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols))) + List_Add(Symbol_L,&TheSymbol); + else + pSymbol->val = yyvsp[-3].d; + + fgetpos( ff, &yyposImbricatedLoopsTab[ImbricatedLoop++]); + ; + break;} +case 210: +#line 1775 "Gmsh.y" +{ + FILE* ff; + if(RecursionLevel) + ff = yyinTab[RecursionLevel-1]; + else + ff = yyin; + // here, we seek remember the position in yyin + LoopControlVariablesTab[ImbricatedLoop][0] = yyvsp[-5].d ; + LoopControlVariablesTab[ImbricatedLoop][1] = yyvsp[-3].d ; + LoopControlVariablesTab[ImbricatedLoop][2] = yyvsp[-1].d ; + LoopControlVariablesNameTab[ImbricatedLoop] = yyvsp[-8].c ; + + TheSymbol.Name = yyvsp[-8].c; + TheSymbol.val = yyvsp[-5].d; + if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols))) + List_Add(Symbol_L,&TheSymbol); + else + pSymbol->val = yyvsp[-5].d; + + fgetpos( ff, &yyposImbricatedLoopsTab[ImbricatedLoop++]); + ; + break;} +case 211: +#line 1797 "Gmsh.y" { if(LoopControlVariablesTab[ImbricatedLoop-1][1] > - LoopControlVariablesTab[ImbricatedLoop-1][0]) - { + LoopControlVariablesTab[ImbricatedLoop-1][0]){ FILE* ff; if(RecursionLevel) ff = yyinTab[RecursionLevel-1]; else ff = yyin; + LoopControlVariablesTab[ImbricatedLoop-1][0] += LoopControlVariablesTab[ImbricatedLoop-1][2]; + + if(strlen(LoopControlVariablesNameTab[ImbricatedLoop-1])){ + TheSymbol.Name = LoopControlVariablesNameTab[ImbricatedLoop-1]; + pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols); + pSymbol->val += LoopControlVariablesTab[ImbricatedLoop-1][2]; + } + fsetpos( yyin, &yyposImbricatedLoopsTab[ImbricatedLoop-1]); } else @@ -4893,8 +4962,8 @@ case 209: } ; break;} -case 210: -#line 1769 "Gmsh.y" +case 212: +#line 1823 "Gmsh.y" { if(!FunctionManager::Instance()->leaveFunction(&yyin,yylineno)) { @@ -4902,8 +4971,8 @@ case 210: } ; break;} -case 211: -#line 1776 "Gmsh.y" +case 213: +#line 1830 "Gmsh.y" { if(!FunctionManager::Instance()->enterFunction(yyvsp[-1].c,&yyin,yylineno)) { @@ -4911,8 +4980,8 @@ case 211: } ; break;} -case 212: -#line 1783 "Gmsh.y" +case 214: +#line 1837 "Gmsh.y" { // skip everything until return is found if(!FunctionManager::Instance()->createFunction(yyvsp[0].c,yyin,yylineno)) @@ -4923,71 +4992,71 @@ case 212: skip_until("Return"); ; break;} -case 213: -#line 1813 "Gmsh.y" +case 215: +#line 1867 "Gmsh.y" { Curve *pc, *prc; Extrude_ProtudePoint(1,(int)yyvsp[-4].d,yyvsp[-2].v[0],yyvsp[-2].v[1],yyvsp[-2].v[2],0.,0.,0.,0.,&pc,&prc,NULL); ; break;} -case 214: -#line 1818 "Gmsh.y" +case 216: +#line 1872 "Gmsh.y" { Curve *pc, *prc; Extrude_ProtudePoint(0,(int)yyvsp[-8].d,yyvsp[-6].v[0],yyvsp[-6].v[1],yyvsp[-6].v[2],yyvsp[-4].v[0],yyvsp[-4].v[1],yyvsp[-4].v[2],yyvsp[-2].d, &pc,&prc,NULL); ; break;} -case 215: -#line 1824 "Gmsh.y" +case 217: +#line 1878 "Gmsh.y" { Extrude_ProtudeCurve(1,(int)yyvsp[-4].d,yyvsp[-2].v[0],yyvsp[-2].v[1],yyvsp[-2].v[2],0.,0.,0.,0.,NULL); ; break;} -case 216: -#line 1828 "Gmsh.y" +case 218: +#line 1882 "Gmsh.y" { Extrude_ProtudeCurve(0,(int)yyvsp[-8].d,yyvsp[-6].v[0],yyvsp[-6].v[1],yyvsp[-6].v[2],yyvsp[-4].v[0],yyvsp[-4].v[1],yyvsp[-4].v[2],yyvsp[-2].d,NULL); ; break;} -case 217: -#line 1832 "Gmsh.y" +case 219: +#line 1886 "Gmsh.y" { Extrude_ProtudeSurface(1,(int)yyvsp[-4].d,yyvsp[-2].v[0],yyvsp[-2].v[1],yyvsp[-2].v[2],0.,0.,0.,0.,0,NULL); ; break;} -case 218: -#line 1836 "Gmsh.y" +case 220: +#line 1890 "Gmsh.y" { Extrude_ProtudeSurface(0,(int)yyvsp[-8].d,yyvsp[-6].v[0],yyvsp[-6].v[1],yyvsp[-6].v[2],yyvsp[-4].v[0],yyvsp[-4].v[1],yyvsp[-4].v[2],yyvsp[-2].d,0,NULL); ; break;} -case 219: -#line 1840 "Gmsh.y" +case 221: +#line 1894 "Gmsh.y" { int vol = NEWREG(); Extrude_ProtudeSurface(1,(int)yyvsp[-7].d,yyvsp[-5].v[0],yyvsp[-5].v[1],yyvsp[-5].v[2],0.,0.,0.,0.,vol,&extr); ; break;} -case 220: -#line 1845 "Gmsh.y" +case 222: +#line 1899 "Gmsh.y" { int vol = NEWREG(); Extrude_ProtudeSurface(0,(int)yyvsp[-11].d,yyvsp[-9].v[0],yyvsp[-9].v[1],yyvsp[-9].v[2],yyvsp[-7].v[0],yyvsp[-7].v[1],yyvsp[-7].v[2],yyvsp[-5].d,vol,&extr); ; break;} -case 221: -#line 1853 "Gmsh.y" +case 223: +#line 1907 "Gmsh.y" { ; break;} -case 222: -#line 1856 "Gmsh.y" +case 224: +#line 1910 "Gmsh.y" { ; break;} -case 223: -#line 1862 "Gmsh.y" +case 225: +#line 1916 "Gmsh.y" { double d; int j; @@ -5005,14 +5074,14 @@ case 223: } ; break;} -case 224: -#line 1879 "Gmsh.y" +case 226: +#line 1933 "Gmsh.y" { extr.mesh.Recombine = true; ; break;} -case 225: -#line 1890 "Gmsh.y" +case 227: +#line 1944 "Gmsh.y" { Curve *c; for(i=0;i<List_Nbr(yyvsp[-3].l);i++){ @@ -5030,8 +5099,8 @@ case 225: } ; break;} -case 226: -#line 1907 "Gmsh.y" +case 228: +#line 1961 "Gmsh.y" { Curve *c; for(i=0;i<List_Nbr(yyvsp[-6].l);i++){ @@ -5049,8 +5118,8 @@ case 226: } ; break;} -case 227: -#line 1924 "Gmsh.y" +case 229: +#line 1978 "Gmsh.y" { Curve *c; for(i=0;i<List_Nbr(yyvsp[-6].l);i++){ @@ -5068,8 +5137,8 @@ case 227: } ; break;} -case 228: -#line 1941 "Gmsh.y" +case 230: +#line 1995 "Gmsh.y" { Surface *s = FindSurface((int)yyvsp[-4].d,THEM); if(!s) @@ -5091,8 +5160,8 @@ case 228: } ; break;} -case 229: -#line 1962 "Gmsh.y" +case 231: +#line 2016 "Gmsh.y" { Surface *s = FindSurface((int)yyvsp[-4].d,THEM); if(!s) @@ -5113,8 +5182,8 @@ case 229: } ; break;} -case 230: -#line 1982 "Gmsh.y" +case 232: +#line 2036 "Gmsh.y" { Volume *v = FindVolume((int)yyvsp[-4].d,THEM); if(!v) @@ -5135,8 +5204,8 @@ case 230: } ; break;} -case 231: -#line 2002 "Gmsh.y" +case 233: +#line 2056 "Gmsh.y" { Surface *s; for(i=0;i<List_Nbr(yyvsp[-3].l);i++){ @@ -5154,8 +5223,8 @@ case 231: } ; break;} -case 232: -#line 2019 "Gmsh.y" +case 234: +#line 2073 "Gmsh.y" { Surface *s; for(i=0;i<List_Nbr(yyvsp[-1].l);i++){ @@ -5173,206 +5242,206 @@ case 232: } ; break;} -case 233: -#line 2044 "Gmsh.y" +case 235: +#line 2098 "Gmsh.y" { Coherence_PS(); ; break;} -case 234: -#line 2056 "Gmsh.y" +case 236: +#line 2110 "Gmsh.y" {yyval.i = 1;; break;} -case 235: -#line 2057 "Gmsh.y" +case 237: +#line 2111 "Gmsh.y" {yyval.i = 0;; break;} -case 236: -#line 2058 "Gmsh.y" +case 238: +#line 2112 "Gmsh.y" {yyval.i = -1;; break;} -case 237: -#line 2059 "Gmsh.y" +case 239: +#line 2113 "Gmsh.y" {yyval.i = -1;; break;} -case 238: -#line 2060 "Gmsh.y" +case 240: +#line 2114 "Gmsh.y" {yyval.i = -1;; break;} -case 239: -#line 2064 "Gmsh.y" +case 241: +#line 2118 "Gmsh.y" { yyval.d = yyvsp[0].d; ; break;} -case 240: -#line 2065 "Gmsh.y" +case 242: +#line 2119 "Gmsh.y" { yyval.d = yyvsp[-1].d ; ; break;} -case 241: -#line 2066 "Gmsh.y" +case 243: +#line 2120 "Gmsh.y" { yyval.d = -yyvsp[0].d ; ; break;} -case 242: -#line 2067 "Gmsh.y" +case 244: +#line 2121 "Gmsh.y" { yyval.d = yyvsp[0].d; ; break;} -case 243: -#line 2068 "Gmsh.y" +case 245: +#line 2122 "Gmsh.y" { yyval.d = !yyvsp[0].d ; ; break;} -case 244: -#line 2069 "Gmsh.y" +case 246: +#line 2123 "Gmsh.y" { yyval.d = yyvsp[-2].d - yyvsp[0].d ; ; break;} -case 245: -#line 2070 "Gmsh.y" +case 247: +#line 2124 "Gmsh.y" { yyval.d = yyvsp[-2].d + yyvsp[0].d ; ; break;} -case 246: -#line 2071 "Gmsh.y" +case 248: +#line 2125 "Gmsh.y" { yyval.d = yyvsp[-2].d * yyvsp[0].d ; ; break;} -case 247: -#line 2072 "Gmsh.y" +case 249: +#line 2126 "Gmsh.y" { yyval.d = yyvsp[-2].d / yyvsp[0].d ; ; break;} -case 248: -#line 2073 "Gmsh.y" +case 250: +#line 2127 "Gmsh.y" { yyval.d = (int)yyvsp[-2].d % (int)yyvsp[0].d ; ; break;} -case 249: -#line 2074 "Gmsh.y" +case 251: +#line 2128 "Gmsh.y" { yyval.d = pow(yyvsp[-2].d,yyvsp[0].d) ; ; break;} -case 250: -#line 2075 "Gmsh.y" +case 252: +#line 2129 "Gmsh.y" { yyval.d = yyvsp[-2].d < yyvsp[0].d ; ; break;} -case 251: -#line 2076 "Gmsh.y" +case 253: +#line 2130 "Gmsh.y" { yyval.d = yyvsp[-2].d > yyvsp[0].d ; ; break;} -case 252: -#line 2077 "Gmsh.y" +case 254: +#line 2131 "Gmsh.y" { yyval.d = yyvsp[-2].d <= yyvsp[0].d ; ; break;} -case 253: -#line 2078 "Gmsh.y" +case 255: +#line 2132 "Gmsh.y" { yyval.d = yyvsp[-2].d >= yyvsp[0].d ; ; break;} -case 254: -#line 2079 "Gmsh.y" +case 256: +#line 2133 "Gmsh.y" { yyval.d = yyvsp[-2].d == yyvsp[0].d ; ; break;} -case 255: -#line 2080 "Gmsh.y" +case 257: +#line 2134 "Gmsh.y" { yyval.d = yyvsp[-2].d != yyvsp[0].d ; ; break;} -case 256: -#line 2081 "Gmsh.y" +case 258: +#line 2135 "Gmsh.y" { yyval.d = yyvsp[-2].d && yyvsp[0].d ; ; break;} -case 257: -#line 2082 "Gmsh.y" +case 259: +#line 2136 "Gmsh.y" { yyval.d = yyvsp[-2].d || yyvsp[0].d ; ; break;} -case 258: -#line 2083 "Gmsh.y" +case 260: +#line 2137 "Gmsh.y" { yyval.d = yyvsp[-4].d? yyvsp[-2].d : yyvsp[0].d ; ; break;} -case 259: -#line 2084 "Gmsh.y" +case 261: +#line 2138 "Gmsh.y" { yyval.d = exp(yyvsp[-1].d); ; break;} -case 260: -#line 2085 "Gmsh.y" +case 262: +#line 2139 "Gmsh.y" { yyval.d = log(yyvsp[-1].d); ; break;} -case 261: -#line 2086 "Gmsh.y" +case 263: +#line 2140 "Gmsh.y" { yyval.d = log10(yyvsp[-1].d); ; break;} -case 262: -#line 2087 "Gmsh.y" +case 264: +#line 2141 "Gmsh.y" { yyval.d = sqrt(yyvsp[-1].d); ; break;} -case 263: -#line 2088 "Gmsh.y" +case 265: +#line 2142 "Gmsh.y" { yyval.d = sin(yyvsp[-1].d); ; break;} -case 264: -#line 2089 "Gmsh.y" +case 266: +#line 2143 "Gmsh.y" { yyval.d = asin(yyvsp[-1].d); ; break;} -case 265: -#line 2090 "Gmsh.y" +case 267: +#line 2144 "Gmsh.y" { yyval.d = cos(yyvsp[-1].d); ; break;} -case 266: -#line 2091 "Gmsh.y" +case 268: +#line 2145 "Gmsh.y" { yyval.d = acos(yyvsp[-1].d); ; break;} -case 267: -#line 2092 "Gmsh.y" +case 269: +#line 2146 "Gmsh.y" { yyval.d = tan(yyvsp[-1].d); ; break;} -case 268: -#line 2093 "Gmsh.y" +case 270: +#line 2147 "Gmsh.y" { yyval.d = atan(yyvsp[-1].d); ; break;} -case 269: -#line 2094 "Gmsh.y" +case 271: +#line 2148 "Gmsh.y" { yyval.d = atan2(yyvsp[-3].d,yyvsp[-1].d); ; break;} -case 270: -#line 2095 "Gmsh.y" +case 272: +#line 2149 "Gmsh.y" { yyval.d = sinh(yyvsp[-1].d); ; break;} -case 271: -#line 2096 "Gmsh.y" +case 273: +#line 2150 "Gmsh.y" { yyval.d = cosh(yyvsp[-1].d); ; break;} -case 272: -#line 2097 "Gmsh.y" +case 274: +#line 2151 "Gmsh.y" { yyval.d = tanh(yyvsp[-1].d); ; break;} -case 273: -#line 2098 "Gmsh.y" +case 275: +#line 2152 "Gmsh.y" { yyval.d = fabs(yyvsp[-1].d); ; break;} -case 274: -#line 2099 "Gmsh.y" +case 276: +#line 2153 "Gmsh.y" { yyval.d = floor(yyvsp[-1].d); ; break;} -case 275: -#line 2100 "Gmsh.y" +case 277: +#line 2154 "Gmsh.y" { yyval.d = ceil(yyvsp[-1].d); ; break;} -case 276: -#line 2101 "Gmsh.y" +case 278: +#line 2155 "Gmsh.y" { yyval.d = fmod(yyvsp[-3].d,yyvsp[-1].d); ; break;} -case 277: -#line 2102 "Gmsh.y" +case 279: +#line 2156 "Gmsh.y" { yyval.d = fmod(yyvsp[-3].d,yyvsp[-1].d); ; break;} -case 278: -#line 2103 "Gmsh.y" +case 280: +#line 2157 "Gmsh.y" { yyval.d = sqrt(yyvsp[-3].d*yyvsp[-3].d+yyvsp[-1].d*yyvsp[-1].d); ; break;} -case 279: -#line 2104 "Gmsh.y" +case 281: +#line 2158 "Gmsh.y" { yyval.d = yyvsp[-1].d*(double)rand()/(double)RAND_MAX; ; break;} -case 280: -#line 2108 "Gmsh.y" +case 282: +#line 2162 "Gmsh.y" { yyval.d = yyvsp[0].d; ; break;} -case 281: -#line 2109 "Gmsh.y" +case 283: +#line 2163 "Gmsh.y" { yyval.d = 3.141592653589793; ; break;} -case 282: -#line 2111 "Gmsh.y" +case 284: +#line 2165 "Gmsh.y" { TheSymbol.Name = yyvsp[0].c ; if (!List_Query(Symbol_L, &TheSymbol, CompareSymbols)) { @@ -5382,8 +5451,8 @@ case 282: Free(yyvsp[0].c); ; break;} -case 283: -#line 2120 "Gmsh.y" +case 285: +#line 2174 "Gmsh.y" { if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-2].c))) vyyerror("Unknown Numeric Option Class '%s'", yyvsp[-2].c); @@ -5401,8 +5470,8 @@ case 283: } ; break;} -case 284: -#line 2137 "Gmsh.y" +case 286: +#line 2191 "Gmsh.y" { if(strcmp(yyvsp[-7].c, "PostProcessing")) vyyerror("Unknown View Option Class '%s'", yyvsp[-7].c); @@ -5423,8 +5492,8 @@ case 284: } ; break;} -case 285: -#line 2158 "Gmsh.y" +case 287: +#line 2212 "Gmsh.y" { if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-3].c))) vyyerror("Unknown Numeric Option Class '%s'", yyvsp[-3].c); @@ -5442,8 +5511,8 @@ case 285: } ; break;} -case 286: -#line 2175 "Gmsh.y" +case 288: +#line 2229 "Gmsh.y" { if(strcmp(yyvsp[-8].c, "PostProcessing")) vyyerror("Unknown View Option Class '%s'", yyvsp[-8].c); @@ -5464,8 +5533,8 @@ case 286: } ; break;} -case 287: -#line 2196 "Gmsh.y" +case 289: +#line 2250 "Gmsh.y" { if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-3].c))) vyyerror("Unknown Numeric Option Class '%s'", yyvsp[-3].c); @@ -5483,8 +5552,8 @@ case 287: } ; break;} -case 288: -#line 2213 "Gmsh.y" +case 290: +#line 2267 "Gmsh.y" { if(strcmp(yyvsp[-8].c, "PostProcessing")) vyyerror("Unknown View Option Class '%s'", yyvsp[-8].c); @@ -5505,16 +5574,16 @@ case 288: } ; break;} -case 289: -#line 2236 "Gmsh.y" +case 291: +#line 2290 "Gmsh.y" { ListOfDouble2_L = List_Create(2,1,sizeof(double)) ; for(d=yyvsp[-2].d ; (yyvsp[-2].d<yyvsp[0].d)?(d<=yyvsp[0].d):(d>=yyvsp[0].d) ; (yyvsp[-2].d<yyvsp[0].d)?(d+=1.):(d-=1.)) List_Add(ListOfDouble2_L, &d) ; ; break;} -case 290: -#line 2242 "Gmsh.y" +case 292: +#line 2296 "Gmsh.y" { ListOfDouble2_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)){ @@ -5526,62 +5595,62 @@ case 290: List_Add(ListOfDouble2_L, &d) ; ; break;} -case 291: -#line 2256 "Gmsh.y" +case 293: +#line 2310 "Gmsh.y" { for(i=0 ; i<6 ; i++) yyval.v[i] = yyvsp[0].v[i]; ; break;} -case 292: -#line 2260 "Gmsh.y" +case 294: +#line 2314 "Gmsh.y" { for(i=0 ; i<6 ; i++) yyval.v[i] = -yyvsp[0].v[i] ; ; break;} -case 293: -#line 2264 "Gmsh.y" +case 295: +#line 2318 "Gmsh.y" { for(i=0 ; i<6 ; i++) yyval.v[i] = yyvsp[0].v[i]; ; break;} -case 294: -#line 2268 "Gmsh.y" +case 296: +#line 2322 "Gmsh.y" { for(i=0 ; i<6 ; i++) yyval.v[i] = yyvsp[-2].v[i] - yyvsp[0].v[i] ; ; break;} -case 295: -#line 2272 "Gmsh.y" +case 297: +#line 2326 "Gmsh.y" { for(i=0 ; i<6 ; i++) yyval.v[i] = yyvsp[-2].v[i] + yyvsp[0].v[i] ; ; break;} -case 296: -#line 2278 "Gmsh.y" +case 298: +#line 2332 "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 297: -#line 2282 "Gmsh.y" +case 299: +#line 2336 "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 298: -#line 2286 "Gmsh.y" +case 300: +#line 2340 "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 299: -#line 2290 "Gmsh.y" +case 301: +#line 2344 "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 300: -#line 2294 "Gmsh.y" +case 302: +#line 2348 "Gmsh.y" { if(!(pArrCat = Get_ArrayOptionCategory(yyvsp[-2].c))) vyyerror("Unknown Array Option Class '%s'", yyvsp[-2].c); @@ -5608,8 +5677,8 @@ case 300: } ; break;} -case 301: -#line 2320 "Gmsh.y" +case 303: +#line 2374 "Gmsh.y" { if(strcmp(yyvsp[-7].c, "PostProcessing")) vyyerror("Unknown View Option Class '%s'", yyvsp[-7].c); @@ -5640,84 +5709,84 @@ case 301: } ; break;} -case 302: -#line 2353 "Gmsh.y" +case 304: +#line 2407 "Gmsh.y" { ; break;} -case 303: -#line 2356 "Gmsh.y" +case 305: +#line 2410 "Gmsh.y" { ; break;} -case 304: -#line 2362 "Gmsh.y" +case 306: +#line 2416 "Gmsh.y" { ; break;} -case 305: -#line 2365 "Gmsh.y" +case 307: +#line 2419 "Gmsh.y" { ; break;} -case 306: -#line 2371 "Gmsh.y" +case 308: +#line 2425 "Gmsh.y" { ; break;} -case 307: -#line 2374 "Gmsh.y" +case 309: +#line 2428 "Gmsh.y" { yyval.l=ListOfListOfDouble_L; ; break;} -case 308: -#line 2378 "Gmsh.y" +case 310: +#line 2432 "Gmsh.y" { yyval.l=ListOfListOfDouble_L; ; break;} -case 309: -#line 2385 "Gmsh.y" +case 311: +#line 2439 "Gmsh.y" { ListOfListOfDouble_L = List_Create(2,1,sizeof(List_T*)) ; List_Add(ListOfListOfDouble_L, &(yyvsp[0].l)) ; ; break;} -case 310: -#line 2390 "Gmsh.y" +case 312: +#line 2444 "Gmsh.y" { List_Add(ListOfListOfDouble_L, &(yyvsp[0].l)) ; ; break;} -case 311: -#line 2397 "Gmsh.y" +case 313: +#line 2451 "Gmsh.y" { ; break;} -case 312: -#line 2400 "Gmsh.y" +case 314: +#line 2454 "Gmsh.y" { ListOfDouble_L = List_Create(2,1,sizeof(double)) ; List_Add(ListOfDouble_L, &(yyvsp[0].d)) ; yyval.l=ListOfDouble_L; ; break;} -case 313: -#line 2406 "Gmsh.y" +case 315: +#line 2460 "Gmsh.y" { yyval.l=ListOfDouble_L; ; break;} -case 314: -#line 2414 "Gmsh.y" +case 316: +#line 2468 "Gmsh.y" { ListOfDouble_L = List_Create(2,1,sizeof(double)) ; List_Add(ListOfDouble_L, &(yyvsp[0].d)) ; ; break;} -case 315: -#line 2419 "Gmsh.y" +case 317: +#line 2473 "Gmsh.y" { ListOfDouble_L = List_Create(2,1,sizeof(double)) ; for(i=0 ; i<List_Nbr(ListOfDouble2_L) ; i++){ @@ -5727,14 +5796,14 @@ case 315: List_Delete(ListOfDouble2_L); ; break;} -case 316: -#line 2428 "Gmsh.y" +case 318: +#line 2482 "Gmsh.y" { List_Add(ListOfDouble_L, &(yyvsp[0].d)) ; ; break;} -case 317: -#line 2432 "Gmsh.y" +case 319: +#line 2486 "Gmsh.y" { for(i=0 ; i<List_Nbr(ListOfDouble2_L) ; i++){ List_Read(ListOfDouble2_L, i, &d) ; @@ -5743,34 +5812,34 @@ case 317: List_Delete(ListOfDouble2_L); ; break;} -case 318: -#line 2443 "Gmsh.y" +case 320: +#line 2497 "Gmsh.y" { yyval.u = PACK_COLOR((int)yyvsp[-7].d, (int)yyvsp[-5].d, (int)yyvsp[-3].d, (int)yyvsp[-1].d); ; break;} -case 319: -#line 2447 "Gmsh.y" +case 321: +#line 2501 "Gmsh.y" { yyval.u = PACK_COLOR((int)yyvsp[-5].d, (int)yyvsp[-3].d, (int)yyvsp[-1].d, 255); ; break;} -case 320: -#line 2451 "Gmsh.y" +case 322: +#line 2505 "Gmsh.y" { yyval.u = Get_ColorForString(ColorString, (int)yyvsp[-1].d, yyvsp[-3].c, &flag); if(flag) vyyerror("Unknown Color '%s'", yyvsp[-3].c); ; break;} -case 321: -#line 2456 "Gmsh.y" +case 323: +#line 2510 "Gmsh.y" { yyval.u = Get_ColorForString(ColorString, -1, yyvsp[0].c, &flag); if(flag) vyyerror("Unknown Color '%s'", yyvsp[0].c); ; break;} -case 322: -#line 2461 "Gmsh.y" +case 324: +#line 2515 "Gmsh.y" { if(!(pColCat = Get_ColorOptionCategory(yyvsp[-4].c))) vyyerror("Unknown Color Option Class '%s'", yyvsp[-4].c); @@ -5783,14 +5852,14 @@ case 322: } ; break;} -case 323: -#line 2477 "Gmsh.y" +case 325: +#line 2531 "Gmsh.y" { yyval.l = ListOfColor_L; ; break;} -case 324: -#line 2481 "Gmsh.y" +case 326: +#line 2535 "Gmsh.y" { if(!ListOfColor_L) ListOfColor_L = List_Create(256,10,sizeof(unsigned int)) ; @@ -5810,8 +5879,8 @@ case 324: yyval.l = ListOfColor_L; ; break;} -case 325: -#line 2503 "Gmsh.y" +case 327: +#line 2557 "Gmsh.y" { if(!ListOfColor_L) ListOfColor_L = List_Create(256,10,sizeof(unsigned int)) ; @@ -5820,8 +5889,8 @@ case 325: List_Add(ListOfColor_L, &(yyvsp[0].u)) ; ; break;} -case 326: -#line 2511 "Gmsh.y" +case 328: +#line 2565 "Gmsh.y" { List_Add(ListOfColor_L, &(yyvsp[0].u)) ; ; @@ -6048,7 +6117,7 @@ yyerrhandle: } return 1; } -#line 2517 "Gmsh.y" +#line 2571 "Gmsh.y" void InitSymbols(void){ diff --git a/Parser/Gmsh.tab.cpp.h b/Parser/Gmsh.tab.cpp.h index 3dbfd324b02bee0117e0c5633f658557a99cf178..9074a45604ca16749475cff9f066e33c06741335 100644 --- a/Parser/Gmsh.tab.cpp.h +++ b/Parser/Gmsh.tab.cpp.h @@ -91,81 +91,82 @@ typedef union { #define tKnots 338 #define tColor 339 #define tFor 340 -#define tEndFor 341 -#define tScript 342 -#define tExit 343 -#define tMerge 344 -#define tReturn 345 -#define tCall 346 -#define tFunction 347 -#define tB_SPLINE_SURFACE_WITH_KNOTS 348 -#define tB_SPLINE_CURVE_WITH_KNOTS 349 -#define tCARTESIAN_POINT 350 -#define tTRUE 351 -#define tFALSE 352 -#define tUNSPECIFIED 353 -#define tU 354 -#define tV 355 -#define tEDGE_CURVE 356 -#define tVERTEX_POINT 357 -#define tORIENTED_EDGE 358 -#define tPLANE 359 -#define tFACE_OUTER_BOUND 360 -#define tEDGE_LOOP 361 -#define tADVANCED_FACE 362 -#define tVECTOR 363 -#define tDIRECTION 364 -#define tAXIS2_PLACEMENT_3D 365 -#define tISO 366 -#define tENDISO 367 -#define tENDSEC 368 -#define tDATA 369 -#define tHEADER 370 -#define tFILE_DESCRIPTION 371 -#define tFILE_SCHEMA 372 -#define tFILE_NAME 373 -#define tMANIFOLD_SOLID_BREP 374 -#define tCLOSED_SHELL 375 -#define tADVANCED_BREP_SHAPE_REPRESENTATION 376 -#define tFACE_BOUND 377 -#define tCYLINDRICAL_SURFACE 378 -#define tCONICAL_SURFACE 379 -#define tCIRCLE 380 -#define tTRIMMED_CURVE 381 -#define tGEOMETRIC_SET 382 -#define tCOMPOSITE_CURVE_SEGMENT 383 -#define tCONTINUOUS 384 -#define tCOMPOSITE_CURVE 385 -#define tTOROIDAL_SURFACE 386 -#define tPRODUCT_DEFINITION 387 -#define tPRODUCT_DEFINITION_SHAPE 388 -#define tSHAPE_DEFINITION_REPRESENTATION 389 -#define tELLIPSE 390 -#define tTrimmed 391 -#define tSolid 392 -#define tEndSolid 393 -#define tVertex 394 -#define tFacet 395 -#define tNormal 396 -#define tOuter 397 -#define tLoopSTL 398 -#define tEndLoop 399 -#define tEndFacet 400 -#define tAND 401 -#define tOR 402 -#define tNOTEQUAL 403 -#define tEQUAL 404 -#define tAPPROXEQUAL 405 -#define tAFFECTPLUS 406 -#define tAFFECTMINUS 407 -#define tAFFECTTIMES 408 -#define tAFFECTDIVIDE 409 -#define tLESSOREQUAL 410 -#define tGREATEROREQUAL 411 -#define tCROSSPRODUCT 412 -#define UNARYPREC 413 -#define tPLUSPLUS 414 -#define tMINUSMINUS 415 +#define tIn 341 +#define tEndFor 342 +#define tScript 343 +#define tExit 344 +#define tMerge 345 +#define tReturn 346 +#define tCall 347 +#define tFunction 348 +#define tB_SPLINE_SURFACE_WITH_KNOTS 349 +#define tB_SPLINE_CURVE_WITH_KNOTS 350 +#define tCARTESIAN_POINT 351 +#define tTRUE 352 +#define tFALSE 353 +#define tUNSPECIFIED 354 +#define tU 355 +#define tV 356 +#define tEDGE_CURVE 357 +#define tVERTEX_POINT 358 +#define tORIENTED_EDGE 359 +#define tPLANE 360 +#define tFACE_OUTER_BOUND 361 +#define tEDGE_LOOP 362 +#define tADVANCED_FACE 363 +#define tVECTOR 364 +#define tDIRECTION 365 +#define tAXIS2_PLACEMENT_3D 366 +#define tISO 367 +#define tENDISO 368 +#define tENDSEC 369 +#define tDATA 370 +#define tHEADER 371 +#define tFILE_DESCRIPTION 372 +#define tFILE_SCHEMA 373 +#define tFILE_NAME 374 +#define tMANIFOLD_SOLID_BREP 375 +#define tCLOSED_SHELL 376 +#define tADVANCED_BREP_SHAPE_REPRESENTATION 377 +#define tFACE_BOUND 378 +#define tCYLINDRICAL_SURFACE 379 +#define tCONICAL_SURFACE 380 +#define tCIRCLE 381 +#define tTRIMMED_CURVE 382 +#define tGEOMETRIC_SET 383 +#define tCOMPOSITE_CURVE_SEGMENT 384 +#define tCONTINUOUS 385 +#define tCOMPOSITE_CURVE 386 +#define tTOROIDAL_SURFACE 387 +#define tPRODUCT_DEFINITION 388 +#define tPRODUCT_DEFINITION_SHAPE 389 +#define tSHAPE_DEFINITION_REPRESENTATION 390 +#define tELLIPSE 391 +#define tTrimmed 392 +#define tSolid 393 +#define tEndSolid 394 +#define tVertex 395 +#define tFacet 396 +#define tNormal 397 +#define tOuter 398 +#define tLoopSTL 399 +#define tEndLoop 400 +#define tEndFacet 401 +#define tAND 402 +#define tOR 403 +#define tNOTEQUAL 404 +#define tEQUAL 405 +#define tAPPROXEQUAL 406 +#define tAFFECTPLUS 407 +#define tAFFECTMINUS 408 +#define tAFFECTTIMES 409 +#define tAFFECTDIVIDE 410 +#define tLESSOREQUAL 411 +#define tGREATEROREQUAL 412 +#define tCROSSPRODUCT 413 +#define UNARYPREC 414 +#define tPLUSPLUS 415 +#define tMINUSMINUS 416 extern YYSTYPE yylval; diff --git a/Parser/Gmsh.y b/Parser/Gmsh.y index ccce4006f6847962c2e37e44985f5432f85075ec..a579f6df28895fa564adb5463bb4f28007dda403 100644 --- a/Parser/Gmsh.y +++ b/Parser/Gmsh.y @@ -1,4 +1,4 @@ -%{ /* $Id: Gmsh.y,v 1.32 2000-12-08 22:29:50 geuzaine Exp $ */ +%{ /* $Id: Gmsh.y,v 1.33 2000-12-09 15:21:17 geuzaine Exp $ */ #include <stdarg.h> @@ -33,7 +33,8 @@ extern char ThePathForIncludes[NAME_STR_L]; static FILE *yyinTab[MAX_OPEN_FILES]; static int yylinenoTab[MAX_OPEN_FILES]; static fpos_t yyposImbricatedLoopsTab[MAX_OPEN_FILES]; -static int LoopControlVariablesTab[MAX_OPEN_FILES][3]; +static double LoopControlVariablesTab[MAX_OPEN_FILES][3]; +static char* LoopControlVariablesNameTab[MAX_OPEN_FILES]; static char yynameTab[MAX_OPEN_FILES][NAME_STR_L]; static char tmpstring[NAME_STR_L]; static Symbol TheSymbol, *pSymbol; @@ -88,7 +89,7 @@ void vyyerror (char *fmt, ...); %token tScalarLine tVectorLine tTensorLine %token tScalarPoint tVectorPoint tTensorPoint %token tBSpline tNurbs tOrder tWith tBounds tKnots -%token tColor tFor tEndFor tScript tExit tMerge +%token tColor tFor tIn tEndFor tScript tExit tMerge %token tReturn tCall tFunction %token tB_SPLINE_SURFACE_WITH_KNOTS @@ -1720,7 +1721,7 @@ Command : Loop : - tFor '(' FExpr tDOTS FExpr ')' + tFor '{' FExpr tDOTS FExpr '}' { FILE* ff; if(RecursionLevel) @@ -1728,12 +1729,13 @@ Loop : else ff = yyin; // here, we seek remember the position in yyin - LoopControlVariablesTab[ImbricatedLoop][0] = (int)$3 ; - LoopControlVariablesTab[ImbricatedLoop][1] = (int)$5 ; - LoopControlVariablesTab[ImbricatedLoop][2] = 1 ; + LoopControlVariablesTab[ImbricatedLoop][0] = $3 ; + LoopControlVariablesTab[ImbricatedLoop][1] = $5 ; + LoopControlVariablesTab[ImbricatedLoop][2] = 1.0 ; + LoopControlVariablesNameTab[ImbricatedLoop] = "" ; fgetpos( ff, &yyposImbricatedLoopsTab[ImbricatedLoop++]); } - | tFor '(' FExpr tDOTS FExpr tDOTS FExpr ')' + | tFor '{' FExpr tDOTS FExpr tDOTS FExpr '}' { FILE* ff; if(RecursionLevel) @@ -1741,23 +1743,75 @@ Loop : else ff = yyin; // here, we seek remember the position in yyin - LoopControlVariablesTab[ImbricatedLoop][0] = (int)$3 ; - LoopControlVariablesTab[ImbricatedLoop][1] = (int)$5 ; - LoopControlVariablesTab[ImbricatedLoop][2] = (int)$7 ; + LoopControlVariablesTab[ImbricatedLoop][0] = $3 ; + LoopControlVariablesTab[ImbricatedLoop][1] = $5 ; + LoopControlVariablesTab[ImbricatedLoop][2] = $7 ; + LoopControlVariablesNameTab[ImbricatedLoop] = "" ; + fgetpos( ff, &yyposImbricatedLoopsTab[ImbricatedLoop++]); + } + | tFor tSTRING tIn '{' FExpr tDOTS FExpr '}' + { + FILE* ff; + if(RecursionLevel) + ff = yyinTab[RecursionLevel-1]; + else + ff = yyin; + // here, we seek remember the position in yyin + LoopControlVariablesTab[ImbricatedLoop][0] = $5 ; + LoopControlVariablesTab[ImbricatedLoop][1] = $7 ; + LoopControlVariablesTab[ImbricatedLoop][2] = 1.0 ; + LoopControlVariablesNameTab[ImbricatedLoop] = $2 ; + + TheSymbol.Name = $2; + TheSymbol.val = $5; + if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols))) + List_Add(Symbol_L,&TheSymbol); + else + pSymbol->val = $5; + + fgetpos( ff, &yyposImbricatedLoopsTab[ImbricatedLoop++]); + } + | tFor tSTRING tIn '{' FExpr tDOTS FExpr tDOTS FExpr '}' + { + FILE* ff; + if(RecursionLevel) + ff = yyinTab[RecursionLevel-1]; + else + ff = yyin; + // here, we seek remember the position in yyin + LoopControlVariablesTab[ImbricatedLoop][0] = $5 ; + LoopControlVariablesTab[ImbricatedLoop][1] = $7 ; + LoopControlVariablesTab[ImbricatedLoop][2] = $9 ; + LoopControlVariablesNameTab[ImbricatedLoop] = $2 ; + + TheSymbol.Name = $2; + TheSymbol.val = $5; + if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols))) + List_Add(Symbol_L,&TheSymbol); + else + pSymbol->val = $5; + fgetpos( ff, &yyposImbricatedLoopsTab[ImbricatedLoop++]); } | tEndFor { if(LoopControlVariablesTab[ImbricatedLoop-1][1] > - LoopControlVariablesTab[ImbricatedLoop-1][0]) - { + LoopControlVariablesTab[ImbricatedLoop-1][0]){ FILE* ff; if(RecursionLevel) ff = yyinTab[RecursionLevel-1]; else ff = yyin; + LoopControlVariablesTab[ImbricatedLoop-1][0] += LoopControlVariablesTab[ImbricatedLoop-1][2]; + + if(strlen(LoopControlVariablesNameTab[ImbricatedLoop-1])){ + TheSymbol.Name = LoopControlVariablesNameTab[ImbricatedLoop-1]; + pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols); + pSymbol->val += LoopControlVariablesTab[ImbricatedLoop-1][2]; + } + fsetpos( yyin, &yyposImbricatedLoopsTab[ImbricatedLoop-1]); } else diff --git a/Parser/Gmsh.yy.cpp b/Parser/Gmsh.yy.cpp index 7a43e64d6ec04febb8b0f7d3eba73683f7849014..874b98b2b51556065e57478fb1d6126d9327785d 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.36 2000-12-09 03:13:48 geuzaine Exp $ + * $Header: /cvsroot/gmsh/Parser/Gmsh.yy.cpp,v 1.37 2000-12-09 15:21:17 geuzaine Exp $ */ #define FLEX_SCANNER @@ -283,117 +283,117 @@ static void yy_fatal_error YY_PROTO(( yyconst char msg[] )); *yy_cp = '\0'; \ yy_c_buf_p = yy_cp; -#define YY_NUM_RULES 179 -#define YY_END_OF_BUFFER 180 +#define YY_NUM_RULES 180 +#define YY_END_OF_BUFFER 181 static yyconst short int yy_accept[982] = { 0, - 0, 0, 180, 178, 1, 1, 178, 5, 172, 178, - 6, 178, 178, 178, 178, 178, 173, 14, 2, 178, - 9, 178, 177, 177, 177, 177, 177, 177, 177, 177, - 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, - 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, - 177, 178, 178, 0, 0, 22, 172, 18, 12, 19, - 10, 20, 11, 0, 175, 0, 0, 0, 0, 3, - 4, 13, 16, 174, 173, 0, 24, 21, 25, 177, - 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, - 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, - - 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, - 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, - 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, - 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, - 177, 177, 73, 177, 177, 177, 177, 177, 177, 177, - 177, 114, 117, 108, 111, 177, 177, 177, 177, 177, - 177, 177, 177, 116, 177, 119, 177, 110, 113, 177, - 177, 177, 177, 115, 118, 109, 112, 177, 177, 177, - 177, 177, 177, 177, 177, 177, 177, 177, 17, 23, - 0, 0, 15, 0, 125, 126, 127, 128, 174, 0, - - 0, 176, 177, 177, 177, 177, 177, 177, 177, 177, - 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, - 177, 177, 177, 177, 177, 177, 177, 177, 177, 40, - 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, - 177, 177, 52, 177, 177, 177, 177, 177, 177, 101, - 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, - 177, 66, 177, 177, 177, 177, 177, 177, 177, 177, - 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, - 177, 177, 177, 177, 177, 177, 85, 177, 177, 177, - 177, 177, 177, 177, 95, 177, 177, 177, 177, 177, - - 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, - 177, 0, 0, 0, 175, 0, 0, 174, 177, 26, - 177, 177, 177, 177, 177, 177, 28, 30, 177, 177, - 177, 177, 35, 177, 177, 177, 177, 177, 177, 107, - 177, 38, 177, 177, 177, 177, 177, 39, 142, 177, - 177, 177, 50, 177, 177, 177, 0, 177, 177, 177, - 103, 177, 177, 177, 57, 177, 59, 177, 177, 177, - 177, 0, 177, 177, 136, 177, 177, 64, 177, 65, - 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, - 177, 177, 177, 177, 177, 83, 177, 177, 177, 177, - - 177, 87, 177, 86, 177, 177, 84, 177, 177, 177, - 177, 94, 177, 177, 177, 177, 177, 98, 177, 100, - 177, 177, 177, 177, 167, 8, 177, 177, 177, 177, - 177, 0, 0, 0, 174, 177, 177, 177, 177, 177, - 177, 177, 32, 177, 177, 177, 177, 177, 177, 177, - 177, 177, 177, 177, 177, 177, 177, 45, 177, 177, - 177, 177, 177, 177, 177, 0, 177, 177, 177, 177, - 177, 177, 58, 177, 177, 177, 60, 0, 177, 62, - 177, 177, 67, 177, 104, 177, 70, 177, 71, 140, - 177, 177, 177, 74, 75, 76, 177, 177, 177, 177, - - 177, 82, 177, 177, 51, 177, 177, 177, 177, 177, - 177, 177, 97, 177, 177, 177, 177, 177, 177, 164, - 177, 177, 166, 171, 177, 0, 0, 177, 177, 177, - 177, 27, 29, 31, 177, 177, 177, 37, 177, 155, - 177, 177, 177, 177, 177, 177, 42, 177, 177, 177, - 47, 48, 177, 177, 177, 177, 0, 148, 177, 177, - 102, 177, 177, 177, 177, 177, 177, 177, 177, 141, - 0, 177, 68, 63, 177, 69, 177, 177, 177, 177, - 79, 177, 177, 106, 81, 177, 91, 88, 177, 177, - 177, 177, 177, 177, 177, 137, 177, 99, 177, 177, - - 177, 7, 165, 163, 0, 0, 177, 177, 177, 177, - 33, 177, 36, 177, 177, 177, 177, 177, 177, 177, - 177, 177, 44, 177, 177, 177, 177, 56, 0, 177, - 177, 54, 177, 177, 177, 177, 177, 177, 177, 0, - 61, 177, 177, 177, 177, 177, 177, 177, 177, 89, - 177, 177, 177, 177, 177, 96, 177, 177, 168, 177, - 0, 0, 177, 177, 177, 177, 177, 177, 177, 177, - 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, - 0, 53, 55, 177, 177, 177, 177, 177, 105, 177, - 0, 177, 177, 177, 177, 72, 177, 177, 177, 90, - - 177, 177, 177, 177, 177, 169, 170, 0, 0, 177, - 177, 177, 177, 34, 177, 177, 177, 177, 177, 177, - 177, 177, 43, 138, 49, 177, 131, 0, 177, 177, - 177, 144, 177, 177, 0, 177, 177, 177, 177, 177, - 80, 177, 177, 177, 177, 93, 177, 0, 0, 177, - 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, - 177, 46, 177, 130, 0, 134, 177, 177, 177, 177, - 0, 177, 177, 177, 78, 177, 177, 177, 177, 177, - 177, 0, 0, 177, 177, 177, 177, 177, 177, 177, - 177, 177, 177, 177, 177, 177, 0, 177, 177, 143, - - 177, 0, 177, 177, 177, 77, 177, 177, 177, 92, - 177, 124, 0, 124, 177, 177, 177, 177, 177, 177, - 177, 149, 177, 177, 177, 177, 0, 177, 177, 177, - 146, 177, 177, 177, 177, 177, 177, 132, 123, 177, - 135, 123, 177, 177, 177, 177, 177, 177, 177, 177, - 0, 177, 177, 157, 177, 129, 177, 177, 177, 156, - 177, 177, 177, 177, 177, 177, 177, 177, 41, 0, - 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, - 120, 159, 153, 177, 0, 177, 177, 177, 177, 177, - 177, 177, 177, 177, 177, 177, 177, 147, 133, 145, - - 177, 177, 177, 154, 177, 177, 177, 177, 177, 177, - 177, 177, 177, 177, 139, 177, 177, 177, 177, 177, - 160, 177, 177, 177, 177, 177, 152, 151, 177, 177, - 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, - 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, - 177, 158, 177, 177, 177, 177, 177, 161, 177, 177, - 122, 177, 177, 177, 177, 177, 177, 121, 177, 177, - 177, 177, 177, 177, 177, 177, 162, 177, 177, 150, + 0, 0, 181, 179, 1, 1, 179, 5, 173, 179, + 6, 179, 179, 179, 179, 179, 174, 14, 2, 179, + 9, 179, 178, 178, 178, 178, 178, 178, 178, 178, + 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, + 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, + 178, 179, 179, 0, 0, 22, 173, 18, 12, 19, + 10, 20, 11, 0, 176, 0, 0, 0, 0, 3, + 4, 13, 16, 175, 174, 0, 24, 21, 25, 178, + 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, + 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, + + 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, + 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, + 178, 178, 178, 178, 178, 62, 178, 178, 178, 178, + 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, + 178, 178, 74, 178, 178, 178, 178, 178, 178, 178, + 178, 115, 118, 109, 112, 178, 178, 178, 178, 178, + 178, 178, 178, 117, 178, 120, 178, 111, 114, 178, + 178, 178, 178, 116, 119, 110, 113, 178, 178, 178, + 178, 178, 178, 178, 178, 178, 178, 178, 17, 23, + 0, 0, 15, 0, 126, 127, 128, 129, 175, 0, + + 0, 177, 178, 178, 178, 178, 178, 178, 178, 178, + 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, + 178, 178, 178, 178, 178, 178, 178, 178, 178, 40, + 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, + 178, 178, 52, 178, 178, 178, 178, 178, 178, 102, + 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, + 178, 67, 178, 178, 178, 178, 178, 178, 178, 178, + 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, + 178, 178, 178, 178, 178, 178, 86, 178, 178, 178, + 178, 178, 178, 178, 96, 178, 178, 178, 178, 178, + + 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, + 178, 0, 0, 0, 176, 0, 0, 175, 178, 26, + 178, 178, 178, 178, 178, 178, 28, 30, 178, 178, + 178, 178, 35, 178, 178, 178, 178, 178, 178, 108, + 178, 38, 178, 178, 178, 178, 178, 39, 143, 178, + 178, 178, 50, 178, 178, 178, 0, 178, 178, 178, + 104, 178, 178, 178, 57, 178, 59, 178, 178, 178, + 178, 0, 178, 178, 137, 178, 178, 65, 178, 66, + 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, + 178, 178, 178, 178, 178, 84, 178, 178, 178, 178, + + 178, 88, 178, 87, 178, 178, 85, 178, 178, 178, + 178, 95, 178, 178, 178, 178, 178, 99, 178, 101, + 178, 178, 178, 178, 168, 8, 178, 178, 178, 178, + 178, 0, 0, 0, 175, 178, 178, 178, 178, 178, + 178, 178, 32, 178, 178, 178, 178, 178, 178, 178, + 178, 178, 178, 178, 178, 178, 178, 45, 178, 178, + 178, 178, 178, 178, 178, 0, 178, 178, 178, 178, + 178, 178, 58, 178, 178, 178, 60, 0, 178, 63, + 178, 178, 68, 178, 105, 178, 71, 178, 72, 141, + 178, 178, 178, 75, 76, 77, 178, 178, 178, 178, + + 178, 83, 178, 178, 51, 178, 178, 178, 178, 178, + 178, 178, 98, 178, 178, 178, 178, 178, 178, 165, + 178, 178, 167, 172, 178, 0, 0, 178, 178, 178, + 178, 27, 29, 31, 178, 178, 178, 37, 178, 156, + 178, 178, 178, 178, 178, 178, 42, 178, 178, 178, + 47, 48, 178, 178, 178, 178, 0, 149, 178, 178, + 103, 178, 178, 178, 178, 178, 178, 178, 178, 142, + 0, 178, 69, 64, 178, 70, 178, 178, 178, 178, + 80, 178, 178, 107, 82, 178, 92, 89, 178, 178, + 178, 178, 178, 178, 178, 138, 178, 100, 178, 178, + + 178, 7, 166, 164, 0, 0, 178, 178, 178, 178, + 33, 178, 36, 178, 178, 178, 178, 178, 178, 178, + 178, 178, 44, 178, 178, 178, 178, 56, 0, 178, + 178, 54, 178, 178, 178, 178, 178, 178, 178, 0, + 61, 178, 178, 178, 178, 178, 178, 178, 178, 90, + 178, 178, 178, 178, 178, 97, 178, 178, 169, 178, + 0, 0, 178, 178, 178, 178, 178, 178, 178, 178, + 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, + 0, 53, 55, 178, 178, 178, 178, 178, 106, 178, + 0, 178, 178, 178, 178, 73, 178, 178, 178, 91, + + 178, 178, 178, 178, 178, 170, 171, 0, 0, 178, + 178, 178, 178, 34, 178, 178, 178, 178, 178, 178, + 178, 178, 43, 139, 49, 178, 132, 0, 178, 178, + 178, 145, 178, 178, 0, 178, 178, 178, 178, 178, + 81, 178, 178, 178, 178, 94, 178, 0, 0, 178, + 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, + 178, 46, 178, 131, 0, 135, 178, 178, 178, 178, + 0, 178, 178, 178, 79, 178, 178, 178, 178, 178, + 178, 0, 0, 178, 178, 178, 178, 178, 178, 178, + 178, 178, 178, 178, 178, 178, 0, 178, 178, 144, + + 178, 0, 178, 178, 178, 78, 178, 178, 178, 93, + 178, 125, 0, 125, 178, 178, 178, 178, 178, 178, + 178, 150, 178, 178, 178, 178, 0, 178, 178, 178, + 147, 178, 178, 178, 178, 178, 178, 133, 124, 178, + 136, 124, 178, 178, 178, 178, 178, 178, 178, 178, + 0, 178, 178, 158, 178, 130, 178, 178, 178, 157, + 178, 178, 178, 178, 178, 178, 178, 178, 41, 0, + 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, + 121, 160, 154, 178, 0, 178, 178, 178, 178, 178, + 178, 178, 178, 178, 178, 178, 178, 148, 134, 146, + + 178, 178, 178, 155, 178, 178, 178, 178, 178, 178, + 178, 178, 178, 178, 140, 178, 178, 178, 178, 178, + 161, 178, 178, 178, 178, 178, 153, 152, 178, 178, + 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, + 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, + 178, 159, 178, 178, 178, 178, 178, 162, 178, 178, + 123, 178, 178, 178, 178, 178, 178, 122, 178, 178, + 178, 178, 178, 178, 178, 178, 163, 178, 178, 151, 0 } ; @@ -1562,78 +1562,78 @@ return tInclude; YY_BREAK case 62: YY_RULE_SETUP -#line 133 "Gmsh.l" -return tKnots; +#line 132 "Gmsh.l" +return tIn; YY_BREAK case 63: YY_RULE_SETUP -#line 135 "Gmsh.l" -return tLength; +#line 134 "Gmsh.l" +return tKnots; YY_BREAK case 64: YY_RULE_SETUP #line 136 "Gmsh.l" -return tLine; +return tLength; YY_BREAK case 65: YY_RULE_SETUP #line 137 "Gmsh.l" -return tLoop; +return tLine; YY_BREAK case 66: YY_RULE_SETUP #line 138 "Gmsh.l" -return tLog ; +return tLoop; YY_BREAK case 67: YY_RULE_SETUP #line 139 "Gmsh.l" -return tLog10 ; +return tLog ; YY_BREAK case 68: YY_RULE_SETUP #line 140 "Gmsh.l" -return tLayers; +return tLog10 ; YY_BREAK case 69: YY_RULE_SETUP -#line 142 "Gmsh.l" -return tModulo ; +#line 141 "Gmsh.l" +return tLayers; YY_BREAK case 70: YY_RULE_SETUP -#line 144 "Gmsh.l" -return tNurbs; +#line 143 "Gmsh.l" +return tModulo ; YY_BREAK case 71: YY_RULE_SETUP -#line 146 "Gmsh.l" -return tOrder; +#line 145 "Gmsh.l" +return tNurbs; YY_BREAK case 72: YY_RULE_SETUP -#line 148 "Gmsh.l" -return tPhysical; +#line 147 "Gmsh.l" +return tOrder; YY_BREAK case 73: YY_RULE_SETUP #line 149 "Gmsh.l" -return tPi; +return tPhysical; YY_BREAK case 74: YY_RULE_SETUP #line 150 "Gmsh.l" -return tPlane; +return tPi; YY_BREAK case 75: YY_RULE_SETUP #line 151 "Gmsh.l" -return tPoint; +return tPlane; YY_BREAK case 76: YY_RULE_SETUP #line 152 "Gmsh.l" -return tProgression; +return tPoint; YY_BREAK case 77: YY_RULE_SETUP @@ -1643,505 +1643,510 @@ return tProgression; case 78: YY_RULE_SETUP #line 154 "Gmsh.l" -return tParametric; +return tProgression; YY_BREAK case 79: YY_RULE_SETUP #line 155 "Gmsh.l" -return tPrintf ; +return tParametric; YY_BREAK case 80: YY_RULE_SETUP -#line 157 "Gmsh.l" -return tRecombine; +#line 156 "Gmsh.l" +return tPrintf ; YY_BREAK case 81: YY_RULE_SETUP #line 158 "Gmsh.l" -return tRotate; +return tRecombine; YY_BREAK case 82: YY_RULE_SETUP #line 159 "Gmsh.l" -return tRuled; +return tRotate; YY_BREAK case 83: YY_RULE_SETUP #line 160 "Gmsh.l" -return tRand; +return tRuled; YY_BREAK case 84: YY_RULE_SETUP -#line 162 "Gmsh.l" -return tSqrt ; +#line 161 "Gmsh.l" +return tRand; YY_BREAK case 85: YY_RULE_SETUP #line 163 "Gmsh.l" -return tSin ; +return tSqrt ; YY_BREAK case 86: YY_RULE_SETUP #line 164 "Gmsh.l" -return tSinh ; +return tSin ; YY_BREAK case 87: YY_RULE_SETUP #line 165 "Gmsh.l" -return tPhysical; +return tSinh ; YY_BREAK case 88: YY_RULE_SETUP #line 166 "Gmsh.l" -return tSpline; +return tPhysical; YY_BREAK case 89: YY_RULE_SETUP #line 167 "Gmsh.l" -return tSurface; +return tSpline; YY_BREAK case 90: YY_RULE_SETUP #line 168 "Gmsh.l" -return tSymmetry; +return tSurface; YY_BREAK case 91: YY_RULE_SETUP #line 169 "Gmsh.l" -return tScript; +return tSymmetry; YY_BREAK case 92: YY_RULE_SETUP -#line 171 "Gmsh.l" -return tTransfinite; +#line 170 "Gmsh.l" +return tScript; YY_BREAK case 93: YY_RULE_SETUP #line 172 "Gmsh.l" -return tTranslate; +return tTransfinite; YY_BREAK case 94: YY_RULE_SETUP #line 173 "Gmsh.l" -return tTanh ; +return tTranslate; YY_BREAK case 95: YY_RULE_SETUP #line 174 "Gmsh.l" -return tTan; +return tTanh ; YY_BREAK case 96: YY_RULE_SETUP #line 175 "Gmsh.l" -return tTrimmed; +return tTan; YY_BREAK case 97: YY_RULE_SETUP -#line 177 "Gmsh.l" -return tUsing; +#line 176 "Gmsh.l" +return tTrimmed; YY_BREAK case 98: YY_RULE_SETUP -#line 179 "Gmsh.l" -return tView; +#line 178 "Gmsh.l" +return tUsing; YY_BREAK case 99: YY_RULE_SETUP #line 180 "Gmsh.l" -return tVolume; +return tView; YY_BREAK case 100: YY_RULE_SETUP -#line 182 "Gmsh.l" -return tWith; +#line 181 "Gmsh.l" +return tVolume; YY_BREAK case 101: YY_RULE_SETUP -#line 184 "Gmsh.l" -return tFor; +#line 183 "Gmsh.l" +return tWith; YY_BREAK case 102: YY_RULE_SETUP #line 185 "Gmsh.l" -return tEndFor; +return tFor; YY_BREAK case 103: YY_RULE_SETUP #line 186 "Gmsh.l" -return tExit; +return tEndFor; YY_BREAK case 104: YY_RULE_SETUP #line 187 "Gmsh.l" -return tMerge; +return tExit; YY_BREAK case 105: YY_RULE_SETUP #line 188 "Gmsh.l" -return tFunction; +return tMerge; YY_BREAK case 106: YY_RULE_SETUP #line 189 "Gmsh.l" -return tReturn; +return tFunction; YY_BREAK case 107: YY_RULE_SETUP #line 190 "Gmsh.l" -return tCall; +return tReturn; YY_BREAK case 108: YY_RULE_SETUP -#line 192 "Gmsh.l" -return tScalarTetrahedron; +#line 191 "Gmsh.l" +return tCall; YY_BREAK case 109: YY_RULE_SETUP #line 193 "Gmsh.l" -return tVectorTetrahedron; +return tScalarTetrahedron; YY_BREAK case 110: YY_RULE_SETUP #line 194 "Gmsh.l" -return tTensorTetrahedron; +return tVectorTetrahedron; YY_BREAK case 111: YY_RULE_SETUP #line 195 "Gmsh.l" -return tScalarTriangle; +return tTensorTetrahedron; YY_BREAK case 112: YY_RULE_SETUP #line 196 "Gmsh.l" -return tVectorTriangle; +return tScalarTriangle; YY_BREAK case 113: YY_RULE_SETUP #line 197 "Gmsh.l" -return tTensorTriangle; +return tVectorTriangle; YY_BREAK case 114: YY_RULE_SETUP #line 198 "Gmsh.l" -return tScalarLine; +return tTensorTriangle; YY_BREAK case 115: YY_RULE_SETUP #line 199 "Gmsh.l" -return tVectorLine; +return tScalarLine; YY_BREAK case 116: YY_RULE_SETUP #line 200 "Gmsh.l" -return tTensorLine; +return tVectorLine; YY_BREAK case 117: YY_RULE_SETUP #line 201 "Gmsh.l" -return tScalarPoint; +return tTensorLine; YY_BREAK case 118: YY_RULE_SETUP #line 202 "Gmsh.l" -return tVectorPoint; +return tScalarPoint; YY_BREAK case 119: YY_RULE_SETUP #line 203 "Gmsh.l" -return tTensorPoint; +return tVectorPoint; YY_BREAK case 120: YY_RULE_SETUP -#line 206 "Gmsh.l" -return tCARTESIAN_POINT; +#line 204 "Gmsh.l" +return tTensorPoint; YY_BREAK case 121: YY_RULE_SETUP #line 207 "Gmsh.l" -return tB_SPLINE_SURFACE_WITH_KNOTS; +return tCARTESIAN_POINT; YY_BREAK case 122: YY_RULE_SETUP #line 208 "Gmsh.l" -return tB_SPLINE_CURVE_WITH_KNOTS; +return tB_SPLINE_SURFACE_WITH_KNOTS; YY_BREAK case 123: YY_RULE_SETUP #line 209 "Gmsh.l" -return tUNSPECIFIED; +return tB_SPLINE_CURVE_WITH_KNOTS; YY_BREAK case 124: YY_RULE_SETUP #line 210 "Gmsh.l" -return tCONTINUOUS; +return tUNSPECIFIED; YY_BREAK case 125: YY_RULE_SETUP #line 211 "Gmsh.l" -return tFALSE; +return tCONTINUOUS; YY_BREAK case 126: YY_RULE_SETUP #line 212 "Gmsh.l" -return tTRUE; +return tFALSE; YY_BREAK case 127: YY_RULE_SETUP #line 213 "Gmsh.l" -return tU; +return tTRUE; YY_BREAK case 128: YY_RULE_SETUP #line 214 "Gmsh.l" -return tV; +return tU; YY_BREAK case 129: YY_RULE_SETUP #line 215 "Gmsh.l" -return tORIENTED_EDGE; +return tV; YY_BREAK case 130: YY_RULE_SETUP #line 216 "Gmsh.l" -return tEDGE_CURVE; +return tORIENTED_EDGE; YY_BREAK case 131: YY_RULE_SETUP #line 217 "Gmsh.l" -return tEDGE_LOOP; +return tEDGE_CURVE; YY_BREAK case 132: YY_RULE_SETUP #line 218 "Gmsh.l" -return tVERTEX_POINT; +return tEDGE_LOOP; YY_BREAK case 133: YY_RULE_SETUP #line 219 "Gmsh.l" -return tFACE_OUTER_BOUND; +return tVERTEX_POINT; YY_BREAK case 134: YY_RULE_SETUP #line 220 "Gmsh.l" -return tFACE_BOUND; +return tFACE_OUTER_BOUND; YY_BREAK case 135: YY_RULE_SETUP #line 221 "Gmsh.l" -return tADVANCED_FACE; +return tFACE_BOUND; YY_BREAK case 136: YY_RULE_SETUP #line 222 "Gmsh.l" -return tLine; +return tADVANCED_FACE; YY_BREAK case 137: YY_RULE_SETUP #line 223 "Gmsh.l" -return tVECTOR; +return tLine; YY_BREAK case 138: YY_RULE_SETUP #line 224 "Gmsh.l" -return tDIRECTION; +return tVECTOR; YY_BREAK case 139: YY_RULE_SETUP #line 225 "Gmsh.l" -return tAXIS2_PLACEMENT_3D; +return tDIRECTION; YY_BREAK case 140: YY_RULE_SETUP #line 226 "Gmsh.l" -return tPLANE; +return tAXIS2_PLACEMENT_3D; YY_BREAK case 141: YY_RULE_SETUP #line 227 "Gmsh.l" -return tHEADER; +return tPLANE; YY_BREAK case 142: YY_RULE_SETUP #line 228 "Gmsh.l" -return tDATA; +return tHEADER; YY_BREAK case 143: YY_RULE_SETUP #line 229 "Gmsh.l" -return tFILE_SCHEMA; +return tDATA; YY_BREAK case 144: YY_RULE_SETUP #line 230 "Gmsh.l" -return tFILE_NAME; +return tFILE_SCHEMA; YY_BREAK case 145: YY_RULE_SETUP #line 231 "Gmsh.l" -return tFILE_DESCRIPTION; +return tFILE_NAME; YY_BREAK case 146: YY_RULE_SETUP #line 232 "Gmsh.l" -return tISO; +return tFILE_DESCRIPTION; YY_BREAK case 147: YY_RULE_SETUP #line 233 "Gmsh.l" -return tENDISO; +return tISO; YY_BREAK case 148: YY_RULE_SETUP #line 234 "Gmsh.l" -return tENDSEC; +return tENDISO; YY_BREAK case 149: YY_RULE_SETUP #line 235 "Gmsh.l" -return tCLOSED_SHELL; +return tENDSEC; YY_BREAK case 150: YY_RULE_SETUP #line 236 "Gmsh.l" -return tADVANCED_BREP_SHAPE_REPRESENTATION; +return tCLOSED_SHELL; YY_BREAK case 151: YY_RULE_SETUP #line 237 "Gmsh.l" -return tMANIFOLD_SOLID_BREP; +return tADVANCED_BREP_SHAPE_REPRESENTATION; YY_BREAK case 152: YY_RULE_SETUP #line 238 "Gmsh.l" -return tCYLINDRICAL_SURFACE; +return tMANIFOLD_SOLID_BREP; YY_BREAK case 153: YY_RULE_SETUP #line 239 "Gmsh.l" -return tCONICAL_SURFACE; +return tCYLINDRICAL_SURFACE; YY_BREAK case 154: YY_RULE_SETUP #line 240 "Gmsh.l" -return tTOROIDAL_SURFACE; +return tCONICAL_SURFACE; YY_BREAK case 155: YY_RULE_SETUP #line 241 "Gmsh.l" -return tCIRCLE; +return tTOROIDAL_SURFACE; YY_BREAK case 156: YY_RULE_SETUP #line 242 "Gmsh.l" -return tTRIMMED_CURVE; +return tCIRCLE; YY_BREAK case 157: YY_RULE_SETUP #line 243 "Gmsh.l" -return tGEOMETRIC_SET; +return tTRIMMED_CURVE; YY_BREAK case 158: YY_RULE_SETUP #line 244 "Gmsh.l" -return tCOMPOSITE_CURVE_SEGMENT; +return tGEOMETRIC_SET; YY_BREAK case 159: YY_RULE_SETUP #line 245 "Gmsh.l" -return tCOMPOSITE_CURVE; +return tCOMPOSITE_CURVE_SEGMENT; YY_BREAK case 160: YY_RULE_SETUP #line 246 "Gmsh.l" -return tPRODUCT_DEFINITION; +return tCOMPOSITE_CURVE; YY_BREAK case 161: YY_RULE_SETUP #line 247 "Gmsh.l" -return tPRODUCT_DEFINITION_SHAPE; +return tPRODUCT_DEFINITION; YY_BREAK case 162: YY_RULE_SETUP #line 248 "Gmsh.l" -return tSHAPE_DEFINITION_REPRESENTATION; +return tPRODUCT_DEFINITION_SHAPE; YY_BREAK case 163: YY_RULE_SETUP -#line 250 "Gmsh.l" -return tVertex; +#line 249 "Gmsh.l" +return tSHAPE_DEFINITION_REPRESENTATION; YY_BREAK case 164: YY_RULE_SETUP #line 251 "Gmsh.l" -return tFacet; +return tVertex; YY_BREAK case 165: YY_RULE_SETUP #line 252 "Gmsh.l" -return tNormal; +return tFacet; YY_BREAK case 166: YY_RULE_SETUP #line 253 "Gmsh.l" -return tOuter; +return tNormal; YY_BREAK case 167: YY_RULE_SETUP #line 254 "Gmsh.l" -return tLoopSTL; +return tOuter; YY_BREAK case 168: YY_RULE_SETUP #line 255 "Gmsh.l" -return tEndLoop; +return tLoopSTL; YY_BREAK case 169: YY_RULE_SETUP #line 256 "Gmsh.l" -return tEndFacet; +return tEndLoop; YY_BREAK case 170: YY_RULE_SETUP #line 257 "Gmsh.l" -{skipline();return tEndSolid;} +return tEndFacet; YY_BREAK case 171: YY_RULE_SETUP #line 258 "Gmsh.l" -{skipline();return tSolid;} +{skipline();return tEndSolid;} YY_BREAK case 172: YY_RULE_SETUP -#line 260 "Gmsh.l" -{yylval.d = (double)atoi((char*)(yytext+1)); return tDOUBLE;} +#line 259 "Gmsh.l" +{skipline();return tSolid;} YY_BREAK case 173: -#line 263 "Gmsh.l" +YY_RULE_SETUP +#line 261 "Gmsh.l" +{yylval.d = (double)atoi((char*)(yytext+1)); return tDOUBLE;} + YY_BREAK case 174: #line 264 "Gmsh.l" case 175: #line 265 "Gmsh.l" case 176: +#line 266 "Gmsh.l" +case 177: YY_RULE_SETUP -#line 265 "Gmsh.l" +#line 266 "Gmsh.l" {yylval.d = atof((char *)yytext); return tDOUBLE;} YY_BREAK -case 177: +case 178: YY_RULE_SETUP -#line 267 "Gmsh.l" +#line 268 "Gmsh.l" {yylval.c = strsave((char*)yytext); return tSTRING;} YY_BREAK -case 178: +case 179: YY_RULE_SETUP -#line 269 "Gmsh.l" +#line 270 "Gmsh.l" return yytext[0]; YY_BREAK -case 179: +case 180: YY_RULE_SETUP -#line 271 "Gmsh.l" +#line 272 "Gmsh.l" ECHO; YY_BREAK -#line 2145 "Gmsh.yy.cpp" +#line 2150 "Gmsh.yy.cpp" case YY_STATE_EOF(INITIAL): yyterminate(); @@ -3027,7 +3032,7 @@ int main() return 0; } #endif -#line 271 "Gmsh.l" +#line 272 "Gmsh.l" #undef yywrap diff --git a/Unix/CbContext.cpp b/Unix/CbContext.cpp index 064bf1bc016aabe857631fd760b39a09f529ee6d..b6fe7fa6320a27bd2224f654f6a6e9d106b2ba49 100644 --- a/Unix/CbContext.cpp +++ b/Unix/CbContext.cpp @@ -1,4 +1,4 @@ -/* $Id: CbContext.cpp,v 1.6 2000-11-26 15:43:47 geuzaine Exp $ */ +/* $Id: CbContext.cpp,v 1.7 2000-12-09 15:21:17 geuzaine Exp $ */ #include "Gmsh.h" #include "GmshUI.h" @@ -33,7 +33,7 @@ static char *txt_move [] = { "Translate", "Rotate", "Dilate", "Symmetry", NULL }; static char *txt_elem [] = - { "Add", "Move", "Extrude", "Delete", "Coherence", NULL }; + { "Add", "Move", "Extrude", "Delete", NULL }; static char *txt_phys [] = { "Add", "Delete", NULL }; @@ -356,7 +356,7 @@ void NextContextCb (Widget w, XtPointer client_data, XtPointer call_data){ case 2: ActualizeContextCb(w,(XtPointer)CONTEXT_GEOM_ELEM_MOVE,call_data); break; case 3: ActualizeContextCb(w,(XtPointer)CONTEXT_GEOM_ELEM_EXTRUDE,call_data); break; case 4: ActualizeContextCb(w,(XtPointer)CONTEXT_GEOM_ELEM_DELETE,call_data); break; - case 5: geom_event_handler(GEOM_ELEM_SKETCH); break; + //case 5: geom_event_handler(GEOM_ELEM_SKETCH); break; } break; diff --git a/demos/transfinite.geo b/demos/transfinite.geo deleted file mode 100644 index 4d1155dfde0a2e7995edc0b98e60ff47b851d110..0000000000000000000000000000000000000000 --- a/demos/transfinite.geo +++ /dev/null @@ -1,235 +0,0 @@ -/* - Gmsh demo file (C) 2000 C. Geuzaine, J.-F. Remacle - - 2D and 3D transfinite meshes - - All important comments are marked with "README" -*/ - -r_int = 0.05 ; -r_ext = 0.051 ; -r_far = 0.125 ; -r_inf = 0.4 ; -phi1 = 30. * (Pi/180.) ; -angl = 45. * (Pi/180.) ; - - -nbpt_phi = 5 ; nbpt_int = 20 ; -nbpt_arc1 = 10 ; nbpt_arc2 = 10 ; -nbpt_shell = 10 ; nbpt_far = 25 ; nbpt_inf = 15 ; - -lc0 = 0.1 ; lc1 = 0.1 ; lc2 = 0.3 ; - -Point(1) = {0, 0, 0, lc0} ; -Point(2) = {r_int, 0, 0, lc0} ; -Point(3) = {r_ext, 0, 0, lc1} ; -Point(4) = {r_far, 0, 0, lc2} ; -Point(5) = {r_inf, 0, 0, lc2} ; -Point(6) = {0, 0, r_int, lc0} ; -Point(7) = {0, 0, r_ext, lc1} ; -Point(8) = {0, 0, r_far, lc2} ; -Point(9) = {0, 0, r_inf, lc2} ; - -Point(10) = {r_int*Cos(phi1), r_int*Sin(phi1), 0, lc0} ; -Point(11) = {r_ext*Cos(phi1), r_ext*Sin(phi1), 0, lc1} ; -Point(12) = {r_far*Cos(phi1), r_far*Sin(phi1), 0, lc2} ; -Point(13) = {r_inf*Cos(phi1), r_inf*Sin(phi1), 0, lc2} ; - -Point(14) = {r_int/2, 0, 0, lc2} ; -Point(15) = {r_int/2*Cos(phi1), r_int/2*Sin(phi1), 0, lc2} ; -Point(16) = {r_int/2, 0, r_int/2, lc2} ; -Point(17) = {r_int/2*Cos(phi1), r_int/2*Sin(phi1), r_int/2, lc2} ; -Point(18) = {0, 0, r_int/2, lc2} ; -Point(19) = {r_int*Cos(angl), 0, r_int*Sin(angl), lc2} ; -Point(20) = {r_int*Cos(angl)*Cos(phi1), r_int*Cos(angl)*Sin(phi1), r_int*Sin(angl), lc2} ; -Point(21) = {r_ext*Cos(angl), 0, r_ext*Sin(angl), lc2} ; -Point(22) = {r_ext*Cos(angl)*Cos(phi1), r_ext*Cos(angl)*Sin(phi1), r_ext*Sin(angl), lc2} ; -Point(23) = {r_far*Cos(angl), 0, r_far*Sin(angl), lc2} ; -Point(24) = {r_far*Cos(angl)*Cos(phi1), r_far*Cos(angl)*Sin(phi1), r_far*Sin(angl), lc2} ; -Point(25) = {r_inf, 0, r_inf, lc2} ; -Point(26) = {r_inf*Cos(phi1), r_inf*Sin(phi1), r_inf, lc2} ; - -Circle(1) = {2,1,19}; Circle(2) = {19,1,6}; Circle(3) = {3,1,21}; Circle(4) = {21,1,7}; -Circle(5) = {4,1,23}; Circle(6) = {23,1,8}; Line(7) = {5,25}; Line(8) = {25,9}; -Circle(9) = {10,1,20}; Circle(10) = {20,1,6}; Circle(11) = {11,1,22}; Circle(12) = {22,1,7}; -Circle(13) = {12,1,24}; Circle(14) = {24,1,8}; Line(15) = {13,26}; Line(16) = {26,9}; -Circle(17) = {19,1,20}; Circle(18) = {21,1,22}; Circle(19) = {23,1,24}; Circle(20) = {25,1,26}; -Circle(21) = {2,1,10}; Circle(22) = {3,1,11}; Circle(23) = {4,1,12}; Circle(24) = {5,1,13}; - -Line(25) = {1,14}; Line(26) = {14,2}; Line(27) = {2,3}; Line(28) = {3,4}; -Line(29) = {4,5}; Line(30) = {1,15}; Line(31) = {15,10}; Line(32) = {10,11}; -Line(33) = {11,12}; Line(34) = {12,13}; Line(35) = {14,15}; Line(36) = {14,16}; -Line(37) = {15,17}; Line(38) = {16,17}; Line(39) = {18,16}; Line(40) = {18,17}; -Line(41) = {1,18}; Line(42) = {18,6}; Line(43) = {6,7}; Line(44) = {16,19}; -Line(45) = {19,21}; Line(46) = {21,23}; Line(47) = {23,25}; Line(48) = {17,20}; -Line(49) = {20,22}; Line(50) = {22,24}; Line(51) = {24,26}; Line(52) = {7,8}; -Line(53) = {8,9}; - -Line Loop(54) = {39,-36,-25,41}; Ruled Surface(55) = {54}; -Line Loop(56) = {44,-1,-26,36}; Ruled Surface(57) = {56}; -Line Loop(58) = {3,-45,-1,27}; Ruled Surface(59) = {58}; -Line Loop(60) = {5,-46,-3,28}; Ruled Surface(61) = {60}; -Line Loop(62) = {7,-47,-5,29}; Ruled Surface(63) = {62}; -Line Loop(64) = {-2,-44,-39,42}; Ruled Surface(65) = {64}; -Line Loop(66) = {-4,-45,2,43}; Ruled Surface(67) = {66}; -Line Loop(68) = {-6,-46,4,52}; Ruled Surface(69) = {68}; -Line Loop(70) = {-8,-47,6,53}; Ruled Surface(71) = {70}; -Line Loop(72) = {-40,-41,30,37}; Ruled Surface(73) = {72}; -Line Loop(74) = {48,-9,-31,37}; Ruled Surface(75) = {74}; -Line Loop(76) = {49,-11,-32,9}; Ruled Surface(77) = {76}; -Line Loop(78) = {-50,-11,33,13}; Ruled Surface(79) = {78}; -Line Loop(80) = {-51,-13,34,15}; Ruled Surface(81) = {80}; -Line Loop(82) = {10,-42,40,48}; Ruled Surface(83) = {82}; -Line Loop(84) = {12,-43,-10,49}; Ruled Surface(85) = {84}; -Line Loop(86) = {14,-52,-12,50}; Ruled Surface(87) = {86}; -Line Loop(88) = {16,-53,-14,51}; Ruled Surface(89) = {88}; -Line Loop(90) = {-30,25,35}; Ruled Surface(91) = {90}; -Line Loop(92) = {-40,39,38}; Ruled Surface(93) = {92}; -Line Loop(94) = {37,-38,-36,35}; Ruled Surface(95) = {94}; -Line Loop(96) = {-48,-38,44,17}; Ruled Surface(97) = {96}; -Line Loop(98) = {18,-49,-17,45}; Ruled Surface(99) = {98}; -Line Loop(100) = {19,-50,-18,46};Ruled Surface(101) = {100}; -Line Loop(102) = {20,-51,-19,47};Ruled Surface(103) = {102}; -Line Loop(104) = {-2,17,10}; Ruled Surface(105) = {104}; -Line Loop(106) = {-9,-21,1,17}; Ruled Surface(107) = {106}; -Line Loop(108) = {-4,18,12}; Ruled Surface(109) = {108}; -Line Loop(110) = {-11,-22,3,18}; Ruled Surface(111) = {110}; -Line Loop(112) = {-13,-23,5,19}; Ruled Surface(113) = {112}; -Line Loop(114) = {-6,19,14}; Ruled Surface(115) = {114}; -Line Loop(116) = {-15,-24,7,20}; Ruled Surface(117) = {116}; -Line Loop(118) = {-8,20,16}; Ruled Surface(119) = {118}; -Line Loop(120) = {-31,-35,26,21};Ruled Surface(121) = {120}; -Line Loop(122) = {32,-22,-27,21};Ruled Surface(123) = {122}; -Line Loop(124) = {33,-23,-28,22};Ruled Surface(125) = {124}; -Line Loop(126) = {34,-24,-29,23};Ruled Surface(127) = {126}; - -Surface Loop(128) = {93,-73,-55,95,-91}; Volume(129) = {128}; /* int */ -Surface Loop(130) = {107,-75,-97,95,57,121}; Volume(131) = {130}; /* int b */ -Surface Loop(132) = {105,-65,-97,-83,-93}; Volume(133) = {132}; /* int h */ -Surface Loop(134) = {99,-111,77,123,59,107}; Volume(135) = {134}; /* shell b */ -Surface Loop(136) = {99,-109,67,105,85}; Volume(137) = {136}; /* shell h */ -Surface Loop(138) = {113,79,-101,-111,-125,-61}; Volume(139) = {138}; /* ext b */ -Surface Loop(140) = {115,-69,-101,-87,-109}; Volume(141) = {140}; /* ext h */ -Surface Loop(142) = {103,-117,-81,113,127,63}; Volume(143) = {142}; /* inf b */ -Surface Loop(144) = {89,-119,71,103,115}; Volume(145) = {144}; /* inf h */ - -/* README: Tranfinite line commands explicitly specify the number of - points and their repartition. A minus sign in the argument list of - the transfinite command will produce the reversed mesh. */ - -Transfinite Line{35,21,22,23,24,38,17,18,19,20} = nbpt_phi ; -Transfinite Line{31,26,48,44,42} = nbpt_int Using Progression 0.95; -Transfinite Line{41,37,36,9,11,1,3,13,5,15,7} = nbpt_arc1 ; -Transfinite Line{30,25,40,39,10,2,12,4,14,6,16,8} = nbpt_arc2 ; -Transfinite Line{32,27,49,45,43} = nbpt_shell ; -Transfinite Line{33,28,46,50,52} = nbpt_far Using Progression 1.05 ; -Transfinite Line{34,29,51,47,53} = nbpt_inf Using Progression 0.01; - -/* README: *All* 2D and 3D transfinite entities are defined in respect - to points. The ordering of the points defines the ordering of the - mesh elements. */ - -Transfinite Surface{55} = {1,14,16,18}; -Transfinite Surface{57} = {14,2,19,16}; -Transfinite Surface{59} = {2,3,21,19}; -Transfinite Surface{61} = {3,4,23,21}; -Transfinite Surface{63} = {4,5,25,23}; -Transfinite Surface{73} = {1,15,17,18}; -Transfinite Surface{75} = {15,10,20,17}; -Transfinite Surface{77} = {10,11,22,20}; -Transfinite Surface{79} = {11,12,24,22}; -Transfinite Surface{81} = {12,13,26,24}; -Transfinite Surface{65} = {18,16,19,6}; -Transfinite Surface{67} = {6,19,21,7}; -Transfinite Surface{69} = {7,21,23,8}; -Transfinite Surface{71} = {8,23,25,9}; -Transfinite Surface{83} = {17,18,6,20}; -Transfinite Surface{85} = {20,6,7,22}; -Transfinite Surface{87} = {22,7,8,24}; -Transfinite Surface{89} = {24,8,9,26}; -Transfinite Surface{91} = {1,14,15}; -Transfinite Surface{95} = {15,14,16,17}; -Transfinite Surface{93} = {18,16,17}; -Transfinite Surface{121} = {15,14,2,10}; -Transfinite Surface{97} = {17,16,19,20}; -Transfinite Surface{123} = {10,2,3,11}; -Transfinite Surface{99} = {20,19,21,22}; -Transfinite Surface{107} = {10,2,19,20}; -Transfinite Surface{105} = {6,20,19}; -Transfinite Surface{109} = {7,22,21}; -Transfinite Surface{111} = {11,3,21,22}; -Transfinite Surface{101} = {22,21,23,24}; -Transfinite Surface{125} = {11,3,4,12}; -Transfinite Surface{115} = {8,24,23}; -Transfinite Surface{113} = {24,12,4,23}; -Transfinite Surface{127} = {12,13,5,4}; -Transfinite Surface{103} = {24,23,25,26}; -Transfinite Surface{119} = {9,26,25}; -Transfinite Surface{117} = {13,5,25,26}; - -/* README: Recombine simplexes into quadrangles when possible */ - -Recombine Surface {55 ... 127}; - -/* README: *All* 2D and 3D transfinite entities are defined in respect - to points. The ordering of the points defines the ordering of the - mesh elements. */ - -Transfinite Volume{129} = {1,14,15,18,16,17}; -Transfinite Volume{131} = {17,16,14,15,20,19,2,10}; -Transfinite Volume{133} = {18,17,16,6,20,19}; -Transfinite Volume{135} = {10,2,19,20,11,3,21,22}; -Transfinite Volume{137} = {6,20,19,7,22,21}; -Transfinite Volume{139} = {11,3,4,12,22,21,23,24}; -Transfinite Volume{141} = {7,22,21,8,24,23}; -Transfinite Volume{143} = {12,4,5,13,24,23,25,26}; -Transfinite Volume{145} = {8,24,23,9,26,25}; - -VolInt = 1000 ; -SurfIntPhi0 = 1001 ; -SurfIntPhi1 = 1002 ; -SurfIntZ0 = 1003 ; - -VolShell = 2000 ; -SurfShellInt = 2001 ; -SurfShellExt = 2002 ; -SurfShellPhi0 = 2003 ; -SurfShellPhi1 = 2004 ; -SurfShellZ0 = 2005 ; -LineShellIntPhi0 = 2006 ; -LineShellIntPhi1 = 2007 ; -LineShellIntZ0 = 2008 ; -PointShellInt = 2009 ; - -VolExt = 3000 ; -VolInf = 3001 ; -SurfInf = 3002 ; -SurfExtInfPhi0 = 3003 ; -SurfExtInfPhi1 = 3004 ; -SurfExtInfZ0 = 3005 ; -SurfInfRight = 3006 ; -SurfInfTop = 3007 ; - -Physical Volume (VolInt) = {129,131,133} ; -Physical Surface (SurfIntPhi0) = {55,57,65} ; -Physical Surface (SurfIntPhi1) = {73,75,83} ; -Physical Surface (SurfIntZ0) = {91,121} ; - -Physical Volume (VolShell) = {135,137} ; -Physical Surface (SurfShellInt) = {105,107} ; -Physical Surface (SurfShellExt) = {109,111} ; -Physical Surface (SurfShellPhi0) = {59,67} ; -Physical Surface (SurfShellPhi1) = {77,85} ; -Physical Surface (SurfShellZ0) = {123} ; -Physical Line (LineShellIntPhi0) = {1,2} ; -Physical Line (LineShellIntPhi1) = {9,10} ; -Physical Line (LineShellIntZ0) = 21 ; -Physical Point (PointShellInt) = 6 ; - -Physical Volume (VolExt) = {139,141} ; -Physical Volume (VolInf) = {143,145} ; -Physical Surface (SurfExtInfPhi0) = {61,63,69,71} ; -Physical Surface (SurfExtInfPhi1) = {79,87,81,89} ; -Physical Surface (SurfExtInfZ0) = {125,127} ; -Physical Surface (SurfInfRight) = {117} ; -Physical Surface (SurfInfTop) = {119} ; diff --git a/examples/loop.geo b/examples/loop.geo index d47a4eb5323747defb4a84f322093ae661decc1c..c6180d2cf1a804b69acdbdcae632e9a874326e86 100644 --- a/examples/loop.geo +++ b/examples/loop.geo @@ -3,12 +3,8 @@ This is a very simple control sequense with 2 imbricated loops */ -t = 0.0; -For (1:10) - x = 0.0; - For (1:10:2) +For t In {0:1:0.1} + For x In {0:0.5:0.1} Point(newp) = {t,x,0,.1}; - x = x + 0.1; EndFor - t = t + 0.1; EndFor diff --git a/utils/gmsh.spec b/utils/gmsh.spec index b19ed9500b498d5f8f352aa4c6e93b227d5b0662..f215bb06d0b80a001190f71a73a42651a5eb768b 100644 --- a/utils/gmsh.spec +++ b/utils/gmsh.spec @@ -30,6 +30,7 @@ Install Gmsh if you need a simple 3D finite element mesh generator. make linux mv bin/gmsh-Linux bin/gmsh make utils +rm -rf CVS */CVS */*/CVS %install rm -rf $RPM_BUILD_ROOT @@ -45,7 +46,7 @@ rm -rf $RPM_BUILD_ROOT %files %defattr(-,root,root) -%doc demos/*.* tutorial/*.* doc/FORMATS +%doc doc/FORMATS demos tutorial /usr/bin/gmsh /usr/bin/dxf2geo /usr/man/man1/gmsh* diff --git a/utils/tut2html b/utils/tut2html new file mode 100644 index 0000000000000000000000000000000000000000..26ddfb76c1ea85c251dc6dba52210abf894131ef --- /dev/null +++ b/utils/tut2html @@ -0,0 +1,12 @@ +#!/usr/local/bin/bash + +if [ $# = 0 ] ; then + echo "Usage: tut2html file[s]" + exit 1 +fi + +for t in ${*/.geo/}; do + echo -n "[$t.html]" + enscript -Ecpp --color -Whtml -p$t.html $t.geo +done +