diff --git a/Common/Context.cpp b/Common/Context.cpp index f94bd4d31413ecf95fa1e204b74f48bdde46410c..a361cd13f10670d960c6f83661560eea878b5b35 100644 --- a/Common/Context.cpp +++ b/Common/Context.cpp @@ -1,4 +1,4 @@ -/* $Id: Context.cpp,v 1.18 2000-12-08 11:16:34 geuzaine Exp $ */ +/* $Id: Context.cpp,v 1.19 2000-12-09 17:33:39 geuzaine Exp $ */ #include "Gmsh.h" #include "Const.h" @@ -285,7 +285,6 @@ void Init_Colors(int num){ void Init_Context(void){ // Cannot be set by the user - CTX.script = 0 ; CTX.expose = 0 ; CTX.db = 1 ; CTX.overlay = 1 ; diff --git a/Common/Context.h b/Common/Context.h index 01e94645915bedc41a4e45e8d0eda8ccf4f9f585..eeef7da088baad6b447bb279b81bc0cef3f69538 100644 --- a/Common/Context.h +++ b/Common/Context.h @@ -1,4 +1,4 @@ -/* $Id: Context.h,v 1.17 2000-12-08 11:16:34 geuzaine Exp $ */ +/* $Id: Context.h,v 1.18 2000-12-09 17:33:39 geuzaine Exp $ */ #ifndef _CONTEXT_H_ #define _CONTEXT_H_ @@ -55,7 +55,6 @@ typedef struct{ class Context_T { public : - int script; /* gmsh in script mode */ int interactive; /* 0=full gfx; -1=just parse; 1,2,3=batch mesh */ int verbosity; /* 0=silent -> 3=debug */ int expose; /* 1 if everything is ready to expose and draw */ diff --git a/Common/Options.h b/Common/Options.h index b9b35142adb772d91a777026033a782d00a26047..46fafe55ed494c4dbfdd8796a674835791fe8d86 100644 --- a/Common/Options.h +++ b/Common/Options.h @@ -1,4 +1,4 @@ -/* $Id: Options.h,v 1.3 2000-12-05 20:02:12 geuzaine Exp $ */ +/* $Id: Options.h,v 1.4 2000-12-09 17:33:39 geuzaine Exp $ */ #ifndef _OPTIONS_H_ #define _OPTIONS_H_ @@ -30,8 +30,8 @@ StringXString PostProcessingOptions_String[] = { } ; StringXString PrintOptions_String[] = { - { "Font" , &CTX.print.font , "Courier" }, - { NULL , NULL , NULL } + { "PrintFont" , &CTX.print.font , "Courier" }, + { NULL , NULL , NULL } } ; // NUMBERS @@ -134,10 +134,10 @@ StringXNumber PostProcessingOptions_Number[] = { } ; StringXNumber PrintOptions_Number[] = { - { "Type" , GMSH_INT, (void*)&CTX.print.type , PRINT_GL2PS_SIMPLE }, - { "Format" , GMSH_INT, (void*)&CTX.print.format , FORMAT_EPS }, - { "FontSize" , GMSH_INT, (void*)&CTX.print.font_size , 12. }, - { NULL , GMSH_DOUBLE, NULL , 0. } + { "Type" , GMSH_INT, (void*)&CTX.print.type , PRINT_GL2PS_SIMPLE }, + { "Format" , GMSH_INT, (void*)&CTX.print.format , FORMAT_EPS }, + { "FontSize" , GMSH_INT, (void*)&CTX.print.font_size , 12. }, + { NULL , GMSH_DOUBLE, NULL , 0. } } ; // ARRAYS diff --git a/Parser/Gmsh.l b/Parser/Gmsh.l index 6205a67236c94f6a58a4c19d8fe60ef6b327ffa5..ea8cf578c49f496ab55b5f83c52a681aefeddf7b 100644 --- a/Parser/Gmsh.l +++ b/Parser/Gmsh.l @@ -1,4 +1,4 @@ -%{ /* $Id: Gmsh.l,v 1.18 2000-12-09 15:21:17 geuzaine Exp $ */ +%{ /* $Id: Gmsh.l,v 1.19 2000-12-09 17:33:39 geuzaine Exp $ */ #include <stdio.h> #include <stdlib.h> @@ -114,7 +114,6 @@ Delete return tDelete; Dilate return tDilate; Duplicata return tDuplicata; Draw return tDraw; -Sleep return tSleep; Exp return tExp ; Ellipsis return tEllipsis; @@ -128,7 +127,6 @@ Fmod return tFmod ; Hypot return tHypot ; -Include return tInclude; In return tIn; Knots return tKnots; @@ -163,11 +161,10 @@ Rand return tRand; Sqrt return tSqrt ; Sin return tSin ; Sinh return tSinh ; -Save return tPhysical; Spline return tSpline; Surface return tSurface; Symmetry return tSymmetry; -Script return tScript; +Sprintf return tSprintf ; Transfinite return tTransfinite; Translate return tTranslate; diff --git a/Parser/Gmsh.tab.cpp b/Parser/Gmsh.tab.cpp index 1933a49f07e45a67db45658390bb7e7329c32837..bcb16b9e23d2ec8ebdd9536ae7e7c0da8cfb81a5 100644 --- a/Parser/Gmsh.tab.cpp +++ b/Parser/Gmsh.tab.cpp @@ -33,8 +33,8 @@ #define tModulo 283 #define tHypot 284 #define tPrintf 285 -#define tDraw 286 -#define tSleep 287 +#define tSprintf 286 +#define tDraw 287 #define tPoint 288 #define tCircle 289 #define tEllipsis 290 @@ -61,112 +61,110 @@ #define tExtrude 311 #define tDuplicata 312 #define tLoop 313 -#define tInclude 314 -#define tRecombine 315 -#define tDelete 316 -#define tCoherence 317 -#define tView 318 -#define tAttractor 319 -#define tLayers 320 -#define tScalarTetrahedron 321 -#define tVectorTetrahedron 322 -#define tTensorTetrahedron 323 -#define tScalarTriangle 324 -#define tVectorTriangle 325 -#define tTensorTriangle 326 -#define tScalarLine 327 -#define tVectorLine 328 -#define tTensorLine 329 -#define tScalarPoint 330 -#define tVectorPoint 331 -#define tTensorPoint 332 -#define tBSpline 333 -#define tNurbs 334 -#define tOrder 335 -#define tWith 336 -#define tBounds 337 -#define tKnots 338 -#define tColor 339 -#define tFor 340 -#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 +#define tRecombine 314 +#define tDelete 315 +#define tCoherence 316 +#define tView 317 +#define tAttractor 318 +#define tLayers 319 +#define tScalarTetrahedron 320 +#define tVectorTetrahedron 321 +#define tTensorTetrahedron 322 +#define tScalarTriangle 323 +#define tVectorTriangle 324 +#define tTensorTriangle 325 +#define tScalarLine 326 +#define tVectorLine 327 +#define tTensorLine 328 +#define tScalarPoint 329 +#define tVectorPoint 330 +#define tTensorPoint 331 +#define tBSpline 332 +#define tNurbs 333 +#define tOrder 334 +#define tWith 335 +#define tBounds 336 +#define tKnots 337 +#define tColor 338 +#define tFor 339 +#define tIn 340 +#define tEndFor 341 +#define tExit 342 +#define tMerge 343 +#define tReturn 344 +#define tCall 345 +#define tFunction 346 +#define tB_SPLINE_SURFACE_WITH_KNOTS 347 +#define tB_SPLINE_CURVE_WITH_KNOTS 348 +#define tCARTESIAN_POINT 349 +#define tTRUE 350 +#define tFALSE 351 +#define tUNSPECIFIED 352 +#define tU 353 +#define tV 354 +#define tEDGE_CURVE 355 +#define tVERTEX_POINT 356 +#define tORIENTED_EDGE 357 +#define tPLANE 358 +#define tFACE_OUTER_BOUND 359 +#define tEDGE_LOOP 360 +#define tADVANCED_FACE 361 +#define tVECTOR 362 +#define tDIRECTION 363 +#define tAXIS2_PLACEMENT_3D 364 +#define tISO 365 +#define tENDISO 366 +#define tENDSEC 367 +#define tDATA 368 +#define tHEADER 369 +#define tFILE_DESCRIPTION 370 +#define tFILE_SCHEMA 371 +#define tFILE_NAME 372 +#define tMANIFOLD_SOLID_BREP 373 +#define tCLOSED_SHELL 374 +#define tADVANCED_BREP_SHAPE_REPRESENTATION 375 +#define tFACE_BOUND 376 +#define tCYLINDRICAL_SURFACE 377 +#define tCONICAL_SURFACE 378 +#define tCIRCLE 379 +#define tTRIMMED_CURVE 380 +#define tGEOMETRIC_SET 381 +#define tCOMPOSITE_CURVE_SEGMENT 382 +#define tCONTINUOUS 383 +#define tCOMPOSITE_CURVE 384 +#define tTOROIDAL_SURFACE 385 +#define tPRODUCT_DEFINITION 386 +#define tPRODUCT_DEFINITION_SHAPE 387 +#define tSHAPE_DEFINITION_REPRESENTATION 388 +#define tELLIPSE 389 +#define tTrimmed 390 +#define tSolid 391 +#define tEndSolid 392 +#define tVertex 393 +#define tFacet 394 +#define tNormal 395 +#define tOuter 396 +#define tLoopSTL 397 +#define tEndLoop 398 +#define tEndFacet 399 +#define tAND 400 +#define tOR 401 +#define tNOTEQUAL 402 +#define tEQUAL 403 +#define tAPPROXEQUAL 404 +#define tAFFECTPLUS 405 +#define tAFFECTMINUS 406 +#define tAFFECTTIMES 407 +#define tAFFECTDIVIDE 408 +#define tLESSOREQUAL 409 +#define tGREATEROREQUAL 410 +#define tCROSSPRODUCT 411 +#define UNARYPREC 412 +#define tPLUSPLUS 413 +#define tMINUSMINUS 414 #line 1 "Gmsh.y" - /* $Id: Gmsh.tab.cpp,v 1.37 2000-12-09 15:21:17 geuzaine Exp $ */ + /* $Id: Gmsh.tab.cpp,v 1.38 2000-12-09 17:33:39 geuzaine Exp $ */ #include <stdarg.h> @@ -247,26 +245,26 @@ typedef union { -#define YYFINAL 1522 +#define YYFINAL 1521 #define YYFLAG -32768 -#define YYNTBASE 181 +#define YYNTBASE 179 -#define YYTRANSLATE(x) ((unsigned)(x) <= 416 ? yytranslate[x] : 259) +#define YYTRANSLATE(x) ((unsigned)(x) <= 414 ? yytranslate[x] : 257) static const short yytranslate[] = { 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 169, 2, 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, 167, 2, 2, 2, 164, 2, 2, 171, + 173, 162, 160, 172, 161, 176, 163, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 156, + 2, 157, 146, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 179, 2, 180, 170, 2, 2, 2, 2, 2, 2, + 177, 2, 178, 168, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 176, 2, 177, 2, 2, 2, 2, 2, + 2, 2, 174, 2, 175, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -293,9 +291,9 @@ static const short yytranslate[] = { 0, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, - 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, - 147, 149, 150, 151, 152, 153, 154, 155, 156, 157, - 160, 161, 167, 168, 171, 172 + 137, 138, 139, 140, 141, 142, 143, 144, 145, 147, + 148, 149, 150, 151, 152, 153, 154, 155, 158, 159, + 165, 166, 169, 170 }; #if YYDEBUG != 0 @@ -306,297 +304,297 @@ static const short yyprhs[] = { 0, 248, 260, 274, 284, 294, 306, 316, 328, 338, 350, 364, 378, 390, 404, 422, 432, 444, 456, 470, 482, 492, 493, 496, 498, 500, 502, 504, 506, 508, 510, - 512, 514, 516, 518, 520, 522, 525, 533, 540, 549, - 550, 553, 556, 559, 562, 565, 568, 571, 574, 577, - 580, 583, 586, 588, 592, 593, 607, 609, 613, 614, - 628, 630, 634, 635, 649, 651, 655, 656, 676, 678, - 682, 683, 703, 705, 709, 710, 730, 732, 736, 737, - 763, 765, 769, 770, 796, 798, 802, 803, 829, 831, - 835, 836, 868, 870, 874, 875, 907, 909, 913, 914, - 946, 951, 955, 959, 964, 969, 974, 979, 986, 998, - 1005, 1017, 1024, 1036, 1043, 1055, 1062, 1074, 1081, 1093, - 1099, 1111, 1117, 1129, 1136, 1148, 1155, 1167, 1174, 1186, - 1195, 1207, 1215, 1224, 1237, 1244, 1250, 1258, 1266, 1279, - 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, 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 + 512, 514, 516, 518, 520, 523, 531, 538, 547, 548, + 551, 554, 557, 560, 563, 566, 569, 572, 575, 578, + 581, 584, 586, 590, 591, 605, 607, 611, 612, 626, + 628, 632, 633, 647, 649, 653, 654, 674, 676, 680, + 681, 701, 703, 707, 708, 728, 730, 734, 735, 761, + 763, 767, 768, 794, 796, 800, 801, 827, 829, 833, + 834, 866, 868, 872, 873, 905, 907, 911, 912, 944, + 949, 953, 957, 962, 967, 972, 977, 984, 996, 1003, + 1015, 1022, 1034, 1041, 1053, 1060, 1072, 1079, 1091, 1097, + 1109, 1115, 1127, 1134, 1146, 1153, 1165, 1172, 1184, 1193, + 1205, 1213, 1222, 1235, 1242, 1248, 1256, 1264, 1277, 1285, + 1295, 1313, 1321, 1330, 1339, 1347, 1359, 1365, 1374, 1384, + 1393, 1416, 1437, 1446, 1455, 1461, 1470, 1478, 1487, 1493, + 1505, 1511, 1521, 1523, 1525, 1527, 1528, 1531, 1536, 1541, + 1545, 1549, 1552, 1555, 1562, 1571, 1580, 1591, 1593, 1595, + 1599, 1602, 1611, 1624, 1633, 1646, 1655, 1668, 1680, 1696, + 1698, 1701, 1711, 1714, 1721, 1731, 1741, 1750, 1759, 1768, + 1775, 1780, 1783, 1785, 1787, 1789, 1791, 1793, 1795, 1799, + 1802, 1805, 1808, 1812, 1816, 1820, 1824, 1828, 1832, 1836, + 1840, 1844, 1848, 1852, 1856, 1860, 1864, 1870, 1875, 1880, + 1885, 1890, 1895, 1900, 1905, 1910, 1915, 1920, 1927, 1932, + 1937, 1942, 1947, 1952, 1957, 1964, 1971, 1978, 1983, 1985, + 1987, 1989, 1993, 2002, 2007, 2017, 2022, 2032, 2036, 2042, + 2044, 2047, 2050, 2054, 2058, 2070, 2080, 2088, 2096, 2100, + 2109, 2110, 2114, 2116, 2120, 2121, 2125, 2129, 2131, 2135, + 2136, 2138, 2142, 2144, 2146, 2150, 2154, 2164, 2172, 2178, + 2180, 2186, 2190, 2199, 2201, 2205, 2207 }; -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 +static const short yyrhs[] = { 181, + 0, 180, 0, 186, 0, 137, 0, 140, 141, 242, + 242, 242, 142, 143, 139, 242, 242, 242, 139, 242, + 242, 242, 139, 242, 242, 242, 144, 145, 0, 138, + 0, 0, 181, 182, 0, 183, 0, 185, 0, 184, + 0, 1, 6, 0, 111, 6, 0, 112, 6, 0, + 114, 6, 0, 113, 6, 0, 115, 6, 0, 116, + 171, 247, 172, 5, 173, 6, 0, 117, 171, 247, + 173, 6, 0, 118, 171, 5, 172, 5, 172, 247, + 172, 247, 172, 5, 172, 5, 172, 5, 173, 6, + 0, 3, 7, 95, 171, 5, 172, 245, 173, 6, + 0, 3, 7, 94, 171, 5, 172, 242, 172, 251, + 172, 241, 172, 241, 172, 241, 172, 251, 172, 251, + 172, 241, 173, 6, 0, 3, 7, 93, 171, 5, + 172, 242, 172, 242, 172, 249, 172, 241, 172, 241, + 172, 241, 172, 241, 172, 251, 172, 251, 172, 251, + 172, 251, 172, 241, 173, 6, 0, 3, 7, 101, + 171, 5, 172, 3, 172, 3, 172, 3, 172, 241, + 173, 6, 0, 3, 7, 105, 171, 5, 172, 3, + 172, 241, 173, 6, 0, 3, 7, 122, 171, 5, + 172, 3, 172, 241, 173, 6, 0, 3, 7, 103, + 171, 5, 172, 162, 172, 162, 172, 242, 172, 241, + 173, 6, 0, 3, 7, 106, 171, 5, 172, 251, + 173, 6, 0, 3, 7, 107, 171, 5, 172, 251, + 172, 3, 172, 241, 173, 6, 0, 3, 7, 102, + 171, 5, 172, 3, 173, 6, 0, 3, 7, 108, + 171, 5, 172, 3, 172, 242, 173, 6, 0, 3, + 7, 110, 171, 5, 172, 3, 172, 3, 172, 3, + 173, 6, 0, 3, 7, 109, 171, 5, 172, 245, + 173, 6, 0, 3, 7, 104, 171, 5, 172, 3, + 173, 6, 0, 3, 7, 37, 171, 5, 172, 3, + 172, 3, 173, 6, 0, 3, 7, 120, 171, 5, + 172, 251, 173, 6, 0, 3, 7, 121, 171, 5, + 172, 251, 172, 3, 173, 6, 0, 3, 7, 119, + 171, 5, 172, 3, 173, 6, 0, 3, 7, 123, + 171, 5, 172, 3, 172, 242, 173, 6, 0, 3, + 7, 124, 171, 5, 172, 3, 172, 242, 172, 242, + 173, 6, 0, 3, 7, 131, 171, 5, 172, 3, + 172, 242, 172, 242, 173, 6, 0, 3, 7, 125, + 171, 5, 172, 3, 172, 242, 173, 6, 0, 3, + 7, 135, 171, 5, 172, 3, 172, 242, 172, 242, + 173, 6, 0, 3, 7, 126, 171, 5, 172, 3, + 172, 251, 172, 251, 172, 241, 172, 241, 173, 6, + 0, 3, 7, 127, 171, 5, 172, 251, 173, 6, + 0, 3, 7, 128, 171, 129, 172, 241, 172, 3, + 173, 6, 0, 3, 7, 130, 171, 5, 172, 251, + 172, 241, 173, 6, 0, 3, 7, 132, 171, 5, + 172, 5, 172, 3, 172, 3, 173, 6, 0, 3, + 7, 133, 171, 5, 172, 5, 172, 3, 173, 6, + 0, 3, 7, 134, 171, 3, 172, 3, 173, 6, + 0, 0, 186, 187, 0, 189, 0, 188, 0, 227, + 0, 228, 0, 229, 0, 232, 0, 233, 0, 236, + 0, 239, 0, 240, 0, 235, 0, 234, 0, 1, + 6, 0, 31, 171, 5, 172, 242, 173, 6, 0, + 63, 5, 174, 190, 175, 6, 0, 63, 5, 4, + 245, 174, 190, 175, 6, 0, 0, 190, 192, 0, + 190, 195, 0, 190, 198, 0, 190, 201, 0, 190, + 204, 0, 190, 207, 0, 190, 210, 0, 190, 213, + 0, 190, 216, 0, 190, 219, 0, 190, 222, 0, + 190, 225, 0, 242, 0, 191, 172, 242, 0, 0, + 75, 171, 242, 172, 242, 172, 242, 173, 193, 174, + 191, 175, 6, 0, 242, 0, 194, 172, 242, 0, + 0, 76, 171, 242, 172, 242, 172, 242, 173, 196, + 174, 194, 175, 6, 0, 242, 0, 197, 172, 242, + 0, 0, 77, 171, 242, 172, 242, 172, 242, 173, + 199, 174, 197, 175, 6, 0, 242, 0, 200, 172, + 242, 0, 0, 72, 171, 242, 172, 242, 172, 242, + 172, 242, 172, 242, 172, 242, 173, 202, 174, 200, + 175, 6, 0, 242, 0, 203, 172, 242, 0, 0, + 73, 171, 242, 172, 242, 172, 242, 172, 242, 172, + 242, 172, 242, 173, 205, 174, 203, 175, 6, 0, + 242, 0, 206, 172, 242, 0, 0, 74, 171, 242, + 172, 242, 172, 242, 172, 242, 172, 242, 172, 242, + 173, 208, 174, 206, 175, 6, 0, 242, 0, 209, + 172, 242, 0, 0, 69, 171, 242, 172, 242, 172, + 242, 172, 242, 172, 242, 172, 242, 172, 242, 172, + 242, 172, 242, 173, 211, 174, 209, 175, 6, 0, + 242, 0, 212, 172, 242, 0, 0, 70, 171, 242, + 172, 242, 172, 242, 172, 242, 172, 242, 172, 242, + 172, 242, 172, 242, 172, 242, 173, 214, 174, 212, + 175, 6, 0, 242, 0, 215, 172, 242, 0, 0, + 71, 171, 242, 172, 242, 172, 242, 172, 242, 172, + 242, 172, 242, 172, 242, 172, 242, 172, 242, 173, + 217, 174, 215, 175, 6, 0, 242, 0, 218, 172, + 242, 0, 0, 66, 171, 242, 172, 242, 172, 242, + 172, 242, 172, 242, 172, 242, 172, 242, 172, 242, + 172, 242, 172, 242, 172, 242, 172, 242, 173, 220, + 174, 218, 175, 6, 0, 242, 0, 221, 172, 242, + 0, 0, 67, 171, 242, 172, 242, 172, 242, 172, + 242, 172, 242, 172, 242, 172, 242, 172, 242, 172, + 242, 172, 242, 172, 242, 172, 242, 173, 223, 174, + 221, 175, 6, 0, 242, 0, 224, 172, 242, 0, + 0, 68, 171, 242, 172, 242, 172, 242, 172, 242, + 172, 242, 172, 242, 172, 242, 172, 242, 172, 242, + 172, 242, 172, 242, 172, 242, 173, 226, 174, 224, + 175, 6, 0, 4, 7, 242, 6, 0, 4, 169, + 6, 0, 4, 170, 6, 0, 4, 152, 242, 6, + 0, 4, 153, 242, 6, 0, 4, 154, 242, 6, + 0, 4, 155, 242, 6, 0, 4, 176, 4, 7, + 5, 6, 0, 4, 176, 63, 177, 242, 178, 176, + 4, 7, 5, 6, 0, 4, 176, 4, 7, 242, + 6, 0, 4, 176, 63, 177, 242, 178, 176, 4, + 7, 242, 6, 0, 4, 176, 4, 152, 242, 6, + 0, 4, 176, 63, 177, 242, 178, 176, 4, 152, + 242, 6, 0, 4, 176, 4, 153, 242, 6, 0, + 4, 176, 63, 177, 242, 178, 176, 4, 153, 242, + 6, 0, 4, 176, 4, 154, 242, 6, 0, 4, + 176, 63, 177, 242, 178, 176, 4, 154, 242, 6, + 0, 4, 176, 4, 155, 242, 6, 0, 4, 176, + 63, 177, 242, 178, 176, 4, 155, 242, 6, 0, + 4, 176, 4, 169, 6, 0, 4, 176, 63, 177, + 242, 178, 176, 4, 169, 242, 6, 0, 4, 176, + 4, 170, 6, 0, 4, 176, 63, 177, 242, 178, + 176, 4, 170, 242, 6, 0, 4, 176, 4, 7, + 245, 6, 0, 4, 176, 63, 177, 242, 178, 176, + 4, 7, 245, 6, 0, 4, 176, 4, 152, 245, + 6, 0, 4, 176, 63, 177, 242, 178, 176, 4, + 152, 245, 6, 0, 4, 176, 4, 153, 245, 6, + 0, 4, 176, 63, 177, 242, 178, 176, 4, 153, + 245, 6, 0, 4, 176, 84, 176, 4, 7, 253, + 6, 0, 4, 176, 63, 177, 242, 178, 176, 84, + 7, 254, 6, 0, 34, 171, 242, 173, 7, 245, + 6, 0, 49, 34, 171, 242, 173, 7, 251, 6, + 0, 64, 34, 251, 7, 174, 242, 172, 242, 172, + 242, 175, 6, 0, 41, 42, 251, 7, 242, 6, + 0, 34, 174, 242, 175, 6, 0, 37, 171, 242, + 173, 7, 251, 6, 0, 39, 171, 242, 173, 7, + 251, 6, 0, 64, 37, 251, 7, 174, 242, 172, + 242, 172, 242, 175, 6, 0, 35, 171, 242, 173, + 7, 251, 6, 0, 35, 171, 242, 173, 7, 251, + 45, 245, 6, 0, 43, 171, 242, 173, 7, 174, + 242, 172, 242, 172, 5, 172, 5, 172, 5, 175, + 6, 0, 36, 171, 242, 173, 7, 251, 6, 0, + 49, 37, 171, 242, 173, 7, 251, 6, 0, 37, + 59, 171, 242, 173, 7, 251, 6, 0, 78, 171, + 242, 173, 7, 251, 6, 0, 79, 171, 242, 173, + 7, 251, 83, 251, 80, 242, 6, 0, 37, 174, + 242, 175, 6, 0, 45, 38, 171, 242, 173, 7, + 251, 6, 0, 136, 38, 171, 242, 173, 7, 242, + 251, 6, 0, 46, 38, 171, 242, 173, 7, 251, + 6, 0, 79, 38, 81, 82, 171, 242, 173, 7, + 249, 83, 174, 251, 172, 251, 175, 80, 174, 242, + 172, 242, 175, 6, 0, 79, 38, 171, 242, 173, + 7, 249, 83, 174, 251, 172, 251, 175, 80, 174, + 242, 172, 242, 175, 6, 0, 49, 38, 171, 242, + 173, 7, 251, 6, 0, 38, 59, 171, 242, 173, + 7, 251, 6, 0, 38, 174, 242, 175, 6, 0, + 48, 40, 171, 242, 173, 7, 251, 6, 0, 40, + 171, 242, 173, 7, 251, 6, 0, 49, 40, 171, + 242, 173, 7, 251, 6, 0, 54, 245, 174, 230, + 175, 0, 53, 174, 245, 172, 245, 172, 242, 175, + 174, 230, 175, 0, 55, 245, 174, 230, 175, 0, + 56, 174, 245, 172, 242, 175, 174, 230, 175, 0, + 232, 0, 231, 0, 229, 0, 0, 231, 228, 0, + 58, 174, 231, 175, 0, 61, 174, 231, 175, 0, + 4, 256, 6, 0, 4, 242, 6, 0, 88, 6, + 0, 33, 6, 0, 85, 174, 242, 8, 242, 175, + 0, 85, 174, 242, 8, 242, 8, 242, 175, 0, + 85, 4, 86, 174, 242, 8, 242, 175, 0, 85, + 4, 86, 174, 242, 8, 242, 8, 242, 175, 0, + 87, 0, 90, 0, 91, 4, 6, 0, 92, 4, + 0, 57, 34, 174, 242, 172, 245, 175, 6, 0, + 57, 34, 174, 242, 172, 245, 172, 245, 172, 242, + 175, 6, 0, 57, 37, 174, 242, 172, 245, 175, + 6, 0, 57, 37, 174, 242, 172, 245, 172, 245, + 172, 242, 175, 6, 0, 57, 38, 174, 242, 172, + 245, 175, 6, 0, 57, 38, 174, 242, 172, 245, + 172, 245, 172, 242, 175, 6, 0, 57, 38, 174, + 242, 172, 245, 175, 174, 237, 175, 6, 0, 57, + 38, 174, 242, 172, 245, 172, 245, 172, 242, 175, + 174, 237, 175, 6, 0, 238, 0, 237, 238, 0, + 65, 174, 251, 172, 251, 172, 251, 175, 6, 0, + 60, 6, 0, 47, 37, 251, 7, 242, 6, 0, + 47, 37, 251, 7, 242, 50, 52, 242, 6, 0, + 47, 37, 251, 7, 242, 50, 51, 242, 6, 0, + 47, 38, 174, 242, 175, 7, 251, 6, 0, 44, + 38, 174, 242, 175, 7, 251, 6, 0, 47, 40, + 174, 242, 175, 7, 251, 6, 0, 60, 38, 251, + 7, 242, 6, 0, 60, 38, 251, 6, 0, 62, + 6, 0, 96, 0, 97, 0, 98, 0, 99, 0, + 100, 0, 243, 0, 171, 242, 173, 0, 161, 242, + 0, 160, 242, 0, 167, 242, 0, 242, 161, 242, + 0, 242, 160, 242, 0, 242, 162, 242, 0, 242, + 163, 242, 0, 242, 164, 242, 0, 242, 168, 242, + 0, 242, 156, 242, 0, 242, 157, 242, 0, 242, + 158, 242, 0, 242, 159, 242, 0, 242, 150, 242, + 0, 242, 149, 242, 0, 242, 147, 242, 0, 242, + 148, 242, 0, 242, 146, 242, 8, 242, 0, 10, + 171, 242, 173, 0, 11, 171, 242, 173, 0, 12, + 171, 242, 173, 0, 13, 171, 242, 173, 0, 14, + 171, 242, 173, 0, 15, 171, 242, 173, 0, 16, + 171, 242, 173, 0, 17, 171, 242, 173, 0, 18, + 171, 242, 173, 0, 20, 171, 242, 173, 0, 21, + 171, 242, 172, 242, 173, 0, 22, 171, 242, 173, + 0, 23, 171, 242, 173, 0, 24, 171, 242, 173, + 0, 25, 171, 242, 173, 0, 26, 171, 242, 173, + 0, 27, 171, 242, 173, 0, 28, 171, 242, 172, + 242, 173, 0, 29, 171, 242, 172, 242, 173, 0, + 30, 171, 242, 172, 242, 173, 0, 19, 171, 242, + 173, 0, 3, 0, 9, 0, 4, 0, 4, 176, + 4, 0, 4, 176, 63, 177, 242, 178, 176, 4, + 0, 4, 176, 4, 169, 0, 4, 176, 63, 177, + 242, 178, 176, 4, 169, 0, 4, 176, 4, 170, + 0, 4, 176, 63, 177, 242, 178, 176, 4, 170, + 0, 242, 8, 242, 0, 242, 8, 242, 8, 242, + 0, 246, 0, 161, 245, 0, 160, 245, 0, 245, + 161, 245, 0, 245, 160, 245, 0, 174, 242, 172, + 242, 172, 242, 172, 242, 172, 242, 175, 0, 174, + 242, 172, 242, 172, 242, 172, 242, 175, 0, 174, + 242, 172, 242, 172, 242, 175, 0, 171, 242, 172, + 242, 172, 242, 173, 0, 4, 176, 4, 0, 4, + 176, 63, 177, 242, 178, 176, 4, 0, 0, 171, + 248, 173, 0, 5, 0, 248, 172, 5, 0, 0, + 174, 250, 175, 0, 171, 250, 173, 0, 251, 0, + 250, 172, 251, 0, 0, 242, 0, 174, 252, 175, + 0, 242, 0, 244, 0, 252, 172, 242, 0, 252, + 172, 244, 0, 174, 242, 172, 242, 172, 242, 172, + 242, 175, 0, 174, 242, 172, 242, 172, 242, 175, + 0, 174, 4, 172, 242, 175, 0, 4, 0, 4, + 176, 84, 176, 4, 0, 174, 255, 175, 0, 4, + 176, 63, 177, 242, 178, 176, 84, 0, 253, 0, + 255, 172, 253, 0, 5, 0, 32, 171, 5, 172, + 242, 173, 0 }; #endif #if YYDEBUG != 0 static const short yyrline[] = { 0, - 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 + 144, 146, 147, 154, 162, 176, 188, 190, 193, 195, + 196, 197, 200, 206, 211, 212, 213, 216, 220, 223, + 229, 234, 240, 248, 253, 257, 263, 268, 272, 277, + 281, 284, 289, 293, 297, 301, 306, 310, 313, 317, + 321, 325, 329, 333, 337, 340, 344, 347, 351, 354, + 363, 367, 373, 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, + 1697, 1717, 1721, 1740, 1756, 1770, 1792, 1814, 1840, 1847, + 1854, 1871, 1877, 1883, 1887, 1891, 1895, 1899, 1904, 1911, + 1915, 1920, 1938, 1948, 1966, 1983, 2000, 2021, 2041, 2061, + 2078, 2102, 2115, 2117, 2118, 2119, 2120, 2123, 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, 2159, 2160, 2161, 2162, 2163, 2164, 2167, 2169, + 2170, 2179, 2196, 2217, 2234, 2255, 2272, 2294, 2301, 2314, + 2319, 2323, 2327, 2331, 2336, 2341, 2345, 2349, 2353, 2379, + 2411, 2415, 2420, 2424, 2429, 2433, 2437, 2443, 2449, 2455, + 2459, 2465, 2472, 2478, 2487, 2491, 2501, 2506, 2510, 2515, + 2520, 2535, 2540, 2561, 2570, 2576, 2581 }; #endif @@ -606,16 +604,16 @@ static const short yyrline[] = { 0, static const char * const yytname[] = { "$","error","$undefined.","tDOUBLE", "tSTRING","tBIGSTR","tEND","tAFFECT","tDOTS","tPi","tExp","tLog","tLog10","tSqrt", "tSin","tAsin","tCos","tAcos","tTan","tRand","tAtan","tAtan2","tSinh","tCosh", -"tTanh","tFabs","tFloor","tCeil","tFmod","tModulo","tHypot","tPrintf","tDraw", -"tSleep","tPoint","tCircle","tEllipsis","tLine","tSurface","tSpline","tVolume", +"tTanh","tFabs","tFloor","tCeil","tFmod","tModulo","tHypot","tPrintf","tSprintf", +"tDraw","tPoint","tCircle","tEllipsis","tLine","tSurface","tSpline","tVolume", "tCharacteristic","tLength","tParametric","tElliptic","tPlane","tRuled","tTransfinite", "tComplex","tPhysical","tUsing","tBump","tProgression","tRotate","tTranslate", -"tSymmetry","tDilate","tExtrude","tDuplicata","tLoop","tInclude","tRecombine", -"tDelete","tCoherence","tView","tAttractor","tLayers","tScalarTetrahedron","tVectorTetrahedron", +"tSymmetry","tDilate","tExtrude","tDuplicata","tLoop","tRecombine","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","tIn","tEndFor", -"tScript","tExit","tMerge","tReturn","tCall","tFunction","tB_SPLINE_SURFACE_WITH_KNOTS", +"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", @@ -638,48 +636,48 @@ static const char * const yytname[] = { "$","error","$undefined.","tDOUBLE", "@8","TensorTriangleValues","TensorTriangle","@9","ScalarTetrahedronValues", "ScalarTetrahedron","@10","VectorTetrahedronValues","VectorTetrahedron","@11", "TensorTetrahedronValues","TensorTetrahedron","@12","Affectation","Shape","Transform", -"MultipleShape","ListOfShapes","Duplicata","Delete","Macro","Command","Loop", -"Extrude","ExtrudeParameters","ExtrudeParameter","Transfini","Coherence","BoolExpr", -"FExpr","FExpr_Single","FExpr_Range","VExpr","VExpr_Single","ListOfStrings", -"RecursiveListOfStrings","ListOfListOfDouble","RecursiveListOfListOfDouble", -"ListOfDouble","RecursiveListOfDouble","Color","ListOfColor","RecursiveListOfColor", NULL +"MultipleShape","ListOfShapes","Duplicata","Delete","Command","Loop","Extrude", +"ExtrudeParameters","ExtrudeParameter","Transfini","Coherence","BoolExpr","FExpr", +"FExpr_Single","FExpr_Range","VExpr","VExpr_Single","ListOfStrings","RecursiveListOfStrings", +"ListOfListOfDouble","RecursiveListOfListOfDouble","ListOfDouble","RecursiveListOfDouble", +"ColorExpr","ListOfColor","RecursiveListOfColor","StringExpr", NULL }; #endif static const short yyr1[] = { 0, - 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, 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 + 179, 179, 179, 180, 180, 180, 181, 181, 182, 182, + 182, 182, 183, 183, 183, 183, 183, 184, 184, 184, + 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, + 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, + 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, + 186, 186, 187, 187, 187, 187, 187, 187, 187, 187, + 187, 187, 187, 187, 187, 188, 189, 189, 190, 190, + 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, + 190, 191, 191, 193, 192, 194, 194, 196, 195, 197, + 197, 199, 198, 200, 200, 202, 201, 203, 203, 205, + 204, 206, 206, 208, 207, 209, 209, 211, 210, 212, + 212, 214, 213, 215, 215, 217, 216, 218, 218, 220, + 219, 221, 221, 223, 222, 224, 224, 226, 225, 227, + 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, + 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, + 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, + 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, 230, 230, 230, 231, 231, 232, 233, 234, + 234, 234, 234, 235, 235, 235, 235, 235, 235, 235, + 235, 236, 236, 236, 236, 236, 236, 236, 236, 237, + 237, 238, 238, 239, 239, 239, 239, 239, 239, 239, + 239, 240, 241, 241, 241, 241, 241, 242, 242, 242, + 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, + 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, + 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, + 242, 242, 242, 242, 242, 242, 242, 242, 243, 243, + 243, 243, 243, 243, 243, 243, 243, 244, 244, 245, + 245, 245, 245, 245, 246, 246, 246, 246, 246, 246, + 247, 247, 248, 248, 249, 249, 249, 250, 250, 251, + 251, 251, 252, 252, 252, 252, 253, 253, 253, 253, + 253, 254, 254, 255, 255, 256, 256 }; static const short yyr2[] = { 0, @@ -689,33 +687,33 @@ static const short yyr2[] = { 0, 11, 13, 9, 9, 11, 9, 11, 9, 11, 13, 13, 11, 13, 17, 9, 11, 11, 13, 11, 9, 0, 2, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 2, 7, 6, 8, 0, + 1, 1, 1, 1, 2, 7, 6, 8, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 1, 3, 0, 13, 1, 3, 0, 13, - 1, 3, 0, 13, 1, 3, 0, 19, 1, 3, - 0, 19, 1, 3, 0, 19, 1, 3, 0, 25, - 1, 3, 0, 25, 1, 3, 0, 25, 1, 3, - 0, 31, 1, 3, 0, 31, 1, 3, 0, 31, - 4, 3, 3, 4, 4, 4, 4, 6, 11, 6, - 11, 6, 11, 6, 11, 6, 11, 6, 11, 5, - 11, 5, 11, 6, 11, 6, 11, 6, 11, 8, - 11, 7, 8, 12, 6, 5, 7, 7, 12, 7, - 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, 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 + 2, 1, 3, 0, 13, 1, 3, 0, 13, 1, + 3, 0, 13, 1, 3, 0, 19, 1, 3, 0, + 19, 1, 3, 0, 19, 1, 3, 0, 25, 1, + 3, 0, 25, 1, 3, 0, 25, 1, 3, 0, + 31, 1, 3, 0, 31, 1, 3, 0, 31, 4, + 3, 3, 4, 4, 4, 4, 6, 11, 6, 11, + 6, 11, 6, 11, 6, 11, 6, 11, 5, 11, + 5, 11, 6, 11, 6, 11, 6, 11, 8, 11, + 7, 8, 12, 6, 5, 7, 7, 12, 7, 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, 2, 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, 1, 6 }; static const short yydefact[] = { 51, @@ -724,1910 +722,1924 @@ 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, 211, 0, 0, 212, - 0, 0, 0, 52, 54, 53, 55, 56, 57, 58, - 59, 63, 65, 64, 60, 61, 62, 282, 284, 283, + 0, 0, 0, 0, 208, 0, 209, 0, 0, 0, + 52, 54, 53, 55, 56, 57, 58, 59, 64, 63, + 60, 61, 62, 279, 281, 280, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 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, 238, 12, 0, 13, 14, 16, 15, 17, + 301, 301, 0, 65, 326, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 203, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 310, + 0, 0, 0, 0, 310, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 290, + 0, 0, 0, 0, 0, 196, 310, 196, 232, 0, + 310, 310, 0, 0, 0, 0, 0, 202, 0, 211, 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, 241, 240, 242, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 131, 132, 0, 0, 0, 201, 0, + 0, 200, 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, 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, 292, 291, 0, 0, 0, 0, 196, 196, 0, + 0, 0, 0, 0, 0, 0, 0, 69, 0, 0, + 0, 0, 0, 0, 0, 0, 210, 0, 282, 0, 0, 0, 0, 0, 0, 0, 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, 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, 239, 0, 255, 256, 254, 253, 249, 250, 251, + 252, 241, 240, 245, 246, 247, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 303, 0, + 0, 0, 0, 130, 0, 133, 134, 135, 136, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 244, 243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 313, 314, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 299, + 0, 0, 0, 294, 293, 195, 0, 194, 193, 0, + 0, 0, 0, 0, 198, 197, 231, 0, 199, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 284, 286, 0, 258, 259, 260, 261, 262, 263, 264, + 265, 266, 278, 267, 0, 269, 270, 271, 272, 273, + 274, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 305, 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, 302, 0, 19, + 0, 0, 281, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 149, 151, 0, 0, 0, + 0, 165, 310, 310, 0, 310, 177, 0, 185, 310, + 310, 0, 0, 312, 0, 0, 0, 0, 0, 0, 0, 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, 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, 189, 191, 0, 0, 0, 0, 0, 69, 0, 0, 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, 70, 71, 72, 73, 74, 75, 76, 77, + 78, 79, 80, 81, 0, 0, 310, 0, 0, 310, + 0, 0, 0, 0, 0, 0, 0, 0, 257, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 310, + 310, 0, 0, 0, 0, 310, 310, 0, 0, 0, + 0, 0, 310, 0, 310, 0, 0, 0, 0, 0, + 304, 0, 301, 0, 0, 137, 0, 139, 153, 141, + 155, 143, 157, 145, 147, 0, 0, 0, 0, 0, + 0, 310, 0, 310, 0, 0, 288, 315, 316, 164, + 0, 310, 310, 310, 224, 0, 310, 310, 310, 310, + 310, 310, 310, 0, 0, 0, 0, 0, 0, 0, + 0, 230, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 67, 0, 0, 0, 0, + 305, 0, 0, 0, 204, 0, 0, 268, 275, 276, + 277, 0, 0, 0, 0, 0, 0, 0, 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, 233, 234, 235, 236, 237, + 0, 0, 0, 0, 0, 0, 0, 18, 0, 327, + 282, 0, 0, 320, 0, 0, 66, 161, 169, 0, + 172, 0, 166, 0, 167, 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 196, 0, 0, 0, 0, 0, 0, 0, 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, 175, 0, 310, 310, + 0, 310, 0, 0, 310, 0, 0, 0, 0, 310, 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, 310, 0, + 0, 0, 0, 0, 0, 0, 0, 301, 0, 0, + 0, 0, 281, 0, 159, 0, 174, 184, 289, 0, + 228, 178, 180, 0, 0, 227, 229, 186, 162, 173, + 183, 188, 0, 0, 298, 0, 297, 0, 0, 212, + 0, 214, 0, 216, 0, 68, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 305, 0, 308, 0, 0, 0, 0, 206, 205, 0, + 283, 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, 170, 0, 226, 225, 196, + 300, 0, 192, 0, 0, 0, 0, 0, 0, 220, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 310, 307, 306, 310, 0, + 0, 179, 285, 287, 0, 0, 305, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 299, - 0, 0, 0, 226, 313, 0, 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 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, 296, 0, + 0, 0, 223, 310, 0, 221, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 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, 309, 0, 0, 207, 0, 35, 0, 0, 0, + 0, 25, 0, 31, 0, 37, 26, 39, 0, 42, + 0, 46, 47, 0, 0, 49, 0, 0, 0, 138, + 140, 154, 142, 156, 144, 158, 146, 148, 150, 152, + 0, 324, 0, 160, 321, 319, 0, 0, 190, 0, + 0, 0, 0, 0, 218, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 310, + 310, 176, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 283, 0, 0, 322, 0, + 0, 295, 213, 215, 217, 0, 310, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 84, 88, 92, 163, + 168, 0, 0, 0, 0, 0, 0, 0, 29, 32, + 40, 0, 41, 48, 43, 0, 0, 325, 0, 318, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 24, 27, 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, 313, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 310, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 24, 27, 0, 0, + 0, 317, 0, 219, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 82, 0, 86, 0, 90, + 0, 0, 0, 0, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 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, 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, - 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, 313, - 0, 0, 0, 109, 113, 117, 0, 0, 0, 0, - 0, 0, 0, 313, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 107, 0, 111, 0, 115, + 44, 20, 323, 171, 222, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 83, 85, 87, 89, 91, 93, + 0, 0, 0, 0, 310, 0, 0, 0, 0, 0, + 0, 96, 100, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 108, 110, 112, 114, 116, 118, - 0, 121, 125, 129, 23, 0, 0, 0, 0, 0, - 0, 0, 119, 0, 123, 0, 127, 0, 0, 0, - 0, 0, 0, 120, 122, 124, 126, 128, 130, 0, - 0, 0 + 5, 310, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 182, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 94, 0, 98, 0, 102, 0, 310, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 181, 0, 22, 0, 0, 0, 0, + 0, 0, 95, 97, 99, 101, 103, 105, 310, 0, + 0, 0, 108, 112, 116, 0, 0, 0, 0, 0, + 0, 0, 310, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 106, 0, 110, 0, 114, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 107, 109, 111, 113, 115, 117, 0, + 120, 124, 128, 23, 0, 0, 0, 0, 0, 0, + 0, 118, 0, 122, 0, 126, 0, 0, 0, 0, + 0, 0, 119, 121, 123, 125, 127, 129, 0, 0, + 0 }; -static const short yydefgoto[] = { 1520, - 4, 5, 18, 19, 20, 21, 6, 64, 65, 66, - 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 yydefgoto[] = { 1519, + 4, 5, 18, 19, 20, 21, 6, 61, 62, 63, + 471, 1295, 613, 1243, 1297, 614, 1244, 1299, 615, 1245, + 1403, 616, 1376, 1405, 617, 1377, 1407, 618, 1378, 1464, + 619, 1450, 1466, 620, 1451, 1468, 621, 1452, 1501, 622, + 1495, 1503, 623, 1496, 1505, 624, 1497, 64, 466, 456, + 457, 458, 459, 68, 69, 70, 71, 1009, 1010, 72, + 73, 781, 286, 103, 434, 302, 160, 255, 400, 851, + 942, 943, 435, 796, 1072, 1143, 126 }; -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, +static const short yypact[] = { 441, +-32768,-32768, -118,-32768, 308, 2282, 1158, 102, 131, 134, + 139, 143, 148, 163, 29, 110, 114,-32768,-32768,-32768, +-32768, 226, 737, 124, 307, -91, 156, 196, -38, -37, + 206, 225, 313, 228, 351, 389, 390, 127, 398, 41, + 269, 0, 0, 277, 281, 278, 419, 284, 453, 455, + 283, 302, -32, 1,-32768, 471,-32768, 479, 483, 456, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-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 +-32768,-32768,-32768,-32768, 330,-32768, 334, 336, 337, 343, + 344, 345, 346, 357, 358, 359, 361, 362, 366, 371, + 372, 373, 374, 375, 376, 378, 379, 1158, 1158, 1158, + 1158, 1512,-32768,-32768, 2320,-32768,-32768,-32768,-32768,-32768, + 392, 392, 529,-32768,-32768, 1158, 393, 1158, 1158, 1158, + 1158, 554, 555, 14, 635, 561, 563,-32768, 1158, 1158, + 1158, 1158, 400, 1158, 1158, 401, 1158, 1158, 1158, 940, + 1158, 395, 402, 403, 940, 406, 409, 404, 405, 413, + 422, 423, 0, 420, 0, 0, 1158, 1158, -113,-32768, + -106, 0, 421, 433, 434,-32768, 940,-32768,-32768, 23, + 940, 940, 1158, -70, 1158, 491, 1158,-32768, 591,-32768, + 438, 8, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, + 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, + 1158, 1158, 1158, 443, 443, 443, 2141, 1158, 1158, 1158, + 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, + 1158, 1158, 1512, 444, 445, 449, 466, 467, 468, 469, + 487, 510, 511, 512, 513, 514, 521, 524, 534, 535, + 541, 542, 543, 545, 558, 559, 562, 564, 567, 572, + 597, 599, 600, 607, 470, 440, 539, 685, 609, 904, + 995, 1067, 1451,-32768,-32768, 3, 557, 596,-32768, 1158, + 1158,-32768, 560, 3063, 2515, 3091, 3119, 1158, 3147, 2538, + 1158, 2561, 3175, 3203, 1158, 7735, 766, 3231, 1158, 1158, + 1158, 767, 1158, 1158, 1158, 1158, 1158, 1158, 1158, -19, + 9,-32768,-32768, 4827, 4854, 0, 0, 377, 377, -13, + 1158, 1158, 1158, 1322, 50, 2232, 0,-32768, 768, 769, + 3259, 696, 1158, 3287, 605, 1993,-32768, 1158, 54, 603, + 3315, 3343, 3371, 3399, 3427, 3455, 3483, 3511, 3539, 3567, + 3595, 4881, 3623, 3651, 3679, 3707, 3735, 3763, 4908, 4935, + 4962,-32768, 2019, 306, 306, 488, 488, 190, 190, 190, + 190, -108, -86, 443, 443, 443, 443, 4989, 781, 782, + 784, 796, 797, 799, 802, 803, 804, 807, 808, 809, + 810, 814, 817, 818, 820, 821, 822, 823, 824, 825, + 831, 708, 835, 846, 849, 850, 853, 852,-32768, 121, + 854, 857, 856,-32768, 686,-32768,-32768,-32768,-32768, 319, + 1109, 1109, 1158, 1158, 858, 859, 1158, 862, 285, 285, + 1158, 860, 866, 861, 867, 3791, 868, 871, 3819, 872, + 874, 876, 2043,-32768, 184, 1158, 877, 2584, 3847, 3875, + 1158, 2607, 2630, 3903, 3931, 3959, 3987, 4015, 0,-32768, + 683, 1158, 1158,-32768,-32768,-32768, 698, 2341,-32768, 704, + 1158, 5012, 5039, 5066,-32768,-32768,-32768, 1158,-32768, -74, + -31, 711, 712, 880, 717, 4043, 887, 1158, 1158, 4071, +-32768,-32768, 1158,-32768,-32768,-32768,-32768,-32768,-32768,-32768, +-32768,-32768,-32768,-32768, 1158,-32768,-32768,-32768,-32768,-32768, +-32768, 1158, 1158, 1158, 1158, 752, 724, 727, 728, 729, + 730, 731, 733, 739, 740, 742, 743, 744, 745, 746, + 747, 760, 761, 762, 763, 764, 765, 770, 774, 775, + 776, 800, 801, 813, 819, 830, 933,-32768, 798,-32768, + 832, 1158, 816, 935, 1109, 1109, 1158, 1474, 2, 1538, + 59, 1596, 61, 1619, 1642,-32768,-32768, 2310, 932, 4099, + 0,-32768, 940, 940, 967, 940,-32768, 979,-32768, 940, + 940, 1158, 1158,-32768, 1671, 815, 983, 986, 987, 363, + 989, 996, 998, 999, 1000, 1001, 1002, 107, 1158, 5093, + 5120,-32768,-32768, 2653, 0, 0, 0, 1697,-32768, 839, + 840, 841, 842, 843, 844, 847, 848, 863, 864, 865, + 869, 1014,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, +-32768,-32768,-32768,-32768, 1158, 1158, 940, 1158, 1017, 940, + 2066, 442, 1018, 2333, 4127, 4155, 4183, 4211, 7735, 882, + 1025, 1158, 1158, 0, 1026, 1027, 870, 1028, 1034, 940, + 940, 1035, 0, 1036, 1039, 940, 940, 1040, 1041, 1042, + 1044, 1045, 940, 20, 940, 1052, 1051, 1053, 1054, 1056, +-32768, 1063, 392, 4239, 11,-32768, 3035,-32768,-32768,-32768, +-32768,-32768,-32768,-32768,-32768, 894, 24, 1068, 70, 18, + 1069, 940, 1070, 940, 1071, 1072, 2092, 2043,-32768,-32768, + 1158, 940, 940, 940,-32768, 274, 940, 940, 940, 940, + 940, 940, 940, 1158, 2356, 1158, 1158, 905, -102, -76, + 105,-32768, 556, 1158, 1158, 1158, 1158, 1158, 1158, 1158, + 1158, 1158, 1158, 1158, 1158,-32768, 5147, 5174, 1086, 4267, + 186, 1010, 1158, 1158,-32768, 1158, 918,-32768,-32768,-32768, +-32768, 1158, 923, 5201, 5228, -109, 924, 925, 930, 931, + 934, 936, 938, 943, -71, 944, 973, 974, 945, 976, + 977, 978, 988, 992, 1016,-32768,-32768,-32768,-32768,-32768, + 993, 1029, 1030, 1031, 1032, 1033, 1037,-32768, 1038,-32768, + 54, 920, 13, 927, 1566, 1099,-32768,-32768,-32768, 0, +-32768, 1102,-32768, 1184,-32768,-32768, 1158, 5255, 1194, 1199, + 1202, 1158, 1158, 1205, 1206, 1212, 1213, 1215, 1226, 1227, + 2676, 1058, 4295, 2425, 377, 0, 1230, 0, 1231, 0, + 43, 1232, 5282, 5309, 5336, 5363, 5390, 5417, 5444, 5471, + 5498, 5525, 5552, 5579, 1158, 1158,-32768, 1233, 940, 940, + 1156, 940, 540, 2699, 224, 1237, 1512, 1239, 1158, 940, + 1238, 1240, 1241, 1083, 1242, 20, 1243, 1247, 1158, 1245, + 1249, 1259, 1260, 1265, 20, 1158, 1158, 1158, 940, 1266, + 1268, 20, 1158, 1270, 1271, 1269, 1158, 392, 1158, 103, + 1272, 1162, -142, 5606,-32768, 99,-32768,-32768, 7735, 1158, +-32768,-32768,-32768, 1729, 1764,-32768,-32768,-32768,-32768,-32768, +-32768,-32768, 1103, 1274,-32768, 1158,-32768, 1106, 138,-32768, + 140,-32768, 142,-32768, -34,-32768, 1158, 1158, 1158, 1158, + 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 5633, 5660, + 186, 193,-32768, 203, 1108, 1204, 1158,-32768,-32768, 1279, + 247, 1512, 1113, 5687, 1115,-32768, 1116,-32768, 1117,-32768, + 1118,-32768, 1120, 4323,-32768, 1121,-32768,-32768, 1124, 1125, + 4351, 5714, 4379, 1122,-32768, 1126, 1127, 5741, 1129, 1130, +-32768, 5768, 1142, 2379, 650, 1109, 1109, 1158, 1158, 1158, + 1158, 25, 1114, 1158, 1158,-32768, 5795,-32768,-32768, 377, +-32768, 2455,-32768, 1158, 1158, 1158, 1296, 1146, -46,-32768, + 5822, 5849, 5876, 5903, 5930, 5957, 5984, 6011, 6038, 6065, + 6092, 6119, 1158, 1158, 1244, 940,-32768,-32768, 940, 1158, + 2722,-32768,-32768,-32768, 2752, 1310, 186, 20, 1319, 1158, + 1317, 20, 1318, 1323, 1324, 1325, 1326, 1158, 1327, 940, + 1328, 1329, 1158, 1333, 1331, 1158, 1334, 1152, 1332, 1787, + 101, 1810, 109, 1834, 115, 1860, 1897, 1923, 1947, 1164, + 24, 1335, 1338, 2775, 6146, 1341, 1168, 1158,-32768, 2798, + 2821, 2844,-32768, 940, 1342,-32768, 1158, 1158, 1158, 1158, + 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 2867, 2890, + 1173,-32768, 1183, 1970,-32768, 1158,-32768, 1192, 1197, 1201, + 6173,-32768, 1193,-32768, 1203,-32768,-32768,-32768, 4407,-32768, + 1216,-32768,-32768, 4435, 1214,-32768, 4463, 1217, 1370,-32768, +-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, + 1312,-32768, 204,-32768,-32768,-32768, 1158, 1218,-32768, 2913, + 1385, 1386, 44, 1221,-32768, 6200, 6227, 6254, 6281, 6308, + 6335, 6362, 6389, 6416, 4491, 4519, 4547, 1388, 1389, 940, + 940,-32768, 1512, 20, 20, 20, 20, 1390, 1391, 1392, + 20, 1393, 1396, 1397, 1399, 247, 1235, 24,-32768, 2485, + 1409,-32768,-32768,-32768,-32768, -34, 940, 1158, 1158, 1158, + 1158, 1158, 1158, 1158, 1158, 1158,-32768,-32768,-32768,-32768, +-32768, 1248, 1252, 1512, 1250, 1251, 1255, 1256,-32768,-32768, +-32768, 1258,-32768,-32768,-32768, 1264, 1158,-32768, 1158,-32768, + 1267, -40, 1273, 6443, 6470, 6497, 6524, 6551, 6578, 6605, + 6632, 6659, 1257, 1263, 1280, 940, 1336, 2943, 20, 20, + 1411, 1418, 20, 1427, 2402, 2966, 1433, 1434, 940, 1158, + 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, + 1158, 1278, 1281, 1158, 1284, 1287,-32768,-32768, 1288, 1289, + 1292,-32768, 1285,-32768, 1295, 6686, 6713, 6740, 6767, 6794, + 6821, 6848, 6875, 6902, 218, 7735, 222, 7735, 236, 7735, + 1361, 1158, 1512, 20, 940, 1436, 1437, 1360, 1440, 1457, + 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, + 1466, 1158, 1467, 1158, 1468, 1301, 6929, 1512, 1304, 1305, +-32768,-32768,-32768,-32768,-32768, 6956, 6983, 7010, 7037, 7064, + 7091, 4575, 4603, 4631, 7735,-32768, 7735,-32768, 7735,-32768, + 1158, 1158, 7712, 20, 940, 1158, 1158, 1158, 1158, 1158, + 1158,-32768,-32768,-32768, 7118, 2989, 1339, 1306, 1307, 7145, + 7172, 7199, 7226, 7253, 7280, 1309, 1313, 1314, 1158, 1475, +-32768, 940, 20, 1158, 1158, 1158, 1158, 1158, 1158, 1158, + 1158, 1158, 3012,-32768, 1337, 1316, 7307, 7334, 7361, 7388, + 7415, 7442, 237, 7735, 243, 7735, 303, 7735, 1480, 940, + 1484, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1488, 1158, + 1489, 1158, 1490,-32768, 1345,-32768, 7469, 7496, 7523, 4659, + 4687, 4715, 7735,-32768, 7735,-32768, 7735,-32768, 940, 1158, + 1158, 1158,-32768,-32768,-32768, 1347, 7550, 7577, 7604, 1340, + 1369, 1371, 940, 1158, 1158, 1158, 1158, 1158, 1158, 1374, + 7631, 7658, 7685, 309, 7735, 310, 7735, 317, 7735, 20, + 1158, 1158, 1158, 1158, 1492, 1158, 1493, 1158, 1495, 1330, + 4743, 4771, 4799, 7735,-32768, 7735,-32768, 7735,-32768, 1501, +-32768,-32768,-32768,-32768, 1376, 1377, 1378, 1158, 1158, 1158, + 327, 7735, 328, 7735, 329, 7735, 1158, 1502, 1158, 1504, + 1158, 1507, 7735,-32768, 7735,-32768, 7735,-32768, 1548, 1553, +-32768 }; static const short yypgoto[] = {-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, - 940,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, + 955,-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, 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 +-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1549, 1550, + -307, -62, 1554,-32768,-32768,-32768,-32768, 365, -1006,-32768, +-32768, -813, -7,-32768, 1043, -10,-32768, -111,-32768, -934, + 721, 855,-32768, -1062,-32768,-32768,-32768 }; -#define YYLAST 7834 - - -static const short yytable[] = { 106, - 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, +#define YYLAST 7903 + + +static const short yytable[] = { 102, + 256, 460, 1086, 154, 176, 174, 1025, 679, 1142, 410, + 322, 329, 450, 1007, 791, 125, 890, 266, 1008, 1007, + 133, 136, 7, 799, 1008, 1007, 317, 794, 1070, 994, + 1008, 159, 161, 182, 600, 601, 602, 603, 604, 605, + 606, 607, 608, 609, 610, 611, 306, 307, 924, 1195, + 306, 307, 961, 306, 307, 467, 468, 306, 307, 222, + 308, 970, 800, 861, 681, -244, 683, 309, 977, 826, + 330, 451, 827, 792, 149, 798, 267, 150, 151, 129, + 152, 222, 130, 306, 307, 306, 307, -243, 306, 307, + 204, 205, 206, 207, 223, 828, 891, 268, 829, 599, + 323, 870, 1108, 314, 996, 316, 1132, 104, 258, 985, + 260, 261, 262, 263, 1134, 776, 777, 778, 779, 780, + 1136, 274, 275, 276, 277, 1228, 279, 280, 1085, 282, + 283, 284, 134, 288, 1258, 135, 137, 105, 175, 106, + 306, 307, 300, 612, 107, 303, 306, 307, 108, 304, + 305, 310, 449, 109, 411, 412, 413, 414, 461, 155, + 156, 306, 307, 145, 146, 321, 147, 324, 110, 326, + 157, 415, 416, 158, 177, 331, 332, 333, 334, 335, + 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, + 346, 347, 348, 349, 350, 351, 318, 795, 1071, 111, + 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, + 363, 364, 365, 366, 367, 368, 925, 1196, 306, 307, + 306, 307, 481, 482, 1109, 1086, 74, 75, 1113, 306, + 307, 114, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, - 94, 95, 96, 97, 98, 99, 100, 101, 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, 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, + 94, 95, 96, 97, 986, 987, 988, 989, 306, 307, + 306, 307, 419, 420, 306, 307, 306, 307, 306, 307, + 426, 990, 991, 429, 306, 307, 830, 433, 714, 831, + 112, 438, 439, 440, 113, 442, 443, 444, 445, 446, + 447, 448, 537, 538, 127, 454, 455, 306, 307, 306, + 307, 306, 307, 462, 463, 464, 470, -1, 8, 1004, + 9, 1005, 128, 1006, 163, 476, 171, 164, 165, 172, + 480, 74, 543, 544, 812, 813, 131, 76, 77, 78, + 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, 94, 95, 96, 97, 270, + 271, 219, 220, 221, 140, 573, 849, 222, 574, 850, + 1215, 1216, 1217, 1218, 1026, 1027, 132, 1222, 705, 208, + 209, 210, 211, 212, 1026, 1188, 138, 1028, 1189, 213, + 214, 215, 216, 217, 218, 219, 220, 221, 142, 1320, + 100, 222, 1321, 1322, 101, 139, 1323, 285, 141, 549, + 551, 553, 548, 550, 552, 554, 555, 1324, 1418, 558, + 1325, 1419, 706, 560, 1420, 1033, 1034, 1421, 10, 11, + 12, 13, 14, 15, 16, 17, 143, 144, 575, 41, + 42, 43, 44, 580, 46, 1275, 1276, 148, 588, 1279, + -7, -7, 153, -7, 590, 591, 219, 220, 221, 744, + 162, 166, 222, 594, 211, 212, 167, 168, 169, 170, + 598, 213, 214, 215, 216, 270, 271, 219, 220, 221, + 631, 632, 173, 222, 1422, 634, 178, 1423, 545, 546, + 1474, 1476, 179, 1475, 1477, 100, 180, 635, 1478, 547, + 1329, 1479, 158, 181, 636, 637, 638, 639, 1507, 1509, + 1511, 1508, 1510, 1512, 183, 182, 184, 185, 208, 209, + 210, 211, 212, 186, 187, 188, 189, 918, 213, 214, + 215, 216, 270, 271, 219, 220, 221, 190, 191, 192, + 222, 193, 194, 257, 674, 303, 195, 204, 205, 677, + 1368, 196, 197, 198, 199, 200, 201, 947, 202, 203, + 689, -7, -7, -7, -7, -7, -7, -7, -7, 264, + 265, 789, 254, 259, 697, 698, 272, 273, 289, 1396, + 278, 281, 290, 291, 295, 296, 325, 1, 2, 293, + 3, 715, 294, 297, 719, 720, 721, 208, 209, 210, + 211, 212, 298, 299, 311, 301, 327, 213, 214, 215, + 216, 270, 271, 219, 220, 221, 312, 313, 328, 222, + 222, 399, 402, 405, 369, 370, 745, 737, 738, 371, + 740, 600, 601, 602, 603, 604, 605, 606, 607, 608, + 609, 610, 611, 756, 754, 755, 372, 373, 374, 375, + 269, 401, 765, 213, 214, 215, 216, 270, 271, 219, + 220, 221, 74, 543, 1059, 222, 1480, 376, 76, 77, + 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, + 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, + 377, 378, 379, 380, 381, 208, 209, 210, 211, 212, + 404, 382, 1077, 808, 383, 213, 214, 215, 216, 270, + 271, 219, 220, 221, 384, 385, 821, 222, 823, 824, + 403, 386, 387, 388, 948, 389, 833, 834, 835, 836, + 837, 838, 839, 840, 841, 842, 843, 844, 390, 391, + 832, 421, 392, 417, 393, 853, 854, 394, 855, 74, + 75, 115, 395, 116, 857, 76, 77, 78, 79, 80, + 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, + 91, 92, 93, 94, 95, 96, 97, 396, 117, 397, + 398, 418, 436, 441, 472, 473, 983, 475, 478, 483, + 208, 209, 210, 211, 212, 507, 508, 894, 509, 896, + 213, 214, 215, 216, 270, 271, 219, 220, 221, 899, + 510, 511, 222, 512, 904, 905, 513, 514, 515, 545, + 546, 516, 517, 518, 519, 919, 100, 921, 520, 923, + 547, 521, 522, 158, 523, 524, 525, 526, 527, 528, + 208, 209, 210, 211, 212, 529, 530, 939, 940, 531, + 213, 214, 215, 216, 270, 271, 219, 220, 221, 952, + 532, 954, 222, 533, 534, 535, 536, 542, 539, 589, + 541, 964, 540, 556, 557, 559, 561, 563, 971, 972, + 973, 562, 592, 564, 566, 978, 567, 569, 593, 982, + 570, 984, 571, 576, 625, 626, 627, 628, 118, 119, + 120, 121, 997, 630, 640, 641, 98, 99, 642, 643, + 644, 645, 646, 100, 647, 122, 123, 101, 1002, 406, + 648, 649, 124, 650, 651, 652, 653, 654, 655, 1011, 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, + 1022, 656, 657, 658, 659, 660, 661, 671, 687, 1031, + 676, 662, 74, 75, 1035, 663, 664, 665, 76, 77, + 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, + 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, + 672, 666, 667, 692, 1061, 1063, 1065, 1060, 1062, 1064, + 1066, 1067, 1068, 1069, 668, 694, 1074, 1075, 701, 702, + 669, 675, 703, 704, 287, 707, 1080, 1081, 1082, 292, + 407, 670, 708, 673, 709, 710, 711, 712, 713, 724, + 725, 726, 727, 728, 729, 1099, 1100, 730, 731, 736, + 752, 315, 1104, 741, 746, 319, 320, 753, 757, 758, + 760, 759, 1111, 732, 733, 734, 761, 764, 766, 735, + 1119, 767, 770, 771, 772, 1124, 773, 774, 1127, 208, + 209, 210, 211, 212, 783, 784, 786, 785, 787, 213, + 214, 215, 216, 270, 271, 219, 220, 221, 788, 793, + 1150, 222, 408, 797, 801, 803, 805, 806, 825, 1156, 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, 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, + 1167, 847, 852, 856, 858, 862, 889, 863, 1173, 98, + 99, 864, 892, 865, 895, 866, 100, 897, 867, 868, + 101, 74, 543, 285, 869, 871, 874, 76, 77, 78, + 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, 94, 95, 96, 97, 1190, + 208, 209, 210, 211, 212, 872, 873, 875, 876, 877, + 213, 214, 215, 216, 270, 271, 219, 220, 221, 878, + 74, 75, 222, 879, 881, 1214, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, - 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, - 100, 101, 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, 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 + 90, 91, 92, 93, 94, 95, 96, 97, 880, 898, + 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1241, 1242, 901, + 882, 883, 884, 885, 902, 886, 1248, 903, 887, 888, + 906, 907, 208, 209, 210, 211, 212, 908, 909, 1255, + 910, 1256, 213, 214, 215, 216, 270, 271, 219, 220, + 221, 911, 912, 914, 222, 920, 922, 926, 945, 941, + 951, 953, 957, 956, 959, 993, 958, 960, 962, 963, + 965, 966, 1286, 1287, 1288, 1289, 1290, 1291, 1292, 1293, + 1294, 1296, 1298, 1300, 967, 968, 1303, 969, 545, 546, + 976, 975, 979, 980, 981, 100, 1000, 1001, 992, 547, + 1003, 1029, 158, 1030, 1032, 1036, 1038, 1039, 1040, 1073, + 1041, 1042, 1044, 1050, 1327, 1328, 1045, 1046, 1051, 1052, + 1054, 1083, 1055, 1336, 1337, 1338, 1339, 1340, 1341, 1342, + 1343, 1344, 1345, 1057, 1347, 1107, 1349, 98, 99, 1084, + 1353, 1110, 1112, 1114, 100, 1115, 1101, 1129, 101, 1116, + 1117, 1118, 1120, 1122, 1123, 1125, 1126, 1130, 1128, 1141, + 1144, 1145, 1149, 1365, 1366, 1148, 1170, 1155, 1370, 1371, + 1372, 1373, 1374, 1375, 1171, 26, 27, 28, 29, 30, + 31, 32, 33, 1174, 34, 1178, 36, 37, 1175, 39, + 40, 1393, 1176, 1186, 1187, 1179, 1397, 1398, 1399, 1400, + 1401, 1402, 1404, 1406, 1408, 51, 1183, 1181, 1185, 1191, + 1193, 1194, 1197, 1210, 1211, 1219, 1220, 1221, 1223, 52, + 53, 1224, 1225, 1226, 1427, 1428, 1429, 1430, 1431, 1432, + 1433, 1227, 1435, 1231, 1437, 1273, 1277, 690, 691, 1246, + 693, 1249, 1250, 1278, 695, 696, 1247, 1251, 1252, 1253, + 1269, 1280, 1447, 1448, 1449, 1254, 1270, 1283, 1257, 1284, + 1326, 1331, 1332, 1333, 1259, 1334, 1461, 1462, 1463, 1465, + 1467, 1469, 1301, 1271, 1302, 1304, 409, 60, 1305, 1309, + 1306, 1307, 1335, 1481, 1482, 1483, 1484, 1308, 1486, 1310, + 1488, 1346, 1348, 1350, 1351, 1354, 1355, 1382, 1383, 678, + 1394, 739, 1390, 1381, 742, 1424, 1391, 1392, 1411, 1426, + 1502, 1504, 1506, 1434, 1436, 1438, 465, 1485, 1487, 1513, + 1489, 1515, 1490, 1517, 762, 763, 1494, 1514, 1410, 1516, + 768, 769, 1518, 1457, 74, 75, 1439, 775, 1453, 782, + 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, + 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, + 96, 97, 1458, 680, 1459, 1470, 802, 1520, 804, 1498, + 1499, 1500, 1521, 723, 65, 66, 809, 810, 811, 67, + 1232, 814, 815, 816, 817, 818, 819, 820, 74, 893, + 944, 0, 0, 0, 76, 77, 78, 79, 80, 81, + 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, + 92, 93, 94, 95, 96, 97, 208, 209, 210, 211, + 212, 682, 0, 0, 0, 0, 213, 214, 215, 216, + 270, 271, 219, 220, 221, 699, 0, 0, 222, 208, + 209, 210, 211, 212, 684, 0, 0, 0, 0, 213, + 214, 215, 216, 270, 271, 219, 220, 221, 0, 0, + 0, 222, 0, 0, 0, 0, 0, 685, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 208, 209, 210, + 211, 212, 0, 0, 0, 0, 0, 213, 214, 215, + 216, 217, 218, 219, 220, 221, 700, 0, 100, 222, + 0, 0, 101, 208, 209, 210, 211, 212, 0, 0, + 0, 0, 0, 213, 214, 215, 216, 270, 271, 219, + 220, 221, 722, 0, 0, 222, 946, 0, 0, 950, + 0, 0, 0, 0, 955, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 98, 99, 0, 0, 0, + 0, 0, 100, 974, 998, 0, 101, 0, 0, 0, + 0, 208, 209, 210, 211, 212, 0, 0, 0, 0, + 0, 213, 214, 215, 216, 270, 271, 219, 220, 221, + 0, 0, 0, 222, 208, 209, 210, 211, 212, 999, + 0, 0, 0, 0, 213, 214, 215, 216, 270, 271, + 219, 220, 221, 0, 0, 0, 222, 208, 209, 210, + 211, 212, 1131, 0, 0, 0, 0, 213, 214, 215, + 216, 270, 271, 219, 220, 221, 0, 0, 0, 222, + 0, 0, 0, 0, 0, 1133, 208, 209, 210, 211, + 212, 0, 0, 0, 0, 0, 213, 214, 215, 216, + 270, 271, 219, 220, 221, 0, 0, 0, 222, 1135, + 0, 0, 208, 209, 210, 211, 212, 0, 0, 0, + 0, 0, 213, 214, 215, 216, 270, 271, 219, 220, + 221, 0, 0, 0, 222, 1137, 0, 0, 0, 0, + 0, 0, 0, 0, 208, 209, 210, 211, 212, 0, + 1102, 0, 0, 1103, 213, 214, 215, 216, 270, 271, + 219, 220, 221, 0, 0, 0, 222, 0, 0, 0, + 0, 0, 1138, 0, 1121, 0, 0, 0, 0, 208, + 209, 210, 211, 212, 0, 0, 0, 0, 0, 213, + 214, 215, 216, 270, 271, 219, 220, 221, 1139, 0, + 0, 222, 208, 209, 210, 211, 212, 0, 1154, 0, + 0, 0, 213, 214, 215, 216, 270, 271, 219, 220, + 221, 0, 1140, 0, 222, 208, 209, 210, 211, 212, + 0, 0, 0, 0, 0, 213, 214, 215, 216, 270, + 271, 219, 220, 221, 0, 1172, 0, 222, 0, 208, + 209, 210, 211, 212, 0, 0, 0, 0, 0, 213, + 214, 215, 216, 270, 271, 219, 220, 221, 0, 0, + 479, 222, 0, 0, 0, 208, 209, 210, 211, 212, + 0, 0, 0, 0, 0, 213, 214, 215, 216, 270, + 271, 219, 220, 221, 1212, 1213, 505, 222, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 208, 209, 210, 211, 212, 0, 0, 0, + 572, 1233, 213, 214, 215, 216, 270, 271, 219, 220, + 221, 0, 0, 0, 222, 0, 0, 0, 208, 209, + 210, 211, 212, 743, 0, 0, 0, 0, 213, 214, + 215, 216, 270, 271, 219, 220, 221, 0, 0, 0, + 222, 0, 208, 209, 210, 211, 212, 0, 0, 807, + 1272, 0, 213, 214, 215, 216, 270, 271, 219, 220, + 221, 0, 0, 1285, 222, 208, 209, 210, 211, 212, + 0, 0, 0, 0, 0, 213, 214, 215, 216, 270, + 271, 219, 220, 221, 0, 0, 0, 222, 208, 209, + 210, 211, 212, 0, 0, 0, 0, 0, 213, 214, + 215, 216, 270, 271, 219, 220, 221, 0, 0, 1330, + 222, 0, 0, 0, 208, 209, 210, 211, 212, 0, + 0, 0, 0, 0, 213, 214, 215, 216, 270, 271, + 219, 220, 221, 0, 0, 0, 222, 0, 208, 209, + 210, 211, 212, 0, 0, 0, 0, 0, 213, 214, + 215, 216, 270, 271, 219, 220, 221, 0, 0, 1369, + 222, 208, 209, 210, 211, 212, 0, 0, 0, 0, + 0, 213, 214, 215, 216, 270, 271, 219, 220, 221, + 0, 0, 0, 222, 0, 0, 1395, 208, 209, 210, + 211, 212, 0, 0, 0, 0, 0, 213, 214, 215, + 216, 270, 271, 219, 220, 221, 0, 0, 0, 222, + 0, 0, 0, 0, 1425, 26, 27, 28, 29, 30, + 31, 32, 33, 0, 34, 0, 36, 37, 0, 39, + 40, -3, 22, 0, 0, 23, 208, 209, 210, 211, + 212, 0, 0, 1446, 0, 51, 213, 214, 215, 216, + 270, 271, 219, 220, 221, 0, 0, 1460, 222, 52, + 53, 0, 24, 352, 25, 26, 27, 28, 29, 30, + 31, 32, 33, 0, 34, 35, 36, 37, 38, 39, + 40, 0, 0, 0, 41, 42, 43, 44, 45, 46, + 0, 47, 48, 49, 50, 51, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 224, 0, 0, 52, + 53, 0, 0, 0, 0, 0, 54, 60, 55, 56, + 0, 57, 58, 59, 26, 27, 28, 29, 30, 31, + 32, 33, 0, 34, 0, 36, 37, 0, 39, 40, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 51, 0, 469, 0, 0, 0, + 0, 0, 225, 226, 227, 0, 0, 60, 52, 53, + 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, + 0, 0, 0, 0, 0, 0, 0, 0, 238, 239, + 240, 241, 242, 243, 244, 245, 246, 247, 0, 248, + 249, 250, 251, 252, 253, 208, 209, 210, 211, 212, + 0, 0, 0, 0, 0, 213, 214, 215, 216, 270, + 271, 219, 220, 221, 0, 0, 60, 222, 208, 209, + 210, 211, 212, 0, 0, 0, 0, 686, 213, 214, + 215, 216, 270, 271, 219, 220, 221, 0, 0, 0, + 222, 208, 209, 210, 211, 212, 0, 0, 0, 0, + 747, 213, 214, 215, 216, 270, 271, 219, 220, 221, + 0, 0, 0, 222, 208, 209, 210, 211, 212, 0, + 0, 0, 0, 822, 213, 214, 215, 216, 270, 271, + 219, 220, 221, 0, 0, 0, 222, 208, 209, 210, + 211, 212, 0, 0, 0, 0, 1058, 213, 214, 215, + 216, 270, 271, 219, 220, 221, 0, 0, 0, 222, + 208, 209, 210, 211, 212, 0, 0, 0, 0, 1281, + 213, 214, 215, 216, 270, 271, 219, 220, 221, 0, + 0, 0, 222, 0, 0, 0, 916, 0, 0, 917, + 208, 209, 210, 211, 212, 0, 0, 0, 0, 0, + 213, 214, 215, 216, 270, 271, 219, 220, 221, 0, + 0, 0, 222, 0, 0, 0, 1078, 0, 0, 1079, + 208, 209, 210, 211, 212, 0, 0, 0, 0, 0, + 213, 214, 215, 216, 270, 271, 219, 220, 221, 0, + 0, 0, 222, 0, 0, 0, 1229, 0, 0, 1230, + 208, 209, 210, 211, 212, 0, 0, 0, 0, 0, + 213, 214, 215, 216, 270, 271, 219, 220, 221, 0, + 0, 0, 222, 208, 209, 210, 211, 212, 0, 423, + 0, 0, 0, 213, 214, 215, 216, 270, 271, 219, + 220, 221, 0, 0, 0, 222, 208, 209, 210, 211, + 212, 0, 428, 0, 0, 0, 213, 214, 215, 216, + 270, 271, 219, 220, 221, 0, 0, 0, 222, 208, + 209, 210, 211, 212, 0, 430, 0, 0, 0, 213, + 214, 215, 216, 270, 271, 219, 220, 221, 0, 0, + 0, 222, 208, 209, 210, 211, 212, 0, 577, 0, + 0, 0, 213, 214, 215, 216, 270, 271, 219, 220, + 221, 0, 0, 0, 222, 208, 209, 210, 211, 212, + 0, 581, 0, 0, 0, 213, 214, 215, 216, 270, + 271, 219, 220, 221, 0, 0, 0, 222, 208, 209, + 210, 211, 212, 0, 582, 0, 0, 0, 213, 214, + 215, 216, 270, 271, 219, 220, 221, 0, 0, 0, + 222, 208, 209, 210, 211, 212, 0, 718, 0, 0, + 0, 213, 214, 215, 216, 270, 271, 219, 220, 221, + 0, 0, 0, 222, 208, 209, 210, 211, 212, 0, + 913, 0, 0, 0, 213, 214, 215, 216, 270, 271, + 219, 220, 221, 0, 0, 0, 222, 208, 209, 210, + 211, 212, 0, 949, 0, 0, 0, 213, 214, 215, + 216, 270, 271, 219, 220, 221, 0, 0, 0, 222, + 1106, 0, 0, 0, 0, 0, 1105, 208, 209, 210, + 211, 212, 0, 0, 0, 0, 0, 213, 214, 215, + 216, 270, 271, 219, 220, 221, 0, 0, 0, 222, + 208, 209, 210, 211, 212, 0, 0, 0, 0, 0, + 213, 214, 215, 216, 270, 271, 219, 220, 221, 0, + 0, 0, 222, 208, 209, 210, 211, 212, 0, 1146, + 0, 0, 0, 213, 214, 215, 216, 270, 271, 219, + 220, 221, 0, 0, 0, 222, 208, 209, 210, 211, + 212, 0, 1151, 0, 0, 0, 213, 214, 215, 216, + 270, 271, 219, 220, 221, 0, 0, 0, 222, 208, + 209, 210, 211, 212, 0, 1152, 0, 0, 0, 213, + 214, 215, 216, 270, 271, 219, 220, 221, 0, 0, + 0, 222, 208, 209, 210, 211, 212, 0, 1153, 0, + 0, 0, 213, 214, 215, 216, 270, 271, 219, 220, + 221, 0, 0, 0, 222, 208, 209, 210, 211, 212, + 0, 1168, 0, 0, 0, 213, 214, 215, 216, 270, + 271, 219, 220, 221, 0, 0, 0, 222, 208, 209, + 210, 211, 212, 0, 1169, 0, 0, 0, 213, 214, + 215, 216, 270, 271, 219, 220, 221, 0, 0, 0, + 222, 1274, 0, 0, 0, 0, 0, 1192, 208, 209, + 210, 211, 212, 0, 0, 0, 0, 0, 213, 214, + 215, 216, 270, 271, 219, 220, 221, 0, 0, 0, + 222, 208, 209, 210, 211, 212, 0, 0, 0, 0, + 0, 213, 214, 215, 216, 270, 271, 219, 220, 221, + 0, 0, 0, 222, 208, 209, 210, 211, 212, 0, + 1282, 0, 0, 0, 213, 214, 215, 216, 270, 271, + 219, 220, 221, 0, 0, 0, 222, 208, 209, 210, + 211, 212, 0, 1380, 0, 0, 0, 213, 214, 215, + 216, 270, 271, 219, 220, 221, 0, 0, 0, 222, + 208, 209, 210, 211, 212, 0, 1409, 0, 0, 0, + 213, 214, 215, 216, 270, 271, 219, 220, 221, 0, + 0, 0, 222, 0, 0, 0, 452, 352, 208, 209, + 210, 211, 212, 0, 0, 0, 0, 0, 213, 214, + 215, 216, 270, 271, 219, 220, 221, 0, 0, 0, + 222, 0, 0, 0, 0, 422, 208, 209, 210, 211, + 212, 0, 0, 0, 0, 0, 213, 214, 215, 216, + 270, 271, 219, 220, 221, 0, 0, 0, 222, 0, + 0, 0, 0, 424, 208, 209, 210, 211, 212, 0, + 0, 0, 0, 0, 213, 214, 215, 216, 270, 271, + 219, 220, 221, 0, 0, 0, 222, 0, 0, 0, + 0, 425, 208, 209, 210, 211, 212, 0, 0, 0, + 0, 0, 213, 214, 215, 216, 270, 271, 219, 220, + 221, 0, 0, 0, 222, 0, 0, 0, 0, 427, + 208, 209, 210, 211, 212, 0, 0, 0, 0, 0, + 213, 214, 215, 216, 270, 271, 219, 220, 221, 0, + 0, 0, 222, 0, 0, 0, 0, 431, 208, 209, + 210, 211, 212, 0, 0, 0, 0, 0, 213, 214, + 215, 216, 270, 271, 219, 220, 221, 0, 0, 0, + 222, 0, 0, 0, 0, 432, 208, 209, 210, 211, + 212, 0, 0, 0, 0, 0, 213, 214, 215, 216, + 270, 271, 219, 220, 221, 0, 0, 0, 222, 0, + 0, 0, 0, 437, 208, 209, 210, 211, 212, 0, + 0, 0, 0, 0, 213, 214, 215, 216, 270, 271, + 219, 220, 221, 0, 0, 0, 222, 0, 0, 0, + 0, 474, 208, 209, 210, 211, 212, 0, 0, 0, + 0, 0, 213, 214, 215, 216, 270, 271, 219, 220, + 221, 0, 0, 0, 222, 0, 0, 0, 0, 477, + 208, 209, 210, 211, 212, 0, 0, 0, 0, 0, + 213, 214, 215, 216, 270, 271, 219, 220, 221, 0, + 0, 0, 222, 0, 0, 0, 0, 484, 208, 209, + 210, 211, 212, 0, 0, 0, 0, 0, 213, 214, + 215, 216, 270, 271, 219, 220, 221, 0, 0, 0, + 222, 0, 0, 0, 0, 485, 208, 209, 210, 211, + 212, 0, 0, 0, 0, 0, 213, 214, 215, 216, + 270, 271, 219, 220, 221, 0, 0, 0, 222, 0, + 0, 0, 0, 486, 208, 209, 210, 211, 212, 0, + 0, 0, 0, 0, 213, 214, 215, 216, 270, 271, + 219, 220, 221, 0, 0, 0, 222, 0, 0, 0, + 0, 487, 208, 209, 210, 211, 212, 0, 0, 0, + 0, 0, 213, 214, 215, 216, 270, 271, 219, 220, + 221, 0, 0, 0, 222, 0, 0, 0, 0, 488, + 208, 209, 210, 211, 212, 0, 0, 0, 0, 0, + 213, 214, 215, 216, 270, 271, 219, 220, 221, 0, + 0, 0, 222, 0, 0, 0, 0, 489, 208, 209, + 210, 211, 212, 0, 0, 0, 0, 0, 213, 214, + 215, 216, 270, 271, 219, 220, 221, 0, 0, 0, + 222, 0, 0, 0, 0, 490, 208, 209, 210, 211, + 212, 0, 0, 0, 0, 0, 213, 214, 215, 216, + 270, 271, 219, 220, 221, 0, 0, 0, 222, 0, + 0, 0, 0, 491, 208, 209, 210, 211, 212, 0, + 0, 0, 0, 0, 213, 214, 215, 216, 270, 271, + 219, 220, 221, 0, 0, 0, 222, 0, 0, 0, + 0, 492, 208, 209, 210, 211, 212, 0, 0, 0, + 0, 0, 213, 214, 215, 216, 270, 271, 219, 220, + 221, 0, 0, 0, 222, 0, 0, 0, 0, 493, + 208, 209, 210, 211, 212, 0, 0, 0, 0, 0, + 213, 214, 215, 216, 270, 271, 219, 220, 221, 0, + 0, 0, 222, 0, 0, 0, 0, 494, 208, 209, + 210, 211, 212, 0, 0, 0, 0, 0, 213, 214, + 215, 216, 270, 271, 219, 220, 221, 0, 0, 0, + 222, 0, 0, 0, 0, 496, 208, 209, 210, 211, + 212, 0, 0, 0, 0, 0, 213, 214, 215, 216, + 270, 271, 219, 220, 221, 0, 0, 0, 222, 0, + 0, 0, 0, 497, 208, 209, 210, 211, 212, 0, + 0, 0, 0, 0, 213, 214, 215, 216, 270, 271, + 219, 220, 221, 0, 0, 0, 222, 0, 0, 0, + 0, 498, 208, 209, 210, 211, 212, 0, 0, 0, + 0, 0, 213, 214, 215, 216, 270, 271, 219, 220, + 221, 0, 0, 0, 222, 0, 0, 0, 0, 499, + 208, 209, 210, 211, 212, 0, 0, 0, 0, 0, + 213, 214, 215, 216, 270, 271, 219, 220, 221, 0, + 0, 0, 222, 0, 0, 0, 0, 500, 208, 209, + 210, 211, 212, 0, 0, 0, 0, 0, 213, 214, + 215, 216, 270, 271, 219, 220, 221, 0, 0, 0, + 222, 0, 0, 0, 0, 501, 208, 209, 210, 211, + 212, 0, 0, 0, 0, 0, 213, 214, 215, 216, + 270, 271, 219, 220, 221, 0, 0, 0, 222, 0, + 0, 0, 0, 565, 208, 209, 210, 211, 212, 0, + 0, 0, 0, 0, 213, 214, 215, 216, 270, 271, + 219, 220, 221, 0, 0, 0, 222, 0, 0, 0, + 0, 568, 208, 209, 210, 211, 212, 0, 0, 0, + 0, 0, 213, 214, 215, 216, 270, 271, 219, 220, + 221, 0, 0, 0, 222, 0, 0, 0, 0, 578, + 208, 209, 210, 211, 212, 0, 0, 0, 0, 0, + 213, 214, 215, 216, 270, 271, 219, 220, 221, 0, + 0, 0, 222, 0, 0, 0, 0, 579, 208, 209, + 210, 211, 212, 0, 0, 0, 0, 0, 213, 214, + 215, 216, 270, 271, 219, 220, 221, 0, 0, 0, + 222, 0, 0, 0, 0, 583, 208, 209, 210, 211, + 212, 0, 0, 0, 0, 0, 213, 214, 215, 216, + 270, 271, 219, 220, 221, 0, 0, 0, 222, 0, + 0, 0, 0, 584, 208, 209, 210, 211, 212, 0, + 0, 0, 0, 0, 213, 214, 215, 216, 270, 271, + 219, 220, 221, 0, 0, 0, 222, 0, 0, 0, + 0, 585, 208, 209, 210, 211, 212, 0, 0, 0, + 0, 0, 213, 214, 215, 216, 270, 271, 219, 220, + 221, 0, 0, 0, 222, 0, 0, 0, 0, 586, + 208, 209, 210, 211, 212, 0, 0, 0, 0, 0, + 213, 214, 215, 216, 270, 271, 219, 220, 221, 0, + 0, 0, 222, 0, 0, 0, 0, 587, 208, 209, + 210, 211, 212, 0, 0, 0, 0, 0, 213, 214, + 215, 216, 270, 271, 219, 220, 221, 0, 0, 0, + 222, 0, 0, 0, 0, 629, 208, 209, 210, 211, + 212, 0, 0, 0, 0, 0, 213, 214, 215, 216, + 270, 271, 219, 220, 221, 0, 0, 0, 222, 0, + 0, 0, 0, 633, 208, 209, 210, 211, 212, 0, + 0, 0, 0, 0, 213, 214, 215, 216, 270, 271, + 219, 220, 221, 0, 0, 0, 222, 0, 0, 0, + 0, 688, 208, 209, 210, 211, 212, 0, 0, 0, + 0, 0, 213, 214, 215, 216, 270, 271, 219, 220, + 221, 0, 0, 0, 222, 0, 0, 0, 0, 748, + 208, 209, 210, 211, 212, 0, 0, 0, 0, 0, + 213, 214, 215, 216, 270, 271, 219, 220, 221, 0, + 0, 0, 222, 0, 0, 0, 0, 749, 208, 209, + 210, 211, 212, 0, 0, 0, 0, 0, 213, 214, + 215, 216, 270, 271, 219, 220, 221, 0, 0, 0, + 222, 0, 0, 0, 0, 750, 208, 209, 210, 211, + 212, 0, 0, 0, 0, 0, 213, 214, 215, 216, + 270, 271, 219, 220, 221, 0, 0, 0, 222, 0, + 0, 0, 0, 751, 208, 209, 210, 211, 212, 0, + 0, 0, 0, 0, 213, 214, 215, 216, 270, 271, + 219, 220, 221, 0, 0, 0, 222, 0, 0, 0, + 0, 790, 208, 209, 210, 211, 212, 0, 0, 0, + 0, 0, 213, 214, 215, 216, 270, 271, 219, 220, + 221, 0, 0, 0, 222, 0, 0, 0, 0, 848, + 208, 209, 210, 211, 212, 0, 0, 0, 0, 0, + 213, 214, 215, 216, 270, 271, 219, 220, 221, 0, + 0, 0, 222, 0, 0, 0, 0, 915, 208, 209, + 210, 211, 212, 0, 0, 0, 0, 0, 213, 214, + 215, 216, 270, 271, 219, 220, 221, 0, 0, 0, + 222, 0, 0, 0, 0, 1043, 208, 209, 210, 211, + 212, 0, 0, 0, 0, 0, 213, 214, 215, 216, + 270, 271, 219, 220, 221, 0, 0, 0, 222, 0, + 0, 0, 0, 1047, 208, 209, 210, 211, 212, 0, + 0, 0, 0, 0, 213, 214, 215, 216, 270, 271, + 219, 220, 221, 0, 0, 0, 222, 0, 0, 0, + 0, 1049, 208, 209, 210, 211, 212, 0, 0, 0, + 0, 0, 213, 214, 215, 216, 270, 271, 219, 220, + 221, 0, 0, 0, 222, 0, 0, 0, 0, 1180, + 208, 209, 210, 211, 212, 0, 0, 0, 0, 0, + 213, 214, 215, 216, 270, 271, 219, 220, 221, 0, + 0, 0, 222, 0, 0, 0, 0, 1182, 208, 209, + 210, 211, 212, 0, 0, 0, 0, 0, 213, 214, + 215, 216, 270, 271, 219, 220, 221, 0, 0, 0, + 222, 0, 0, 0, 0, 1184, 208, 209, 210, 211, + 212, 0, 0, 0, 0, 0, 213, 214, 215, 216, + 270, 271, 219, 220, 221, 0, 0, 0, 222, 0, + 0, 0, 0, 1207, 208, 209, 210, 211, 212, 0, + 0, 0, 0, 0, 213, 214, 215, 216, 270, 271, + 219, 220, 221, 0, 0, 0, 222, 0, 0, 0, + 0, 1208, 208, 209, 210, 211, 212, 0, 0, 0, + 0, 0, 213, 214, 215, 216, 270, 271, 219, 220, + 221, 0, 0, 0, 222, 0, 0, 0, 0, 1209, + 208, 209, 210, 211, 212, 0, 0, 0, 0, 0, + 213, 214, 215, 216, 270, 271, 219, 220, 221, 0, + 0, 0, 222, 0, 0, 0, 0, 1362, 208, 209, + 210, 211, 212, 0, 0, 0, 0, 0, 213, 214, + 215, 216, 270, 271, 219, 220, 221, 0, 0, 0, + 222, 0, 0, 0, 0, 1363, 208, 209, 210, 211, + 212, 0, 0, 0, 0, 0, 213, 214, 215, 216, + 270, 271, 219, 220, 221, 0, 0, 0, 222, 0, + 0, 0, 0, 1364, 208, 209, 210, 211, 212, 0, + 0, 0, 0, 0, 213, 214, 215, 216, 270, 271, + 219, 220, 221, 0, 0, 0, 222, 0, 0, 0, + 0, 1443, 208, 209, 210, 211, 212, 0, 0, 0, + 0, 0, 213, 214, 215, 216, 270, 271, 219, 220, + 221, 0, 0, 0, 222, 0, 0, 0, 0, 1444, + 208, 209, 210, 211, 212, 0, 0, 0, 0, 0, + 213, 214, 215, 216, 270, 271, 219, 220, 221, 0, + 0, 0, 222, 0, 0, 0, 0, 1445, 208, 209, + 210, 211, 212, 0, 0, 0, 0, 0, 213, 214, + 215, 216, 270, 271, 219, 220, 221, 0, 0, 0, + 222, 0, 0, 0, 0, 1491, 208, 209, 210, 211, + 212, 0, 0, 0, 0, 0, 213, 214, 215, 216, + 270, 271, 219, 220, 221, 0, 0, 0, 222, 0, + 0, 0, 0, 1492, 208, 209, 210, 211, 212, 0, + 0, 0, 0, 0, 213, 214, 215, 216, 270, 271, + 219, 220, 221, 0, 0, 0, 222, 0, 0, 0, + 0, 1493, 208, 209, 210, 211, 212, 0, 0, 0, + 0, 0, 213, 214, 215, 216, 270, 271, 219, 220, + 221, 0, 0, 0, 222, 0, 0, 0, 452, 208, + 209, 210, 211, 212, 0, 0, 0, 0, 0, 213, + 214, 215, 216, 270, 271, 219, 220, 221, 0, 0, + 0, 222, 0, 0, 0, 453, 208, 209, 210, 211, + 212, 0, 0, 0, 0, 0, 213, 214, 215, 216, + 270, 271, 219, 220, 221, 0, 0, 0, 222, 0, + 0, 0, 495, 208, 209, 210, 211, 212, 0, 0, + 0, 0, 0, 213, 214, 215, 216, 270, 271, 219, + 220, 221, 0, 0, 0, 222, 0, 0, 0, 502, + 208, 209, 210, 211, 212, 0, 0, 0, 0, 0, + 213, 214, 215, 216, 270, 271, 219, 220, 221, 0, + 0, 0, 222, 0, 0, 0, 503, 208, 209, 210, + 211, 212, 0, 0, 0, 0, 0, 213, 214, 215, + 216, 270, 271, 219, 220, 221, 0, 0, 0, 222, + 506, 0, 0, 504, 208, 209, 210, 211, 212, 0, + 0, 0, 0, 0, 213, 214, 215, 216, 270, 271, + 219, 220, 221, 0, 0, 0, 222, 208, 209, 210, + 211, 212, 0, 0, 0, 0, 0, 213, 214, 215, + 216, 270, 271, 219, 220, 221, 0, 0, 0, 222, + 0, 0, 0, 595, 208, 209, 210, 211, 212, 0, + 0, 0, 0, 0, 213, 214, 215, 216, 270, 271, + 219, 220, 221, 0, 0, 0, 222, 0, 0, 0, + 596, 208, 209, 210, 211, 212, 0, 0, 0, 0, + 0, 213, 214, 215, 216, 270, 271, 219, 220, 221, + 0, 0, 0, 222, 0, 0, 0, 597, 208, 209, + 210, 211, 212, 0, 0, 0, 0, 0, 213, 214, + 215, 216, 270, 271, 219, 220, 221, 0, 0, 0, + 222, 0, 0, 0, 716, 208, 209, 210, 211, 212, + 0, 0, 0, 0, 0, 213, 214, 215, 216, 270, + 271, 219, 220, 221, 0, 0, 0, 222, 0, 0, + 0, 717, 208, 209, 210, 211, 212, 0, 0, 0, + 0, 0, 213, 214, 215, 216, 270, 271, 219, 220, + 221, 0, 0, 0, 222, 0, 0, 0, 845, 208, + 209, 210, 211, 212, 0, 0, 0, 0, 0, 213, + 214, 215, 216, 270, 271, 219, 220, 221, 0, 0, + 0, 222, 0, 0, 0, 846, 208, 209, 210, 211, + 212, 0, 0, 0, 0, 0, 213, 214, 215, 216, + 270, 271, 219, 220, 221, 0, 0, 0, 222, 0, + 0, 0, 859, 208, 209, 210, 211, 212, 0, 0, + 0, 0, 0, 213, 214, 215, 216, 270, 271, 219, + 220, 221, 0, 0, 0, 222, 0, 0, 0, 860, + 208, 209, 210, 211, 212, 0, 0, 0, 0, 0, + 213, 214, 215, 216, 270, 271, 219, 220, 221, 0, + 0, 0, 222, 0, 0, 0, 900, 208, 209, 210, + 211, 212, 0, 0, 0, 0, 0, 213, 214, 215, + 216, 270, 271, 219, 220, 221, 0, 0, 0, 222, + 0, 0, 0, 927, 208, 209, 210, 211, 212, 0, + 0, 0, 0, 0, 213, 214, 215, 216, 270, 271, + 219, 220, 221, 0, 0, 0, 222, 0, 0, 0, + 928, 208, 209, 210, 211, 212, 0, 0, 0, 0, + 0, 213, 214, 215, 216, 270, 271, 219, 220, 221, + 0, 0, 0, 222, 0, 0, 0, 929, 208, 209, + 210, 211, 212, 0, 0, 0, 0, 0, 213, 214, + 215, 216, 270, 271, 219, 220, 221, 0, 0, 0, + 222, 0, 0, 0, 930, 208, 209, 210, 211, 212, + 0, 0, 0, 0, 0, 213, 214, 215, 216, 270, + 271, 219, 220, 221, 0, 0, 0, 222, 0, 0, + 0, 931, 208, 209, 210, 211, 212, 0, 0, 0, + 0, 0, 213, 214, 215, 216, 270, 271, 219, 220, + 221, 0, 0, 0, 222, 0, 0, 0, 932, 208, + 209, 210, 211, 212, 0, 0, 0, 0, 0, 213, + 214, 215, 216, 270, 271, 219, 220, 221, 0, 0, + 0, 222, 0, 0, 0, 933, 208, 209, 210, 211, + 212, 0, 0, 0, 0, 0, 213, 214, 215, 216, + 270, 271, 219, 220, 221, 0, 0, 0, 222, 0, + 0, 0, 934, 208, 209, 210, 211, 212, 0, 0, + 0, 0, 0, 213, 214, 215, 216, 270, 271, 219, + 220, 221, 0, 0, 0, 222, 0, 0, 0, 935, + 208, 209, 210, 211, 212, 0, 0, 0, 0, 0, + 213, 214, 215, 216, 270, 271, 219, 220, 221, 0, + 0, 0, 222, 0, 0, 0, 936, 208, 209, 210, + 211, 212, 0, 0, 0, 0, 0, 213, 214, 215, + 216, 270, 271, 219, 220, 221, 0, 0, 0, 222, + 0, 0, 0, 937, 208, 209, 210, 211, 212, 0, + 0, 0, 0, 0, 213, 214, 215, 216, 270, 271, + 219, 220, 221, 0, 0, 0, 222, 0, 0, 0, + 938, 208, 209, 210, 211, 212, 0, 0, 0, 0, + 0, 213, 214, 215, 216, 270, 271, 219, 220, 221, + 0, 0, 0, 222, 0, 0, 0, 995, 208, 209, + 210, 211, 212, 0, 0, 0, 0, 0, 213, 214, + 215, 216, 270, 271, 219, 220, 221, 0, 0, 0, + 222, 0, 0, 0, 1023, 208, 209, 210, 211, 212, + 0, 0, 0, 0, 0, 213, 214, 215, 216, 270, + 271, 219, 220, 221, 0, 0, 0, 222, 0, 0, + 0, 1024, 208, 209, 210, 211, 212, 0, 0, 0, + 0, 0, 213, 214, 215, 216, 270, 271, 219, 220, + 221, 0, 0, 0, 222, 0, 0, 0, 1037, 208, + 209, 210, 211, 212, 0, 0, 0, 0, 0, 213, + 214, 215, 216, 270, 271, 219, 220, 221, 0, 0, + 0, 222, 0, 0, 0, 1048, 208, 209, 210, 211, + 212, 0, 0, 0, 0, 0, 213, 214, 215, 216, + 270, 271, 219, 220, 221, 0, 0, 0, 222, 0, + 0, 0, 1053, 208, 209, 210, 211, 212, 0, 0, + 0, 0, 0, 213, 214, 215, 216, 270, 271, 219, + 220, 221, 0, 0, 0, 222, 0, 0, 0, 1056, + 208, 209, 210, 211, 212, 0, 0, 0, 0, 0, + 213, 214, 215, 216, 270, 271, 219, 220, 221, 0, + 0, 0, 222, 0, 0, 0, 1076, 208, 209, 210, + 211, 212, 0, 0, 0, 0, 0, 213, 214, 215, + 216, 270, 271, 219, 220, 221, 0, 0, 0, 222, + 0, 0, 0, 1087, 208, 209, 210, 211, 212, 0, + 0, 0, 0, 0, 213, 214, 215, 216, 270, 271, + 219, 220, 221, 0, 0, 0, 222, 0, 0, 0, + 1088, 208, 209, 210, 211, 212, 0, 0, 0, 0, + 0, 213, 214, 215, 216, 270, 271, 219, 220, 221, + 0, 0, 0, 222, 0, 0, 0, 1089, 208, 209, + 210, 211, 212, 0, 0, 0, 0, 0, 213, 214, + 215, 216, 270, 271, 219, 220, 221, 0, 0, 0, + 222, 0, 0, 0, 1090, 208, 209, 210, 211, 212, + 0, 0, 0, 0, 0, 213, 214, 215, 216, 270, + 271, 219, 220, 221, 0, 0, 0, 222, 0, 0, + 0, 1091, 208, 209, 210, 211, 212, 0, 0, 0, + 0, 0, 213, 214, 215, 216, 270, 271, 219, 220, + 221, 0, 0, 0, 222, 0, 0, 0, 1092, 208, + 209, 210, 211, 212, 0, 0, 0, 0, 0, 213, + 214, 215, 216, 270, 271, 219, 220, 221, 0, 0, + 0, 222, 0, 0, 0, 1093, 208, 209, 210, 211, + 212, 0, 0, 0, 0, 0, 213, 214, 215, 216, + 270, 271, 219, 220, 221, 0, 0, 0, 222, 0, + 0, 0, 1094, 208, 209, 210, 211, 212, 0, 0, + 0, 0, 0, 213, 214, 215, 216, 270, 271, 219, + 220, 221, 0, 0, 0, 222, 0, 0, 0, 1095, + 208, 209, 210, 211, 212, 0, 0, 0, 0, 0, + 213, 214, 215, 216, 270, 271, 219, 220, 221, 0, + 0, 0, 222, 0, 0, 0, 1096, 208, 209, 210, + 211, 212, 0, 0, 0, 0, 0, 213, 214, 215, + 216, 270, 271, 219, 220, 221, 0, 0, 0, 222, + 0, 0, 0, 1097, 208, 209, 210, 211, 212, 0, + 0, 0, 0, 0, 213, 214, 215, 216, 270, 271, + 219, 220, 221, 0, 0, 0, 222, 0, 0, 0, + 1098, 208, 209, 210, 211, 212, 0, 0, 0, 0, + 0, 213, 214, 215, 216, 270, 271, 219, 220, 221, + 0, 0, 0, 222, 0, 0, 0, 1147, 208, 209, + 210, 211, 212, 0, 0, 0, 0, 0, 213, 214, + 215, 216, 270, 271, 219, 220, 221, 0, 0, 0, + 222, 0, 0, 0, 1177, 208, 209, 210, 211, 212, + 0, 0, 0, 0, 0, 213, 214, 215, 216, 270, + 271, 219, 220, 221, 0, 0, 0, 222, 0, 0, + 0, 1198, 208, 209, 210, 211, 212, 0, 0, 0, + 0, 0, 213, 214, 215, 216, 270, 271, 219, 220, + 221, 0, 0, 0, 222, 0, 0, 0, 1199, 208, + 209, 210, 211, 212, 0, 0, 0, 0, 0, 213, + 214, 215, 216, 270, 271, 219, 220, 221, 0, 0, + 0, 222, 0, 0, 0, 1200, 208, 209, 210, 211, + 212, 0, 0, 0, 0, 0, 213, 214, 215, 216, + 270, 271, 219, 220, 221, 0, 0, 0, 222, 0, + 0, 0, 1201, 208, 209, 210, 211, 212, 0, 0, + 0, 0, 0, 213, 214, 215, 216, 270, 271, 219, + 220, 221, 0, 0, 0, 222, 0, 0, 0, 1202, + 208, 209, 210, 211, 212, 0, 0, 0, 0, 0, + 213, 214, 215, 216, 270, 271, 219, 220, 221, 0, + 0, 0, 222, 0, 0, 0, 1203, 208, 209, 210, + 211, 212, 0, 0, 0, 0, 0, 213, 214, 215, + 216, 270, 271, 219, 220, 221, 0, 0, 0, 222, + 0, 0, 0, 1204, 208, 209, 210, 211, 212, 0, + 0, 0, 0, 0, 213, 214, 215, 216, 270, 271, + 219, 220, 221, 0, 0, 0, 222, 0, 0, 0, + 1205, 208, 209, 210, 211, 212, 0, 0, 0, 0, + 0, 213, 214, 215, 216, 270, 271, 219, 220, 221, + 0, 0, 0, 222, 0, 0, 0, 1206, 208, 209, + 210, 211, 212, 0, 0, 0, 0, 0, 213, 214, + 215, 216, 270, 271, 219, 220, 221, 0, 0, 0, + 222, 0, 0, 0, 1260, 208, 209, 210, 211, 212, + 0, 0, 0, 0, 0, 213, 214, 215, 216, 270, + 271, 219, 220, 221, 0, 0, 0, 222, 0, 0, + 0, 1261, 208, 209, 210, 211, 212, 0, 0, 0, + 0, 0, 213, 214, 215, 216, 270, 271, 219, 220, + 221, 0, 0, 0, 222, 0, 0, 0, 1262, 208, + 209, 210, 211, 212, 0, 0, 0, 0, 0, 213, + 214, 215, 216, 270, 271, 219, 220, 221, 0, 0, + 0, 222, 0, 0, 0, 1263, 208, 209, 210, 211, + 212, 0, 0, 0, 0, 0, 213, 214, 215, 216, + 270, 271, 219, 220, 221, 0, 0, 0, 222, 0, + 0, 0, 1264, 208, 209, 210, 211, 212, 0, 0, + 0, 0, 0, 213, 214, 215, 216, 270, 271, 219, + 220, 221, 0, 0, 0, 222, 0, 0, 0, 1265, + 208, 209, 210, 211, 212, 0, 0, 0, 0, 0, + 213, 214, 215, 216, 270, 271, 219, 220, 221, 0, + 0, 0, 222, 0, 0, 0, 1266, 208, 209, 210, + 211, 212, 0, 0, 0, 0, 0, 213, 214, 215, + 216, 270, 271, 219, 220, 221, 0, 0, 0, 222, + 0, 0, 0, 1267, 208, 209, 210, 211, 212, 0, + 0, 0, 0, 0, 213, 214, 215, 216, 270, 271, + 219, 220, 221, 0, 0, 0, 222, 0, 0, 0, + 1268, 208, 209, 210, 211, 212, 0, 0, 0, 0, + 0, 213, 214, 215, 216, 270, 271, 219, 220, 221, + 0, 0, 0, 222, 0, 0, 0, 1311, 208, 209, + 210, 211, 212, 0, 0, 0, 0, 0, 213, 214, + 215, 216, 270, 271, 219, 220, 221, 0, 0, 0, + 222, 0, 0, 0, 1312, 208, 209, 210, 211, 212, + 0, 0, 0, 0, 0, 213, 214, 215, 216, 270, + 271, 219, 220, 221, 0, 0, 0, 222, 0, 0, + 0, 1313, 208, 209, 210, 211, 212, 0, 0, 0, + 0, 0, 213, 214, 215, 216, 270, 271, 219, 220, + 221, 0, 0, 0, 222, 0, 0, 0, 1314, 208, + 209, 210, 211, 212, 0, 0, 0, 0, 0, 213, + 214, 215, 216, 270, 271, 219, 220, 221, 0, 0, + 0, 222, 0, 0, 0, 1315, 208, 209, 210, 211, + 212, 0, 0, 0, 0, 0, 213, 214, 215, 216, + 270, 271, 219, 220, 221, 0, 0, 0, 222, 0, + 0, 0, 1316, 208, 209, 210, 211, 212, 0, 0, + 0, 0, 0, 213, 214, 215, 216, 270, 271, 219, + 220, 221, 0, 0, 0, 222, 0, 0, 0, 1317, + 208, 209, 210, 211, 212, 0, 0, 0, 0, 0, + 213, 214, 215, 216, 270, 271, 219, 220, 221, 0, + 0, 0, 222, 0, 0, 0, 1318, 208, 209, 210, + 211, 212, 0, 0, 0, 0, 0, 213, 214, 215, + 216, 270, 271, 219, 220, 221, 0, 0, 0, 222, + 0, 0, 0, 1319, 208, 209, 210, 211, 212, 0, + 0, 0, 0, 0, 213, 214, 215, 216, 270, 271, + 219, 220, 221, 0, 0, 0, 222, 0, 0, 0, + 1352, 208, 209, 210, 211, 212, 0, 0, 0, 0, + 0, 213, 214, 215, 216, 270, 271, 219, 220, 221, + 0, 0, 0, 222, 0, 0, 0, 1356, 208, 209, + 210, 211, 212, 0, 0, 0, 0, 0, 213, 214, + 215, 216, 270, 271, 219, 220, 221, 0, 0, 0, + 222, 0, 0, 0, 1357, 208, 209, 210, 211, 212, + 0, 0, 0, 0, 0, 213, 214, 215, 216, 270, + 271, 219, 220, 221, 0, 0, 0, 222, 0, 0, + 0, 1358, 208, 209, 210, 211, 212, 0, 0, 0, + 0, 0, 213, 214, 215, 216, 270, 271, 219, 220, + 221, 0, 0, 0, 222, 0, 0, 0, 1359, 208, + 209, 210, 211, 212, 0, 0, 0, 0, 0, 213, + 214, 215, 216, 270, 271, 219, 220, 221, 0, 0, + 0, 222, 0, 0, 0, 1360, 208, 209, 210, 211, + 212, 0, 0, 0, 0, 0, 213, 214, 215, 216, + 270, 271, 219, 220, 221, 0, 0, 0, 222, 0, + 0, 0, 1361, 208, 209, 210, 211, 212, 0, 0, + 0, 0, 0, 213, 214, 215, 216, 270, 271, 219, + 220, 221, 0, 0, 0, 222, 0, 0, 0, 1379, + 208, 209, 210, 211, 212, 0, 0, 0, 0, 0, + 213, 214, 215, 216, 270, 271, 219, 220, 221, 0, + 0, 0, 222, 0, 0, 0, 1384, 208, 209, 210, + 211, 212, 0, 0, 0, 0, 0, 213, 214, 215, + 216, 270, 271, 219, 220, 221, 0, 0, 0, 222, + 0, 0, 0, 1385, 208, 209, 210, 211, 212, 0, + 0, 0, 0, 0, 213, 214, 215, 216, 270, 271, + 219, 220, 221, 0, 0, 0, 222, 0, 0, 0, + 1386, 208, 209, 210, 211, 212, 0, 0, 0, 0, + 0, 213, 214, 215, 216, 270, 271, 219, 220, 221, + 0, 0, 0, 222, 0, 0, 0, 1387, 208, 209, + 210, 211, 212, 0, 0, 0, 0, 0, 213, 214, + 215, 216, 270, 271, 219, 220, 221, 0, 0, 0, + 222, 0, 0, 0, 1388, 208, 209, 210, 211, 212, + 0, 0, 0, 0, 0, 213, 214, 215, 216, 270, + 271, 219, 220, 221, 0, 0, 0, 222, 0, 0, + 0, 1389, 208, 209, 210, 211, 212, 0, 0, 0, + 0, 0, 213, 214, 215, 216, 270, 271, 219, 220, + 221, 0, 0, 0, 222, 0, 0, 0, 1412, 208, + 209, 210, 211, 212, 0, 0, 0, 0, 0, 213, + 214, 215, 216, 270, 271, 219, 220, 221, 0, 0, + 0, 222, 0, 0, 0, 1413, 208, 209, 210, 211, + 212, 0, 0, 0, 0, 0, 213, 214, 215, 216, + 270, 271, 219, 220, 221, 0, 0, 0, 222, 0, + 0, 0, 1414, 208, 209, 210, 211, 212, 0, 0, + 0, 0, 0, 213, 214, 215, 216, 270, 271, 219, + 220, 221, 0, 0, 0, 222, 0, 0, 0, 1415, + 208, 209, 210, 211, 212, 0, 0, 0, 0, 0, + 213, 214, 215, 216, 270, 271, 219, 220, 221, 0, + 0, 0, 222, 0, 0, 0, 1416, 208, 209, 210, + 211, 212, 0, 0, 0, 0, 0, 213, 214, 215, + 216, 270, 271, 219, 220, 221, 0, 0, 0, 222, + 0, 0, 0, 1417, 208, 209, 210, 211, 212, 0, + 0, 0, 0, 0, 213, 214, 215, 216, 270, 271, + 219, 220, 221, 0, 0, 0, 222, 0, 0, 0, + 1440, 208, 209, 210, 211, 212, 0, 0, 0, 0, + 0, 213, 214, 215, 216, 270, 271, 219, 220, 221, + 0, 0, 0, 222, 0, 0, 0, 1441, 208, 209, + 210, 211, 212, 0, 0, 0, 0, 0, 213, 214, + 215, 216, 270, 271, 219, 220, 221, 0, 0, 0, + 222, 0, 0, 0, 1442, 208, 209, 210, 211, 212, + 0, 0, 0, 0, 0, 213, 214, 215, 216, 270, + 271, 219, 220, 221, 0, 0, 0, 222, 0, 0, + 0, 1454, 208, 209, 210, 211, 212, 0, 0, 0, + 0, 0, 213, 214, 215, 216, 270, 271, 219, 220, + 221, 0, 0, 0, 222, 0, 0, 0, 1455, 208, + 209, 210, 211, 212, 0, 0, 0, 0, 0, 213, + 214, 215, 216, 270, 271, 219, 220, 221, 0, 0, + 0, 222, 0, 0, 0, 1456, 208, 209, 210, 211, + 212, 0, 0, 0, 0, 0, 213, 214, 215, 216, + 270, 271, 219, 220, 221, 0, 0, 0, 222, 0, + 0, 0, 1471, 208, 209, 210, 211, 212, 0, 0, + 0, 0, 0, 213, 214, 215, 216, 270, 271, 219, + 220, 221, 0, 0, 0, 222, 0, 0, 0, 1472, + 208, 209, 210, 211, 212, 0, 0, 0, 0, 0, + 213, 214, 215, 216, 270, 271, 219, 220, 221, 0, + 0, 0, 222, 0, 0, 1367, 1473, 208, 209, 210, + 211, 212, 0, 0, 0, 0, 0, 213, 214, 215, + 216, 270, 271, 219, 220, 221, 0, 0, 0, 222, + 208, 209, 210, 211, 212, 0, 0, 0, 0, 0, + 213, 214, 215, 216, 270, 271, 219, 220, 221, 0, + 0, 0, 222 }; static const short yycheck[] = { 7, - 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, + 112, 309, 1009, 4, 4, 38, 941, 6, 1071, 7, + 81, 4, 4, 60, 4, 23, 4, 4, 65, 60, + 59, 59, 141, 6, 65, 60, 4, 4, 4, 172, + 65, 42, 43, 176, 66, 67, 68, 69, 70, 71, + 72, 73, 74, 75, 76, 77, 160, 161, 6, 6, + 160, 161, 866, 160, 161, 6, 7, 160, 161, 168, + 174, 875, 45, 173, 6, 174, 6, 174, 882, 172, + 63, 63, 175, 63, 34, 6, 63, 37, 38, 171, + 40, 168, 174, 160, 161, 160, 161, 174, 160, 161, + 98, 99, 100, 101, 102, 172, 84, 84, 175, 174, + 171, 173, 1037, 166, 6, 168, 6, 6, 116, 7, + 118, 119, 120, 121, 6, 96, 97, 98, 99, 100, + 6, 129, 130, 131, 132, 1188, 134, 135, 175, 137, + 138, 139, 171, 141, 175, 174, 174, 7, 171, 6, + 160, 161, 153, 175, 6, 156, 160, 161, 6, 157, + 158, 162, 172, 6, 152, 153, 154, 155, 172, 160, + 161, 160, 161, 37, 38, 173, 40, 175, 6, 177, + 171, 169, 170, 174, 174, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, - 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, + 198, 199, 200, 201, 202, 203, 174, 174, 174, 171, + 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, + 218, 219, 220, 221, 222, 223, 174, 174, 160, 161, + 160, 161, 169, 170, 1038, 1232, 3, 4, 1042, 160, + 161, 6, 9, 10, 11, 12, 13, 14, 15, 16, + 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, + 27, 28, 29, 30, 152, 153, 154, 155, 160, 161, + 160, 161, 270, 271, 160, 161, 160, 161, 160, 161, + 278, 169, 170, 281, 160, 161, 172, 285, 172, 175, + 171, 289, 290, 291, 171, 293, 294, 295, 296, 297, + 298, 299, 172, 173, 171, 306, 307, 160, 161, 160, + 161, 160, 161, 311, 312, 313, 317, 0, 1, 172, + 3, 172, 6, 172, 34, 323, 34, 37, 38, 37, + 328, 3, 4, 5, 51, 52, 171, 9, 10, 11, + 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, + 22, 23, 24, 25, 26, 27, 28, 29, 30, 160, + 161, 162, 163, 164, 42, 172, 171, 168, 175, 174, + 1174, 1175, 1176, 1177, 172, 173, 171, 1181, 6, 146, + 147, 148, 149, 150, 172, 172, 171, 175, 175, 156, + 157, 158, 159, 160, 161, 162, 163, 164, 38, 172, + 167, 168, 175, 172, 171, 171, 175, 174, 171, 410, + 411, 412, 410, 411, 412, 413, 414, 172, 172, 417, + 175, 175, 50, 421, 172, 169, 170, 175, 111, 112, + 113, 114, 115, 116, 117, 118, 38, 38, 436, 53, + 54, 55, 56, 441, 58, 1249, 1250, 40, 449, 1253, + 0, 1, 174, 3, 452, 453, 162, 163, 164, 8, + 174, 174, 168, 461, 149, 150, 38, 174, 6, 5, + 468, 156, 157, 158, 159, 160, 161, 162, 163, 164, + 478, 479, 171, 168, 172, 483, 6, 175, 160, 161, + 172, 172, 4, 175, 175, 167, 4, 495, 172, 171, + 1304, 175, 174, 38, 502, 503, 504, 505, 172, 172, + 172, 175, 175, 175, 171, 176, 171, 171, 146, 147, + 148, 149, 150, 171, 171, 171, 171, 825, 156, 157, + 158, 159, 160, 161, 162, 163, 164, 171, 171, 171, + 168, 171, 171, 5, 542, 546, 171, 545, 546, 547, + 1354, 171, 171, 171, 171, 171, 171, 8, 171, 171, + 561, 111, 112, 113, 114, 115, 116, 117, 118, 6, + 6, 673, 171, 171, 572, 573, 6, 5, 174, 1383, + 171, 171, 171, 171, 171, 171, 86, 137, 138, 174, + 140, 589, 174, 171, 595, 596, 597, 146, 147, 148, + 149, 150, 171, 171, 174, 176, 6, 156, 157, 158, + 159, 160, 161, 162, 163, 164, 174, 174, 171, 168, + 168, 5, 173, 5, 171, 171, 175, 625, 626, 171, + 628, 66, 67, 68, 69, 70, 71, 72, 73, 74, + 75, 76, 77, 644, 642, 643, 171, 171, 171, 171, + 6, 172, 653, 156, 157, 158, 159, 160, 161, 162, + 163, 164, 3, 4, 5, 168, 1470, 171, 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, 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, + 171, 171, 171, 171, 171, 146, 147, 148, 149, 150, + 6, 171, 1000, 701, 171, 156, 157, 158, 159, 160, + 161, 162, 163, 164, 171, 171, 714, 168, 716, 717, + 172, 171, 171, 171, 175, 171, 724, 725, 726, 727, + 728, 729, 730, 731, 732, 733, 734, 735, 171, 171, + 175, 172, 171, 177, 171, 743, 744, 171, 746, 3, + 4, 5, 171, 7, 752, 9, 10, 11, 12, 13, + 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, + 24, 25, 26, 27, 28, 29, 30, 171, 32, 171, + 171, 176, 7, 7, 7, 7, 888, 82, 174, 177, + 146, 147, 148, 149, 150, 5, 5, 795, 5, 800, + 156, 157, 158, 159, 160, 161, 162, 163, 164, 807, + 5, 5, 168, 5, 812, 813, 5, 5, 5, 160, + 161, 5, 5, 5, 5, 826, 167, 828, 5, 830, + 171, 5, 5, 174, 5, 5, 5, 5, 5, 5, + 146, 147, 148, 149, 150, 5, 129, 845, 846, 5, + 156, 157, 158, 159, 160, 161, 162, 163, 164, 857, + 5, 859, 168, 5, 5, 3, 5, 172, 5, 177, + 5, 869, 6, 6, 6, 4, 7, 7, 876, 877, + 878, 6, 175, 7, 7, 883, 6, 6, 175, 887, + 7, 889, 7, 7, 174, 174, 7, 171, 152, 153, + 154, 155, 900, 7, 143, 172, 160, 161, 172, 172, + 172, 172, 172, 167, 172, 169, 170, 171, 916, 6, + 172, 172, 176, 172, 172, 172, 172, 172, 172, 927, 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, + 938, 172, 172, 172, 172, 172, 172, 5, 7, 947, + 6, 172, 3, 4, 952, 172, 172, 172, 9, 10, + 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, + 173, 172, 172, 7, 985, 986, 987, 985, 986, 987, + 988, 989, 990, 991, 172, 7, 994, 995, 174, 7, + 172, 176, 7, 7, 140, 7, 1004, 1005, 1006, 145, + 6, 172, 7, 172, 7, 7, 7, 7, 7, 171, + 171, 171, 171, 171, 171, 1023, 1024, 171, 171, 6, + 139, 167, 1030, 7, 7, 171, 172, 3, 3, 3, + 3, 162, 1040, 171, 171, 171, 3, 3, 3, 171, + 1048, 3, 3, 3, 3, 1053, 3, 3, 1056, 146, + 147, 148, 149, 150, 3, 5, 3, 5, 3, 156, + 157, 158, 159, 160, 161, 162, 163, 164, 6, 176, + 1078, 168, 6, 6, 6, 6, 6, 6, 174, 1087, 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, -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, + 1098, 6, 83, 176, 172, 172, 177, 173, 1106, 160, + 161, 172, 176, 173, 6, 172, 167, 6, 173, 172, + 171, 3, 4, 174, 172, 172, 172, 9, 10, 11, + 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, + 22, 23, 24, 25, 26, 27, 28, 29, 30, 1147, + 146, 147, 148, 149, 150, 173, 173, 172, 172, 172, + 156, 157, 158, 159, 160, 161, 162, 163, 164, 172, + 3, 4, 168, 172, 172, 1173, 9, 10, 11, 12, + 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, + 23, 24, 25, 26, 27, 28, 29, 30, 173, 6, + 1198, 1199, 1200, 1201, 1202, 1203, 1204, 1205, 1206, 6, + 172, 172, 172, 172, 6, 173, 1214, 6, 172, 172, + 6, 6, 146, 147, 148, 149, 150, 6, 6, 1227, + 6, 1229, 156, 157, 158, 159, 160, 161, 162, 163, + 164, 6, 6, 176, 168, 6, 6, 6, 83, 7, + 4, 3, 3, 6, 162, 84, 6, 6, 6, 3, + 6, 3, 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267, + 1268, 1269, 1270, 1271, 6, 6, 1274, 3, 160, 161, + 3, 6, 3, 3, 6, 167, 174, 4, 7, 171, + 175, 174, 174, 80, 6, 173, 172, 172, 172, 176, + 173, 172, 172, 172, 1302, 1303, 173, 173, 173, 173, + 172, 6, 173, 1311, 1312, 1313, 1314, 1315, 1316, 1317, + 1318, 1319, 1320, 172, 1322, 6, 1324, 160, 161, 174, + 1328, 3, 6, 6, 167, 3, 83, 176, 171, 6, + 6, 6, 6, 6, 6, 3, 6, 6, 5, 176, + 6, 4, 175, 1351, 1352, 5, 174, 6, 1356, 1357, + 1358, 1359, 1360, 1361, 172, 34, 35, 36, 37, 38, + 39, 40, 41, 172, 43, 173, 45, 46, 172, 48, + 49, 1379, 172, 4, 63, 173, 1384, 1385, 1386, 1387, + 1388, 1389, 1390, 1391, 1392, 64, 173, 172, 172, 172, + 6, 6, 172, 6, 6, 6, 6, 6, 6, 78, + 79, 6, 6, 5, 1412, 1413, 1414, 1415, 1416, 1417, + 1418, 177, 1420, 5, 1422, 80, 6, 563, 564, 172, + 566, 172, 172, 6, 570, 571, 175, 173, 173, 172, + 174, 5, 1440, 1441, 1442, 172, 174, 5, 172, 6, + 80, 6, 6, 84, 172, 6, 1454, 1455, 1456, 1457, + 1458, 1459, 175, 174, 174, 172, 6, 136, 172, 175, + 173, 173, 6, 1471, 1472, 1473, 1474, 176, 1476, 175, + 1478, 6, 6, 6, 174, 172, 172, 172, 172, 6, + 6, 627, 174, 145, 630, 6, 174, 174, 173, 6, + 1498, 1499, 1500, 6, 6, 6, 175, 6, 6, 1507, + 6, 1509, 173, 1511, 650, 651, 6, 6, 172, 6, + 656, 657, 6, 174, 3, 4, 172, 663, 172, 665, 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, + 29, 30, 174, 6, 174, 172, 692, 0, 694, 174, + 174, 174, 0, 599, 6, 6, 702, 703, 704, 6, + 1196, 707, 708, 709, 710, 711, 712, 713, 3, 4, + 850, -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, 146, 147, 148, 149, + 150, 6, -1, -1, -1, -1, 156, 157, 158, 159, + 160, 161, 162, 163, 164, 573, -1, -1, 168, 146, + 147, 148, 149, 150, 6, -1, -1, -1, -1, 156, + 157, 158, 159, 160, 161, 162, 163, 164, -1, -1, + -1, 168, -1, -1, -1, -1, -1, 6, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 146, 147, 148, + 149, 150, -1, -1, -1, -1, -1, 156, 157, 158, + 159, 160, 161, 162, 163, 164, 6, -1, 167, 168, + -1, -1, 171, 146, 147, 148, 149, 150, -1, -1, + -1, -1, -1, 156, 157, 158, 159, 160, 161, 162, + 163, 164, 6, -1, -1, 168, 852, -1, -1, 855, + -1, -1, -1, -1, 860, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 160, 161, -1, -1, -1, + -1, -1, 167, 879, 6, -1, 171, -1, -1, -1, + -1, 146, 147, 148, 149, 150, -1, -1, -1, -1, + -1, 156, 157, 158, 159, 160, 161, 162, 163, 164, + -1, -1, -1, 168, 146, 147, 148, 149, 150, 6, + -1, -1, -1, -1, 156, 157, 158, 159, 160, 161, + 162, 163, 164, -1, -1, -1, 168, 146, 147, 148, + 149, 150, 6, -1, -1, -1, -1, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, -1, -1, 168, + -1, -1, -1, -1, -1, 6, 146, 147, 148, 149, + 150, -1, -1, -1, -1, -1, 156, 157, 158, 159, + 160, 161, 162, 163, 164, -1, -1, -1, 168, 6, + -1, -1, 146, 147, 148, 149, 150, -1, -1, -1, + -1, -1, 156, 157, 158, 159, 160, 161, 162, 163, + 164, -1, -1, -1, 168, 6, -1, -1, -1, -1, + -1, -1, -1, -1, 146, 147, 148, 149, 150, -1, + 1026, -1, -1, 1029, 156, 157, 158, 159, 160, 161, + 162, 163, 164, -1, -1, -1, 168, -1, -1, -1, + -1, -1, 6, -1, 1050, -1, -1, -1, -1, 146, + 147, 148, 149, 150, -1, -1, -1, -1, -1, 156, + 157, 158, 159, 160, 161, 162, 163, 164, 6, -1, + -1, 168, 146, 147, 148, 149, 150, -1, 1084, -1, + -1, -1, 156, 157, 158, 159, 160, 161, 162, 163, + 164, -1, 6, -1, 168, 146, 147, 148, 149, 150, + -1, -1, -1, -1, -1, 156, 157, 158, 159, 160, + 161, 162, 163, 164, -1, 6, -1, 168, -1, 146, + 147, 148, 149, 150, -1, -1, -1, -1, -1, 156, + 157, 158, 159, 160, 161, 162, 163, 164, -1, -1, + 8, 168, -1, -1, -1, 146, 147, 148, 149, 150, + -1, -1, -1, -1, -1, 156, 157, 158, 159, 160, + 161, 162, 163, 164, 1170, 1171, 8, 168, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 146, 147, 148, 149, 150, -1, -1, -1, + 8, 1197, 156, 157, 158, 159, 160, 161, 162, 163, + 164, -1, -1, -1, 168, -1, -1, -1, 146, 147, + 148, 149, 150, 8, -1, -1, -1, -1, 156, 157, + 158, 159, 160, 161, 162, 163, 164, -1, -1, -1, + 168, -1, 146, 147, 148, 149, 150, -1, -1, 8, + 1246, -1, 156, 157, 158, 159, 160, 161, 162, 163, + 164, -1, -1, 1259, 168, 146, 147, 148, 149, 150, + -1, -1, -1, -1, -1, 156, 157, 158, 159, 160, + 161, 162, 163, 164, -1, -1, -1, 168, 146, 147, + 148, 149, 150, -1, -1, -1, -1, -1, 156, 157, + 158, 159, 160, 161, 162, 163, 164, -1, -1, 1305, + 168, -1, -1, -1, 146, 147, 148, 149, 150, -1, + -1, -1, -1, -1, 156, 157, 158, 159, 160, 161, + 162, 163, 164, -1, -1, -1, 168, -1, 146, 147, + 148, 149, 150, -1, -1, -1, -1, -1, 156, 157, + 158, 159, 160, 161, 162, 163, 164, -1, -1, 1355, + 168, 146, 147, 148, 149, 150, -1, -1, -1, -1, + -1, 156, 157, 158, 159, 160, 161, 162, 163, 164, + -1, -1, -1, 168, -1, -1, 1382, 146, 147, 148, + 149, 150, -1, -1, -1, -1, -1, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, -1, -1, 168, + -1, -1, -1, -1, 1410, 34, 35, 36, 37, 38, + 39, 40, 41, -1, 43, -1, 45, 46, -1, 48, + 49, 0, 1, -1, -1, 4, 146, 147, 148, 149, + 150, -1, -1, 1439, -1, 64, 156, 157, 158, 159, + 160, 161, 162, 163, 164, -1, -1, 1453, 168, 78, + 79, -1, 31, 173, 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, -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 + -1, 60, 61, 62, 63, 64, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 37, -1, -1, 78, + 79, -1, -1, -1, -1, -1, 85, 136, 87, 88, + -1, 90, 91, 92, 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, + -1, -1, -1, -1, 64, -1, 175, -1, -1, -1, + -1, -1, 93, 94, 95, -1, -1, 136, 78, 79, + 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, + -1, -1, -1, -1, -1, -1, -1, -1, 119, 120, + 121, 122, 123, 124, 125, 126, 127, 128, -1, 130, + 131, 132, 133, 134, 135, 146, 147, 148, 149, 150, + -1, -1, -1, -1, -1, 156, 157, 158, 159, 160, + 161, 162, 163, 164, -1, -1, 136, 168, 146, 147, + 148, 149, 150, -1, -1, -1, -1, 178, 156, 157, + 158, 159, 160, 161, 162, 163, 164, -1, -1, -1, + 168, 146, 147, 148, 149, 150, -1, -1, -1, -1, + 178, 156, 157, 158, 159, 160, 161, 162, 163, 164, + -1, -1, -1, 168, 146, 147, 148, 149, 150, -1, + -1, -1, -1, 178, 156, 157, 158, 159, 160, 161, + 162, 163, 164, -1, -1, -1, 168, 146, 147, 148, + 149, 150, -1, -1, -1, -1, 178, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, -1, -1, 168, + 146, 147, 148, 149, 150, -1, -1, -1, -1, 178, + 156, 157, 158, 159, 160, 161, 162, 163, 164, -1, + -1, -1, 168, -1, -1, -1, 172, -1, -1, 175, + 146, 147, 148, 149, 150, -1, -1, -1, -1, -1, + 156, 157, 158, 159, 160, 161, 162, 163, 164, -1, + -1, -1, 168, -1, -1, -1, 172, -1, -1, 175, + 146, 147, 148, 149, 150, -1, -1, -1, -1, -1, + 156, 157, 158, 159, 160, 161, 162, 163, 164, -1, + -1, -1, 168, -1, -1, -1, 172, -1, -1, 175, + 146, 147, 148, 149, 150, -1, -1, -1, -1, -1, + 156, 157, 158, 159, 160, 161, 162, 163, 164, -1, + -1, -1, 168, 146, 147, 148, 149, 150, -1, 175, + -1, -1, -1, 156, 157, 158, 159, 160, 161, 162, + 163, 164, -1, -1, -1, 168, 146, 147, 148, 149, + 150, -1, 175, -1, -1, -1, 156, 157, 158, 159, + 160, 161, 162, 163, 164, -1, -1, -1, 168, 146, + 147, 148, 149, 150, -1, 175, -1, -1, -1, 156, + 157, 158, 159, 160, 161, 162, 163, 164, -1, -1, + -1, 168, 146, 147, 148, 149, 150, -1, 175, -1, + -1, -1, 156, 157, 158, 159, 160, 161, 162, 163, + 164, -1, -1, -1, 168, 146, 147, 148, 149, 150, + -1, 175, -1, -1, -1, 156, 157, 158, 159, 160, + 161, 162, 163, 164, -1, -1, -1, 168, 146, 147, + 148, 149, 150, -1, 175, -1, -1, -1, 156, 157, + 158, 159, 160, 161, 162, 163, 164, -1, -1, -1, + 168, 146, 147, 148, 149, 150, -1, 175, -1, -1, + -1, 156, 157, 158, 159, 160, 161, 162, 163, 164, + -1, -1, -1, 168, 146, 147, 148, 149, 150, -1, + 175, -1, -1, -1, 156, 157, 158, 159, 160, 161, + 162, 163, 164, -1, -1, -1, 168, 146, 147, 148, + 149, 150, -1, 175, -1, -1, -1, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, -1, -1, 168, + 139, -1, -1, -1, -1, -1, 175, 146, 147, 148, + 149, 150, -1, -1, -1, -1, -1, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, -1, -1, 168, + 146, 147, 148, 149, 150, -1, -1, -1, -1, -1, + 156, 157, 158, 159, 160, 161, 162, 163, 164, -1, + -1, -1, 168, 146, 147, 148, 149, 150, -1, 175, + -1, -1, -1, 156, 157, 158, 159, 160, 161, 162, + 163, 164, -1, -1, -1, 168, 146, 147, 148, 149, + 150, -1, 175, -1, -1, -1, 156, 157, 158, 159, + 160, 161, 162, 163, 164, -1, -1, -1, 168, 146, + 147, 148, 149, 150, -1, 175, -1, -1, -1, 156, + 157, 158, 159, 160, 161, 162, 163, 164, -1, -1, + -1, 168, 146, 147, 148, 149, 150, -1, 175, -1, + -1, -1, 156, 157, 158, 159, 160, 161, 162, 163, + 164, -1, -1, -1, 168, 146, 147, 148, 149, 150, + -1, 175, -1, -1, -1, 156, 157, 158, 159, 160, + 161, 162, 163, 164, -1, -1, -1, 168, 146, 147, + 148, 149, 150, -1, 175, -1, -1, -1, 156, 157, + 158, 159, 160, 161, 162, 163, 164, -1, -1, -1, + 168, 139, -1, -1, -1, -1, -1, 175, 146, 147, + 148, 149, 150, -1, -1, -1, -1, -1, 156, 157, + 158, 159, 160, 161, 162, 163, 164, -1, -1, -1, + 168, 146, 147, 148, 149, 150, -1, -1, -1, -1, + -1, 156, 157, 158, 159, 160, 161, 162, 163, 164, + -1, -1, -1, 168, 146, 147, 148, 149, 150, -1, + 175, -1, -1, -1, 156, 157, 158, 159, 160, 161, + 162, 163, 164, -1, -1, -1, 168, 146, 147, 148, + 149, 150, -1, 175, -1, -1, -1, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, -1, -1, 168, + 146, 147, 148, 149, 150, -1, 175, -1, -1, -1, + 156, 157, 158, 159, 160, 161, 162, 163, 164, -1, + -1, -1, 168, -1, -1, -1, 172, 173, 146, 147, + 148, 149, 150, -1, -1, -1, -1, -1, 156, 157, + 158, 159, 160, 161, 162, 163, 164, -1, -1, -1, + 168, -1, -1, -1, -1, 173, 146, 147, 148, 149, + 150, -1, -1, -1, -1, -1, 156, 157, 158, 159, + 160, 161, 162, 163, 164, -1, -1, -1, 168, -1, + -1, -1, -1, 173, 146, 147, 148, 149, 150, -1, + -1, -1, -1, -1, 156, 157, 158, 159, 160, 161, + 162, 163, 164, -1, -1, -1, 168, -1, -1, -1, + -1, 173, 146, 147, 148, 149, 150, -1, -1, -1, + -1, -1, 156, 157, 158, 159, 160, 161, 162, 163, + 164, -1, -1, -1, 168, -1, -1, -1, -1, 173, + 146, 147, 148, 149, 150, -1, -1, -1, -1, -1, + 156, 157, 158, 159, 160, 161, 162, 163, 164, -1, + -1, -1, 168, -1, -1, -1, -1, 173, 146, 147, + 148, 149, 150, -1, -1, -1, -1, -1, 156, 157, + 158, 159, 160, 161, 162, 163, 164, -1, -1, -1, + 168, -1, -1, -1, -1, 173, 146, 147, 148, 149, + 150, -1, -1, -1, -1, -1, 156, 157, 158, 159, + 160, 161, 162, 163, 164, -1, -1, -1, 168, -1, + -1, -1, -1, 173, 146, 147, 148, 149, 150, -1, + -1, -1, -1, -1, 156, 157, 158, 159, 160, 161, + 162, 163, 164, -1, -1, -1, 168, -1, -1, -1, + -1, 173, 146, 147, 148, 149, 150, -1, -1, -1, + -1, -1, 156, 157, 158, 159, 160, 161, 162, 163, + 164, -1, -1, -1, 168, -1, -1, -1, -1, 173, + 146, 147, 148, 149, 150, -1, -1, -1, -1, -1, + 156, 157, 158, 159, 160, 161, 162, 163, 164, -1, + -1, -1, 168, -1, -1, -1, -1, 173, 146, 147, + 148, 149, 150, -1, -1, -1, -1, -1, 156, 157, + 158, 159, 160, 161, 162, 163, 164, -1, -1, -1, + 168, -1, -1, -1, -1, 173, 146, 147, 148, 149, + 150, -1, -1, -1, -1, -1, 156, 157, 158, 159, + 160, 161, 162, 163, 164, -1, -1, -1, 168, -1, + -1, -1, -1, 173, 146, 147, 148, 149, 150, -1, + -1, -1, -1, -1, 156, 157, 158, 159, 160, 161, + 162, 163, 164, -1, -1, -1, 168, -1, -1, -1, + -1, 173, 146, 147, 148, 149, 150, -1, -1, -1, + -1, -1, 156, 157, 158, 159, 160, 161, 162, 163, + 164, -1, -1, -1, 168, -1, -1, -1, -1, 173, + 146, 147, 148, 149, 150, -1, -1, -1, -1, -1, + 156, 157, 158, 159, 160, 161, 162, 163, 164, -1, + -1, -1, 168, -1, -1, -1, -1, 173, 146, 147, + 148, 149, 150, -1, -1, -1, -1, -1, 156, 157, + 158, 159, 160, 161, 162, 163, 164, -1, -1, -1, + 168, -1, -1, -1, -1, 173, 146, 147, 148, 149, + 150, -1, -1, -1, -1, -1, 156, 157, 158, 159, + 160, 161, 162, 163, 164, -1, -1, -1, 168, -1, + -1, -1, -1, 173, 146, 147, 148, 149, 150, -1, + -1, -1, -1, -1, 156, 157, 158, 159, 160, 161, + 162, 163, 164, -1, -1, -1, 168, -1, -1, -1, + -1, 173, 146, 147, 148, 149, 150, -1, -1, -1, + -1, -1, 156, 157, 158, 159, 160, 161, 162, 163, + 164, -1, -1, -1, 168, -1, -1, -1, -1, 173, + 146, 147, 148, 149, 150, -1, -1, -1, -1, -1, + 156, 157, 158, 159, 160, 161, 162, 163, 164, -1, + -1, -1, 168, -1, -1, -1, -1, 173, 146, 147, + 148, 149, 150, -1, -1, -1, -1, -1, 156, 157, + 158, 159, 160, 161, 162, 163, 164, -1, -1, -1, + 168, -1, -1, -1, -1, 173, 146, 147, 148, 149, + 150, -1, -1, -1, -1, -1, 156, 157, 158, 159, + 160, 161, 162, 163, 164, -1, -1, -1, 168, -1, + -1, -1, -1, 173, 146, 147, 148, 149, 150, -1, + -1, -1, -1, -1, 156, 157, 158, 159, 160, 161, + 162, 163, 164, -1, -1, -1, 168, -1, -1, -1, + -1, 173, 146, 147, 148, 149, 150, -1, -1, -1, + -1, -1, 156, 157, 158, 159, 160, 161, 162, 163, + 164, -1, -1, -1, 168, -1, -1, -1, -1, 173, + 146, 147, 148, 149, 150, -1, -1, -1, -1, -1, + 156, 157, 158, 159, 160, 161, 162, 163, 164, -1, + -1, -1, 168, -1, -1, -1, -1, 173, 146, 147, + 148, 149, 150, -1, -1, -1, -1, -1, 156, 157, + 158, 159, 160, 161, 162, 163, 164, -1, -1, -1, + 168, -1, -1, -1, -1, 173, 146, 147, 148, 149, + 150, -1, -1, -1, -1, -1, 156, 157, 158, 159, + 160, 161, 162, 163, 164, -1, -1, -1, 168, -1, + -1, -1, -1, 173, 146, 147, 148, 149, 150, -1, + -1, -1, -1, -1, 156, 157, 158, 159, 160, 161, + 162, 163, 164, -1, -1, -1, 168, -1, -1, -1, + -1, 173, 146, 147, 148, 149, 150, -1, -1, -1, + -1, -1, 156, 157, 158, 159, 160, 161, 162, 163, + 164, -1, -1, -1, 168, -1, -1, -1, -1, 173, + 146, 147, 148, 149, 150, -1, -1, -1, -1, -1, + 156, 157, 158, 159, 160, 161, 162, 163, 164, -1, + -1, -1, 168, -1, -1, -1, -1, 173, 146, 147, + 148, 149, 150, -1, -1, -1, -1, -1, 156, 157, + 158, 159, 160, 161, 162, 163, 164, -1, -1, -1, + 168, -1, -1, -1, -1, 173, 146, 147, 148, 149, + 150, -1, -1, -1, -1, -1, 156, 157, 158, 159, + 160, 161, 162, 163, 164, -1, -1, -1, 168, -1, + -1, -1, -1, 173, 146, 147, 148, 149, 150, -1, + -1, -1, -1, -1, 156, 157, 158, 159, 160, 161, + 162, 163, 164, -1, -1, -1, 168, -1, -1, -1, + -1, 173, 146, 147, 148, 149, 150, -1, -1, -1, + -1, -1, 156, 157, 158, 159, 160, 161, 162, 163, + 164, -1, -1, -1, 168, -1, -1, -1, -1, 173, + 146, 147, 148, 149, 150, -1, -1, -1, -1, -1, + 156, 157, 158, 159, 160, 161, 162, 163, 164, -1, + -1, -1, 168, -1, -1, -1, -1, 173, 146, 147, + 148, 149, 150, -1, -1, -1, -1, -1, 156, 157, + 158, 159, 160, 161, 162, 163, 164, -1, -1, -1, + 168, -1, -1, -1, -1, 173, 146, 147, 148, 149, + 150, -1, -1, -1, -1, -1, 156, 157, 158, 159, + 160, 161, 162, 163, 164, -1, -1, -1, 168, -1, + -1, -1, -1, 173, 146, 147, 148, 149, 150, -1, + -1, -1, -1, -1, 156, 157, 158, 159, 160, 161, + 162, 163, 164, -1, -1, -1, 168, -1, -1, -1, + -1, 173, 146, 147, 148, 149, 150, -1, -1, -1, + -1, -1, 156, 157, 158, 159, 160, 161, 162, 163, + 164, -1, -1, -1, 168, -1, -1, -1, -1, 173, + 146, 147, 148, 149, 150, -1, -1, -1, -1, -1, + 156, 157, 158, 159, 160, 161, 162, 163, 164, -1, + -1, -1, 168, -1, -1, -1, -1, 173, 146, 147, + 148, 149, 150, -1, -1, -1, -1, -1, 156, 157, + 158, 159, 160, 161, 162, 163, 164, -1, -1, -1, + 168, -1, -1, -1, -1, 173, 146, 147, 148, 149, + 150, -1, -1, -1, -1, -1, 156, 157, 158, 159, + 160, 161, 162, 163, 164, -1, -1, -1, 168, -1, + -1, -1, -1, 173, 146, 147, 148, 149, 150, -1, + -1, -1, -1, -1, 156, 157, 158, 159, 160, 161, + 162, 163, 164, -1, -1, -1, 168, -1, -1, -1, + -1, 173, 146, 147, 148, 149, 150, -1, -1, -1, + -1, -1, 156, 157, 158, 159, 160, 161, 162, 163, + 164, -1, -1, -1, 168, -1, -1, -1, -1, 173, + 146, 147, 148, 149, 150, -1, -1, -1, -1, -1, + 156, 157, 158, 159, 160, 161, 162, 163, 164, -1, + -1, -1, 168, -1, -1, -1, -1, 173, 146, 147, + 148, 149, 150, -1, -1, -1, -1, -1, 156, 157, + 158, 159, 160, 161, 162, 163, 164, -1, -1, -1, + 168, -1, -1, -1, -1, 173, 146, 147, 148, 149, + 150, -1, -1, -1, -1, -1, 156, 157, 158, 159, + 160, 161, 162, 163, 164, -1, -1, -1, 168, -1, + -1, -1, -1, 173, 146, 147, 148, 149, 150, -1, + -1, -1, -1, -1, 156, 157, 158, 159, 160, 161, + 162, 163, 164, -1, -1, -1, 168, -1, -1, -1, + -1, 173, 146, 147, 148, 149, 150, -1, -1, -1, + -1, -1, 156, 157, 158, 159, 160, 161, 162, 163, + 164, -1, -1, -1, 168, -1, -1, -1, -1, 173, + 146, 147, 148, 149, 150, -1, -1, -1, -1, -1, + 156, 157, 158, 159, 160, 161, 162, 163, 164, -1, + -1, -1, 168, -1, -1, -1, -1, 173, 146, 147, + 148, 149, 150, -1, -1, -1, -1, -1, 156, 157, + 158, 159, 160, 161, 162, 163, 164, -1, -1, -1, + 168, -1, -1, -1, -1, 173, 146, 147, 148, 149, + 150, -1, -1, -1, -1, -1, 156, 157, 158, 159, + 160, 161, 162, 163, 164, -1, -1, -1, 168, -1, + -1, -1, -1, 173, 146, 147, 148, 149, 150, -1, + -1, -1, -1, -1, 156, 157, 158, 159, 160, 161, + 162, 163, 164, -1, -1, -1, 168, -1, -1, -1, + -1, 173, 146, 147, 148, 149, 150, -1, -1, -1, + -1, -1, 156, 157, 158, 159, 160, 161, 162, 163, + 164, -1, -1, -1, 168, -1, -1, -1, -1, 173, + 146, 147, 148, 149, 150, -1, -1, -1, -1, -1, + 156, 157, 158, 159, 160, 161, 162, 163, 164, -1, + -1, -1, 168, -1, -1, -1, -1, 173, 146, 147, + 148, 149, 150, -1, -1, -1, -1, -1, 156, 157, + 158, 159, 160, 161, 162, 163, 164, -1, -1, -1, + 168, -1, -1, -1, -1, 173, 146, 147, 148, 149, + 150, -1, -1, -1, -1, -1, 156, 157, 158, 159, + 160, 161, 162, 163, 164, -1, -1, -1, 168, -1, + -1, -1, -1, 173, 146, 147, 148, 149, 150, -1, + -1, -1, -1, -1, 156, 157, 158, 159, 160, 161, + 162, 163, 164, -1, -1, -1, 168, -1, -1, -1, + -1, 173, 146, 147, 148, 149, 150, -1, -1, -1, + -1, -1, 156, 157, 158, 159, 160, 161, 162, 163, + 164, -1, -1, -1, 168, -1, -1, -1, -1, 173, + 146, 147, 148, 149, 150, -1, -1, -1, -1, -1, + 156, 157, 158, 159, 160, 161, 162, 163, 164, -1, + -1, -1, 168, -1, -1, -1, -1, 173, 146, 147, + 148, 149, 150, -1, -1, -1, -1, -1, 156, 157, + 158, 159, 160, 161, 162, 163, 164, -1, -1, -1, + 168, -1, -1, -1, -1, 173, 146, 147, 148, 149, + 150, -1, -1, -1, -1, -1, 156, 157, 158, 159, + 160, 161, 162, 163, 164, -1, -1, -1, 168, -1, + -1, -1, -1, 173, 146, 147, 148, 149, 150, -1, + -1, -1, -1, -1, 156, 157, 158, 159, 160, 161, + 162, 163, 164, -1, -1, -1, 168, -1, -1, -1, + -1, 173, 146, 147, 148, 149, 150, -1, -1, -1, + -1, -1, 156, 157, 158, 159, 160, 161, 162, 163, + 164, -1, -1, -1, 168, -1, -1, -1, 172, 146, + 147, 148, 149, 150, -1, -1, -1, -1, -1, 156, + 157, 158, 159, 160, 161, 162, 163, 164, -1, -1, + -1, 168, -1, -1, -1, 172, 146, 147, 148, 149, + 150, -1, -1, -1, -1, -1, 156, 157, 158, 159, + 160, 161, 162, 163, 164, -1, -1, -1, 168, -1, + -1, -1, 172, 146, 147, 148, 149, 150, -1, -1, + -1, -1, -1, 156, 157, 158, 159, 160, 161, 162, + 163, 164, -1, -1, -1, 168, -1, -1, -1, 172, + 146, 147, 148, 149, 150, -1, -1, -1, -1, -1, + 156, 157, 158, 159, 160, 161, 162, 163, 164, -1, + -1, -1, 168, -1, -1, -1, 172, 146, 147, 148, + 149, 150, -1, -1, -1, -1, -1, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, -1, -1, 168, + 142, -1, -1, 172, 146, 147, 148, 149, 150, -1, + -1, -1, -1, -1, 156, 157, 158, 159, 160, 161, + 162, 163, 164, -1, -1, -1, 168, 146, 147, 148, + 149, 150, -1, -1, -1, -1, -1, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, -1, -1, 168, + -1, -1, -1, 172, 146, 147, 148, 149, 150, -1, + -1, -1, -1, -1, 156, 157, 158, 159, 160, 161, + 162, 163, 164, -1, -1, -1, 168, -1, -1, -1, + 172, 146, 147, 148, 149, 150, -1, -1, -1, -1, + -1, 156, 157, 158, 159, 160, 161, 162, 163, 164, + -1, -1, -1, 168, -1, -1, -1, 172, 146, 147, + 148, 149, 150, -1, -1, -1, -1, -1, 156, 157, + 158, 159, 160, 161, 162, 163, 164, -1, -1, -1, + 168, -1, -1, -1, 172, 146, 147, 148, 149, 150, + -1, -1, -1, -1, -1, 156, 157, 158, 159, 160, + 161, 162, 163, 164, -1, -1, -1, 168, -1, -1, + -1, 172, 146, 147, 148, 149, 150, -1, -1, -1, + -1, -1, 156, 157, 158, 159, 160, 161, 162, 163, + 164, -1, -1, -1, 168, -1, -1, -1, 172, 146, + 147, 148, 149, 150, -1, -1, -1, -1, -1, 156, + 157, 158, 159, 160, 161, 162, 163, 164, -1, -1, + -1, 168, -1, -1, -1, 172, 146, 147, 148, 149, + 150, -1, -1, -1, -1, -1, 156, 157, 158, 159, + 160, 161, 162, 163, 164, -1, -1, -1, 168, -1, + -1, -1, 172, 146, 147, 148, 149, 150, -1, -1, + -1, -1, -1, 156, 157, 158, 159, 160, 161, 162, + 163, 164, -1, -1, -1, 168, -1, -1, -1, 172, + 146, 147, 148, 149, 150, -1, -1, -1, -1, -1, + 156, 157, 158, 159, 160, 161, 162, 163, 164, -1, + -1, -1, 168, -1, -1, -1, 172, 146, 147, 148, + 149, 150, -1, -1, -1, -1, -1, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, -1, -1, 168, + -1, -1, -1, 172, 146, 147, 148, 149, 150, -1, + -1, -1, -1, -1, 156, 157, 158, 159, 160, 161, + 162, 163, 164, -1, -1, -1, 168, -1, -1, -1, + 172, 146, 147, 148, 149, 150, -1, -1, -1, -1, + -1, 156, 157, 158, 159, 160, 161, 162, 163, 164, + -1, -1, -1, 168, -1, -1, -1, 172, 146, 147, + 148, 149, 150, -1, -1, -1, -1, -1, 156, 157, + 158, 159, 160, 161, 162, 163, 164, -1, -1, -1, + 168, -1, -1, -1, 172, 146, 147, 148, 149, 150, + -1, -1, -1, -1, -1, 156, 157, 158, 159, 160, + 161, 162, 163, 164, -1, -1, -1, 168, -1, -1, + -1, 172, 146, 147, 148, 149, 150, -1, -1, -1, + -1, -1, 156, 157, 158, 159, 160, 161, 162, 163, + 164, -1, -1, -1, 168, -1, -1, -1, 172, 146, + 147, 148, 149, 150, -1, -1, -1, -1, -1, 156, + 157, 158, 159, 160, 161, 162, 163, 164, -1, -1, + -1, 168, -1, -1, -1, 172, 146, 147, 148, 149, + 150, -1, -1, -1, -1, -1, 156, 157, 158, 159, + 160, 161, 162, 163, 164, -1, -1, -1, 168, -1, + -1, -1, 172, 146, 147, 148, 149, 150, -1, -1, + -1, -1, -1, 156, 157, 158, 159, 160, 161, 162, + 163, 164, -1, -1, -1, 168, -1, -1, -1, 172, + 146, 147, 148, 149, 150, -1, -1, -1, -1, -1, + 156, 157, 158, 159, 160, 161, 162, 163, 164, -1, + -1, -1, 168, -1, -1, -1, 172, 146, 147, 148, + 149, 150, -1, -1, -1, -1, -1, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, -1, -1, 168, + -1, -1, -1, 172, 146, 147, 148, 149, 150, -1, + -1, -1, -1, -1, 156, 157, 158, 159, 160, 161, + 162, 163, 164, -1, -1, -1, 168, -1, -1, -1, + 172, 146, 147, 148, 149, 150, -1, -1, -1, -1, + -1, 156, 157, 158, 159, 160, 161, 162, 163, 164, + -1, -1, -1, 168, -1, -1, -1, 172, 146, 147, + 148, 149, 150, -1, -1, -1, -1, -1, 156, 157, + 158, 159, 160, 161, 162, 163, 164, -1, -1, -1, + 168, -1, -1, -1, 172, 146, 147, 148, 149, 150, + -1, -1, -1, -1, -1, 156, 157, 158, 159, 160, + 161, 162, 163, 164, -1, -1, -1, 168, -1, -1, + -1, 172, 146, 147, 148, 149, 150, -1, -1, -1, + -1, -1, 156, 157, 158, 159, 160, 161, 162, 163, + 164, -1, -1, -1, 168, -1, -1, -1, 172, 146, + 147, 148, 149, 150, -1, -1, -1, -1, -1, 156, + 157, 158, 159, 160, 161, 162, 163, 164, -1, -1, + -1, 168, -1, -1, -1, 172, 146, 147, 148, 149, + 150, -1, -1, -1, -1, -1, 156, 157, 158, 159, + 160, 161, 162, 163, 164, -1, -1, -1, 168, -1, + -1, -1, 172, 146, 147, 148, 149, 150, -1, -1, + -1, -1, -1, 156, 157, 158, 159, 160, 161, 162, + 163, 164, -1, -1, -1, 168, -1, -1, -1, 172, + 146, 147, 148, 149, 150, -1, -1, -1, -1, -1, + 156, 157, 158, 159, 160, 161, 162, 163, 164, -1, + -1, -1, 168, -1, -1, -1, 172, 146, 147, 148, + 149, 150, -1, -1, -1, -1, -1, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, -1, -1, 168, + -1, -1, -1, 172, 146, 147, 148, 149, 150, -1, + -1, -1, -1, -1, 156, 157, 158, 159, 160, 161, + 162, 163, 164, -1, -1, -1, 168, -1, -1, -1, + 172, 146, 147, 148, 149, 150, -1, -1, -1, -1, + -1, 156, 157, 158, 159, 160, 161, 162, 163, 164, + -1, -1, -1, 168, -1, -1, -1, 172, 146, 147, + 148, 149, 150, -1, -1, -1, -1, -1, 156, 157, + 158, 159, 160, 161, 162, 163, 164, -1, -1, -1, + 168, -1, -1, -1, 172, 146, 147, 148, 149, 150, + -1, -1, -1, -1, -1, 156, 157, 158, 159, 160, + 161, 162, 163, 164, -1, -1, -1, 168, -1, -1, + -1, 172, 146, 147, 148, 149, 150, -1, -1, -1, + -1, -1, 156, 157, 158, 159, 160, 161, 162, 163, + 164, -1, -1, -1, 168, -1, -1, -1, 172, 146, + 147, 148, 149, 150, -1, -1, -1, -1, -1, 156, + 157, 158, 159, 160, 161, 162, 163, 164, -1, -1, + -1, 168, -1, -1, -1, 172, 146, 147, 148, 149, + 150, -1, -1, -1, -1, -1, 156, 157, 158, 159, + 160, 161, 162, 163, 164, -1, -1, -1, 168, -1, + -1, -1, 172, 146, 147, 148, 149, 150, -1, -1, + -1, -1, -1, 156, 157, 158, 159, 160, 161, 162, + 163, 164, -1, -1, -1, 168, -1, -1, -1, 172, + 146, 147, 148, 149, 150, -1, -1, -1, -1, -1, + 156, 157, 158, 159, 160, 161, 162, 163, 164, -1, + -1, -1, 168, -1, -1, -1, 172, 146, 147, 148, + 149, 150, -1, -1, -1, -1, -1, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, -1, -1, 168, + -1, -1, -1, 172, 146, 147, 148, 149, 150, -1, + -1, -1, -1, -1, 156, 157, 158, 159, 160, 161, + 162, 163, 164, -1, -1, -1, 168, -1, -1, -1, + 172, 146, 147, 148, 149, 150, -1, -1, -1, -1, + -1, 156, 157, 158, 159, 160, 161, 162, 163, 164, + -1, -1, -1, 168, -1, -1, -1, 172, 146, 147, + 148, 149, 150, -1, -1, -1, -1, -1, 156, 157, + 158, 159, 160, 161, 162, 163, 164, -1, -1, -1, + 168, -1, -1, -1, 172, 146, 147, 148, 149, 150, + -1, -1, -1, -1, -1, 156, 157, 158, 159, 160, + 161, 162, 163, 164, -1, -1, -1, 168, -1, -1, + -1, 172, 146, 147, 148, 149, 150, -1, -1, -1, + -1, -1, 156, 157, 158, 159, 160, 161, 162, 163, + 164, -1, -1, -1, 168, -1, -1, -1, 172, 146, + 147, 148, 149, 150, -1, -1, -1, -1, -1, 156, + 157, 158, 159, 160, 161, 162, 163, 164, -1, -1, + -1, 168, -1, -1, -1, 172, 146, 147, 148, 149, + 150, -1, -1, -1, -1, -1, 156, 157, 158, 159, + 160, 161, 162, 163, 164, -1, -1, -1, 168, -1, + -1, -1, 172, 146, 147, 148, 149, 150, -1, -1, + -1, -1, -1, 156, 157, 158, 159, 160, 161, 162, + 163, 164, -1, -1, -1, 168, -1, -1, -1, 172, + 146, 147, 148, 149, 150, -1, -1, -1, -1, -1, + 156, 157, 158, 159, 160, 161, 162, 163, 164, -1, + -1, -1, 168, -1, -1, -1, 172, 146, 147, 148, + 149, 150, -1, -1, -1, -1, -1, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, -1, -1, 168, + -1, -1, -1, 172, 146, 147, 148, 149, 150, -1, + -1, -1, -1, -1, 156, 157, 158, 159, 160, 161, + 162, 163, 164, -1, -1, -1, 168, -1, -1, -1, + 172, 146, 147, 148, 149, 150, -1, -1, -1, -1, + -1, 156, 157, 158, 159, 160, 161, 162, 163, 164, + -1, -1, -1, 168, -1, -1, -1, 172, 146, 147, + 148, 149, 150, -1, -1, -1, -1, -1, 156, 157, + 158, 159, 160, 161, 162, 163, 164, -1, -1, -1, + 168, -1, -1, -1, 172, 146, 147, 148, 149, 150, + -1, -1, -1, -1, -1, 156, 157, 158, 159, 160, + 161, 162, 163, 164, -1, -1, -1, 168, -1, -1, + -1, 172, 146, 147, 148, 149, 150, -1, -1, -1, + -1, -1, 156, 157, 158, 159, 160, 161, 162, 163, + 164, -1, -1, -1, 168, -1, -1, -1, 172, 146, + 147, 148, 149, 150, -1, -1, -1, -1, -1, 156, + 157, 158, 159, 160, 161, 162, 163, 164, -1, -1, + -1, 168, -1, -1, -1, 172, 146, 147, 148, 149, + 150, -1, -1, -1, -1, -1, 156, 157, 158, 159, + 160, 161, 162, 163, 164, -1, -1, -1, 168, -1, + -1, -1, 172, 146, 147, 148, 149, 150, -1, -1, + -1, -1, -1, 156, 157, 158, 159, 160, 161, 162, + 163, 164, -1, -1, -1, 168, -1, -1, -1, 172, + 146, 147, 148, 149, 150, -1, -1, -1, -1, -1, + 156, 157, 158, 159, 160, 161, 162, 163, 164, -1, + -1, -1, 168, -1, -1, -1, 172, 146, 147, 148, + 149, 150, -1, -1, -1, -1, -1, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, -1, -1, 168, + -1, -1, -1, 172, 146, 147, 148, 149, 150, -1, + -1, -1, -1, -1, 156, 157, 158, 159, 160, 161, + 162, 163, 164, -1, -1, -1, 168, -1, -1, -1, + 172, 146, 147, 148, 149, 150, -1, -1, -1, -1, + -1, 156, 157, 158, 159, 160, 161, 162, 163, 164, + -1, -1, -1, 168, -1, -1, -1, 172, 146, 147, + 148, 149, 150, -1, -1, -1, -1, -1, 156, 157, + 158, 159, 160, 161, 162, 163, 164, -1, -1, -1, + 168, -1, -1, -1, 172, 146, 147, 148, 149, 150, + -1, -1, -1, -1, -1, 156, 157, 158, 159, 160, + 161, 162, 163, 164, -1, -1, -1, 168, -1, -1, + -1, 172, 146, 147, 148, 149, 150, -1, -1, -1, + -1, -1, 156, 157, 158, 159, 160, 161, 162, 163, + 164, -1, -1, -1, 168, -1, -1, -1, 172, 146, + 147, 148, 149, 150, -1, -1, -1, -1, -1, 156, + 157, 158, 159, 160, 161, 162, 163, 164, -1, -1, + -1, 168, -1, -1, -1, 172, 146, 147, 148, 149, + 150, -1, -1, -1, -1, -1, 156, 157, 158, 159, + 160, 161, 162, 163, 164, -1, -1, -1, 168, -1, + -1, -1, 172, 146, 147, 148, 149, 150, -1, -1, + -1, -1, -1, 156, 157, 158, 159, 160, 161, 162, + 163, 164, -1, -1, -1, 168, -1, -1, -1, 172, + 146, 147, 148, 149, 150, -1, -1, -1, -1, -1, + 156, 157, 158, 159, 160, 161, 162, 163, 164, -1, + -1, -1, 168, -1, -1, -1, 172, 146, 147, 148, + 149, 150, -1, -1, -1, -1, -1, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, -1, -1, 168, + -1, -1, -1, 172, 146, 147, 148, 149, 150, -1, + -1, -1, -1, -1, 156, 157, 158, 159, 160, 161, + 162, 163, 164, -1, -1, -1, 168, -1, -1, -1, + 172, 146, 147, 148, 149, 150, -1, -1, -1, -1, + -1, 156, 157, 158, 159, 160, 161, 162, 163, 164, + -1, -1, -1, 168, -1, -1, -1, 172, 146, 147, + 148, 149, 150, -1, -1, -1, -1, -1, 156, 157, + 158, 159, 160, 161, 162, 163, 164, -1, -1, -1, + 168, -1, -1, -1, 172, 146, 147, 148, 149, 150, + -1, -1, -1, -1, -1, 156, 157, 158, 159, 160, + 161, 162, 163, 164, -1, -1, -1, 168, -1, -1, + -1, 172, 146, 147, 148, 149, 150, -1, -1, -1, + -1, -1, 156, 157, 158, 159, 160, 161, 162, 163, + 164, -1, -1, -1, 168, -1, -1, -1, 172, 146, + 147, 148, 149, 150, -1, -1, -1, -1, -1, 156, + 157, 158, 159, 160, 161, 162, 163, 164, -1, -1, + -1, 168, -1, -1, -1, 172, 146, 147, 148, 149, + 150, -1, -1, -1, -1, -1, 156, 157, 158, 159, + 160, 161, 162, 163, 164, -1, -1, -1, 168, -1, + -1, -1, 172, 146, 147, 148, 149, 150, -1, -1, + -1, -1, -1, 156, 157, 158, 159, 160, 161, 162, + 163, 164, -1, -1, -1, 168, -1, -1, -1, 172, + 146, 147, 148, 149, 150, -1, -1, -1, -1, -1, + 156, 157, 158, 159, 160, 161, 162, 163, 164, -1, + -1, -1, 168, -1, -1, -1, 172, 146, 147, 148, + 149, 150, -1, -1, -1, -1, -1, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, -1, -1, 168, + -1, -1, -1, 172, 146, 147, 148, 149, 150, -1, + -1, -1, -1, -1, 156, 157, 158, 159, 160, 161, + 162, 163, 164, -1, -1, -1, 168, -1, -1, -1, + 172, 146, 147, 148, 149, 150, -1, -1, -1, -1, + -1, 156, 157, 158, 159, 160, 161, 162, 163, 164, + -1, -1, -1, 168, -1, -1, -1, 172, 146, 147, + 148, 149, 150, -1, -1, -1, -1, -1, 156, 157, + 158, 159, 160, 161, 162, 163, 164, -1, -1, -1, + 168, -1, -1, -1, 172, 146, 147, 148, 149, 150, + -1, -1, -1, -1, -1, 156, 157, 158, 159, 160, + 161, 162, 163, 164, -1, -1, -1, 168, -1, -1, + -1, 172, 146, 147, 148, 149, 150, -1, -1, -1, + -1, -1, 156, 157, 158, 159, 160, 161, 162, 163, + 164, -1, -1, -1, 168, -1, -1, -1, 172, 146, + 147, 148, 149, 150, -1, -1, -1, -1, -1, 156, + 157, 158, 159, 160, 161, 162, 163, 164, -1, -1, + -1, 168, -1, -1, -1, 172, 146, 147, 148, 149, + 150, -1, -1, -1, -1, -1, 156, 157, 158, 159, + 160, 161, 162, 163, 164, -1, -1, -1, 168, -1, + -1, -1, 172, 146, 147, 148, 149, 150, -1, -1, + -1, -1, -1, 156, 157, 158, 159, 160, 161, 162, + 163, 164, -1, -1, -1, 168, -1, -1, -1, 172, + 146, 147, 148, 149, 150, -1, -1, -1, -1, -1, + 156, 157, 158, 159, 160, 161, 162, 163, 164, -1, + -1, -1, 168, -1, -1, -1, 172, 146, 147, 148, + 149, 150, -1, -1, -1, -1, -1, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, -1, -1, 168, + -1, -1, -1, 172, 146, 147, 148, 149, 150, -1, + -1, -1, -1, -1, 156, 157, 158, 159, 160, 161, + 162, 163, 164, -1, -1, -1, 168, -1, -1, -1, + 172, 146, 147, 148, 149, 150, -1, -1, -1, -1, + -1, 156, 157, 158, 159, 160, 161, 162, 163, 164, + -1, -1, -1, 168, -1, -1, -1, 172, 146, 147, + 148, 149, 150, -1, -1, -1, -1, -1, 156, 157, + 158, 159, 160, 161, 162, 163, 164, -1, -1, -1, + 168, -1, -1, -1, 172, 146, 147, 148, 149, 150, + -1, -1, -1, -1, -1, 156, 157, 158, 159, 160, + 161, 162, 163, 164, -1, -1, -1, 168, -1, -1, + -1, 172, 146, 147, 148, 149, 150, -1, -1, -1, + -1, -1, 156, 157, 158, 159, 160, 161, 162, 163, + 164, -1, -1, -1, 168, -1, -1, -1, 172, 146, + 147, 148, 149, 150, -1, -1, -1, -1, -1, 156, + 157, 158, 159, 160, 161, 162, 163, 164, -1, -1, + -1, 168, -1, -1, -1, 172, 146, 147, 148, 149, + 150, -1, -1, -1, -1, -1, 156, 157, 158, 159, + 160, 161, 162, 163, 164, -1, -1, -1, 168, -1, + -1, -1, 172, 146, 147, 148, 149, 150, -1, -1, + -1, -1, -1, 156, 157, 158, 159, 160, 161, 162, + 163, 164, -1, -1, -1, 168, -1, -1, -1, 172, + 146, 147, 148, 149, 150, -1, -1, -1, -1, -1, + 156, 157, 158, 159, 160, 161, 162, 163, 164, -1, + -1, -1, 168, -1, -1, 144, 172, 146, 147, 148, + 149, 150, -1, -1, -1, -1, -1, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, -1, -1, 168, + 146, 147, 148, 149, 150, -1, -1, -1, -1, -1, + 156, 157, 158, 159, 160, 161, 162, 163, 164, -1, + -1, -1, 168 }; /* -*-C-*- Note some compilers choke on comments on `#line' lines. */ #line 3 "/usr/lib/bison.simple" @@ -3173,7 +3185,7 @@ yyreduce: switch (yyn) { case 4: -#line 155 "Gmsh.y" +#line 156 "Gmsh.y" { Msg(PARSER_INFO,"STL File Format"); STL_Surf = Create_Surface(1,MSH_SURF_STL,1); @@ -3182,7 +3194,7 @@ case 4: ; break;} case 5: -#line 169 "Gmsh.y" +#line 170 "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, @@ -3191,7 +3203,7 @@ case 5: ; break;} case 6: -#line 176 "Gmsh.y" +#line 177 "Gmsh.y" { Msg(PARSER_INFO,"STL File Format Read"); Tree_Add(THEM->Surfaces, &STL_Surf); @@ -3199,83 +3211,83 @@ case 6: ; break;} case 9: -#line 193 "Gmsh.y" +#line 194 "Gmsh.y" { return 1; ; break;} case 10: -#line 194 "Gmsh.y" +#line 195 "Gmsh.y" { return 1; ; break;} case 11: -#line 195 "Gmsh.y" +#line 196 "Gmsh.y" { return 1; ; break;} case 12: -#line 196 "Gmsh.y" +#line 197 "Gmsh.y" { yyerrok ; return 1; ; break;} case 13: -#line 201 "Gmsh.y" +#line 202 "Gmsh.y" { Msg(PARSER_INFO,"Step Iso-10303-21 File Format"); Create_Step_Solid_BRep(); ; break;} case 14: -#line 206 "Gmsh.y" +#line 207 "Gmsh.y" { Msg(PARSER_INFO,"Step Iso-10303-21 File Format Read"); Resolve_BREP (); ; break;} case 18: -#line 217 "Gmsh.y" +#line 218 "Gmsh.y" { ; break;} case 19: -#line 220 "Gmsh.y" +#line 221 "Gmsh.y" { ; break;} case 20: -#line 224 "Gmsh.y" +#line 225 "Gmsh.y" { ; break;} case 21: -#line 230 "Gmsh.y" +#line 231 "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 236 "Gmsh.y" +#line 237 "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 243 "Gmsh.y" +#line 244 "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 249 "Gmsh.y" +#line 250 "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 253 "Gmsh.y" +#line 254 "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 257 "Gmsh.y" +#line 258 "Gmsh.y" { /* La je dois voir la norme ! Face_Bound : trou externe a la surface ! */ Msg(PARSER_INFO,"Found a Face Bound"); @@ -3283,303 +3295,299 @@ case 26: ; break;} case 27: -#line 264 "Gmsh.y" +#line 265 "Gmsh.y" { Add_Oriented_Edge((int)yyvsp[-14].d,yyvsp[-10].c,(int)yyvsp[-4].d,yyvsp[-2].i); ; break;} case 28: -#line 268 "Gmsh.y" +#line 269 "Gmsh.y" { Add_Edge_Loop((int)yyvsp[-8].d,yyvsp[-4].c,yyvsp[-2].l); ; break;} case 29: -#line 273 "Gmsh.y" +#line 274 "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 277 "Gmsh.y" +#line 278 "Gmsh.y" { Add_Vertex_Point((int)yyvsp[-8].d,yyvsp[-4].c,(int)yyvsp[-2].d); ; break;} case 31: -#line 281 "Gmsh.y" +#line 282 "Gmsh.y" { ; break;} case 32: -#line 285 "Gmsh.y" +#line 286 "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 289 "Gmsh.y" +#line 290 "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 293 "Gmsh.y" +#line 294 "Gmsh.y" { Add_Plane((int)yyvsp[-8].d,yyvsp[-4].c,(int)yyvsp[-2].d); ; break;} case 35: -#line 297 "Gmsh.y" +#line 298 "Gmsh.y" { Add_Line ((int)yyvsp[-10].d, yyvsp[-6].c , (int) yyvsp[-4].d, (int)yyvsp[-2].d); ; break;} case 36: -#line 301 "Gmsh.y" +#line 302 "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 307 "Gmsh.y" +#line 308 "Gmsh.y" { ; break;} case 38: -#line 310 "Gmsh.y" +#line 311 "Gmsh.y" { ; break;} case 39: -#line 313 "Gmsh.y" +#line 314 "Gmsh.y" { Add_Cylinder ((int)yyvsp[-10].d, yyvsp[-6].c , (int)yyvsp[-4].d, yyvsp[-2].d); ; break;} case 40: -#line 317 "Gmsh.y" +#line 318 "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 321 "Gmsh.y" +#line 322 "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 325 "Gmsh.y" +#line 326 "Gmsh.y" { Add_Circle((int) yyvsp[-10].d, yyvsp[-6].c, (int) yyvsp[-4].d, yyvsp[-2].d); ; break;} case 43: -#line 329 "Gmsh.y" +#line 330 "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 334 "Gmsh.y" +#line 335 "Gmsh.y" { ; break;} case 45: -#line 337 "Gmsh.y" +#line 338 "Gmsh.y" { ; break;} case 46: -#line 341 "Gmsh.y" +#line 342 "Gmsh.y" { ; break;} case 47: -#line 344 "Gmsh.y" +#line 345 "Gmsh.y" { ; break;} case 48: -#line 348 "Gmsh.y" +#line 349 "Gmsh.y" { ; break;} case 49: -#line 351 "Gmsh.y" +#line 352 "Gmsh.y" { ; break;} case 50: -#line 354 "Gmsh.y" +#line 355 "Gmsh.y" { ; break;} case 51: -#line 364 "Gmsh.y" +#line 365 "Gmsh.y" { ; break;} case 52: -#line 367 "Gmsh.y" +#line 368 "Gmsh.y" { Msg(PARSER_INFO,"Gmsh File Format Read"); ; break;} case 53: -#line 373 "Gmsh.y" -{ return 1; ; - break;} -case 54: #line 374 "Gmsh.y" { return 1; ; break;} -case 55: +case 54: #line 375 "Gmsh.y" { return 1; ; break;} -case 56: +case 55: #line 376 "Gmsh.y" { return 1; ; break;} -case 57: +case 56: #line 377 "Gmsh.y" { return 1; ; break;} -case 58: +case 57: #line 378 "Gmsh.y" { return 1; ; break;} -case 59: +case 58: #line 379 "Gmsh.y" { return 1; ; break;} -case 60: +case 59: #line 380 "Gmsh.y" { return 1; ; break;} -case 61: +case 60: #line 381 "Gmsh.y" { return 1; ; break;} -case 62: +case 61: #line 382 "Gmsh.y" { return 1; ; break;} -case 63: +case 62: #line 383 "Gmsh.y" { return 1; ; break;} -case 64: +case 63: #line 384 "Gmsh.y" {return 1;; break;} -case 65: +case 64: #line 386 "Gmsh.y" { return 1; ; break;} -case 66: +case 65: #line 387 "Gmsh.y" { yyerrok; return 1;; break;} -case 67: +case 66: #line 392 "Gmsh.y" { Msg(PARSER_INFO, yyvsp[-4].c, yyvsp[-2].d); ; break;} -case 68: +case 67: #line 403 "Gmsh.y" { EndView(1, Force_ViewNumber,yyname,yyvsp[-4].c,0.,0.,0.); ; break;} -case 69: +case 68: #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: +case 69: #line 414 "Gmsh.y" { BeginView(1); ; break;} -case 83: +case 82: #line 433 "Gmsh.y" { List_Add(ActualView->SP, &yyvsp[0].d) ; ; break;} -case 84: +case 83: #line 435 "Gmsh.y" { List_Add(ActualView->SP, &yyvsp[0].d) ; ; break;} -case 85: +case 84: #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: +case 85: #line 445 "Gmsh.y" { ActualView->NbSP++ ; ; break;} -case 87: +case 86: #line 452 "Gmsh.y" { List_Add(ActualView->VP, &yyvsp[0].d) ; ; break;} -case 88: +case 87: #line 454 "Gmsh.y" { List_Add(ActualView->VP, &yyvsp[0].d) ; ; break;} -case 89: +case 88: #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: +case 89: #line 464 "Gmsh.y" { ActualView->NbVP++ ; ; break;} -case 91: +case 90: #line 471 "Gmsh.y" { List_Add(ActualView->TP, &yyvsp[0].d) ; ; break;} -case 92: +case 91: #line 473 "Gmsh.y" { List_Add(ActualView->TP, &yyvsp[0].d) ; ; break;} -case 93: +case 92: #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: +case 93: #line 483 "Gmsh.y" { ActualView->NbTP++ ; ; break;} -case 95: +case 94: #line 490 "Gmsh.y" { List_Add(ActualView->SL, &yyvsp[0].d) ; ; break;} -case 96: +case 95: #line 492 "Gmsh.y" { List_Add(ActualView->SL, &yyvsp[0].d) ; ; break;} -case 97: +case 96: #line 498 "Gmsh.y" { List_Add(ActualView->SL, &yyvsp[-11].d); List_Add(ActualView->SL, &yyvsp[-5].d); @@ -3587,21 +3595,21 @@ case 97: List_Add(ActualView->SL, &yyvsp[-7].d); List_Add(ActualView->SL, &yyvsp[-1].d); ; break;} -case 98: +case 97: #line 504 "Gmsh.y" { ActualView->NbSL++ ; ; break;} -case 99: +case 98: #line 511 "Gmsh.y" { List_Add(ActualView->VL, &yyvsp[0].d) ; ; break;} -case 100: +case 99: #line 513 "Gmsh.y" { List_Add(ActualView->VL, &yyvsp[0].d) ; ; break;} -case 101: +case 100: #line 519 "Gmsh.y" { List_Add(ActualView->SL, &yyvsp[-11].d); List_Add(ActualView->SL, &yyvsp[-5].d); @@ -3609,21 +3617,21 @@ case 101: List_Add(ActualView->SL, &yyvsp[-7].d); List_Add(ActualView->SL, &yyvsp[-1].d); ; break;} -case 102: +case 101: #line 525 "Gmsh.y" { ActualView->NbVL++ ; ; break;} -case 103: +case 102: #line 532 "Gmsh.y" { List_Add(ActualView->TL, &yyvsp[0].d) ; ; break;} -case 104: +case 103: #line 534 "Gmsh.y" { List_Add(ActualView->TL, &yyvsp[0].d) ; ; break;} -case 105: +case 104: #line 540 "Gmsh.y" { List_Add(ActualView->SL, &yyvsp[-11].d); List_Add(ActualView->SL, &yyvsp[-5].d); @@ -3631,21 +3639,21 @@ case 105: List_Add(ActualView->SL, &yyvsp[-7].d); List_Add(ActualView->SL, &yyvsp[-1].d); ; break;} -case 106: +case 105: #line 546 "Gmsh.y" { ActualView->NbTL++ ; ; break;} -case 107: +case 106: #line 553 "Gmsh.y" { List_Add(ActualView->ST, &yyvsp[0].d) ; ; break;} -case 108: +case 107: #line 555 "Gmsh.y" { List_Add(ActualView->ST, &yyvsp[0].d) ; ; break;} -case 109: +case 108: #line 562 "Gmsh.y" { List_Add(ActualView->ST, &yyvsp[-17].d); List_Add(ActualView->ST, &yyvsp[-11].d); @@ -3656,21 +3664,21 @@ case 109: List_Add(ActualView->ST, &yyvsp[-1].d); ; break;} -case 110: +case 109: #line 571 "Gmsh.y" { ActualView->NbST++ ; ; break;} -case 111: +case 110: #line 578 "Gmsh.y" { List_Add(ActualView->VT, &yyvsp[0].d) ; ; break;} -case 112: +case 111: #line 580 "Gmsh.y" { List_Add(ActualView->VT, &yyvsp[0].d) ; ; break;} -case 113: +case 112: #line 587 "Gmsh.y" { List_Add(ActualView->VT, &yyvsp[-17].d); List_Add(ActualView->VT, &yyvsp[-11].d); @@ -3681,21 +3689,21 @@ case 113: List_Add(ActualView->VT, &yyvsp[-1].d); ; break;} -case 114: +case 113: #line 596 "Gmsh.y" { ActualView->NbVT++ ; ; break;} -case 115: +case 114: #line 603 "Gmsh.y" { List_Add(ActualView->TT, &yyvsp[0].d) ; ; break;} -case 116: +case 115: #line 605 "Gmsh.y" { List_Add(ActualView->TT, &yyvsp[0].d) ; ; break;} -case 117: +case 116: #line 612 "Gmsh.y" { List_Add(ActualView->TT, &yyvsp[-17].d); List_Add(ActualView->TT, &yyvsp[-11].d); @@ -3706,21 +3714,21 @@ case 117: List_Add(ActualView->TT, &yyvsp[-1].d); ; break;} -case 118: +case 117: #line 621 "Gmsh.y" { ActualView->NbTT++ ; ; break;} -case 119: +case 118: #line 628 "Gmsh.y" { List_Add(ActualView->SS, &yyvsp[0].d) ; ; break;} -case 120: +case 119: #line 630 "Gmsh.y" { List_Add(ActualView->SS, &yyvsp[0].d) ; ; break;} -case 121: +case 120: #line 638 "Gmsh.y" { List_Add(ActualView->SS, &yyvsp[-23].d); List_Add(ActualView->SS, &yyvsp[-17].d); @@ -3731,21 +3739,21 @@ case 121: List_Add(ActualView->SS, &yyvsp[-7].d); List_Add(ActualView->SS, &yyvsp[-1].d); ; break;} -case 122: +case 121: #line 647 "Gmsh.y" { ActualView->NbSS++ ; ; break;} -case 123: +case 122: #line 654 "Gmsh.y" { List_Add(ActualView->VS, &yyvsp[0].d) ; ; break;} -case 124: +case 123: #line 656 "Gmsh.y" { List_Add(ActualView->VS, &yyvsp[0].d) ; ; break;} -case 125: +case 124: #line 664 "Gmsh.y" { List_Add(ActualView->VS, &yyvsp[-23].d); List_Add(ActualView->VS, &yyvsp[-17].d); @@ -3756,21 +3764,21 @@ case 125: List_Add(ActualView->VS, &yyvsp[-7].d); List_Add(ActualView->VS, &yyvsp[-1].d); ; break;} -case 126: +case 125: #line 673 "Gmsh.y" { ActualView->NbVS++ ; ; break;} -case 127: +case 126: #line 680 "Gmsh.y" { List_Add(ActualView->TS, &yyvsp[0].d) ; ; break;} -case 128: +case 127: #line 682 "Gmsh.y" { List_Add(ActualView->TS, &yyvsp[0].d) ; ; break;} -case 129: +case 128: #line 690 "Gmsh.y" { List_Add(ActualView->TS, &yyvsp[-23].d); List_Add(ActualView->TS, &yyvsp[-17].d); @@ -3781,13 +3789,13 @@ case 129: List_Add(ActualView->TS, &yyvsp[-7].d); List_Add(ActualView->TS, &yyvsp[-1].d); ; break;} -case 130: +case 129: #line 699 "Gmsh.y" { ActualView->NbTS++ ; ; break;} -case 131: +case 130: #line 715 "Gmsh.y" { TheSymbol.Name = yyvsp[-3].c; @@ -3795,7 +3803,7 @@ case 131: List_Replace(Symbol_L,&TheSymbol,CompareSymbols); ; break;} -case 132: +case 131: #line 721 "Gmsh.y" { TheSymbol.Name = yyvsp[-2].c ; @@ -3805,7 +3813,7 @@ case 132: pSymbol->val += 1. ; ; break;} -case 133: +case 132: #line 729 "Gmsh.y" { TheSymbol.Name = yyvsp[-2].c ; @@ -3815,7 +3823,7 @@ case 133: pSymbol->val -= 1. ; ; break;} -case 134: +case 133: #line 737 "Gmsh.y" { TheSymbol.Name = yyvsp[-3].c ; @@ -3825,7 +3833,7 @@ case 134: pSymbol->val += yyvsp[-1].d ; ; break;} -case 135: +case 134: #line 745 "Gmsh.y" { TheSymbol.Name = yyvsp[-3].c ; @@ -3835,7 +3843,7 @@ case 135: pSymbol->val -= yyvsp[-1].d ; ; break;} -case 136: +case 135: #line 753 "Gmsh.y" { TheSymbol.Name = yyvsp[-3].c ; @@ -3845,7 +3853,7 @@ case 136: pSymbol->val *= yyvsp[-1].d ; ; break;} -case 137: +case 136: #line 761 "Gmsh.y" { TheSymbol.Name = yyvsp[-3].c ; @@ -3855,7 +3863,7 @@ case 137: pSymbol->val /= yyvsp[-1].d ; ; break;} -case 138: +case 137: #line 772 "Gmsh.y" { if(!(pStrCat = Get_StringOptionCategory(yyvsp[-5].c))) @@ -3869,7 +3877,7 @@ case 138: } ; break;} -case 139: +case 138: #line 785 "Gmsh.y" { if(strcmp(yyvsp[-10].c, "PostProcessing")) @@ -3886,7 +3894,7 @@ case 139: } ; break;} -case 140: +case 139: #line 803 "Gmsh.y" { if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-5].c))) @@ -3905,7 +3913,7 @@ case 140: } ; break;} -case 141: +case 140: #line 820 "Gmsh.y" { if(strcmp(yyvsp[-10].c, "PostProcessing")) @@ -3927,7 +3935,7 @@ case 141: } ; break;} -case 142: +case 141: #line 841 "Gmsh.y" { if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-5].c))) @@ -3946,7 +3954,7 @@ case 142: } ; break;} -case 143: +case 142: #line 858 "Gmsh.y" { if(strcmp(yyvsp[-10].c, "PostProcessing")) @@ -3968,7 +3976,7 @@ case 143: } ; break;} -case 144: +case 143: #line 879 "Gmsh.y" { if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-5].c))) @@ -3987,7 +3995,7 @@ case 144: } ; break;} -case 145: +case 144: #line 896 "Gmsh.y" { if(strcmp(yyvsp[-10].c, "PostProcessing")) @@ -4009,7 +4017,7 @@ case 145: } ; break;} -case 146: +case 145: #line 917 "Gmsh.y" { if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-5].c))) @@ -4028,7 +4036,7 @@ case 146: } ; break;} -case 147: +case 146: #line 934 "Gmsh.y" { if(strcmp(yyvsp[-10].c, "PostProcessing")) @@ -4050,7 +4058,7 @@ case 147: } ; break;} -case 148: +case 147: #line 955 "Gmsh.y" { if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-5].c))) @@ -4069,7 +4077,7 @@ case 148: } ; break;} -case 149: +case 148: #line 972 "Gmsh.y" { if(strcmp(yyvsp[-10].c, "PostProcessing")) @@ -4091,7 +4099,7 @@ case 149: } ; break;} -case 150: +case 149: #line 993 "Gmsh.y" { if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-4].c))) @@ -4110,7 +4118,7 @@ case 150: } ; break;} -case 151: +case 150: #line 1010 "Gmsh.y" { if(strcmp(yyvsp[-10].c, "PostProcessing")) @@ -4132,7 +4140,7 @@ case 151: } ; break;} -case 152: +case 151: #line 1031 "Gmsh.y" { if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-4].c))) @@ -4151,7 +4159,7 @@ case 152: } ; break;} -case 153: +case 152: #line 1048 "Gmsh.y" { if(strcmp(yyvsp[-10].c, "PostProcessing")) @@ -4173,7 +4181,7 @@ case 153: } ; break;} -case 154: +case 153: #line 1071 "Gmsh.y" { if(!(pArrCat = Get_ArrayOptionCategory(yyvsp[-5].c))) @@ -4200,7 +4208,7 @@ case 154: } ; break;} -case 155: +case 154: #line 1096 "Gmsh.y" { if(strcmp(yyvsp[-10].c, "PostProcessing")) @@ -4230,7 +4238,7 @@ case 155: } ; break;} -case 156: +case 155: #line 1125 "Gmsh.y" { if(!(pArrCat = Get_ArrayOptionCategory(yyvsp[-5].c))) @@ -4257,7 +4265,7 @@ case 156: } ; break;} -case 157: +case 156: #line 1150 "Gmsh.y" { if(strcmp(yyvsp[-10].c, "PostProcessing")) @@ -4287,7 +4295,7 @@ case 157: } ; break;} -case 158: +case 157: #line 1179 "Gmsh.y" { if(!(pArrCat = Get_ArrayOptionCategory(yyvsp[-5].c))) @@ -4314,7 +4322,7 @@ case 158: } ; break;} -case 159: +case 158: #line 1204 "Gmsh.y" { if(strcmp(yyvsp[-10].c, "PostProcessing")) @@ -4344,7 +4352,7 @@ case 159: } ; break;} -case 160: +case 159: #line 1235 "Gmsh.y" { if(!(pColCat = Get_ColorOptionCategory(yyvsp[-7].c))) @@ -4358,7 +4366,7 @@ case 160: } ; break;} -case 161: +case 160: #line 1248 "Gmsh.y" { if(strcmp(yyvsp[-10].c, "PostProcessing")) @@ -4378,7 +4386,7 @@ case 161: } ; break;} -case 162: +case 161: #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]); @@ -4386,7 +4394,7 @@ case 162: yyval.s.Num = (int)yyvsp[-4].d; ; break;} -case 163: +case 162: #line 1284 "Gmsh.y" { Cdbz101((int)yyvsp[-4].d,MSH_PHYSICAL_POINT,0,0,0,0,0,NULL,yyvsp[-1].l,NULL); @@ -4394,7 +4402,7 @@ case 163: yyval.s.Num = (int)yyvsp[-4].d; ; break;} -case 164: +case 163: #line 1290 "Gmsh.y" { Vertex *v; @@ -4415,7 +4423,7 @@ case 164: } ; break;} -case 165: +case 164: #line 1309 "Gmsh.y" { for(i=0;i<List_Nbr(yyvsp[-3].l);i++){ @@ -4428,14 +4436,14 @@ case 165: } ; break;} -case 166: +case 165: #line 1320 "Gmsh.y" { yyval.s.Type = MSH_POINT; yyval.s.Num = (int)yyvsp[-2].d; ; break;} -case 167: +case 166: #line 1328 "Gmsh.y" { Cdbseg101((int)yyvsp[-4].d,MSH_SEGM_LINE,1,yyvsp[-1].l,NULL,-1,-1,0.,1.,NULL,NULL,NULL); @@ -4443,7 +4451,7 @@ case 167: yyval.s.Num = (int)yyvsp[-4].d; ; break;} -case 168: +case 167: #line 1334 "Gmsh.y" { Cdbseg101((int)yyvsp[-4].d,MSH_SEGM_SPLN,3,yyvsp[-1].l,NULL,-1,-1,0.,1.,NULL,NULL,NULL); @@ -4451,7 +4459,7 @@ case 168: yyval.s.Num = (int)yyvsp[-4].d; ; break;} -case 169: +case 168: #line 1340 "Gmsh.y" { Curve *c; @@ -4472,7 +4480,7 @@ case 169: } ; break;} -case 170: +case 169: #line 1359 "Gmsh.y" { Cdbseg101((int)yyvsp[-4].d,MSH_SEGM_CIRC,2,yyvsp[-1].l,NULL,-1,-1,0.,1.,NULL,NULL,NULL); @@ -4480,7 +4488,7 @@ case 170: yyval.s.Num = (int)yyvsp[-4].d; ; break;} -case 171: +case 170: #line 1365 "Gmsh.y" { List_T *temp; @@ -4498,7 +4506,7 @@ case 171: yyval.s.Num = (int)yyvsp[-6].d; ; break;} -case 172: +case 171: #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); @@ -4506,7 +4514,7 @@ case 172: yyval.s.Num = (int)yyvsp[-14].d; ; break;} -case 173: +case 172: #line 1388 "Gmsh.y" { Cdbseg101((int)yyvsp[-4].d,MSH_SEGM_ELLI,2,yyvsp[-1].l,NULL,-1,-1,0.,1.,NULL,NULL,NULL); @@ -4514,7 +4522,7 @@ case 173: yyval.s.Num = (int)yyvsp[-4].d; ; break;} -case 174: +case 173: #line 1394 "Gmsh.y" { Cdbz101((int)yyvsp[-4].d,MSH_PHYSICAL_LINE,0,0,0,0,0,NULL,yyvsp[-1].l,NULL); @@ -4522,7 +4530,7 @@ case 174: yyval.s.Num = (int)yyvsp[-4].d; ; break;} -case 175: +case 174: #line 1400 "Gmsh.y" { yyval.s.Type = MSH_SEGM_LOOP; @@ -4530,7 +4538,7 @@ case 175: yyval.s.Num = (int)yyvsp[-4].d; ; break;} -case 176: +case 175: #line 1406 "Gmsh.y" { Cdbseg101((int)yyvsp[-4].d,MSH_SEGM_BSPLN,2,yyvsp[-1].l,NULL,-1,-1,0.,1.,NULL,NULL,NULL); @@ -4538,7 +4546,7 @@ case 176: yyval.s.Num = (int)yyvsp[-4].d; ; break;} -case 177: +case 176: #line 1412 "Gmsh.y" { List_T *Temp; @@ -4559,7 +4567,7 @@ case 177: List_Delete(Temp); ; break;} -case 178: +case 177: #line 1431 "Gmsh.y" { yyval.s.Num = (int)yyvsp[-2].d; @@ -4570,7 +4578,7 @@ case 178: yyval.s.Type = c->Typ; ; break;} -case 179: +case 178: #line 1443 "Gmsh.y" { Cdbz101((int)yyvsp[-4].d,MSH_SURF_PLAN,0,0,0,0,0,NULL,yyvsp[-1].l,NULL); @@ -4578,7 +4586,7 @@ case 179: yyval.s.Num = (int)yyvsp[-4].d; ; break;} -case 180: +case 179: #line 1449 "Gmsh.y" { Surface *s,*support; @@ -4599,7 +4607,7 @@ case 180: } ; break;} -case 181: +case 180: #line 1468 "Gmsh.y" { List_Read(yyvsp[-1].l,0,&d); @@ -4622,7 +4630,7 @@ case 181: } ; break;} -case 182: +case 181: #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); @@ -4630,13 +4638,13 @@ case 182: yyval.s.Num = (int)yyvsp[-16].d; ; break;} -case 183: +case 182: #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: +case 183: #line 1503 "Gmsh.y" { Cdbz101((int)yyvsp[-4].d,MSH_PHYSICAL_SURFACE,0,0,0,0,0,NULL,yyvsp[-1].l,NULL); @@ -4644,7 +4652,7 @@ case 184: yyval.s.Num = (int)yyvsp[-4].d; ; break;} -case 185: +case 184: #line 1509 "Gmsh.y" { Cdbz101((int)yyvsp[-4].d,MSH_SURF_LOOP,0,0,0,0,0,NULL,yyvsp[-1].l,NULL); @@ -4652,7 +4660,7 @@ case 185: yyval.s.Num = (int)yyvsp[-4].d; ; break;} -case 186: +case 185: #line 1515 "Gmsh.y" { yyval.s.Num = (int)yyvsp[-2].d; @@ -4663,7 +4671,7 @@ case 186: yyval.s.Type = s->Typ; ; break;} -case 187: +case 186: #line 1527 "Gmsh.y" { Cdbz101((int)yyvsp[-4].d,MSH_VOLUME,0,0,0,0,0,NULL,yyvsp[-1].l,NULL); @@ -4671,7 +4679,7 @@ case 187: yyval.s.Num = (int)yyvsp[-4].d; ; break;} -case 188: +case 187: #line 1533 "Gmsh.y" { Cdbz101((int)yyvsp[-4].d,MSH_VOLUME,0,0,0,0,0,NULL,yyvsp[-1].l,NULL); @@ -4679,7 +4687,7 @@ case 188: yyval.s.Num = (int)yyvsp[-4].d; ; break;} -case 189: +case 188: #line 1539 "Gmsh.y" { Cdbz101((int)yyvsp[-4].d,MSH_PHYSICAL_VOLUME,0,0,0,0,0,NULL,yyvsp[-1].l,NULL); @@ -4687,60 +4695,60 @@ case 189: yyval.s.Num = (int)yyvsp[-4].d; ; break;} -case 190: +case 189: #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: +case 190: #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: +case 191: #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: +case 192: #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: +case 193: #line 1574 "Gmsh.y" { yyval.l = yyvsp[0].l; ; break;} -case 195: +case 194: #line 1575 "Gmsh.y" { yyval.l = yyvsp[0].l; ; break;} -case 196: +case 195: #line 1576 "Gmsh.y" { yyval.l = yyvsp[0].l; ; break;} -case 197: +case 196: #line 1581 "Gmsh.y" { yyval.l = List_Create(3,3,sizeof(Shape)); ; break;} -case 198: +case 197: #line 1585 "Gmsh.y" { List_Add(yyval.l,&yyvsp[0].s); yyval.l = yyvsp[-1].l; ; break;} -case 199: +case 198: #line 1597 "Gmsh.y" { yyval.l = List_Create(3,3,sizeof(Shape)); @@ -4752,7 +4760,7 @@ case 199: } ; break;} -case 200: +case 199: #line 1615 "Gmsh.y" { for(i=0;i<List_Nbr(yyvsp[-1].l);i++){ @@ -4761,101 +4769,121 @@ case 200: } ; break;} -case 201: +case 200: #line 1630 "Gmsh.y" { - yyinTab[RecursionLevel++] = yyin; - strcpy(tmpstring, ThePathForIncludes); - if((yyin = fopen(strcat(tmpstring,yyvsp[-1].c),"r"))){ - strcpy(yynameTab[RecursionLevel-1],yyname); - yylinenoTab[RecursionLevel-1]=yylineno; - yylineno=1; - strcpy(yyname,yyvsp[-1].c); - while(!feof(yyin)){ - yyparse(); + if(!strcmp(yyvsp[-2].c, "Include")){ + + yyinTab[RecursionLevel++] = yyin; + strcpy(tmpstring, ThePathForIncludes); + if((yyin = fopen(strcat(tmpstring,yyvsp[-1].c),"r"))){ + strcpy(yynameTab[RecursionLevel-1],yyname); + yylinenoTab[RecursionLevel-1]=yylineno; + yylineno=1; + strcpy(yyname,yyvsp[-1].c); + while(!feof(yyin)){ + yyparse(); + } + fclose(yyin); + yyin = yyinTab[--RecursionLevel]; + strcpy(yyname,yynameTab[RecursionLevel]); + yylineno = yylinenoTab[RecursionLevel]; } - fclose(yyin); - yyin = yyinTab[--RecursionLevel]; - strcpy(yyname,yynameTab[RecursionLevel]); - yylineno = yylinenoTab[RecursionLevel]; + else{ + vyyerror("Unknown File '%s'", yyvsp[-1].c) ; + yyin = yyinTab[--RecursionLevel]; + } + } - else{ - vyyerror("Unknown File '%s'", yyvsp[-1].c) ; - yyin = yyinTab[--RecursionLevel]; + else if(!strcmp(yyvsp[-2].c, "Print")){ + + if(!CTX.interactive){ // we're in interactive mode + char ext[6]; + strcpy(ext,yyvsp[-1].c+(strlen(yyvsp[-1].c)-4)); + Replot(); + extern void CreateImage (char *name, FILE *fp); + FILE *fp = 0; + if(!strcmp(ext,".gif")){ + fp = fopen(yyvsp[-1].c,"wb"); + CTX.print.type = PRINT_GL2GIF; + } + else if(!strcmp(ext,".eps")){ + fp = fopen(yyvsp[-1].c,"w"); + CTX.print.type = PRINT_GL2PS_RECURSIVE; + } + else if(!strcmp(ext,".xpm")){ + fp = fopen(yyvsp[-1].c,"wb"); + CTX.print.type = PRINT_XDUMP; + CTX.print.format = FORMAT_XPM; + } + if(fp){ + CreateImage(yyvsp[-1].c,fp); + fclose(fp); + } + } + + } + else if(!strcmp(yyvsp[-2].c, "Merge")){ + + FILE *ff = yyin; + MergeProblem(yyvsp[-1].c); + yyin = ff; + + } + else if(!strcmp(yyvsp[-2].c, "Save")){ + + Print_Mesh(THEM, yyvsp[-1].c, CTX.mesh.format); + } + else + vyyerror("Unknown Command '%s'", yyvsp[-2].c); ; break;} -case 202: -#line 1658 "Gmsh.y" -{ - if(!CTX.interactive){ // we're in interactive mode - char ext[6]; - strcpy(ext,yyvsp[-1].c+(strlen(yyvsp[-1].c)-4)); - Replot(); - extern void CreateImage (FILE *fp); - FILE *fp = 0; - if(!strcmp(ext,".gif")){ - fp = fopen(yyvsp[-1].c,"wb"); - CTX.print.type = PRINT_GL2GIF; - } - else if(!strcmp(ext,".eps")){ - fp = fopen(yyvsp[-1].c,"w"); - CTX.print.type = PRINT_GL2PS_RECURSIVE; - } - else if(!strcmp(ext,".xpm")){ - fp = fopen(yyvsp[-1].c,"wb"); - CTX.print.type = PRINT_XDUMP; - CTX.print.format = FORMAT_XPM; - } - - if(fp){ - CreateImage(fp); - fclose(fp); - } - } - ; - break;} -case 203: -#line 1686 "Gmsh.y" +case 201: +#line 1698 "Gmsh.y" { - exit(0); - ; + if(!strcmp(yyvsp[-2].c, "Sleep")){ + + extern long Get_AnimTime(); + long sleep_time = Get_AnimTime(); + while(1){ + if(Get_AnimTime() - sleep_time > (long)(yyvsp[-1].d*1.e6)) break; + } + + } + else if(!strcmp(yyvsp[-2].c, "Mesh")){ + + Maillage_Dimension_0(THEM); + mai3d(THEM,(int)yyvsp[-1].d); + + } + else + vyyerror("Unknown Command '%s'", yyvsp[-2].c); + ; break;} -case 204: -#line 1690 "Gmsh.y" +case 202: +#line 1718 "Gmsh.y" { - FILE *ff = yyin; - MergeProblem(yyvsp[-1].c); - yyin = ff; - ; - break;} -case 205: -#line 1696 "Gmsh.y" -{ - if(!CTX.interactive){ // we're in interactive mode - if(Tree_Nbr(THEM->Points) != Last_NumberOfPoints){ - Last_NumberOfPoints = Tree_Nbr(THEM->Points); - Replot(); - } - else{ - Init(); - Draw(); - } - } - ; + exit(0); + ; break;} -case 206: -#line 1709 "Gmsh.y" +case 203: +#line 1722 "Gmsh.y" { - extern long Get_AnimTime(); - long sleep_time = Get_AnimTime(); - while(1){ - if(Get_AnimTime() - sleep_time > (long)(yyvsp[-1].d*1.e6)) break; - } - ; + if(!CTX.interactive){ // we're in interactive mode + if(Tree_Nbr(THEM->Points) != Last_NumberOfPoints){ + Last_NumberOfPoints = Tree_Nbr(THEM->Points); + Replot(); + } + else{ + Init(); + Draw(); + } + } + ; break;} -case 207: -#line 1725 "Gmsh.y" +case 204: +#line 1743 "Gmsh.y" { FILE* ff; if(RecursionLevel) @@ -4870,8 +4898,8 @@ case 207: fgetpos( ff, &yyposImbricatedLoopsTab[ImbricatedLoop++]); ; break;} -case 208: -#line 1739 "Gmsh.y" +case 205: +#line 1757 "Gmsh.y" { FILE* ff; if(RecursionLevel) @@ -4886,8 +4914,8 @@ case 208: fgetpos( ff, &yyposImbricatedLoopsTab[ImbricatedLoop++]); ; break;} -case 209: -#line 1753 "Gmsh.y" +case 206: +#line 1771 "Gmsh.y" { FILE* ff; if(RecursionLevel) @@ -4910,8 +4938,8 @@ case 209: fgetpos( ff, &yyposImbricatedLoopsTab[ImbricatedLoop++]); ; break;} -case 210: -#line 1775 "Gmsh.y" +case 207: +#line 1793 "Gmsh.y" { FILE* ff; if(RecursionLevel) @@ -4934,8 +4962,8 @@ case 210: fgetpos( ff, &yyposImbricatedLoopsTab[ImbricatedLoop++]); ; break;} -case 211: -#line 1797 "Gmsh.y" +case 208: +#line 1815 "Gmsh.y" { if(LoopControlVariablesTab[ImbricatedLoop-1][1] > LoopControlVariablesTab[ImbricatedLoop-1][0]){ @@ -4962,8 +4990,8 @@ case 211: } ; break;} -case 212: -#line 1823 "Gmsh.y" +case 209: +#line 1841 "Gmsh.y" { if(!FunctionManager::Instance()->leaveFunction(&yyin,yylineno)) { @@ -4971,8 +4999,8 @@ case 212: } ; break;} -case 213: -#line 1830 "Gmsh.y" +case 210: +#line 1848 "Gmsh.y" { if(!FunctionManager::Instance()->enterFunction(yyvsp[-1].c,&yyin,yylineno)) { @@ -4980,8 +5008,8 @@ case 213: } ; break;} -case 214: -#line 1837 "Gmsh.y" +case 211: +#line 1855 "Gmsh.y" { // skip everything until return is found if(!FunctionManager::Instance()->createFunction(yyvsp[0].c,yyin,yylineno)) @@ -4992,71 +5020,71 @@ case 214: skip_until("Return"); ; break;} -case 215: -#line 1867 "Gmsh.y" +case 212: +#line 1873 "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 216: -#line 1872 "Gmsh.y" +case 213: +#line 1878 "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 217: -#line 1878 "Gmsh.y" +case 214: +#line 1884 "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 218: -#line 1882 "Gmsh.y" +case 215: +#line 1888 "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 219: -#line 1886 "Gmsh.y" +case 216: +#line 1892 "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 220: -#line 1890 "Gmsh.y" +case 217: +#line 1896 "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 221: -#line 1894 "Gmsh.y" +case 218: +#line 1900 "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 222: -#line 1899 "Gmsh.y" +case 219: +#line 1905 "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 223: -#line 1907 "Gmsh.y" +case 220: +#line 1913 "Gmsh.y" { ; break;} -case 224: -#line 1910 "Gmsh.y" +case 221: +#line 1916 "Gmsh.y" { ; break;} -case 225: -#line 1916 "Gmsh.y" +case 222: +#line 1922 "Gmsh.y" { double d; int j; @@ -5074,14 +5102,14 @@ case 225: } ; break;} -case 226: -#line 1933 "Gmsh.y" +case 223: +#line 1939 "Gmsh.y" { extr.mesh.Recombine = true; ; break;} -case 227: -#line 1944 "Gmsh.y" +case 224: +#line 1950 "Gmsh.y" { Curve *c; for(i=0;i<List_Nbr(yyvsp[-3].l);i++){ @@ -5099,8 +5127,8 @@ case 227: } ; break;} -case 228: -#line 1961 "Gmsh.y" +case 225: +#line 1967 "Gmsh.y" { Curve *c; for(i=0;i<List_Nbr(yyvsp[-6].l);i++){ @@ -5118,8 +5146,8 @@ case 228: } ; break;} -case 229: -#line 1978 "Gmsh.y" +case 226: +#line 1984 "Gmsh.y" { Curve *c; for(i=0;i<List_Nbr(yyvsp[-6].l);i++){ @@ -5137,8 +5165,8 @@ case 229: } ; break;} -case 230: -#line 1995 "Gmsh.y" +case 227: +#line 2001 "Gmsh.y" { Surface *s = FindSurface((int)yyvsp[-4].d,THEM); if(!s) @@ -5160,8 +5188,8 @@ case 230: } ; break;} -case 231: -#line 2016 "Gmsh.y" +case 228: +#line 2022 "Gmsh.y" { Surface *s = FindSurface((int)yyvsp[-4].d,THEM); if(!s) @@ -5182,8 +5210,8 @@ case 231: } ; break;} -case 232: -#line 2036 "Gmsh.y" +case 229: +#line 2042 "Gmsh.y" { Volume *v = FindVolume((int)yyvsp[-4].d,THEM); if(!v) @@ -5204,8 +5232,8 @@ case 232: } ; break;} -case 233: -#line 2056 "Gmsh.y" +case 230: +#line 2062 "Gmsh.y" { Surface *s; for(i=0;i<List_Nbr(yyvsp[-3].l);i++){ @@ -5223,8 +5251,8 @@ case 233: } ; break;} -case 234: -#line 2073 "Gmsh.y" +case 231: +#line 2079 "Gmsh.y" { Surface *s; for(i=0;i<List_Nbr(yyvsp[-1].l);i++){ @@ -5242,206 +5270,206 @@ case 234: } ; break;} -case 235: -#line 2098 "Gmsh.y" +case 232: +#line 2104 "Gmsh.y" { Coherence_PS(); ; break;} -case 236: -#line 2110 "Gmsh.y" +case 233: +#line 2116 "Gmsh.y" {yyval.i = 1;; break;} -case 237: -#line 2111 "Gmsh.y" +case 234: +#line 2117 "Gmsh.y" {yyval.i = 0;; break;} -case 238: -#line 2112 "Gmsh.y" +case 235: +#line 2118 "Gmsh.y" {yyval.i = -1;; break;} -case 239: -#line 2113 "Gmsh.y" +case 236: +#line 2119 "Gmsh.y" {yyval.i = -1;; break;} -case 240: -#line 2114 "Gmsh.y" +case 237: +#line 2120 "Gmsh.y" {yyval.i = -1;; break;} -case 241: -#line 2118 "Gmsh.y" +case 238: +#line 2124 "Gmsh.y" { yyval.d = yyvsp[0].d; ; break;} -case 242: -#line 2119 "Gmsh.y" +case 239: +#line 2125 "Gmsh.y" { yyval.d = yyvsp[-1].d ; ; break;} -case 243: -#line 2120 "Gmsh.y" +case 240: +#line 2126 "Gmsh.y" { yyval.d = -yyvsp[0].d ; ; break;} -case 244: -#line 2121 "Gmsh.y" +case 241: +#line 2127 "Gmsh.y" { yyval.d = yyvsp[0].d; ; break;} -case 245: -#line 2122 "Gmsh.y" +case 242: +#line 2128 "Gmsh.y" { yyval.d = !yyvsp[0].d ; ; break;} -case 246: -#line 2123 "Gmsh.y" +case 243: +#line 2129 "Gmsh.y" { yyval.d = yyvsp[-2].d - yyvsp[0].d ; ; break;} -case 247: -#line 2124 "Gmsh.y" +case 244: +#line 2130 "Gmsh.y" { yyval.d = yyvsp[-2].d + yyvsp[0].d ; ; break;} -case 248: -#line 2125 "Gmsh.y" +case 245: +#line 2131 "Gmsh.y" { yyval.d = yyvsp[-2].d * yyvsp[0].d ; ; break;} -case 249: -#line 2126 "Gmsh.y" +case 246: +#line 2132 "Gmsh.y" { yyval.d = yyvsp[-2].d / yyvsp[0].d ; ; break;} -case 250: -#line 2127 "Gmsh.y" +case 247: +#line 2133 "Gmsh.y" { yyval.d = (int)yyvsp[-2].d % (int)yyvsp[0].d ; ; break;} -case 251: -#line 2128 "Gmsh.y" +case 248: +#line 2134 "Gmsh.y" { yyval.d = pow(yyvsp[-2].d,yyvsp[0].d) ; ; break;} -case 252: -#line 2129 "Gmsh.y" +case 249: +#line 2135 "Gmsh.y" { yyval.d = yyvsp[-2].d < yyvsp[0].d ; ; break;} -case 253: -#line 2130 "Gmsh.y" +case 250: +#line 2136 "Gmsh.y" { yyval.d = yyvsp[-2].d > yyvsp[0].d ; ; break;} -case 254: -#line 2131 "Gmsh.y" +case 251: +#line 2137 "Gmsh.y" { yyval.d = yyvsp[-2].d <= yyvsp[0].d ; ; break;} -case 255: -#line 2132 "Gmsh.y" +case 252: +#line 2138 "Gmsh.y" { yyval.d = yyvsp[-2].d >= yyvsp[0].d ; ; break;} -case 256: -#line 2133 "Gmsh.y" +case 253: +#line 2139 "Gmsh.y" { yyval.d = yyvsp[-2].d == yyvsp[0].d ; ; break;} -case 257: -#line 2134 "Gmsh.y" +case 254: +#line 2140 "Gmsh.y" { yyval.d = yyvsp[-2].d != yyvsp[0].d ; ; break;} -case 258: -#line 2135 "Gmsh.y" +case 255: +#line 2141 "Gmsh.y" { yyval.d = yyvsp[-2].d && yyvsp[0].d ; ; break;} -case 259: -#line 2136 "Gmsh.y" +case 256: +#line 2142 "Gmsh.y" { yyval.d = yyvsp[-2].d || yyvsp[0].d ; ; break;} -case 260: -#line 2137 "Gmsh.y" +case 257: +#line 2143 "Gmsh.y" { yyval.d = yyvsp[-4].d? yyvsp[-2].d : yyvsp[0].d ; ; break;} -case 261: -#line 2138 "Gmsh.y" +case 258: +#line 2144 "Gmsh.y" { yyval.d = exp(yyvsp[-1].d); ; break;} -case 262: -#line 2139 "Gmsh.y" +case 259: +#line 2145 "Gmsh.y" { yyval.d = log(yyvsp[-1].d); ; break;} -case 263: -#line 2140 "Gmsh.y" +case 260: +#line 2146 "Gmsh.y" { yyval.d = log10(yyvsp[-1].d); ; break;} -case 264: -#line 2141 "Gmsh.y" +case 261: +#line 2147 "Gmsh.y" { yyval.d = sqrt(yyvsp[-1].d); ; break;} -case 265: -#line 2142 "Gmsh.y" +case 262: +#line 2148 "Gmsh.y" { yyval.d = sin(yyvsp[-1].d); ; break;} -case 266: -#line 2143 "Gmsh.y" +case 263: +#line 2149 "Gmsh.y" { yyval.d = asin(yyvsp[-1].d); ; break;} -case 267: -#line 2144 "Gmsh.y" +case 264: +#line 2150 "Gmsh.y" { yyval.d = cos(yyvsp[-1].d); ; break;} -case 268: -#line 2145 "Gmsh.y" +case 265: +#line 2151 "Gmsh.y" { yyval.d = acos(yyvsp[-1].d); ; break;} -case 269: -#line 2146 "Gmsh.y" +case 266: +#line 2152 "Gmsh.y" { yyval.d = tan(yyvsp[-1].d); ; break;} -case 270: -#line 2147 "Gmsh.y" +case 267: +#line 2153 "Gmsh.y" { yyval.d = atan(yyvsp[-1].d); ; break;} -case 271: -#line 2148 "Gmsh.y" +case 268: +#line 2154 "Gmsh.y" { yyval.d = atan2(yyvsp[-3].d,yyvsp[-1].d); ; break;} -case 272: -#line 2149 "Gmsh.y" +case 269: +#line 2155 "Gmsh.y" { yyval.d = sinh(yyvsp[-1].d); ; break;} -case 273: -#line 2150 "Gmsh.y" +case 270: +#line 2156 "Gmsh.y" { yyval.d = cosh(yyvsp[-1].d); ; break;} -case 274: -#line 2151 "Gmsh.y" +case 271: +#line 2157 "Gmsh.y" { yyval.d = tanh(yyvsp[-1].d); ; break;} -case 275: -#line 2152 "Gmsh.y" +case 272: +#line 2158 "Gmsh.y" { yyval.d = fabs(yyvsp[-1].d); ; break;} -case 276: -#line 2153 "Gmsh.y" +case 273: +#line 2159 "Gmsh.y" { yyval.d = floor(yyvsp[-1].d); ; break;} -case 277: -#line 2154 "Gmsh.y" +case 274: +#line 2160 "Gmsh.y" { yyval.d = ceil(yyvsp[-1].d); ; break;} -case 278: -#line 2155 "Gmsh.y" +case 275: +#line 2161 "Gmsh.y" { yyval.d = fmod(yyvsp[-3].d,yyvsp[-1].d); ; break;} -case 279: -#line 2156 "Gmsh.y" +case 276: +#line 2162 "Gmsh.y" { yyval.d = fmod(yyvsp[-3].d,yyvsp[-1].d); ; break;} -case 280: -#line 2157 "Gmsh.y" +case 277: +#line 2163 "Gmsh.y" { yyval.d = sqrt(yyvsp[-3].d*yyvsp[-3].d+yyvsp[-1].d*yyvsp[-1].d); ; break;} -case 281: -#line 2158 "Gmsh.y" +case 278: +#line 2164 "Gmsh.y" { yyval.d = yyvsp[-1].d*(double)rand()/(double)RAND_MAX; ; break;} -case 282: -#line 2162 "Gmsh.y" +case 279: +#line 2168 "Gmsh.y" { yyval.d = yyvsp[0].d; ; break;} -case 283: -#line 2163 "Gmsh.y" +case 280: +#line 2169 "Gmsh.y" { yyval.d = 3.141592653589793; ; break;} -case 284: -#line 2165 "Gmsh.y" +case 281: +#line 2171 "Gmsh.y" { TheSymbol.Name = yyvsp[0].c ; if (!List_Query(Symbol_L, &TheSymbol, CompareSymbols)) { @@ -5451,8 +5479,8 @@ case 284: Free(yyvsp[0].c); ; break;} -case 285: -#line 2174 "Gmsh.y" +case 282: +#line 2180 "Gmsh.y" { if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-2].c))) vyyerror("Unknown Numeric Option Class '%s'", yyvsp[-2].c); @@ -5470,8 +5498,8 @@ case 285: } ; break;} -case 286: -#line 2191 "Gmsh.y" +case 283: +#line 2197 "Gmsh.y" { if(strcmp(yyvsp[-7].c, "PostProcessing")) vyyerror("Unknown View Option Class '%s'", yyvsp[-7].c); @@ -5492,8 +5520,8 @@ case 286: } ; break;} -case 287: -#line 2212 "Gmsh.y" +case 284: +#line 2218 "Gmsh.y" { if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-3].c))) vyyerror("Unknown Numeric Option Class '%s'", yyvsp[-3].c); @@ -5511,8 +5539,8 @@ case 287: } ; break;} -case 288: -#line 2229 "Gmsh.y" +case 285: +#line 2235 "Gmsh.y" { if(strcmp(yyvsp[-8].c, "PostProcessing")) vyyerror("Unknown View Option Class '%s'", yyvsp[-8].c); @@ -5533,8 +5561,8 @@ case 288: } ; break;} -case 289: -#line 2250 "Gmsh.y" +case 286: +#line 2256 "Gmsh.y" { if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-3].c))) vyyerror("Unknown Numeric Option Class '%s'", yyvsp[-3].c); @@ -5552,8 +5580,8 @@ case 289: } ; break;} -case 290: -#line 2267 "Gmsh.y" +case 287: +#line 2273 "Gmsh.y" { if(strcmp(yyvsp[-8].c, "PostProcessing")) vyyerror("Unknown View Option Class '%s'", yyvsp[-8].c); @@ -5574,16 +5602,16 @@ case 290: } ; break;} -case 291: -#line 2290 "Gmsh.y" +case 288: +#line 2296 "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 292: -#line 2296 "Gmsh.y" +case 289: +#line 2302 "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)){ @@ -5595,62 +5623,62 @@ case 292: List_Add(ListOfDouble2_L, &d) ; ; break;} -case 293: -#line 2310 "Gmsh.y" +case 290: +#line 2316 "Gmsh.y" { for(i=0 ; i<6 ; i++) yyval.v[i] = yyvsp[0].v[i]; ; break;} -case 294: -#line 2314 "Gmsh.y" +case 291: +#line 2320 "Gmsh.y" { for(i=0 ; i<6 ; i++) yyval.v[i] = -yyvsp[0].v[i] ; ; break;} -case 295: -#line 2318 "Gmsh.y" +case 292: +#line 2324 "Gmsh.y" { for(i=0 ; i<6 ; i++) yyval.v[i] = yyvsp[0].v[i]; ; break;} -case 296: -#line 2322 "Gmsh.y" +case 293: +#line 2328 "Gmsh.y" { for(i=0 ; i<6 ; i++) yyval.v[i] = yyvsp[-2].v[i] - yyvsp[0].v[i] ; ; break;} -case 297: -#line 2326 "Gmsh.y" +case 294: +#line 2332 "Gmsh.y" { for(i=0 ; i<6 ; i++) yyval.v[i] = yyvsp[-2].v[i] + yyvsp[0].v[i] ; ; break;} -case 298: -#line 2332 "Gmsh.y" +case 295: +#line 2338 "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 299: -#line 2336 "Gmsh.y" +case 296: +#line 2342 "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 300: -#line 2340 "Gmsh.y" +case 297: +#line 2346 "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 301: -#line 2344 "Gmsh.y" +case 298: +#line 2350 "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 302: -#line 2348 "Gmsh.y" +case 299: +#line 2354 "Gmsh.y" { if(!(pArrCat = Get_ArrayOptionCategory(yyvsp[-2].c))) vyyerror("Unknown Array Option Class '%s'", yyvsp[-2].c); @@ -5677,8 +5705,8 @@ case 302: } ; break;} -case 303: -#line 2374 "Gmsh.y" +case 300: +#line 2380 "Gmsh.y" { if(strcmp(yyvsp[-7].c, "PostProcessing")) vyyerror("Unknown View Option Class '%s'", yyvsp[-7].c); @@ -5709,84 +5737,84 @@ case 303: } ; break;} -case 304: -#line 2407 "Gmsh.y" +case 301: +#line 2413 "Gmsh.y" { ; break;} -case 305: -#line 2410 "Gmsh.y" +case 302: +#line 2416 "Gmsh.y" { ; break;} -case 306: -#line 2416 "Gmsh.y" +case 303: +#line 2422 "Gmsh.y" { ; break;} -case 307: -#line 2419 "Gmsh.y" +case 304: +#line 2425 "Gmsh.y" { ; break;} -case 308: -#line 2425 "Gmsh.y" +case 305: +#line 2431 "Gmsh.y" { ; break;} -case 309: -#line 2428 "Gmsh.y" +case 306: +#line 2434 "Gmsh.y" { yyval.l=ListOfListOfDouble_L; ; break;} -case 310: -#line 2432 "Gmsh.y" +case 307: +#line 2438 "Gmsh.y" { yyval.l=ListOfListOfDouble_L; ; break;} -case 311: -#line 2439 "Gmsh.y" +case 308: +#line 2445 "Gmsh.y" { ListOfListOfDouble_L = List_Create(2,1,sizeof(List_T*)) ; List_Add(ListOfListOfDouble_L, &(yyvsp[0].l)) ; ; break;} -case 312: -#line 2444 "Gmsh.y" +case 309: +#line 2450 "Gmsh.y" { List_Add(ListOfListOfDouble_L, &(yyvsp[0].l)) ; ; break;} -case 313: -#line 2451 "Gmsh.y" +case 310: +#line 2457 "Gmsh.y" { ; break;} -case 314: -#line 2454 "Gmsh.y" +case 311: +#line 2460 "Gmsh.y" { ListOfDouble_L = List_Create(2,1,sizeof(double)) ; List_Add(ListOfDouble_L, &(yyvsp[0].d)) ; yyval.l=ListOfDouble_L; ; break;} -case 315: -#line 2460 "Gmsh.y" +case 312: +#line 2466 "Gmsh.y" { yyval.l=ListOfDouble_L; ; break;} -case 316: -#line 2468 "Gmsh.y" +case 313: +#line 2474 "Gmsh.y" { ListOfDouble_L = List_Create(2,1,sizeof(double)) ; List_Add(ListOfDouble_L, &(yyvsp[0].d)) ; ; break;} -case 317: -#line 2473 "Gmsh.y" +case 314: +#line 2479 "Gmsh.y" { ListOfDouble_L = List_Create(2,1,sizeof(double)) ; for(i=0 ; i<List_Nbr(ListOfDouble2_L) ; i++){ @@ -5796,14 +5824,14 @@ case 317: List_Delete(ListOfDouble2_L); ; break;} -case 318: -#line 2482 "Gmsh.y" +case 315: +#line 2488 "Gmsh.y" { List_Add(ListOfDouble_L, &(yyvsp[0].d)) ; ; break;} -case 319: -#line 2486 "Gmsh.y" +case 316: +#line 2492 "Gmsh.y" { for(i=0 ; i<List_Nbr(ListOfDouble2_L) ; i++){ List_Read(ListOfDouble2_L, i, &d) ; @@ -5812,34 +5840,34 @@ case 319: List_Delete(ListOfDouble2_L); ; break;} -case 320: -#line 2497 "Gmsh.y" +case 317: +#line 2503 "Gmsh.y" { yyval.u = PACK_COLOR((int)yyvsp[-7].d, (int)yyvsp[-5].d, (int)yyvsp[-3].d, (int)yyvsp[-1].d); ; break;} -case 321: -#line 2501 "Gmsh.y" +case 318: +#line 2507 "Gmsh.y" { yyval.u = PACK_COLOR((int)yyvsp[-5].d, (int)yyvsp[-3].d, (int)yyvsp[-1].d, 255); ; break;} -case 322: -#line 2505 "Gmsh.y" +case 319: +#line 2511 "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 323: -#line 2510 "Gmsh.y" +case 320: +#line 2516 "Gmsh.y" { yyval.u = Get_ColorForString(ColorString, -1, yyvsp[0].c, &flag); if(flag) vyyerror("Unknown Color '%s'", yyvsp[0].c); ; break;} -case 324: -#line 2515 "Gmsh.y" +case 321: +#line 2521 "Gmsh.y" { if(!(pColCat = Get_ColorOptionCategory(yyvsp[-4].c))) vyyerror("Unknown Color Option Class '%s'", yyvsp[-4].c); @@ -5852,14 +5880,14 @@ case 324: } ; break;} -case 325: -#line 2531 "Gmsh.y" +case 322: +#line 2537 "Gmsh.y" { yyval.l = ListOfColor_L; ; break;} -case 326: -#line 2535 "Gmsh.y" +case 323: +#line 2541 "Gmsh.y" { if(!ListOfColor_L) ListOfColor_L = List_Create(256,10,sizeof(unsigned int)) ; @@ -5879,8 +5907,8 @@ case 326: yyval.l = ListOfColor_L; ; break;} -case 327: -#line 2557 "Gmsh.y" +case 324: +#line 2563 "Gmsh.y" { if(!ListOfColor_L) ListOfColor_L = List_Create(256,10,sizeof(unsigned int)) ; @@ -5889,12 +5917,26 @@ case 327: List_Add(ListOfColor_L, &(yyvsp[0].u)) ; ; break;} -case 328: -#line 2565 "Gmsh.y" +case 325: +#line 2571 "Gmsh.y" { List_Add(ListOfColor_L, &(yyvsp[0].u)) ; ; break;} +case 326: +#line 2578 "Gmsh.y" +{ + yyval.c = yyvsp[0].c; + ; + break;} +case 327: +#line 2582 "Gmsh.y" +{ + sprintf(tmpstring, yyvsp[-3].c, yyvsp[-1].d); + yyval.c = (char*)Malloc(strlen(tmpstring)); + strcpy(yyval.c, tmpstring); + ; + break;} } /* the action file gets copied in in place of this dollarsign */ #line 543 "/usr/lib/bison.simple" @@ -6117,7 +6159,7 @@ yyerrhandle: } return 1; } -#line 2571 "Gmsh.y" +#line 2589 "Gmsh.y" void InitSymbols(void){ diff --git a/Parser/Gmsh.tab.cpp.h b/Parser/Gmsh.tab.cpp.h index 9074a45604ca16749475cff9f066e33c06741335..0d59b9691851a7bbe6ee6aeaa9a119d798a51841 100644 --- a/Parser/Gmsh.tab.cpp.h +++ b/Parser/Gmsh.tab.cpp.h @@ -36,8 +36,8 @@ typedef union { #define tModulo 283 #define tHypot 284 #define tPrintf 285 -#define tDraw 286 -#define tSleep 287 +#define tSprintf 286 +#define tDraw 287 #define tPoint 288 #define tCircle 289 #define tEllipsis 290 @@ -64,109 +64,107 @@ typedef union { #define tExtrude 311 #define tDuplicata 312 #define tLoop 313 -#define tInclude 314 -#define tRecombine 315 -#define tDelete 316 -#define tCoherence 317 -#define tView 318 -#define tAttractor 319 -#define tLayers 320 -#define tScalarTetrahedron 321 -#define tVectorTetrahedron 322 -#define tTensorTetrahedron 323 -#define tScalarTriangle 324 -#define tVectorTriangle 325 -#define tTensorTriangle 326 -#define tScalarLine 327 -#define tVectorLine 328 -#define tTensorLine 329 -#define tScalarPoint 330 -#define tVectorPoint 331 -#define tTensorPoint 332 -#define tBSpline 333 -#define tNurbs 334 -#define tOrder 335 -#define tWith 336 -#define tBounds 337 -#define tKnots 338 -#define tColor 339 -#define tFor 340 -#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 +#define tRecombine 314 +#define tDelete 315 +#define tCoherence 316 +#define tView 317 +#define tAttractor 318 +#define tLayers 319 +#define tScalarTetrahedron 320 +#define tVectorTetrahedron 321 +#define tTensorTetrahedron 322 +#define tScalarTriangle 323 +#define tVectorTriangle 324 +#define tTensorTriangle 325 +#define tScalarLine 326 +#define tVectorLine 327 +#define tTensorLine 328 +#define tScalarPoint 329 +#define tVectorPoint 330 +#define tTensorPoint 331 +#define tBSpline 332 +#define tNurbs 333 +#define tOrder 334 +#define tWith 335 +#define tBounds 336 +#define tKnots 337 +#define tColor 338 +#define tFor 339 +#define tIn 340 +#define tEndFor 341 +#define tExit 342 +#define tMerge 343 +#define tReturn 344 +#define tCall 345 +#define tFunction 346 +#define tB_SPLINE_SURFACE_WITH_KNOTS 347 +#define tB_SPLINE_CURVE_WITH_KNOTS 348 +#define tCARTESIAN_POINT 349 +#define tTRUE 350 +#define tFALSE 351 +#define tUNSPECIFIED 352 +#define tU 353 +#define tV 354 +#define tEDGE_CURVE 355 +#define tVERTEX_POINT 356 +#define tORIENTED_EDGE 357 +#define tPLANE 358 +#define tFACE_OUTER_BOUND 359 +#define tEDGE_LOOP 360 +#define tADVANCED_FACE 361 +#define tVECTOR 362 +#define tDIRECTION 363 +#define tAXIS2_PLACEMENT_3D 364 +#define tISO 365 +#define tENDISO 366 +#define tENDSEC 367 +#define tDATA 368 +#define tHEADER 369 +#define tFILE_DESCRIPTION 370 +#define tFILE_SCHEMA 371 +#define tFILE_NAME 372 +#define tMANIFOLD_SOLID_BREP 373 +#define tCLOSED_SHELL 374 +#define tADVANCED_BREP_SHAPE_REPRESENTATION 375 +#define tFACE_BOUND 376 +#define tCYLINDRICAL_SURFACE 377 +#define tCONICAL_SURFACE 378 +#define tCIRCLE 379 +#define tTRIMMED_CURVE 380 +#define tGEOMETRIC_SET 381 +#define tCOMPOSITE_CURVE_SEGMENT 382 +#define tCONTINUOUS 383 +#define tCOMPOSITE_CURVE 384 +#define tTOROIDAL_SURFACE 385 +#define tPRODUCT_DEFINITION 386 +#define tPRODUCT_DEFINITION_SHAPE 387 +#define tSHAPE_DEFINITION_REPRESENTATION 388 +#define tELLIPSE 389 +#define tTrimmed 390 +#define tSolid 391 +#define tEndSolid 392 +#define tVertex 393 +#define tFacet 394 +#define tNormal 395 +#define tOuter 396 +#define tLoopSTL 397 +#define tEndLoop 398 +#define tEndFacet 399 +#define tAND 400 +#define tOR 401 +#define tNOTEQUAL 402 +#define tEQUAL 403 +#define tAPPROXEQUAL 404 +#define tAFFECTPLUS 405 +#define tAFFECTMINUS 406 +#define tAFFECTTIMES 407 +#define tAFFECTDIVIDE 408 +#define tLESSOREQUAL 409 +#define tGREATEROREQUAL 410 +#define tCROSSPRODUCT 411 +#define UNARYPREC 412 +#define tPLUSPLUS 413 +#define tMINUSMINUS 414 extern YYSTYPE yylval; diff --git a/Parser/Gmsh.y b/Parser/Gmsh.y index a579f6df28895fa564adb5463bb4f28007dda403..16df484b36259eb422e7a90da3a3e9db078fc34e 100644 --- a/Parser/Gmsh.y +++ b/Parser/Gmsh.y @@ -1,4 +1,4 @@ -%{ /* $Id: Gmsh.y,v 1.33 2000-12-09 15:21:17 geuzaine Exp $ */ +%{ /* $Id: Gmsh.y,v 1.34 2000-12-09 17:33:39 geuzaine Exp $ */ #include <stdarg.h> @@ -76,20 +76,20 @@ void vyyerror (char *fmt, ...); %token tEND tAFFECT tDOTS tPi %token tExp tLog tLog10 tSqrt tSin tAsin tCos tAcos tTan tRand %token tAtan tAtan2 tSinh tCosh tTanh tFabs tFloor tCeil -%token tFmod tModulo tHypot tPrintf tDraw tSleep +%token tFmod tModulo tHypot tPrintf tSprintf tDraw %token tPoint tCircle tEllipsis tLine tSurface tSpline tVolume %token tCharacteristic tLength tParametric tElliptic %token tPlane tRuled tTransfinite tComplex tPhysical %token tUsing tBump tProgression %token tRotate tTranslate tSymmetry tDilate tExtrude tDuplicata -%token tLoop tInclude tRecombine tDelete tCoherence +%token tLoop tRecombine tDelete tCoherence %token tView tAttractor tLayers %token tScalarTetrahedron tVectorTetrahedron tTensorTetrahedron %token tScalarTriangle tVectorTriangle tTensorTriangle %token tScalarLine tVectorLine tTensorLine %token tScalarPoint tVectorPoint tTensorPoint %token tBSpline tNurbs tOrder tWith tBounds tKnots -%token tColor tFor tIn tEndFor tScript tExit tMerge +%token tColor tFor tIn tEndFor tExit tMerge %token tReturn tCall tFunction %token tB_SPLINE_SURFACE_WITH_KNOTS @@ -108,11 +108,12 @@ void vyyerror (char *fmt, ...); %type <d> FExpr FExpr_Single %type <v> VExpr VExpr_Single +%type <i> BoolExpr +%type <u> ColorExpr +%type <c> StringExpr %type <l> ListOfShapes Duplicata Transform MultipleShape %type <l> ListOfStrings ListOfDouble ListOfListOfDouble ListOfColor %type <s> Shape -%type <i> BoolExpr -%type <u> Color /* A VERFIFIER ! Je n'ai pas le bouquin sous les yeux */ @@ -380,7 +381,6 @@ GeomFormat : | Extrude { return 1; } | Transfini { return 1; } | Coherence { return 1; } - | Macro { return 1; } | Loop {return 1;} /* | Script { return 1; }*/ | Command { return 1; } @@ -1231,7 +1231,7 @@ Affectation : /* -------- Option Colors -------- */ - | tSTRING '.' tColor '.' tSTRING tAFFECT Color tEND + | tSTRING '.' tColor '.' tSTRING tAFFECT ColorExpr tEND { if(!(pColCat = Get_ColorOptionCategory($1))) vyyerror("Unknown Color Option Class '%s'", $1); @@ -1621,98 +1621,116 @@ Delete : ; -/* ----------- - M A C R O - ----------- */ +/* ----------------- + C O M M A N D + ----------------- */ + +Command : + tSTRING StringExpr tEND + { + if(!strcmp($1, "Include")){ + + yyinTab[RecursionLevel++] = yyin; + strcpy(tmpstring, ThePathForIncludes); + if((yyin = fopen(strcat(tmpstring,$2),"r"))){ + strcpy(yynameTab[RecursionLevel-1],yyname); + yylinenoTab[RecursionLevel-1]=yylineno; + yylineno=1; + strcpy(yyname,$2); + while(!feof(yyin)){ + yyparse(); + } + fclose(yyin); + yyin = yyinTab[--RecursionLevel]; + strcpy(yyname,yynameTab[RecursionLevel]); + yylineno = yylinenoTab[RecursionLevel]; + } + else{ + vyyerror("Unknown File '%s'", $2) ; + yyin = yyinTab[--RecursionLevel]; + } + + } + else if(!strcmp($1, "Print")){ + + if(!CTX.interactive){ // we're in interactive mode + char ext[6]; + strcpy(ext,$2+(strlen($2)-4)); + Replot(); + extern void CreateImage (char *name, FILE *fp); + FILE *fp = 0; + if(!strcmp(ext,".gif")){ + fp = fopen($2,"wb"); + CTX.print.type = PRINT_GL2GIF; + } + else if(!strcmp(ext,".eps")){ + fp = fopen($2,"w"); + CTX.print.type = PRINT_GL2PS_RECURSIVE; + } + else if(!strcmp(ext,".xpm")){ + fp = fopen($2,"wb"); + CTX.print.type = PRINT_XDUMP; + CTX.print.format = FORMAT_XPM; + } + if(fp){ + CreateImage($2,fp); + fclose(fp); + } + } + + } + else if(!strcmp($1, "Merge")){ -Macro : - tInclude tBIGSTR tEND + FILE *ff = yyin; + MergeProblem($2); + yyin = ff; + + } + else if(!strcmp($1, "Save")){ + + Print_Mesh(THEM, $2, CTX.mesh.format); + + } + else + vyyerror("Unknown Command '%s'", $1); + } + | tSTRING FExpr tEND { - yyinTab[RecursionLevel++] = yyin; - strcpy(tmpstring, ThePathForIncludes); - if((yyin = fopen(strcat(tmpstring,$2),"r"))){ - strcpy(yynameTab[RecursionLevel-1],yyname); - yylinenoTab[RecursionLevel-1]=yylineno; - yylineno=1; - strcpy(yyname,$2); - while(!feof(yyin)){ - yyparse(); + if(!strcmp($1, "Sleep")){ + + extern long Get_AnimTime(); + long sleep_time = Get_AnimTime(); + while(1){ + if(Get_AnimTime() - sleep_time > (long)($2*1.e6)) break; } - fclose(yyin); - yyin = yyinTab[--RecursionLevel]; - strcpy(yyname,yynameTab[RecursionLevel]); - yylineno = yylinenoTab[RecursionLevel]; + } - else{ - vyyerror("Unknown File '%s'", $2) ; - yyin = yyinTab[--RecursionLevel]; + else if(!strcmp($1, "Mesh")){ + + Maillage_Dimension_0(THEM); + mai3d(THEM,(int)$2); + + } + else + vyyerror("Unknown Command '%s'", $1); + } + | tExit tEND + { + exit(0); + } + | tDraw tEND + { + if(!CTX.interactive){ // we're in interactive mode + if(Tree_Nbr(THEM->Points) != Last_NumberOfPoints){ + Last_NumberOfPoints = Tree_Nbr(THEM->Points); + Replot(); + } + else{ + Init(); + Draw(); + } } } -; -/* ----------------- - C O M M A N D - ----------------- */ - -Command : - tPrintf tBIGSTR tEND - { - if(!CTX.interactive){ // we're in interactive mode - char ext[6]; - strcpy(ext,$2+(strlen($2)-4)); - Replot(); - extern void CreateImage (FILE *fp); - FILE *fp = 0; - if(!strcmp(ext,".gif")){ - fp = fopen($2,"wb"); - CTX.print.type = PRINT_GL2GIF; - } - else if(!strcmp(ext,".eps")){ - fp = fopen($2,"w"); - CTX.print.type = PRINT_GL2PS_RECURSIVE; - } - else if(!strcmp(ext,".xpm")){ - fp = fopen($2,"wb"); - CTX.print.type = PRINT_XDUMP; - CTX.print.format = FORMAT_XPM; - } - - if(fp){ - CreateImage(fp); - fclose(fp); - } - } - } - | tExit tEND - { - exit(0); - } - | tMerge tBIGSTR tEND - { - FILE *ff = yyin; - MergeProblem($2); - yyin = ff; - } - | tDraw tEND - { - if(!CTX.interactive){ // we're in interactive mode - if(Tree_Nbr(THEM->Points) != Last_NumberOfPoints){ - Last_NumberOfPoints = Tree_Nbr(THEM->Points); - Replot(); - } - else{ - Init(); - Draw(); - } - } - } - | tSleep FExpr tEND - { - extern long Get_AnimTime(); - long sleep_time = Get_AnimTime(); - while(1){ - if(Get_AnimTime() - sleep_time > (long)($2*1.e6)) break; - } - } ; /* --------------- @@ -1844,18 +1862,6 @@ Loop : skip_until("Return"); } ; -/* --------------- - S C R I P T - --------------- - -Script : - tScript '(' FExpr ')' '{' GeomFormatList '}' tEND - { - // here put something to close the script which - // number is (int) $3 - } -; -*/ /* --------------- @@ -2492,7 +2498,7 @@ RecursiveListOfDouble : } ; -Color : +ColorExpr : '{' FExpr ',' FExpr ',' FExpr ',' FExpr '}' { $$ = PACK_COLOR((int)$2, (int)$4, (int)$6, (int)$8); @@ -2553,7 +2559,7 @@ ListOfColor : ; RecursiveListOfColor : - Color + ColorExpr { if(!ListOfColor_L) ListOfColor_L = List_Create(256,10,sizeof(unsigned int)) ; @@ -2561,12 +2567,24 @@ RecursiveListOfColor : List_Reset(ListOfColor_L) ; List_Add(ListOfColor_L, &($1)) ; } - | RecursiveListOfColor ',' Color + | RecursiveListOfColor ',' ColorExpr { List_Add(ListOfColor_L, &($3)) ; } ; +StringExpr : + tBIGSTR + { + $$ = $1; + } + | tSprintf '(' tBIGSTR ',' FExpr ')' + { + sprintf(tmpstring, $3, $5); + $$ = (char*)Malloc(strlen(tmpstring)); + strcpy($$, tmpstring); + } +; %% diff --git a/Parser/Gmsh.yy.cpp b/Parser/Gmsh.yy.cpp index 874b98b2b51556065e57478fb1d6126d9327785d..aedc1248dfb18eb1b9c81a1350600c2c6a29d53d 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.37 2000-12-09 15:21:17 geuzaine Exp $ + * $Header: /cvsroot/gmsh/Parser/Gmsh.yy.cpp,v 1.38 2000-12-09 17:33:40 geuzaine Exp $ */ #define FLEX_SCANNER @@ -283,118 +283,116 @@ static void yy_fatal_error YY_PROTO(( yyconst char msg[] )); *yy_cp = '\0'; \ yy_c_buf_p = yy_cp; -#define YY_NUM_RULES 180 -#define YY_END_OF_BUFFER 181 -static yyconst short int yy_accept[982] = +#define YY_NUM_RULES 177 +#define YY_END_OF_BUFFER 178 +static yyconst short int yy_accept[970] = { 0, - 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 + 0, 0, 178, 176, 1, 1, 176, 5, 170, 176, + 6, 176, 176, 176, 176, 176, 171, 14, 2, 176, + 9, 176, 175, 175, 175, 175, 175, 175, 175, 175, + 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, + 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, + 175, 176, 176, 0, 0, 22, 170, 18, 12, 19, + 10, 20, 11, 0, 173, 0, 0, 0, 0, 3, + 4, 13, 16, 172, 171, 0, 24, 21, 25, 175, + 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, + 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, + + 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, + 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, + 175, 175, 175, 175, 175, 60, 175, 175, 175, 175, + 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, + 175, 175, 72, 175, 175, 175, 175, 175, 175, 175, + 175, 112, 115, 106, 109, 175, 175, 175, 175, 175, + 114, 175, 117, 175, 108, 111, 175, 175, 175, 175, + 113, 116, 107, 110, 175, 175, 175, 175, 175, 175, + 175, 175, 175, 175, 175, 17, 23, 0, 0, 15, + 0, 123, 124, 125, 126, 172, 0, 0, 174, 175, + + 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, + 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, + 175, 175, 175, 175, 175, 175, 40, 175, 175, 175, + 175, 175, 175, 175, 175, 175, 175, 175, 175, 51, + 175, 175, 175, 175, 175, 175, 99, 175, 175, 175, + 175, 175, 175, 175, 175, 175, 175, 65, 175, 175, + 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, + 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, + 84, 175, 175, 175, 175, 175, 175, 175, 93, 175, + 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, + + 175, 175, 175, 175, 175, 0, 0, 0, 173, 0, + 0, 172, 175, 26, 175, 175, 175, 175, 175, 175, + 28, 30, 175, 175, 175, 175, 35, 175, 175, 175, + 175, 175, 175, 105, 175, 38, 175, 175, 175, 175, + 175, 39, 140, 175, 175, 175, 50, 175, 175, 175, + 0, 175, 175, 175, 101, 175, 175, 175, 56, 175, + 58, 175, 175, 175, 175, 0, 175, 134, 175, 175, + 63, 175, 64, 175, 175, 175, 175, 175, 175, 175, + 175, 175, 175, 175, 175, 175, 175, 175, 82, 175, + 175, 175, 175, 175, 85, 175, 175, 83, 175, 175, + + 175, 175, 92, 175, 175, 175, 175, 175, 96, 175, + 98, 175, 175, 175, 175, 165, 8, 175, 175, 175, + 175, 175, 0, 0, 0, 172, 175, 175, 175, 175, + 175, 175, 175, 32, 175, 175, 175, 175, 175, 175, + 175, 175, 175, 175, 175, 175, 175, 175, 45, 175, + 175, 175, 175, 175, 175, 175, 0, 175, 175, 175, + 175, 175, 175, 57, 175, 175, 175, 59, 0, 61, + 175, 175, 66, 175, 102, 175, 69, 175, 70, 138, + 175, 175, 175, 73, 74, 75, 175, 175, 175, 175, + 175, 81, 175, 175, 175, 175, 175, 175, 175, 175, + + 175, 95, 175, 175, 175, 175, 175, 175, 162, 175, + 175, 164, 169, 175, 0, 0, 175, 175, 175, 175, + 27, 29, 31, 175, 175, 175, 37, 175, 153, 175, + 175, 175, 175, 175, 175, 42, 175, 175, 175, 47, + 48, 175, 175, 175, 175, 0, 146, 175, 175, 100, + 175, 175, 175, 175, 175, 175, 175, 175, 139, 0, + 67, 62, 175, 68, 175, 175, 175, 175, 78, 175, + 175, 104, 80, 175, 86, 175, 175, 175, 175, 175, + 175, 175, 175, 135, 175, 97, 175, 175, 175, 7, + 163, 161, 0, 0, 175, 175, 175, 175, 33, 175, + + 36, 175, 175, 175, 175, 175, 175, 175, 175, 175, + 44, 175, 175, 175, 175, 55, 0, 175, 175, 53, + 175, 175, 175, 175, 175, 175, 175, 0, 175, 175, + 175, 175, 175, 175, 175, 175, 89, 87, 175, 175, + 175, 175, 175, 94, 175, 175, 166, 175, 0, 0, + 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, + 175, 175, 175, 175, 175, 175, 175, 175, 0, 52, + 54, 175, 175, 175, 175, 175, 103, 175, 0, 175, + 175, 175, 175, 71, 175, 175, 175, 88, 175, 175, + 175, 175, 175, 167, 168, 0, 0, 175, 175, 175, + + 175, 34, 175, 175, 175, 175, 175, 175, 175, 175, + 43, 136, 49, 175, 129, 0, 175, 175, 175, 142, + 175, 175, 0, 175, 175, 175, 175, 175, 79, 175, + 175, 175, 175, 91, 175, 0, 0, 175, 175, 175, + 175, 175, 175, 175, 175, 175, 175, 175, 175, 46, + 175, 128, 0, 132, 175, 175, 175, 175, 0, 175, + 175, 175, 77, 175, 175, 175, 175, 175, 175, 0, + 0, 175, 175, 175, 175, 175, 175, 175, 175, 175, + 175, 175, 175, 175, 0, 175, 175, 141, 175, 0, + 175, 175, 175, 76, 175, 175, 175, 90, 175, 122, + + 0, 122, 175, 175, 175, 175, 175, 175, 175, 147, + 175, 175, 175, 175, 0, 175, 175, 175, 144, 175, + 175, 175, 175, 175, 175, 130, 121, 175, 133, 121, + 175, 175, 175, 175, 175, 175, 175, 175, 0, 175, + 175, 155, 175, 127, 175, 175, 175, 154, 175, 175, + 175, 175, 175, 175, 175, 175, 41, 0, 175, 175, + 175, 175, 175, 175, 175, 175, 175, 175, 118, 157, + 151, 175, 0, 175, 175, 175, 175, 175, 175, 175, + 175, 175, 175, 175, 175, 145, 131, 143, 175, 175, + 175, 152, 175, 175, 175, 175, 175, 175, 175, 175, + + 175, 175, 137, 175, 175, 175, 175, 175, 158, 175, + 175, 175, 175, 175, 150, 149, 175, 175, 175, 175, + 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, + 175, 175, 175, 175, 175, 175, 175, 175, 175, 156, + 175, 175, 175, 175, 175, 159, 175, 175, 120, 175, + 175, 175, 175, 175, 175, 119, 175, 175, 175, 175, + 175, 175, 175, 175, 160, 175, 175, 148, 0 } ; static yyconst int yy_ec[256] = @@ -441,231 +439,229 @@ static yyconst int yy_meta[75] = 3, 3, 1, 1 } ; -static yyconst short int yy_base[987] = +static yyconst short int yy_base[975] = { 0, - 0, 0, 1243, 49, 50, 1244, 55, 52, 68, 73, + 0, 0, 1231, 49, 50, 1232, 55, 52, 68, 73, 53, 65, 78, 79, 111, 93, 130, 71, 77, 87, 109, 117, 123, 131, 176, 138, 178, 186, 133, 181, 199, 81, 125, 209, 231, 152, 151, 230, 232, 275, - 310, 218, 270, 139, 236, 240, 278, 303, 276, 294, - 281, 315, 221, 1204, 1204, 1244, 352, 1244, 1244, 1244, - 1244, 1244, 1244, 1228, 362, 1227, 1226, 126, 1225, 1244, - 1244, 1244, 1244, 367, 382, 391, 1244, 1244, 1244, 0, - 72, 1192, 1198, 1202, 1181, 1174, 201, 1193, 1167, 1188, - 1160, 1167, 1186, 1185, 1186, 81, 1188, 108, 1164, 1171, - - 1155, 354, 1177, 1178, 1158, 1157, 1165, 1151, 1183, 1177, - 1184, 1151, 1156, 164, 1182, 1172, 1155, 1143, 1142, 1138, - 1141, 1163, 1176, 1136, 1160, 1145, 1134, 1158, 1122, 1132, - 1131, 123, 1154, 1125, 1136, 1123, 1155, 1133, 1161, 1146, - 1118, 1110, 0, 1131, 113, 170, 1119, 224, 1112, 1119, - 1153, 0, 0, 0, 0, 1107, 1110, 1113, 1119, 1113, - 1106, 1105, 1109, 0, 1128, 0, 1135, 0, 0, 1105, - 219, 1107, 161, 0, 0, 0, 0, 1110, 1104, 1095, - 1108, 1108, 1097, 1088, 1092, 1089, 1096, 1089, 1244, 1244, - 1116, 1111, 1244, 408, 1244, 1244, 1244, 1244, 413, 428, - - 433, 438, 1114, 1084, 1125, 1107, 1106, 289, 1085, 1084, - 1079, 1084, 1103, 1080, 1077, 1097, 1112, 1096, 1097, 1103, - 1102, 1074, 1072, 1072, 1065, 1077, 1074, 1065, 1063, 1068, - 1100, 1095, 1068, 1071, 1050, 1060, 1090, 1085, 267, 1058, - 1086, 1047, 0, 1048, 1084, 1083, 1044, 1047, 1055, 0, - 1055, 1070, 1078, 1042, 1092, 1043, 1034, 1072, 1045, 1042, - 1043, 1081, 1032, 1062, 1037, 1024, 1040, 1062, 1035, 1051, - 1060, 1036, 1019, 1023, 1022, 1028, 1020, 1024, 1026, 1016, - 1009, 1026, 1021, 1035, 1019, 1014, 1014, 1016, 1011, 1001, - 1012, 1006, 1027, 1028, 1006, 1001, 1001, 999, 1017, 1016, - - 987, 988, 998, 402, 1000, 990, 296, 992, 997, 992, - 982, 1006, 1008, 448, 455, 464, 469, 474, 1004, 0, - 1008, 1005, 1027, 980, 983, 990, 0, 1023, 988, 979, - 1001, 982, 0, 1006, 998, 1004, 993, 1004, 992, 0, - 960, 0, 977, 967, 960, 959, 964, 0, 0, 996, - 954, 953, 0, 961, 969, 978, 984, 987, 951, 951, - 0, 944, 962, 961, 0, 944, 0, 941, 979, 978, - 938, 989, 935, 936, 0, 936, 933, 0, 985, 0, - 969, 943, 937, 929, 957, 928, 964, 948, 930, 931, - 934, 920, 921, 918, 919, 0, 923, 917, 914, 927, - - 951, 0, 915, 0, 914, 915, 0, 925, 920, 941, - 936, 0, 905, 910, 913, 930, 939, 0, 906, 0, - 915, 902, 901, 895, 0, 0, 907, 910, 894, 905, - 903, 924, 927, 479, 484, 922, 927, 924, 902, 884, - 888, 887, 0, 895, 885, 913, 878, 902, 914, 914, - 899, 915, 911, 878, 884, 881, 880, 0, 879, 890, - 877, 876, 877, 246, 887, 886, 900, 66, 860, 871, - 317, 476, 0, 865, 880, 881, 0, 906, 866, 0, - 852, 860, 0, 878, 0, 853, 0, 872, 0, 0, - 887, 858, 859, 0, 0, 0, 855, 855, 857, 846, - - 852, 0, 856, 837, 0, 849, 850, 834, 873, 871, - 244, 844, 0, 857, 850, 841, 842, 831, 833, 0, - 835, 831, 0, 0, 818, 851, 861, 849, 857, 858, - 844, 0, 0, 866, 814, 826, 842, 0, 846, 0, - 828, 844, 840, 834, 814, 805, 0, 810, 799, 837, - 0, 0, 818, 824, 828, 837, 826, 0, 805, 804, - 0, 807, 822, 816, 830, 833, 830, 793, 814, 0, - 836, 798, 0, 0, 816, 0, 822, 807, 781, 797, - 0, 780, 787, 0, 0, 817, 0, 0, 789, 777, - 817, 813, 781, 788, 784, 0, 787, 0, 781, 771, - - 775, 0, 0, 0, 789, 799, 787, 802, 796, 792, - 0, 764, 0, 797, 800, 782, 780, 772, 788, 779, - 764, 765, 0, 778, 748, 774, 775, 0, 801, 745, - 758, 0, 766, 766, 766, 770, 774, 743, 771, 788, - 0, 774, 773, 750, 733, 738, 730, 734, 766, 0, - 721, 757, 742, 729, 722, 0, 749, 720, 0, 733, - 747, 755, 745, 733, 752, 756, 714, 729, 740, 745, - 747, 733, 747, 710, 706, 716, 732, 718, 723, 727, - 750, 0, 0, 727, 735, 736, 733, 732, 0, 733, - 741, 708, 707, 728, 696, 0, 695, 698, 722, 0, - - 701, 723, 689, 690, 703, 0, 0, 695, 57, 69, - 297, 166, 191, 0, 345, 201, 295, 305, 319, 339, - 304, 314, 0, 0, 0, 345, 0, 360, 360, 349, - 351, 0, 356, 344, 392, 363, 384, 387, 365, 370, - 0, 401, 393, 392, 370, 0, 408, 417, 431, 419, - 436, 453, 476, 477, 463, 464, 469, 474, 484, 471, - 477, 0, 448, 0, 498, 0, 467, 486, 495, 479, - 505, 484, 496, 495, 0, 464, 489, 484, 488, 475, - 493, 0, 504, 531, 506, 519, 519, 511, 508, 509, - 517, 521, 514, 529, 510, 493, 547, 537, 524, 0, - - 536, 550, 531, 537, 536, 0, 537, 530, 527, 0, - 530, 1244, 0, 0, 534, 546, 605, 547, 532, 548, - 546, 0, 540, 557, 541, 525, 567, 547, 544, 545, - 1244, 556, 561, 553, 549, 563, 565, 0, 1244, 545, - 0, 0, 558, 568, 573, 561, 555, 574, 558, 550, - 592, 565, 587, 0, 593, 0, 589, 590, 599, 0, - 588, 588, 582, 606, 591, 606, 607, 596, 0, 621, - 601, 601, 591, 599, 604, 617, 613, 596, 601, 619, - 0, 599, 0, 620, 635, 624, 615, 629, 623, 619, - 629, 634, 642, 628, 612, 621, 639, 1244, 0, 0, - - 624, 627, 617, 0, 628, 641, 627, 625, 643, 646, - 645, 637, 635, 648, 0, 646, 648, 651, 654, 644, - 635, 657, 637, 638, 646, 653, 0, 0, 649, 652, - 652, 659, 663, 667, 665, 657, 670, 662, 651, 664, - 678, 675, 665, 667, 672, 665, 669, 668, 670, 669, - 675, 0, 685, 686, 687, 675, 679, 0, 681, 678, - 0, 678, 679, 694, 682, 700, 688, 0, 684, 685, - 696, 705, 692, 689, 695, 701, 0, 696, 698, 0, - 1244, 733, 736, 739, 742, 745 + 285, 218, 314, 139, 236, 240, 270, 305, 276, 272, + 311, 278, 221, 1192, 1192, 1232, 346, 1232, 1232, 1232, + 1232, 1232, 1232, 1216, 363, 1215, 1214, 126, 1213, 1232, + 1232, 1232, 1232, 368, 383, 392, 1232, 1232, 1232, 0, + 72, 1180, 1186, 1190, 1169, 1162, 201, 1181, 1155, 1176, + 1148, 1155, 1174, 1173, 1174, 81, 1176, 108, 1152, 1159, + + 1143, 309, 1165, 1166, 1146, 1145, 1153, 1139, 1171, 1165, + 1172, 1139, 1144, 164, 1170, 1160, 1143, 1131, 1130, 1126, + 1129, 1151, 1164, 1124, 1148, 0, 1123, 1147, 1111, 1121, + 1120, 123, 1143, 1114, 1125, 1112, 1144, 1122, 1150, 1135, + 1107, 1099, 0, 1120, 113, 170, 1108, 224, 1101, 1108, + 1142, 0, 0, 0, 0, 1104, 213, 1099, 1098, 1102, + 0, 1121, 0, 1128, 0, 0, 1098, 219, 1100, 161, + 0, 0, 0, 0, 1103, 1097, 1088, 1101, 1101, 1090, + 1081, 1085, 1082, 1089, 1082, 1232, 1232, 1109, 1104, 1232, + 409, 1232, 1232, 1232, 1232, 414, 429, 398, 434, 1107, + + 1077, 1118, 1100, 1099, 304, 1078, 1077, 1072, 1077, 1096, + 1073, 1070, 1090, 1105, 1089, 1090, 1096, 1095, 1067, 1065, + 1065, 1058, 1070, 1067, 1058, 1056, 1061, 1093, 1088, 1061, + 1064, 1043, 1053, 1083, 1078, 288, 1051, 1079, 1040, 0, + 1041, 1077, 1076, 1037, 1040, 1048, 0, 1048, 1063, 1071, + 1035, 1085, 1028, 1066, 1039, 1036, 1037, 1075, 1026, 1056, + 1031, 1018, 1034, 1056, 1029, 1045, 1054, 1030, 1013, 1017, + 1016, 1022, 1014, 1018, 1020, 1010, 1003, 1020, 1015, 1029, + 1010, 1008, 1007, 997, 1008, 1002, 1023, 1024, 1002, 997, + 997, 995, 1013, 1012, 983, 984, 994, 398, 996, 986, + + 240, 988, 993, 988, 978, 1002, 1004, 444, 455, 464, + 469, 474, 1000, 0, 1004, 1001, 1023, 976, 979, 986, + 0, 1019, 984, 975, 997, 978, 0, 1002, 994, 1000, + 989, 1000, 988, 0, 956, 0, 973, 963, 956, 955, + 960, 0, 0, 992, 950, 949, 0, 957, 965, 974, + 980, 983, 947, 947, 0, 940, 958, 957, 0, 940, + 0, 937, 975, 974, 934, 985, 933, 0, 933, 930, + 0, 982, 0, 966, 940, 934, 926, 954, 925, 961, + 945, 927, 928, 931, 917, 918, 915, 916, 0, 920, + 914, 911, 924, 948, 0, 914, 913, 0, 923, 918, + + 939, 934, 0, 903, 908, 911, 928, 937, 0, 904, + 0, 913, 900, 899, 893, 0, 0, 905, 908, 892, + 903, 901, 922, 925, 479, 484, 920, 925, 922, 900, + 882, 886, 885, 0, 893, 883, 911, 876, 900, 912, + 912, 897, 913, 909, 876, 882, 879, 878, 0, 877, + 888, 875, 874, 875, 428, 885, 884, 898, 66, 858, + 869, 284, 476, 0, 863, 878, 879, 0, 904, 0, + 851, 859, 0, 877, 0, 852, 0, 871, 0, 0, + 886, 857, 858, 0, 0, 0, 854, 854, 856, 845, + 851, 0, 855, 849, 835, 849, 833, 872, 870, 253, + + 843, 0, 856, 849, 840, 841, 830, 832, 0, 834, + 830, 0, 0, 817, 850, 860, 848, 856, 857, 843, + 0, 0, 865, 813, 825, 841, 0, 845, 0, 827, + 843, 839, 833, 813, 804, 0, 809, 798, 836, 0, + 0, 817, 823, 827, 836, 825, 0, 804, 803, 0, + 806, 821, 815, 829, 832, 829, 792, 813, 0, 835, + 0, 0, 816, 0, 822, 807, 781, 797, 0, 780, + 787, 0, 0, 817, 0, 788, 788, 776, 816, 812, + 780, 787, 783, 0, 786, 0, 780, 770, 774, 0, + 0, 0, 788, 798, 786, 801, 795, 791, 0, 763, + + 0, 796, 799, 781, 779, 771, 787, 778, 763, 764, + 0, 777, 747, 773, 774, 0, 800, 744, 757, 0, + 765, 765, 765, 769, 773, 742, 770, 787, 773, 772, + 749, 732, 737, 729, 733, 765, 0, 0, 720, 756, + 741, 728, 721, 0, 748, 719, 0, 732, 746, 754, + 744, 732, 751, 755, 713, 728, 739, 744, 746, 732, + 746, 709, 705, 715, 731, 717, 722, 726, 749, 0, + 0, 726, 734, 735, 732, 731, 0, 732, 740, 707, + 706, 727, 695, 0, 694, 697, 721, 0, 700, 722, + 689, 692, 707, 0, 0, 701, 711, 699, 345, 709, + + 714, 0, 332, 690, 710, 688, 692, 708, 669, 668, + 0, 0, 0, 61, 0, 98, 171, 177, 210, 0, + 245, 258, 325, 300, 324, 343, 335, 326, 0, 357, + 349, 349, 326, 0, 362, 363, 377, 377, 381, 409, + 406, 407, 393, 395, 402, 420, 430, 425, 431, 0, + 401, 0, 459, 0, 428, 472, 481, 465, 491, 470, + 482, 481, 0, 450, 475, 471, 475, 462, 481, 0, + 492, 519, 494, 507, 507, 499, 496, 497, 505, 509, + 502, 517, 498, 481, 535, 525, 512, 0, 524, 538, + 519, 525, 524, 0, 525, 518, 515, 0, 518, 1232, + + 0, 0, 522, 534, 593, 535, 520, 536, 534, 0, + 528, 545, 529, 513, 555, 535, 532, 533, 1232, 544, + 549, 541, 537, 551, 553, 0, 1232, 533, 0, 0, + 546, 556, 561, 549, 543, 562, 546, 538, 580, 553, + 575, 0, 581, 0, 577, 578, 587, 0, 576, 576, + 570, 594, 579, 594, 595, 584, 0, 609, 589, 589, + 579, 587, 592, 605, 601, 584, 589, 607, 0, 587, + 0, 608, 623, 612, 603, 617, 611, 607, 617, 622, + 630, 616, 600, 609, 627, 1232, 0, 0, 612, 615, + 605, 0, 616, 629, 615, 613, 631, 634, 633, 625, + + 623, 636, 0, 634, 636, 639, 642, 632, 623, 645, + 625, 626, 634, 641, 0, 0, 637, 640, 640, 647, + 651, 655, 653, 645, 658, 650, 639, 652, 666, 663, + 653, 655, 660, 653, 657, 656, 658, 657, 663, 0, + 673, 674, 675, 663, 667, 0, 669, 666, 0, 666, + 667, 682, 670, 688, 676, 0, 672, 673, 684, 693, + 680, 677, 683, 689, 0, 684, 686, 0, 1232, 721, + 724, 727, 730, 733 } ; -static yyconst short int yy_def[987] = +static yyconst short int yy_def[975] = { 0, - 981, 1, 981, 981, 981, 981, 981, 981, 981, 981, - 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, - 981, 981, 982, 982, 982, 982, 982, 982, 982, 982, - 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, - 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, - 982, 981, 981, 981, 981, 981, 981, 981, 981, 981, - 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, - 981, 981, 981, 981, 981, 981, 981, 981, 981, 982, - 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, - 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, - - 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, - 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, - 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, - 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, - 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, - 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, - 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, - 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, - 982, 982, 982, 982, 982, 982, 982, 982, 981, 981, - 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, - - 981, 981, 982, 982, 982, 982, 982, 982, 982, 982, - 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, - 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, - 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, - 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, - 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, - 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, - 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, - 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, - 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, - - 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, - 982, 981, 981, 981, 981, 981, 981, 981, 982, 982, - 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, - 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, - 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, - 982, 982, 982, 982, 982, 982, 981, 982, 982, 982, - 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, - 982, 981, 982, 982, 982, 982, 982, 982, 982, 982, - 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, - 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, - - 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, - 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, - 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, - 982, 981, 981, 981, 981, 982, 982, 982, 982, 982, - 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, - 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, - 982, 982, 982, 982, 982, 981, 982, 982, 982, 982, - 982, 982, 982, 982, 982, 982, 982, 981, 982, 982, - 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, - 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, - - 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, - 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, - 982, 982, 982, 982, 982, 981, 981, 982, 982, 982, - 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, - 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, - 982, 982, 982, 982, 982, 982, 981, 982, 982, 982, - 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, - 981, 982, 982, 982, 982, 982, 982, 982, 982, 982, - 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, - 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, - - 982, 982, 982, 982, 981, 981, 982, 982, 982, 982, - 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, - 982, 982, 982, 982, 982, 982, 982, 982, 981, 982, - 982, 982, 982, 982, 982, 982, 982, 982, 982, 981, - 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, - 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, - 981, 981, 982, 982, 982, 982, 982, 982, 982, 982, - 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, - 981, 982, 982, 982, 982, 982, 982, 982, 982, 982, - 981, 982, 982, 982, 982, 982, 982, 982, 982, 982, - - 982, 982, 982, 982, 982, 982, 982, 981, 981, 982, - 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, - 982, 982, 982, 982, 982, 982, 982, 981, 982, 982, - 982, 982, 982, 982, 981, 982, 982, 982, 982, 982, - 982, 982, 982, 982, 982, 982, 982, 981, 981, 982, - 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, - 982, 982, 982, 982, 981, 982, 982, 982, 982, 982, - 981, 982, 982, 982, 982, 982, 982, 982, 982, 982, - 982, 983, 981, 984, 982, 982, 982, 982, 982, 982, - 982, 982, 982, 982, 982, 982, 981, 982, 982, 982, - - 982, 981, 982, 982, 982, 982, 982, 982, 982, 982, - 982, 981, 985, 982, 982, 982, 986, 982, 982, 982, - 982, 982, 982, 982, 982, 982, 981, 982, 982, 982, - 981, 982, 982, 982, 982, 982, 982, 982, 981, 982, - 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, - 981, 982, 982, 982, 982, 982, 982, 982, 982, 982, - 982, 982, 982, 982, 982, 982, 982, 982, 982, 981, - 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, - 982, 982, 982, 982, 981, 982, 982, 982, 982, 982, - 982, 982, 982, 982, 982, 982, 982, 981, 982, 982, - - 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, - 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, - 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, - 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, - 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, - 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, - 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, - 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, - 0, 981, 981, 981, 981, 981 + 969, 1, 969, 969, 969, 969, 969, 969, 969, 969, + 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, + 969, 969, 970, 970, 970, 970, 970, 970, 970, 970, + 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, + 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, + 970, 969, 969, 969, 969, 969, 969, 969, 969, 969, + 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, + 969, 969, 969, 969, 969, 969, 969, 969, 969, 970, + 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, + 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, + + 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, + 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, + 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, + 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, + 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, + 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, + 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, + 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, + 970, 970, 970, 970, 970, 969, 969, 969, 969, 969, + 969, 969, 969, 969, 969, 969, 969, 969, 969, 970, + + 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, + 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, + 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, + 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, + 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, + 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, + 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, + 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, + 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, + 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, + + 970, 970, 970, 970, 970, 969, 969, 969, 969, 969, + 969, 969, 970, 970, 970, 970, 970, 970, 970, 970, + 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, + 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, + 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, + 969, 970, 970, 970, 970, 970, 970, 970, 970, 970, + 970, 970, 970, 970, 970, 969, 970, 970, 970, 970, + 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, + 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, + 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, + + 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, + 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, + 970, 970, 969, 969, 969, 969, 970, 970, 970, 970, + 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, + 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, + 970, 970, 970, 970, 970, 970, 969, 970, 970, 970, + 970, 970, 970, 970, 970, 970, 970, 970, 969, 970, + 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, + 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, + 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, + + 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, + 970, 970, 970, 970, 969, 969, 970, 970, 970, 970, + 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, + 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, + 970, 970, 970, 970, 970, 969, 970, 970, 970, 970, + 970, 970, 970, 970, 970, 970, 970, 970, 970, 969, + 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, + 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, + 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, + 970, 970, 969, 969, 970, 970, 970, 970, 970, 970, + + 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, + 970, 970, 970, 970, 970, 970, 969, 970, 970, 970, + 970, 970, 970, 970, 970, 970, 970, 969, 970, 970, + 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, + 970, 970, 970, 970, 970, 970, 970, 970, 969, 969, + 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, + 970, 970, 970, 970, 970, 970, 970, 970, 969, 970, + 970, 970, 970, 970, 970, 970, 970, 970, 969, 970, + 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, + 970, 970, 970, 970, 970, 969, 969, 970, 970, 970, + + 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, + 970, 970, 970, 970, 970, 969, 970, 970, 970, 970, + 970, 970, 969, 970, 970, 970, 970, 970, 970, 970, + 970, 970, 970, 970, 970, 969, 969, 970, 970, 970, + 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, + 970, 970, 969, 970, 970, 970, 970, 970, 969, 970, + 970, 970, 970, 970, 970, 970, 970, 970, 970, 971, + 969, 972, 970, 970, 970, 970, 970, 970, 970, 970, + 970, 970, 970, 970, 969, 970, 970, 970, 970, 969, + 970, 970, 970, 970, 970, 970, 970, 970, 970, 969, + + 973, 970, 970, 970, 974, 970, 970, 970, 970, 970, + 970, 970, 970, 970, 969, 970, 970, 970, 969, 970, + 970, 970, 970, 970, 970, 970, 969, 970, 970, 970, + 970, 970, 970, 970, 970, 970, 970, 970, 969, 970, + 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, + 970, 970, 970, 970, 970, 970, 970, 969, 970, 970, + 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, + 970, 970, 969, 970, 970, 970, 970, 970, 970, 970, + 970, 970, 970, 970, 970, 969, 970, 970, 970, 970, + 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, + + 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, + 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, + 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, + 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, + 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, + 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, + 970, 970, 970, 970, 970, 970, 970, 970, 0, 969, + 969, 969, 969, 969 } ; -static yyconst short int yy_nxt[1319] = +static yyconst short int yy_nxt[1307] = { 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 17, 17, 17, 17, 18, 19, @@ -675,146 +671,145 @@ static yyconst short int yy_nxt[1319] = 32, 32, 32, 45, 46, 32, 32, 32, 47, 32, 48, 49, 32, 32, 32, 50, 32, 32, 51, 32, 32, 32, 52, 53, 54, 54, 56, 54, 54, 58, - 54, 57, 57, 57, 57, 57, 59, 60, 749, 62, + 54, 57, 57, 57, 57, 57, 59, 60, 752, 62, 54, 55, 55, 54, 55, 55, 54, 55, 54, 61, - 63, 70, 54, 54, 54, 71, 88, 55, 77, 203, - 55, 750, 54, 55, 72, 55, 219, 220, 54, 55, + 63, 70, 54, 54, 54, 71, 88, 55, 77, 200, + 55, 753, 54, 55, 72, 55, 216, 217, 54, 55, 55, 55, 64, 83, 65, 65, 65, 65, 65, 55, - 78, 559, 560, 204, 54, 55, 54, 197, 79, 66, + 78, 548, 549, 201, 54, 55, 54, 194, 79, 66, 73, 74, 54, 75, 75, 75, 75, 75, 81, 82, 88, 55, 67, 68, 69, 54, 88, 76, 88, 55, - 122, 103, 192, 88, 88, 83, 222, 83, 84, 104, - 275, 89, 55, 83, 223, 83, 88, 88, 262, 90, - 83, 83, 276, 76, 263, 127, 299, 85, 86, 87, - 137, 105, 91, 83, 83, 106, 180, 753, 92, 93, - - 300, 88, 107, 88, 109, 108, 88, 94, 123, 115, - 95, 88, 110, 96, 111, 138, 754, 116, 83, 136, - 83, 242, 97, 83, 88, 98, 243, 277, 83, 99, - 244, 278, 100, 101, 88, 117, 112, 102, 113, 125, - 128, 83, 190, 88, 118, 119, 54, 120, 114, 757, - 210, 83, 124, 121, 133, 88, 88, 88, 129, 126, - 83, 88, 130, 55, 139, 88, 131, 211, 296, 140, - 132, 554, 83, 83, 83, 280, 297, 357, 83, 141, - 555, 147, 83, 172, 134, 148, 142, 143, 144, 182, - 281, 145, 135, 149, 146, 88, 181, 173, 593, 150, - - 88, 88, 594, 88, 174, 151, 88, 358, 175, 152, - 176, 177, 83, 153, 324, 154, 155, 83, 83, 88, - 83, 751, 758, 83, 156, 752, 157, 178, 88, 325, - 326, 179, 158, 159, 188, 88, 83, 160, 161, 183, - 54, 563, 162, 186, 164, 83, 163, 165, 166, 167, - 168, 169, 83, 759, 564, 187, 184, 55, 426, 170, - 427, 760, 761, 762, 185, 57, 57, 57, 57, 57, - 755, 763, 764, 765, 171, 65, 65, 65, 65, 65, - 199, 199, 199, 199, 199, 756, 766, 189, 767, 194, - 768, 769, 770, 74, 200, 75, 75, 75, 75, 75, - - 201, 201, 771, 772, 202, 202, 202, 202, 202, 76, - 227, 773, 228, 229, 774, 194, 775, 314, 314, 230, - 200, 315, 315, 315, 315, 315, 199, 199, 199, 199, - 199, 776, 777, 778, 779, 76, 780, 317, 317, 781, - 316, 318, 318, 318, 318, 318, 202, 202, 202, 202, - 202, 202, 202, 202, 202, 202, 421, 782, 783, 784, - 422, 315, 315, 315, 315, 315, 316, 423, 315, 315, - 315, 315, 315, 434, 434, 785, 786, 435, 435, 435, - 435, 435, 318, 318, 318, 318, 318, 318, 318, 318, - 318, 318, 435, 435, 435, 435, 435, 435, 435, 435, - - 435, 435, 565, 787, 788, 789, 790, 791, 792, 793, - 794, 795, 566, 796, 797, 798, 567, 799, 800, 801, - 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, - 813, 812, 812, 815, 812, 812, 812, 812, 812, 812, - 812, 812, 812, 812, 816, 817, 818, 819, 820, 812, - 812, 812, 812, 812, 821, 822, 823, 824, 825, 826, - 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, - 837, 838, 840, 841, 843, 844, 845, 846, 812, 847, + 122, 103, 189, 88, 88, 83, 219, 83, 84, 104, + 271, 89, 55, 83, 220, 83, 88, 88, 258, 90, + 83, 83, 272, 76, 259, 127, 293, 85, 86, 87, + 137, 105, 91, 83, 83, 106, 177, 754, 92, 93, + + 294, 88, 107, 88, 109, 108, 88, 94, 123, 115, + 95, 88, 110, 96, 111, 138, 755, 116, 83, 136, + 83, 239, 97, 83, 88, 98, 240, 273, 83, 99, + 241, 274, 100, 101, 88, 117, 112, 102, 113, 125, + 128, 83, 187, 88, 118, 119, 54, 120, 114, 756, + 207, 83, 124, 121, 133, 88, 88, 88, 129, 126, + 83, 88, 130, 55, 139, 88, 131, 208, 290, 140, + 132, 282, 83, 83, 83, 276, 291, 283, 83, 141, + 757, 147, 83, 169, 134, 148, 142, 143, 144, 179, + 277, 145, 135, 149, 146, 88, 178, 88, 351, 150, + + 88, 88, 417, 54, 418, 151, 758, 581, 552, 152, + 88, 582, 83, 153, 83, 154, 155, 83, 83, 161, + 55, 553, 162, 163, 164, 165, 166, 83, 352, 318, + 88, 180, 156, 184, 167, 759, 88, 157, 158, 88, + 760, 170, 159, 183, 319, 320, 160, 83, 171, 168, + 186, 761, 172, 83, 173, 174, 83, 743, 181, 57, + 57, 57, 57, 57, 185, 224, 182, 225, 226, 739, + 762, 175, 744, 740, 227, 176, 65, 65, 65, 65, + 65, 196, 196, 196, 196, 196, 763, 764, 765, 766, + 191, 767, 768, 769, 74, 197, 75, 75, 75, 75, + + 75, 198, 198, 770, 771, 199, 199, 199, 199, 199, + 76, 199, 199, 199, 199, 199, 191, 772, 308, 308, + 773, 197, 309, 309, 309, 309, 309, 196, 196, 196, + 196, 196, 774, 775, 776, 777, 76, 778, 311, 311, + 779, 310, 312, 312, 312, 312, 312, 199, 199, 199, + 199, 199, 412, 543, 780, 781, 413, 309, 309, 309, + 309, 309, 544, 414, 782, 783, 784, 310, 309, 309, + 309, 309, 309, 425, 425, 785, 786, 426, 426, 426, + 426, 426, 312, 312, 312, 312, 312, 312, 312, 312, + 312, 312, 426, 426, 426, 426, 426, 426, 426, 426, + + 426, 426, 554, 787, 788, 789, 790, 791, 792, 793, + 794, 795, 555, 796, 797, 798, 556, 799, 801, 800, + 800, 803, 800, 800, 800, 800, 800, 800, 800, 800, + 800, 800, 804, 805, 806, 807, 808, 800, 800, 800, + 800, 800, 809, 810, 811, 812, 813, 814, 815, 816, + 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, + 828, 829, 831, 832, 833, 834, 800, 835, 836, 837, + 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, - 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, + 858, 800, 800, 827, 827, 859, 827, 827, 827, 827, - 868, 869, 870, 812, 812, 839, 839, 871, 839, 839, - 839, 839, 839, 839, 839, 839, 839, 839, 872, 873, - 874, 875, 876, 839, 839, 839, 839, 839, 877, 878, + 827, 827, 827, 827, 827, 827, 860, 861, 862, 863, + 864, 827, 827, 827, 827, 827, 865, 866, 867, 868, + 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, - 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, - 899, 900, 839, 901, 902, 903, 904, 905, 906, 907, - 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, - 918, 919, 920, 921, 922, 923, 924, 839, 839, 925, + 827, 889, 890, 891, 892, 893, 894, 895, 896, 897, + 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, + 908, 909, 910, 911, 912, 827, 827, 913, 914, 915, + 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, - 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, - 976, 977, 978, 979, 980, 80, 812, 748, 812, 814, - 747, 814, 839, 746, 839, 842, 745, 842, 744, 743, - 742, 741, 740, 739, 738, 737, 736, 735, 734, 733, - 732, 731, 730, 729, 728, 727, 726, 725, 724, 723, - 722, 721, 720, 719, 718, 717, 716, 715, 714, 713, - 712, 711, 710, 709, 708, 707, 706, 705, 704, 703, - 702, 701, 700, 699, 698, 697, 696, 695, 694, 693, - - 692, 691, 690, 689, 688, 687, 686, 685, 684, 683, - 682, 681, 680, 679, 678, 677, 676, 675, 674, 673, - 672, 671, 670, 669, 668, 667, 666, 665, 664, 663, - 662, 661, 660, 659, 658, 657, 656, 655, 654, 653, - 652, 651, 650, 649, 648, 647, 646, 645, 644, 643, - 642, 641, 640, 639, 638, 637, 636, 635, 634, 633, - 632, 631, 630, 629, 628, 627, 626, 625, 624, 623, - 622, 621, 620, 619, 618, 617, 616, 615, 614, 613, - 612, 611, 610, 609, 608, 607, 606, 605, 604, 603, - 602, 601, 600, 599, 598, 597, 596, 595, 592, 591, - - 590, 589, 588, 587, 586, 585, 584, 583, 582, 581, - 580, 579, 578, 577, 576, 575, 574, 573, 572, 571, - 570, 569, 568, 562, 561, 558, 557, 556, 553, 552, - 551, 550, 549, 548, 547, 546, 545, 544, 543, 542, - 541, 540, 539, 538, 537, 536, 535, 534, 533, 532, - 531, 530, 529, 528, 527, 526, 525, 524, 523, 522, - 521, 520, 519, 518, 517, 516, 515, 514, 513, 512, - 511, 510, 509, 508, 507, 506, 505, 504, 503, 502, - 501, 500, 499, 498, 497, 496, 495, 494, 493, 492, - 491, 490, 489, 488, 487, 486, 485, 484, 483, 482, - - 481, 480, 479, 478, 477, 476, 475, 474, 473, 472, - 471, 470, 469, 468, 467, 466, 465, 464, 463, 462, - 461, 460, 459, 458, 457, 456, 455, 454, 453, 452, - 451, 450, 449, 448, 447, 446, 445, 444, 443, 442, - 441, 440, 439, 438, 437, 436, 433, 432, 431, 430, - 429, 428, 425, 424, 420, 419, 418, 417, 416, 415, - 414, 413, 412, 411, 410, 409, 408, 407, 406, 405, - 404, 403, 402, 401, 400, 399, 398, 397, 396, 395, - 394, 393, 392, 391, 390, 389, 388, 387, 386, 385, - 384, 383, 382, 381, 380, 379, 378, 377, 376, 375, - - 374, 373, 372, 371, 370, 369, 368, 367, 366, 365, - 364, 363, 362, 361, 360, 359, 356, 355, 354, 353, - 352, 351, 350, 349, 348, 347, 346, 345, 344, 343, - 342, 341, 340, 339, 338, 337, 336, 335, 334, 333, - 332, 331, 330, 329, 328, 327, 323, 322, 321, 320, - 319, 313, 312, 311, 310, 309, 308, 307, 306, 305, - 304, 303, 302, 301, 298, 295, 294, 293, 292, 291, - 290, 289, 288, 287, 286, 285, 284, 283, 282, 279, - 274, 273, 272, 271, 270, 269, 268, 267, 266, 265, - 264, 261, 260, 259, 258, 257, 256, 255, 254, 253, - - 252, 251, 250, 249, 248, 247, 246, 245, 241, 240, - 239, 238, 237, 236, 235, 234, 233, 232, 231, 226, - 225, 224, 221, 218, 217, 216, 215, 214, 213, 212, - 203, 209, 208, 207, 206, 205, 198, 196, 195, 193, - 192, 191, 981, 3, 981, 981, 981, 981, 981, 981, - 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, - 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, - 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, - 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, - 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, - - 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, - 981, 981, 981, 981, 981, 981, 981, 981 + 966, 967, 968, 80, 800, 751, 800, 802, 750, 802, + 827, 749, 827, 830, 748, 830, 747, 746, 745, 742, + 741, 738, 737, 736, 735, 734, 733, 732, 731, 730, + 729, 728, 727, 726, 725, 724, 723, 722, 721, 720, + 719, 718, 717, 716, 715, 714, 713, 712, 711, 710, + 709, 708, 707, 706, 705, 704, 703, 702, 701, 700, + 699, 698, 697, 696, 695, 694, 693, 692, 691, 690, + 689, 688, 687, 686, 685, 684, 683, 682, 681, 680, + + 679, 678, 677, 676, 675, 674, 673, 672, 671, 670, + 669, 668, 667, 666, 665, 664, 663, 662, 661, 660, + 659, 658, 657, 656, 655, 654, 653, 652, 651, 650, + 649, 648, 647, 646, 645, 644, 643, 642, 641, 640, + 639, 638, 637, 636, 635, 634, 633, 632, 631, 630, + 629, 628, 627, 626, 625, 624, 623, 622, 621, 620, + 619, 618, 617, 616, 615, 614, 613, 612, 611, 610, + 609, 608, 607, 606, 605, 604, 603, 602, 601, 600, + 599, 598, 597, 596, 595, 594, 593, 592, 591, 590, + 589, 588, 587, 586, 585, 584, 583, 580, 579, 578, + + 577, 576, 575, 574, 573, 572, 571, 570, 569, 568, + 567, 566, 565, 564, 563, 562, 561, 560, 559, 558, + 557, 551, 550, 547, 546, 545, 542, 541, 540, 539, + 538, 537, 536, 535, 534, 533, 532, 531, 530, 529, + 528, 527, 526, 525, 524, 523, 522, 521, 520, 519, + 518, 517, 516, 515, 514, 513, 512, 511, 510, 509, + 508, 507, 506, 505, 504, 503, 502, 501, 500, 499, + 498, 497, 496, 495, 494, 493, 492, 491, 490, 489, + 488, 487, 486, 485, 484, 483, 482, 481, 480, 479, + 478, 477, 476, 475, 474, 473, 472, 471, 470, 469, + + 468, 467, 466, 465, 464, 463, 462, 461, 460, 459, + 458, 457, 456, 455, 454, 453, 452, 451, 450, 449, + 448, 447, 446, 445, 444, 443, 442, 441, 440, 439, + 438, 437, 436, 435, 434, 433, 432, 431, 430, 429, + 428, 427, 424, 423, 422, 421, 420, 419, 416, 415, + 411, 410, 409, 408, 407, 406, 405, 404, 403, 402, + 401, 400, 399, 398, 397, 396, 395, 394, 393, 392, + 391, 390, 389, 388, 387, 386, 385, 384, 383, 382, + 381, 380, 379, 378, 377, 376, 375, 374, 373, 372, + 371, 370, 369, 368, 367, 366, 365, 364, 363, 362, + + 361, 360, 359, 358, 357, 356, 355, 354, 353, 350, + 349, 348, 347, 346, 345, 344, 343, 342, 341, 340, + 339, 338, 337, 336, 335, 334, 333, 332, 331, 330, + 329, 328, 327, 326, 325, 324, 323, 322, 321, 317, + 316, 315, 314, 313, 307, 306, 305, 304, 303, 302, + 301, 300, 299, 298, 297, 296, 295, 292, 289, 288, + 287, 286, 285, 284, 281, 280, 279, 278, 275, 270, + 269, 268, 267, 266, 265, 264, 263, 262, 261, 260, + 257, 256, 255, 254, 253, 252, 251, 250, 249, 248, + 247, 246, 245, 244, 243, 242, 238, 237, 236, 235, + + 234, 233, 232, 231, 230, 229, 228, 223, 222, 221, + 218, 215, 214, 213, 212, 211, 210, 209, 200, 206, + 205, 204, 203, 202, 195, 193, 192, 190, 189, 188, + 969, 3, 969, 969, 969, 969, 969, 969, 969, 969, + 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, + 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, + 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, + 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, + 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, + 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, + + 969, 969, 969, 969, 969, 969 } ; -static yyconst short int yy_chk[1319] = +static yyconst short int yy_chk[1307] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -824,143 +819,142 @@ static yyconst short int yy_chk[1319] = 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 5, 7, 8, 11, 10, - 7, 9, 9, 9, 9, 9, 12, 13, 709, 14, + 7, 9, 9, 9, 9, 9, 12, 13, 714, 14, 12, 4, 5, 9, 8, 11, 18, 7, 10, 13, 14, 16, 19, 13, 14, 16, 32, 12, 20, 81, - 9, 710, 20, 18, 16, 10, 96, 96, 16, 19, + 9, 716, 20, 18, 16, 10, 96, 96, 16, 19, 13, 14, 15, 32, 15, 15, 15, 15, 15, 20, - 21, 468, 468, 81, 21, 16, 15, 68, 22, 15, + 21, 459, 459, 81, 21, 16, 15, 68, 22, 15, 16, 17, 22, 17, 17, 17, 17, 17, 23, 23, 33, 21, 15, 15, 15, 17, 24, 17, 29, 22, 29, 26, 68, 26, 44, 23, 98, 33, 23, 26, 145, 24, 17, 24, 98, 29, 37, 36, 132, 24, - 26, 44, 145, 17, 132, 33, 173, 23, 23, 23, - 37, 26, 24, 37, 36, 26, 44, 712, 24, 25, + 26, 44, 145, 17, 132, 33, 170, 23, 23, 23, + 37, 26, 24, 37, 36, 26, 44, 717, 24, 25, - 173, 25, 26, 27, 27, 26, 30, 25, 30, 28, - 25, 28, 27, 25, 27, 37, 713, 28, 25, 36, + 170, 25, 26, 27, 27, 26, 30, 25, 30, 28, + 25, 28, 27, 25, 27, 37, 718, 28, 25, 36, 27, 114, 25, 30, 31, 25, 114, 146, 28, 25, 114, 146, 25, 25, 34, 28, 27, 25, 27, 31, - 34, 31, 53, 42, 28, 28, 53, 28, 27, 716, + 34, 31, 53, 42, 28, 28, 53, 28, 27, 719, 87, 34, 30, 28, 35, 38, 35, 39, 34, 31, - 42, 45, 34, 53, 38, 46, 34, 87, 171, 38, - 34, 464, 38, 35, 39, 148, 171, 239, 45, 38, - 464, 39, 46, 42, 35, 39, 38, 38, 38, 46, - 148, 38, 35, 39, 38, 43, 45, 43, 511, 39, - - 40, 49, 511, 47, 43, 40, 51, 239, 43, 40, - 43, 43, 43, 40, 208, 40, 40, 40, 49, 50, - 47, 711, 717, 51, 40, 711, 40, 43, 48, 208, - 208, 43, 40, 40, 51, 41, 50, 40, 40, 47, - 52, 471, 40, 49, 41, 48, 40, 41, 41, 41, - 41, 41, 41, 718, 471, 50, 48, 52, 307, 41, - 307, 719, 720, 721, 48, 57, 57, 57, 57, 57, - 715, 722, 726, 728, 41, 65, 65, 65, 65, 65, - 74, 74, 74, 74, 74, 715, 729, 52, 730, 65, - 731, 733, 734, 75, 74, 75, 75, 75, 75, 75, - - 76, 76, 735, 736, 76, 76, 76, 76, 76, 75, - 102, 737, 102, 102, 738, 65, 739, 194, 194, 102, - 74, 194, 194, 194, 194, 194, 199, 199, 199, 199, - 199, 740, 742, 743, 744, 75, 745, 200, 200, 747, - 199, 200, 200, 200, 200, 200, 201, 201, 201, 201, - 201, 202, 202, 202, 202, 202, 304, 748, 749, 750, - 304, 314, 314, 314, 314, 314, 199, 304, 315, 315, - 315, 315, 315, 316, 316, 751, 752, 316, 316, 316, - 316, 316, 317, 317, 317, 317, 317, 318, 318, 318, - 318, 318, 434, 434, 434, 434, 434, 435, 435, 435, - - 435, 435, 472, 753, 754, 755, 756, 757, 758, 759, - 760, 761, 472, 763, 765, 767, 472, 768, 769, 770, - 771, 772, 773, 774, 776, 777, 778, 779, 780, 781, - 783, 784, 784, 785, 784, 784, 784, 784, 784, 784, - 784, 784, 784, 784, 786, 787, 788, 789, 790, 784, - 784, 784, 784, 784, 791, 792, 793, 794, 795, 796, - 797, 798, 799, 801, 802, 803, 804, 805, 807, 808, - 809, 811, 815, 816, 818, 819, 820, 821, 784, 823, - 824, 825, 826, 827, 828, 829, 830, 832, 833, 834, - 835, 836, 837, 840, 843, 844, 845, 846, 847, 848, - - 849, 850, 851, 784, 784, 817, 817, 852, 817, 817, - 817, 817, 817, 817, 817, 817, 817, 817, 853, 855, - 857, 858, 859, 817, 817, 817, 817, 817, 861, 862, - 863, 864, 865, 866, 867, 868, 870, 871, 872, 873, - 874, 875, 876, 877, 878, 879, 880, 882, 884, 885, - 886, 887, 817, 888, 889, 890, 891, 892, 893, 894, - 895, 896, 897, 901, 902, 903, 905, 906, 907, 908, - 909, 910, 911, 912, 913, 914, 916, 817, 817, 917, - 918, 919, 920, 921, 922, 923, 924, 925, 926, 929, + 42, 45, 34, 53, 38, 46, 34, 87, 168, 38, + 34, 157, 38, 35, 39, 148, 168, 157, 45, 38, + 721, 39, 46, 42, 35, 39, 38, 38, 38, 46, + 148, 38, 35, 39, 38, 47, 45, 50, 236, 39, + + 40, 49, 301, 52, 301, 40, 722, 500, 462, 40, + 41, 500, 47, 40, 50, 40, 40, 40, 49, 41, + 52, 462, 41, 41, 41, 41, 41, 41, 236, 205, + 48, 47, 40, 50, 41, 723, 51, 40, 40, 43, + 724, 43, 40, 49, 205, 205, 40, 48, 43, 41, + 52, 725, 43, 51, 43, 43, 43, 703, 48, 57, + 57, 57, 57, 57, 51, 102, 48, 102, 102, 699, + 726, 43, 703, 699, 102, 43, 65, 65, 65, 65, + 65, 74, 74, 74, 74, 74, 727, 728, 730, 731, + 65, 732, 733, 735, 75, 74, 75, 75, 75, 75, + + 75, 76, 76, 736, 737, 76, 76, 76, 76, 76, + 75, 198, 198, 198, 198, 198, 65, 738, 191, 191, + 739, 74, 191, 191, 191, 191, 191, 196, 196, 196, + 196, 196, 740, 741, 742, 743, 75, 744, 197, 197, + 745, 196, 197, 197, 197, 197, 197, 199, 199, 199, + 199, 199, 298, 455, 746, 747, 298, 308, 308, 308, + 308, 308, 455, 298, 748, 749, 751, 196, 309, 309, + 309, 309, 309, 310, 310, 753, 755, 310, 310, 310, + 310, 310, 311, 311, 311, 311, 311, 312, 312, 312, + 312, 312, 425, 425, 425, 425, 425, 426, 426, 426, + + 426, 426, 463, 756, 757, 758, 759, 760, 761, 762, + 764, 765, 463, 766, 767, 768, 463, 769, 771, 772, + 772, 773, 772, 772, 772, 772, 772, 772, 772, 772, + 772, 772, 774, 775, 776, 777, 778, 772, 772, 772, + 772, 772, 779, 780, 781, 782, 783, 784, 785, 786, + 787, 789, 790, 791, 792, 793, 795, 796, 797, 799, + 803, 804, 806, 807, 808, 809, 772, 811, 812, 813, + 814, 815, 816, 817, 818, 820, 821, 822, 823, 824, + 825, 828, 831, 832, 833, 834, 835, 836, 837, 838, + 839, 772, 772, 805, 805, 840, 805, 805, 805, 805, + + 805, 805, 805, 805, 805, 805, 841, 843, 845, 846, + 847, 805, 805, 805, 805, 805, 849, 850, 851, 852, + 853, 854, 855, 856, 858, 859, 860, 861, 862, 863, + 864, 865, 866, 867, 868, 870, 872, 873, 874, 875, + 805, 876, 877, 878, 879, 880, 881, 882, 883, 884, + 885, 889, 890, 891, 893, 894, 895, 896, 897, 898, + 899, 900, 901, 902, 904, 805, 805, 905, 906, 907, + 908, 909, 910, 911, 912, 913, 914, 917, 918, 919, + 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, - 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, - 950, 951, 953, 954, 955, 956, 957, 959, 960, 962, - 963, 964, 965, 966, 967, 969, 970, 971, 972, 973, - 974, 975, 976, 978, 979, 982, 983, 708, 983, 984, - 705, 984, 985, 704, 985, 986, 703, 986, 702, 701, - 699, 698, 697, 695, 694, 693, 692, 691, 690, 688, - 687, 686, 685, 684, 681, 680, 679, 678, 677, 676, - 675, 674, 673, 672, 671, 670, 669, 668, 667, 666, - 665, 664, 663, 662, 661, 660, 658, 657, 655, 654, - 653, 652, 651, 649, 648, 647, 646, 645, 644, 643, - - 642, 640, 639, 638, 637, 636, 635, 634, 633, 631, - 630, 629, 627, 626, 625, 624, 622, 621, 620, 619, - 618, 617, 616, 615, 614, 612, 610, 609, 608, 607, - 606, 605, 601, 600, 599, 597, 595, 594, 593, 592, - 591, 590, 589, 586, 583, 582, 580, 579, 578, 577, - 575, 572, 571, 569, 568, 567, 566, 565, 564, 563, - 562, 560, 559, 557, 556, 555, 554, 553, 550, 549, - 548, 546, 545, 544, 543, 542, 541, 539, 537, 536, - 535, 534, 531, 530, 529, 528, 527, 526, 525, 522, - 521, 519, 518, 517, 516, 515, 514, 512, 510, 509, - - 508, 507, 506, 504, 503, 501, 500, 499, 498, 497, - 493, 492, 491, 488, 486, 484, 482, 481, 479, 478, - 476, 475, 474, 470, 469, 467, 466, 465, 463, 462, - 461, 460, 459, 457, 456, 455, 454, 453, 452, 451, - 450, 449, 448, 447, 446, 445, 444, 442, 441, 440, - 439, 438, 437, 436, 433, 432, 431, 430, 429, 428, - 427, 424, 423, 422, 421, 419, 417, 416, 415, 414, - 413, 411, 410, 409, 408, 406, 405, 403, 401, 400, - 399, 398, 397, 395, 394, 393, 392, 391, 390, 389, - 388, 387, 386, 385, 384, 383, 382, 381, 379, 377, - - 376, 374, 373, 372, 371, 370, 369, 368, 366, 364, - 363, 362, 360, 359, 358, 357, 356, 355, 354, 352, - 351, 350, 347, 346, 345, 344, 343, 341, 339, 338, - 337, 336, 335, 334, 332, 331, 330, 329, 328, 326, - 325, 324, 323, 322, 321, 319, 313, 312, 311, 310, - 309, 308, 306, 305, 303, 302, 301, 300, 299, 298, + 941, 942, 943, 944, 945, 947, 948, 950, 951, 952, + 953, 954, 955, 957, 958, 959, 960, 961, 962, 963, + 964, 966, 967, 970, 971, 710, 971, 972, 709, 972, + 973, 708, 973, 974, 707, 974, 706, 705, 704, 701, + 700, 698, 697, 696, 693, 692, 691, 690, 689, 687, + 686, 685, 683, 682, 681, 680, 679, 678, 676, 675, + 674, 673, 672, 669, 668, 667, 666, 665, 664, 663, + 662, 661, 660, 659, 658, 657, 656, 655, 654, 653, + 652, 651, 650, 649, 648, 646, 645, 643, 642, 641, + 640, 639, 636, 635, 634, 633, 632, 631, 630, 629, + + 628, 627, 626, 625, 624, 623, 622, 621, 619, 618, + 617, 615, 614, 613, 612, 610, 609, 608, 607, 606, + 605, 604, 603, 602, 600, 598, 597, 596, 595, 594, + 593, 589, 588, 587, 585, 583, 582, 581, 580, 579, + 578, 577, 576, 574, 571, 570, 568, 567, 566, 565, + 563, 560, 558, 557, 556, 555, 554, 553, 552, 551, + 549, 548, 546, 545, 544, 543, 542, 539, 538, 537, + 535, 534, 533, 532, 531, 530, 528, 526, 525, 524, + 523, 520, 519, 518, 517, 516, 515, 514, 511, 510, + 508, 507, 506, 505, 504, 503, 501, 499, 498, 497, + + 496, 495, 494, 493, 491, 490, 489, 488, 487, 483, + 482, 481, 478, 476, 474, 472, 471, 469, 467, 466, + 465, 461, 460, 458, 457, 456, 454, 453, 452, 451, + 450, 448, 447, 446, 445, 444, 443, 442, 441, 440, + 439, 438, 437, 436, 435, 433, 432, 431, 430, 429, + 428, 427, 424, 423, 422, 421, 420, 419, 418, 415, + 414, 413, 412, 410, 408, 407, 406, 405, 404, 402, + 401, 400, 399, 397, 396, 394, 393, 392, 391, 390, + 388, 387, 386, 385, 384, 383, 382, 381, 380, 379, + 378, 377, 376, 375, 374, 372, 370, 369, 367, 366, + + 365, 364, 363, 362, 360, 358, 357, 356, 354, 353, + 352, 351, 350, 349, 348, 346, 345, 344, 341, 340, + 339, 338, 337, 335, 333, 332, 331, 330, 329, 328, + 326, 325, 324, 323, 322, 320, 319, 318, 317, 316, + 315, 313, 307, 306, 305, 304, 303, 302, 300, 299, 297, 296, 295, 294, 293, 292, 291, 290, 289, 288, 287, 286, 285, 284, 283, 282, 281, 280, 279, 278, 277, 276, 275, 274, 273, 272, 271, 270, 269, 268, 267, 266, 265, 264, 263, 262, 261, 260, 259, 258, + 257, 256, 255, 254, 253, 252, 251, 250, 249, 248, - 257, 256, 255, 254, 253, 252, 251, 249, 248, 247, - 246, 245, 244, 242, 241, 240, 238, 237, 236, 235, + 246, 245, 244, 243, 242, 241, 239, 238, 237, 235, 234, 233, 232, 231, 230, 229, 228, 227, 226, 225, 224, 223, 222, 221, 220, 219, 218, 217, 216, 215, - 214, 213, 212, 211, 210, 209, 207, 206, 205, 204, - 203, 192, 191, 188, 187, 186, 185, 184, 183, 182, - 181, 180, 179, 178, 172, 170, 167, 165, 163, 162, - 161, 160, 159, 158, 157, 156, 151, 150, 149, 147, - 144, 142, 141, 140, 139, 138, 137, 136, 135, 134, - 133, 131, 130, 129, 128, 127, 126, 125, 124, 123, - - 122, 121, 120, 119, 118, 117, 116, 115, 113, 112, - 111, 110, 109, 108, 107, 106, 105, 104, 103, 101, - 100, 99, 97, 95, 94, 93, 92, 91, 90, 89, - 88, 86, 85, 84, 83, 82, 69, 67, 66, 64, - 55, 54, 3, 981, 981, 981, 981, 981, 981, 981, - 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, - 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, - 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, - 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, - 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, - - 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, - 981, 981, 981, 981, 981, 981, 981, 981 + 214, 213, 212, 211, 210, 209, 208, 207, 206, 204, + 203, 202, 201, 200, 189, 188, 185, 184, 183, 182, + 181, 180, 179, 178, 177, 176, 175, 169, 167, 164, + 162, 160, 159, 158, 156, 151, 150, 149, 147, 144, + 142, 141, 140, 139, 138, 137, 136, 135, 134, 133, + 131, 130, 129, 128, 127, 125, 124, 123, 122, 121, + 120, 119, 118, 117, 116, 115, 113, 112, 111, 110, + + 109, 108, 107, 106, 105, 104, 103, 101, 100, 99, + 97, 95, 94, 93, 92, 91, 90, 89, 88, 86, + 85, 84, 83, 82, 69, 67, 66, 64, 55, 54, + 3, 969, 969, 969, 969, 969, 969, 969, 969, 969, + 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, + 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, + 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, + 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, + 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, + 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, + + 969, 969, 969, 969, 969, 969 } ; static yy_state_type yy_last_accepting_state; @@ -1018,7 +1012,7 @@ void skipline(void); && ferror( yyin ) ) \ YY_FATAL_ERROR( "input in flex scanner failed" ); -#line 1022 "Gmsh.yy.cpp" +#line 1016 "Gmsh.yy.cpp" /* Macros after this point can all be overridden by user definitions in * section 1. @@ -1172,7 +1166,7 @@ YY_DECL #line 60 "Gmsh.l" -#line 1176 "Gmsh.yy.cpp" +#line 1170 "Gmsh.yy.cpp" if ( yy_init ) { @@ -1223,13 +1217,13 @@ yy_match: while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 982 ) + if ( yy_current_state >= 970 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; ++yy_cp; } - while ( yy_base[yy_current_state] != 1244 ); + while ( yy_base[yy_current_state] != 1232 ); yy_find_action: yy_act = yy_accept[yy_current_state]; @@ -1507,646 +1501,631 @@ return tDraw; YY_BREAK case 51: YY_RULE_SETUP -#line 117 "Gmsh.l" -return tSleep; +#line 118 "Gmsh.l" +return tExp ; YY_BREAK case 52: YY_RULE_SETUP #line 119 "Gmsh.l" -return tExp ; +return tEllipsis; YY_BREAK case 53: YY_RULE_SETUP #line 120 "Gmsh.l" -return tEllipsis; +return tExtrude; YY_BREAK case 54: YY_RULE_SETUP #line 121 "Gmsh.l" -return tExtrude; +return tElliptic; YY_BREAK case 55: YY_RULE_SETUP #line 122 "Gmsh.l" -return tElliptic; +return tELLIPSE; YY_BREAK case 56: YY_RULE_SETUP -#line 123 "Gmsh.l" -return tELLIPSE; +#line 124 "Gmsh.l" +return tFabs ; YY_BREAK case 57: YY_RULE_SETUP #line 125 "Gmsh.l" -return tFabs ; +return tFloor ; YY_BREAK case 58: YY_RULE_SETUP #line 126 "Gmsh.l" -return tFloor ; +return tFmod ; YY_BREAK case 59: YY_RULE_SETUP -#line 127 "Gmsh.l" -return tFmod ; +#line 128 "Gmsh.l" +return tHypot ; YY_BREAK case 60: YY_RULE_SETUP -#line 129 "Gmsh.l" -return tHypot ; +#line 130 "Gmsh.l" +return tIn; YY_BREAK case 61: YY_RULE_SETUP -#line 131 "Gmsh.l" -return tInclude; +#line 132 "Gmsh.l" +return tKnots; YY_BREAK case 62: YY_RULE_SETUP -#line 132 "Gmsh.l" -return tIn; +#line 134 "Gmsh.l" +return tLength; YY_BREAK case 63: YY_RULE_SETUP -#line 134 "Gmsh.l" -return tKnots; +#line 135 "Gmsh.l" +return tLine; YY_BREAK case 64: YY_RULE_SETUP #line 136 "Gmsh.l" -return tLength; +return tLoop; YY_BREAK case 65: YY_RULE_SETUP #line 137 "Gmsh.l" -return tLine; +return tLog ; YY_BREAK case 66: YY_RULE_SETUP #line 138 "Gmsh.l" -return tLoop; +return tLog10 ; YY_BREAK case 67: YY_RULE_SETUP #line 139 "Gmsh.l" -return tLog ; +return tLayers; YY_BREAK case 68: YY_RULE_SETUP -#line 140 "Gmsh.l" -return tLog10 ; +#line 141 "Gmsh.l" +return tModulo ; YY_BREAK case 69: YY_RULE_SETUP -#line 141 "Gmsh.l" -return tLayers; +#line 143 "Gmsh.l" +return tNurbs; YY_BREAK case 70: YY_RULE_SETUP -#line 143 "Gmsh.l" -return tModulo ; +#line 145 "Gmsh.l" +return tOrder; YY_BREAK case 71: YY_RULE_SETUP -#line 145 "Gmsh.l" -return tNurbs; +#line 147 "Gmsh.l" +return tPhysical; YY_BREAK case 72: YY_RULE_SETUP -#line 147 "Gmsh.l" -return tOrder; +#line 148 "Gmsh.l" +return tPi; YY_BREAK case 73: YY_RULE_SETUP #line 149 "Gmsh.l" -return tPhysical; +return tPlane; YY_BREAK case 74: YY_RULE_SETUP #line 150 "Gmsh.l" -return tPi; +return tPoint; YY_BREAK case 75: YY_RULE_SETUP #line 151 "Gmsh.l" -return tPlane; +return tProgression; YY_BREAK case 76: YY_RULE_SETUP #line 152 "Gmsh.l" -return tPoint; +return tProgression; YY_BREAK case 77: YY_RULE_SETUP #line 153 "Gmsh.l" -return tProgression; +return tParametric; YY_BREAK case 78: YY_RULE_SETUP #line 154 "Gmsh.l" -return tProgression; +return tPrintf ; YY_BREAK case 79: YY_RULE_SETUP -#line 155 "Gmsh.l" -return tParametric; +#line 156 "Gmsh.l" +return tRecombine; YY_BREAK case 80: YY_RULE_SETUP -#line 156 "Gmsh.l" -return tPrintf ; +#line 157 "Gmsh.l" +return tRotate; YY_BREAK case 81: YY_RULE_SETUP #line 158 "Gmsh.l" -return tRecombine; +return tRuled; YY_BREAK case 82: YY_RULE_SETUP #line 159 "Gmsh.l" -return tRotate; +return tRand; YY_BREAK case 83: YY_RULE_SETUP -#line 160 "Gmsh.l" -return tRuled; +#line 161 "Gmsh.l" +return tSqrt ; YY_BREAK case 84: YY_RULE_SETUP -#line 161 "Gmsh.l" -return tRand; +#line 162 "Gmsh.l" +return tSin ; YY_BREAK case 85: YY_RULE_SETUP #line 163 "Gmsh.l" -return tSqrt ; +return tSinh ; YY_BREAK case 86: YY_RULE_SETUP #line 164 "Gmsh.l" -return tSin ; +return tSpline; YY_BREAK case 87: YY_RULE_SETUP #line 165 "Gmsh.l" -return tSinh ; +return tSurface; YY_BREAK case 88: YY_RULE_SETUP #line 166 "Gmsh.l" -return tPhysical; +return tSymmetry; YY_BREAK case 89: YY_RULE_SETUP #line 167 "Gmsh.l" -return tSpline; +return tSprintf ; YY_BREAK case 90: YY_RULE_SETUP -#line 168 "Gmsh.l" -return tSurface; +#line 169 "Gmsh.l" +return tTransfinite; YY_BREAK case 91: YY_RULE_SETUP -#line 169 "Gmsh.l" -return tSymmetry; +#line 170 "Gmsh.l" +return tTranslate; YY_BREAK case 92: YY_RULE_SETUP -#line 170 "Gmsh.l" -return tScript; +#line 171 "Gmsh.l" +return tTanh ; YY_BREAK case 93: YY_RULE_SETUP #line 172 "Gmsh.l" -return tTransfinite; +return tTan; YY_BREAK case 94: YY_RULE_SETUP #line 173 "Gmsh.l" -return tTranslate; +return tTrimmed; YY_BREAK case 95: YY_RULE_SETUP -#line 174 "Gmsh.l" -return tTanh ; +#line 175 "Gmsh.l" +return tUsing; YY_BREAK case 96: YY_RULE_SETUP -#line 175 "Gmsh.l" -return tTan; +#line 177 "Gmsh.l" +return tView; YY_BREAK case 97: YY_RULE_SETUP -#line 176 "Gmsh.l" -return tTrimmed; +#line 178 "Gmsh.l" +return tVolume; YY_BREAK case 98: YY_RULE_SETUP -#line 178 "Gmsh.l" -return tUsing; +#line 180 "Gmsh.l" +return tWith; YY_BREAK case 99: YY_RULE_SETUP -#line 180 "Gmsh.l" -return tView; +#line 182 "Gmsh.l" +return tFor; YY_BREAK case 100: YY_RULE_SETUP -#line 181 "Gmsh.l" -return tVolume; +#line 183 "Gmsh.l" +return tEndFor; YY_BREAK case 101: YY_RULE_SETUP -#line 183 "Gmsh.l" -return tWith; +#line 184 "Gmsh.l" +return tExit; YY_BREAK case 102: YY_RULE_SETUP #line 185 "Gmsh.l" -return tFor; +return tMerge; YY_BREAK case 103: YY_RULE_SETUP #line 186 "Gmsh.l" -return tEndFor; +return tFunction; YY_BREAK case 104: YY_RULE_SETUP #line 187 "Gmsh.l" -return tExit; +return tReturn; YY_BREAK case 105: YY_RULE_SETUP #line 188 "Gmsh.l" -return tMerge; +return tCall; YY_BREAK case 106: YY_RULE_SETUP -#line 189 "Gmsh.l" -return tFunction; +#line 190 "Gmsh.l" +return tScalarTetrahedron; YY_BREAK case 107: YY_RULE_SETUP -#line 190 "Gmsh.l" -return tReturn; +#line 191 "Gmsh.l" +return tVectorTetrahedron; YY_BREAK case 108: YY_RULE_SETUP -#line 191 "Gmsh.l" -return tCall; +#line 192 "Gmsh.l" +return tTensorTetrahedron; YY_BREAK case 109: YY_RULE_SETUP #line 193 "Gmsh.l" -return tScalarTetrahedron; +return tScalarTriangle; YY_BREAK case 110: YY_RULE_SETUP #line 194 "Gmsh.l" -return tVectorTetrahedron; +return tVectorTriangle; YY_BREAK case 111: YY_RULE_SETUP #line 195 "Gmsh.l" -return tTensorTetrahedron; +return tTensorTriangle; YY_BREAK case 112: YY_RULE_SETUP #line 196 "Gmsh.l" -return tScalarTriangle; +return tScalarLine; YY_BREAK case 113: YY_RULE_SETUP #line 197 "Gmsh.l" -return tVectorTriangle; +return tVectorLine; YY_BREAK case 114: YY_RULE_SETUP #line 198 "Gmsh.l" -return tTensorTriangle; +return tTensorLine; YY_BREAK case 115: YY_RULE_SETUP #line 199 "Gmsh.l" -return tScalarLine; +return tScalarPoint; YY_BREAK case 116: YY_RULE_SETUP #line 200 "Gmsh.l" -return tVectorLine; +return tVectorPoint; YY_BREAK case 117: YY_RULE_SETUP #line 201 "Gmsh.l" -return tTensorLine; +return tTensorPoint; YY_BREAK case 118: YY_RULE_SETUP -#line 202 "Gmsh.l" -return tScalarPoint; +#line 204 "Gmsh.l" +return tCARTESIAN_POINT; YY_BREAK case 119: YY_RULE_SETUP -#line 203 "Gmsh.l" -return tVectorPoint; +#line 205 "Gmsh.l" +return tB_SPLINE_SURFACE_WITH_KNOTS; YY_BREAK case 120: YY_RULE_SETUP -#line 204 "Gmsh.l" -return tTensorPoint; +#line 206 "Gmsh.l" +return tB_SPLINE_CURVE_WITH_KNOTS; YY_BREAK case 121: YY_RULE_SETUP #line 207 "Gmsh.l" -return tCARTESIAN_POINT; +return tUNSPECIFIED; YY_BREAK case 122: YY_RULE_SETUP #line 208 "Gmsh.l" -return tB_SPLINE_SURFACE_WITH_KNOTS; +return tCONTINUOUS; YY_BREAK case 123: YY_RULE_SETUP #line 209 "Gmsh.l" -return tB_SPLINE_CURVE_WITH_KNOTS; +return tFALSE; YY_BREAK case 124: YY_RULE_SETUP #line 210 "Gmsh.l" -return tUNSPECIFIED; +return tTRUE; YY_BREAK case 125: YY_RULE_SETUP #line 211 "Gmsh.l" -return tCONTINUOUS; +return tU; YY_BREAK case 126: YY_RULE_SETUP #line 212 "Gmsh.l" -return tFALSE; +return tV; YY_BREAK case 127: YY_RULE_SETUP #line 213 "Gmsh.l" -return tTRUE; +return tORIENTED_EDGE; YY_BREAK case 128: YY_RULE_SETUP #line 214 "Gmsh.l" -return tU; +return tEDGE_CURVE; YY_BREAK case 129: YY_RULE_SETUP #line 215 "Gmsh.l" -return tV; +return tEDGE_LOOP; YY_BREAK case 130: YY_RULE_SETUP #line 216 "Gmsh.l" -return tORIENTED_EDGE; +return tVERTEX_POINT; YY_BREAK case 131: YY_RULE_SETUP #line 217 "Gmsh.l" -return tEDGE_CURVE; +return tFACE_OUTER_BOUND; YY_BREAK case 132: YY_RULE_SETUP #line 218 "Gmsh.l" -return tEDGE_LOOP; +return tFACE_BOUND; YY_BREAK case 133: YY_RULE_SETUP #line 219 "Gmsh.l" -return tVERTEX_POINT; +return tADVANCED_FACE; YY_BREAK case 134: YY_RULE_SETUP #line 220 "Gmsh.l" -return tFACE_OUTER_BOUND; +return tLine; YY_BREAK case 135: YY_RULE_SETUP #line 221 "Gmsh.l" -return tFACE_BOUND; +return tVECTOR; YY_BREAK case 136: YY_RULE_SETUP #line 222 "Gmsh.l" -return tADVANCED_FACE; +return tDIRECTION; YY_BREAK case 137: YY_RULE_SETUP #line 223 "Gmsh.l" -return tLine; +return tAXIS2_PLACEMENT_3D; YY_BREAK case 138: YY_RULE_SETUP #line 224 "Gmsh.l" -return tVECTOR; +return tPLANE; YY_BREAK case 139: YY_RULE_SETUP #line 225 "Gmsh.l" -return tDIRECTION; +return tHEADER; YY_BREAK case 140: YY_RULE_SETUP #line 226 "Gmsh.l" -return tAXIS2_PLACEMENT_3D; +return tDATA; YY_BREAK case 141: YY_RULE_SETUP #line 227 "Gmsh.l" -return tPLANE; +return tFILE_SCHEMA; YY_BREAK case 142: YY_RULE_SETUP #line 228 "Gmsh.l" -return tHEADER; +return tFILE_NAME; YY_BREAK case 143: YY_RULE_SETUP #line 229 "Gmsh.l" -return tDATA; +return tFILE_DESCRIPTION; YY_BREAK case 144: YY_RULE_SETUP #line 230 "Gmsh.l" -return tFILE_SCHEMA; +return tISO; YY_BREAK case 145: YY_RULE_SETUP #line 231 "Gmsh.l" -return tFILE_NAME; +return tENDISO; YY_BREAK case 146: YY_RULE_SETUP #line 232 "Gmsh.l" -return tFILE_DESCRIPTION; +return tENDSEC; YY_BREAK case 147: YY_RULE_SETUP #line 233 "Gmsh.l" -return tISO; +return tCLOSED_SHELL; YY_BREAK case 148: YY_RULE_SETUP #line 234 "Gmsh.l" -return tENDISO; +return tADVANCED_BREP_SHAPE_REPRESENTATION; YY_BREAK case 149: YY_RULE_SETUP #line 235 "Gmsh.l" -return tENDSEC; +return tMANIFOLD_SOLID_BREP; YY_BREAK case 150: YY_RULE_SETUP #line 236 "Gmsh.l" -return tCLOSED_SHELL; +return tCYLINDRICAL_SURFACE; YY_BREAK case 151: YY_RULE_SETUP #line 237 "Gmsh.l" -return tADVANCED_BREP_SHAPE_REPRESENTATION; +return tCONICAL_SURFACE; YY_BREAK case 152: YY_RULE_SETUP #line 238 "Gmsh.l" -return tMANIFOLD_SOLID_BREP; +return tTOROIDAL_SURFACE; YY_BREAK case 153: YY_RULE_SETUP #line 239 "Gmsh.l" -return tCYLINDRICAL_SURFACE; +return tCIRCLE; YY_BREAK case 154: YY_RULE_SETUP #line 240 "Gmsh.l" -return tCONICAL_SURFACE; +return tTRIMMED_CURVE; YY_BREAK case 155: YY_RULE_SETUP #line 241 "Gmsh.l" -return tTOROIDAL_SURFACE; +return tGEOMETRIC_SET; YY_BREAK case 156: YY_RULE_SETUP #line 242 "Gmsh.l" -return tCIRCLE; +return tCOMPOSITE_CURVE_SEGMENT; YY_BREAK case 157: YY_RULE_SETUP #line 243 "Gmsh.l" -return tTRIMMED_CURVE; +return tCOMPOSITE_CURVE; YY_BREAK case 158: YY_RULE_SETUP #line 244 "Gmsh.l" -return tGEOMETRIC_SET; +return tPRODUCT_DEFINITION; YY_BREAK case 159: YY_RULE_SETUP #line 245 "Gmsh.l" -return tCOMPOSITE_CURVE_SEGMENT; +return tPRODUCT_DEFINITION_SHAPE; YY_BREAK case 160: YY_RULE_SETUP #line 246 "Gmsh.l" -return tCOMPOSITE_CURVE; +return tSHAPE_DEFINITION_REPRESENTATION; YY_BREAK case 161: YY_RULE_SETUP -#line 247 "Gmsh.l" -return tPRODUCT_DEFINITION; +#line 248 "Gmsh.l" +return tVertex; YY_BREAK case 162: YY_RULE_SETUP -#line 248 "Gmsh.l" -return tPRODUCT_DEFINITION_SHAPE; +#line 249 "Gmsh.l" +return tFacet; YY_BREAK case 163: YY_RULE_SETUP -#line 249 "Gmsh.l" -return tSHAPE_DEFINITION_REPRESENTATION; +#line 250 "Gmsh.l" +return tNormal; YY_BREAK case 164: YY_RULE_SETUP #line 251 "Gmsh.l" -return tVertex; +return tOuter; YY_BREAK case 165: YY_RULE_SETUP #line 252 "Gmsh.l" -return tFacet; +return tLoopSTL; YY_BREAK case 166: YY_RULE_SETUP #line 253 "Gmsh.l" -return tNormal; +return tEndLoop; YY_BREAK case 167: YY_RULE_SETUP #line 254 "Gmsh.l" -return tOuter; +return tEndFacet; YY_BREAK case 168: YY_RULE_SETUP #line 255 "Gmsh.l" -return tLoopSTL; +{skipline();return tEndSolid;} YY_BREAK case 169: YY_RULE_SETUP #line 256 "Gmsh.l" -return tEndLoop; +{skipline();return tSolid;} YY_BREAK case 170: YY_RULE_SETUP -#line 257 "Gmsh.l" -return tEndFacet; - YY_BREAK -case 171: -YY_RULE_SETUP #line 258 "Gmsh.l" -{skipline();return tEndSolid;} +{yylval.d = (double)atoi((char*)(yytext+1)); return tDOUBLE;} YY_BREAK +case 171: +#line 261 "Gmsh.l" case 172: -YY_RULE_SETUP -#line 259 "Gmsh.l" -{skipline();return tSolid;} - YY_BREAK +#line 262 "Gmsh.l" case 173: -YY_RULE_SETUP -#line 261 "Gmsh.l" -{yylval.d = (double)atoi((char*)(yytext+1)); return tDOUBLE;} - YY_BREAK +#line 263 "Gmsh.l" case 174: -#line 264 "Gmsh.l" -case 175: -#line 265 "Gmsh.l" -case 176: -#line 266 "Gmsh.l" -case 177: YY_RULE_SETUP -#line 266 "Gmsh.l" +#line 263 "Gmsh.l" {yylval.d = atof((char *)yytext); return tDOUBLE;} YY_BREAK -case 178: +case 175: YY_RULE_SETUP -#line 268 "Gmsh.l" +#line 265 "Gmsh.l" {yylval.c = strsave((char*)yytext); return tSTRING;} YY_BREAK -case 179: +case 176: YY_RULE_SETUP -#line 270 "Gmsh.l" +#line 267 "Gmsh.l" return yytext[0]; YY_BREAK -case 180: +case 177: YY_RULE_SETUP -#line 272 "Gmsh.l" +#line 269 "Gmsh.l" ECHO; YY_BREAK -#line 2150 "Gmsh.yy.cpp" +#line 2129 "Gmsh.yy.cpp" case YY_STATE_EOF(INITIAL): yyterminate(); @@ -2438,7 +2417,7 @@ static yy_state_type yy_get_previous_state() while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 982 ) + if ( yy_current_state >= 970 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; @@ -2473,11 +2452,11 @@ yy_state_type yy_current_state; while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 982 ) + if ( yy_current_state >= 970 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; - yy_is_jam = (yy_current_state == 981); + yy_is_jam = (yy_current_state == 969); return yy_is_jam ? 0 : yy_current_state; } @@ -3032,7 +3011,7 @@ int main() return 0; } #endif -#line 272 "Gmsh.l" +#line 269 "Gmsh.l" #undef yywrap diff --git a/Unix/CbFile.cpp b/Unix/CbFile.cpp index 8caca2e8cd87bf98273dd1d31680ffbf5f2311b1..3b5fa8ee56c7a325a00312051178e3d06ab8e1a8 100644 --- a/Unix/CbFile.cpp +++ b/Unix/CbFile.cpp @@ -1,4 +1,4 @@ -/* $Id: CbFile.cpp,v 1.10 2000-12-08 11:16:55 geuzaine Exp $ */ +/* $Id: CbFile.cpp,v 1.11 2000-12-09 17:33:40 geuzaine Exp $ */ #include <unistd.h> @@ -24,15 +24,15 @@ extern Widgets_T WID; extern Mesh M; static int WARNING_OVERRIDE = 0; -static char KeepFileName[256]; /* ------------------------------------------------------------------------ */ /* C r e a t e I m a g e */ /* ------------------------------------------------------------------------ */ void SaveToDisk (char *FileName, Widget warning, - void (*function)(FILE *file)){ + void (*function)(char *filename, FILE *file)){ FILE *fp ; + static char KeepFileName[256]; if(!WARNING_OVERRIDE){ fp = fopen(FileName,"r"); @@ -54,14 +54,14 @@ void SaveToDisk (char *FileName, Widget warning, return; } - function(fp); + function(KeepFileName, fp); fclose(fp); WARNING_OVERRIDE = 0; } -void CreateImage (FILE *fp) { +void CreateImage (char *name, FILE *fp) { FILE *tmp; GLint size3d; char cmd[1000]; @@ -79,14 +79,14 @@ void CreateImage (FILE *fp) { tmp = fopen(tmpFileName,"w"); Window_Dump(XCTX.display, XCTX.scrnum, XtWindow(WID.G.glw), tmp); fclose(tmp); - sprintf(cmd, "xpr -device ps -gray 4 %s >%s", tmpFileName, KeepFileName); + sprintf(cmd, "xpr -device ps -gray 4 %s >%s", tmpFileName, name); Msg(INFOS, "Executing '%s'", cmd); system(cmd); unlink(tmpFileName); break; } - Msg(INFOS, "X Image Dump Complete '%s'", KeepFileName); - Msg (INFO, "Wrote File '%s'", KeepFileName); + Msg(INFOS, "XPM Creation Complete '%s'", name); + Msg (INFO, "Wrote File '%s'", name); break ; case PRINT_GL2GIF : @@ -94,8 +94,8 @@ void CreateImage (FILE *fp) { Replot(); create_gif(fp, CTX.viewport[2]-CTX.viewport[0], CTX.viewport[3]-CTX.viewport[1]); - Msg(INFOS, "GIF Dump Complete '%s'", KeepFileName); - Msg (INFO, "Wrote File '%s'", KeepFileName); + Msg(INFOS, "GIF Creation Complete '%s'", name); + Msg (INFO, "Wrote File '%s'", name); break; case PRINT_GL2PS_SIMPLE : @@ -115,8 +115,8 @@ void CreateImage (FILE *fp) { CTX.stream = TO_SCREEN ; res = gl2psEndPage(); } - Msg(INFOS, "GL2PS Output Complete '%s'", KeepFileName); - Msg (INFO, "Wrote File '%s'", KeepFileName); + Msg(INFOS, "EPS Creation Complete '%s'", name); + Msg (INFO, "Wrote File '%s'", name); break; default : diff --git a/Unix/Main.cpp b/Unix/Main.cpp index adca5ee7a1fe23c1866be0c6a9c44920c070737f..ac977d52a4cec1ddc757a8bf7568b66d8a356130 100644 --- a/Unix/Main.cpp +++ b/Unix/Main.cpp @@ -1,4 +1,4 @@ -/* $Id: Main.cpp,v 1.26 2000-12-08 22:17:48 geuzaine Exp $ */ +/* $Id: Main.cpp,v 1.27 2000-12-09 17:33:40 geuzaine Exp $ */ #include <signal.h> @@ -46,7 +46,6 @@ char gmsh_help[] = " -0 parse input files, output flattened geometry, and exit\n" "Mesh options:\n" " -1, -2, -3 perform batch 1D, 2D and 3D mesh generation\n" -// " -script gmsh in script mode\n" " -format msh|unv|gref set output mesh format (default: msh)\n" " -algo iso|aniso select 2D mesh algorithm (default: iso)\n" " -smooth int set mesh smoothing (default: 0)\n" @@ -209,9 +208,6 @@ void Get_Options (int argc, char *argv[], int *nbfiles) { else if(!strcmp(argv[i]+1, "3")){ CTX.interactive = 3; i++; } - else if(!strcmp(argv[i]+1, "script")){ - CTX.script = 1; i++; - } else if(!strcmp(argv[i]+1, "path")){ i++; /* we need to make a copy because of bison */